package com.northglass.service.manage;
|
|
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayOutputStream;
|
import java.io.File;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.text.NumberFormat;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Set;
|
|
import javax.servlet.ServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.northglass.constants.MachineType;
|
import com.northglass.constants.StateConstants.ArrangeMachineRankState;
|
import com.northglass.constants.StateConstants.ConnectState;
|
import com.northglass.constants.StateConstants.CountMachineTaskState;
|
import com.northglass.constants.StateConstants.LoadMachineRackState;
|
import com.northglass.constants.StateConstants.MachineState;
|
import com.northglass.constants.StateConstants.ShelfHoistState;
|
import com.northglass.constants.StateConstants.ShelfRankState;
|
import com.northglass.entity.ArrangeMachine;
|
import com.northglass.entity.ArrangeMachineRank;
|
import com.northglass.entity.ArrangeMachineStatu;
|
import com.northglass.entity.ArrangeMachineTask;
|
import com.northglass.entity.CardNumber;
|
import com.northglass.entity.ChamferMachine;
|
import com.northglass.entity.CountMachine;
|
import com.northglass.entity.CountMachineTask;
|
import com.northglass.entity.CutMachine;
|
import com.northglass.entity.CutMachineTask;
|
import com.northglass.entity.EdgeMachine;
|
import com.northglass.entity.GaoliweiMachine;
|
import com.northglass.entity.Glass;
|
import com.northglass.entity.GrindEdgeMachine;
|
import com.northglass.entity.GrindEdgeMachineTwo;
|
import com.northglass.entity.IdentifyMachine;
|
import com.northglass.entity.LoadMachine;
|
import com.northglass.entity.LoadMachineRack;
|
import com.northglass.entity.MachineStatu;
|
import com.northglass.entity.ManufactureBatch;
|
import com.northglass.entity.ManufactureBatchMachine;
|
import com.northglass.entity.OptPattern;
|
import com.northglass.entity.Rank;
|
import com.northglass.entity.Shelf;
|
import com.northglass.entity.ShelfHoist;
|
import com.northglass.entity.ShelfRank;
|
import com.northglass.entity.ShelfStatu;
|
import com.northglass.entity.ShelfTask;
|
import com.northglass.entity.TidyMachine;
|
import com.northglass.entity.TougheningGlass;
|
import com.northglass.entity.TransferMachine;
|
import com.northglass.entity.WashMachine;
|
import com.northglass.repository.ArrangeMachineDao;
|
import com.northglass.repository.ArrangeMachineRankDao;
|
import com.northglass.repository.ArrangeMachineStatuDao;
|
import com.northglass.repository.ArrangeMachineTaskDao;
|
import com.northglass.repository.CardNumberDao;
|
import com.northglass.repository.ChamferMachineDao;
|
import com.northglass.repository.CountMachineDao;
|
import com.northglass.repository.CountMachineTaskDao;
|
import com.northglass.repository.CutMachineDao;
|
import com.northglass.repository.CutMachineTaskDao;
|
import com.northglass.repository.EdgeMachineDao;
|
import com.northglass.repository.GaoliweiMachineDao;
|
import com.northglass.repository.GlassDao;
|
import com.northglass.repository.GrindEdgeMachineDao;
|
import com.northglass.repository.GrindEdgeMachineTwoDao;
|
import com.northglass.repository.IdentifyMachineDao;
|
import com.northglass.repository.LoadMachineDao;
|
import com.northglass.repository.LoadMachineRackDao;
|
import com.northglass.repository.LoadMachineTaskDao;
|
import com.northglass.repository.MachineStatuDao;
|
import com.northglass.repository.ManufactureBatchDao;
|
import com.northglass.repository.ManufactureBatchMachineDao;
|
import com.northglass.repository.OptPatternDao;
|
import com.northglass.repository.RankDao;
|
import com.northglass.repository.RawPackageDao;
|
import com.northglass.repository.RawPackageTxtDao;
|
import com.northglass.repository.ShelfDao;
|
import com.northglass.repository.ShelfHoistDao;
|
import com.northglass.repository.ShelfRankDao;
|
import com.northglass.repository.ShelfStatuDao;
|
import com.northglass.repository.ShelfTaskDao;
|
import com.northglass.repository.TidyMachineDao;
|
import com.northglass.repository.TougheningGlassDao;
|
import com.northglass.repository.TransferMachineDao;
|
import com.northglass.repository.WashMachineDao;
|
import com.northglass.service.countmachinetask.CountMachineTaskService;
|
import com.northglass.service.shelf.ShelfService;
|
import com.northglass.service.tidy.TidyMachineService;
|
import com.northglass.util.FolderUtil;
|
|
|
|
|
|
@Component
|
@Transactional
|
public class ManageService {
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(ManageService.class);
|
|
@Autowired
|
private ShelfService shelfService;
|
|
@Autowired
|
private LoadMachineDao loadMachineDao;
|
|
@Autowired
|
private GaoliweiMachineDao gaoliweiMachineDao;
|
|
@Autowired
|
private CutMachineDao cutMachineDao;
|
|
@Autowired
|
private ShelfDao shelfDao;
|
|
@Autowired
|
private ShelfRankDao shelfRankDao;
|
|
@Autowired
|
private ShelfHoistDao shelfHoistDao;
|
|
@Autowired
|
private ShelfTaskDao shelfTaskDao;
|
|
@Autowired
|
private RawPackageDao rawPackageDao;
|
|
@Autowired
|
private GlassDao glassDao;
|
|
@Autowired
|
private CutMachineTaskDao cutMachineTaskDao;
|
|
@Autowired
|
private OptPatternDao optPatternDao;
|
|
@Autowired
|
private ManufactureBatchDao manufactureBatchDao;
|
|
@Autowired
|
private ManufactureBatchMachineDao manufactureBatchMachineDao;
|
|
@Autowired
|
private LoadMachineRackDao loadMachineRackDao;
|
|
@Autowired
|
private LoadMachineTaskDao loadMachineTaskDao;
|
|
@Autowired
|
private CountMachineDao countMachineDao;
|
|
@Autowired
|
private CountMachineTaskDao countMachineTaskDao;
|
|
@Autowired
|
private GrindEdgeMachineDao grindEdgeMachineDao;
|
|
@Autowired
|
private CountMachineTaskService countMachineTaskService;
|
|
@Autowired
|
private GrindEdgeMachineTwoDao grindEdgeMachineTwoDao;
|
|
@Autowired
|
private ArrangeMachineStatuDao arrangeMachineStatuDao;
|
|
@Autowired
|
private CardNumberDao cardNumberDao;
|
|
@Autowired
|
private ArrangeMachineTaskDao arrangeMachineTaskDao;
|
|
@Autowired
|
private ArrangeMachineRankDao arrangeMachineRankDao;
|
|
@Autowired
|
private RawPackageTxtDao rawPackageTxtDao;
|
|
@Autowired
|
private TougheningGlassDao tougheningGlassDao;
|
|
@Autowired
|
private ShelfStatuDao shelfStatuDao;
|
|
@Autowired
|
private RankDao rankDao;
|
|
@Autowired
|
private IdentifyMachineDao identifyMachineDao;
|
|
@Autowired
|
private TransferMachineDao transferMachineDao;//滚轮台
|
|
@Autowired
|
private ChamferMachineDao chamferMachineDao;//倒角机
|
|
@Autowired
|
private EdgeMachineDao edgeMachineDao;
|
|
@Autowired
|
private WashMachineDao washMachineDao;
|
|
@Autowired
|
private ArrangeMachineDao arrangeMachineDao;
|
|
@Autowired
|
private TidyMachineDao tidyMachineDao;
|
|
@Autowired
|
private MachineStatuDao machineStatuDao;
|
|
private SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
public void clearData() {
|
List<ShelfHoist> hoists = shelfHoistDao.findAll();
|
for (ShelfHoist hoist : hoists) {
|
hoist.setRawPackage(null);
|
hoist.setState(ShelfHoistState.FREE);
|
}
|
shelfHoistDao.save(hoists);
|
|
List<LoadMachineRack> loadMachineRacks = loadMachineRackDao.findAll();
|
for (LoadMachineRack loadMachineRack : loadMachineRacks) {
|
loadMachineRack.setRawPackage(null);
|
loadMachineRack.setState(LoadMachineRackState.FREE);
|
}
|
loadMachineRackDao.save(loadMachineRacks);
|
|
List<LoadMachine> loadMachines = loadMachineDao.findAll();
|
for (LoadMachine loadMachine : loadMachines) {
|
loadMachine.setMessage("");
|
}
|
loadMachineDao.save(loadMachines);
|
|
manufactureBatchMachineDao.deleteAll();
|
|
|
shelfTaskDao.deleteAll();
|
|
cutMachineTaskDao.deleteAll();
|
countMachineTaskDao.deleteAll();
|
optPatternDao.deleteAll();
|
rawPackageDao.deleteAll();
|
loadMachineTaskDao.deleteAll();
|
glassDao.deleteAll();
|
|
manufactureBatchDao.deleteAll();
|
}
|
|
public List<CutMachine> getCutMachines() {
|
return cutMachineDao.findAll();
|
}
|
|
public ManufactureBatch getWaitingOrInWorkManufactureBatch() {
|
ManufactureBatch batch = manufactureBatchDao.findWaitingOrInWorkManufactureBatch();
|
return batch;
|
}
|
|
public ManufactureBatch getWaitingManufactureBatch() {
|
ManufactureBatch batch = manufactureBatchDao.findWaitingManufactureBatch();
|
return batch;
|
}
|
|
public String generateOptFile(Long cutMachineId, ServletRequest request) throws IOException {
|
SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
|
new FolderUtil((HttpServletRequest) request);
|
String fileName = "CUTMACHINE1_" + timeFormat.format(new Date()) + ".opt";
|
|
File file = new File(FolderUtil.TEMP_PATH + File.separator + fileName);
|
FileWriter writer = null;
|
|
try {
|
writer = new FileWriter(file);
|
|
// 打印头部信息
|
writer.write("[OPT_Header]\n");
|
writer.write("OPTCutVersion=1.0\n");
|
writer.write("Dimension=mm\n");
|
writer.write("Date=" + dateFormat.format(new Date()));
|
writer.write("\n\n");
|
writer.write("[OPT_Signature]\n");
|
writer.write("派尔www.glassoo.com\n");
|
writer.write("\n");
|
|
|
}
|
catch (IOException e) {
|
e.printStackTrace();
|
}
|
finally {
|
if (writer != null) {
|
writer.close();
|
}
|
}
|
|
return fileName;
|
}
|
|
public String getOptPatternContent(Long optPatternId) {
|
OptPattern pattern = optPatternDao.findOne(optPatternId);
|
return pattern.getContent().replace("\n", "<br>");
|
}
|
|
|
public void measureFailure(Long tougheningGlassId) {
|
LOGGER.debug("> Start measureFailure");
|
LOGGER.debug("tougheningGlassId: " + tougheningGlassId);
|
LOGGER.debug("> End measureFailure");
|
}
|
|
// public String getShelfHoistHtml() {
|
// StringBuffer html = new StringBuffer();
|
// List<ShelfHoist> shelfHoistList = shelfHoistDao.findAll();
|
//
|
// for (ShelfHoist shelfHoist : shelfHoistList) {
|
// if (ShelfHoistState.FREE.equals(shelfHoist.getState())) {
|
// html.append("<tr>");
|
// html.append("<td>").append(shelfHoist.getNumber()).append(" ").append(shelfHoist.getState()).append("</td>");
|
// html.append("<td><div class='pull-right'>");
|
// html.append("<a href='/gmms/rawpackage/create/").append(shelfHoist.getId()).append("' class='btn btn-small btn-success'>进库</a>");
|
// html.append(" ");
|
// html.append("<a href='/gmms/rawpackage/cancel/").append(shelfHoist.getId()).append("' class='btn btn-small btn-warning'>退库</a>");
|
// html.append("</div></td>");
|
// html.append("</tr>");
|
// }
|
// else if (ShelfHoistState.IN_WORK.equals(shelfHoist.getState())) {
|
// html.append("<tr class='info'>");
|
// html.append("<td>").append(shelfHoist.getNumber()).append(" ").append(shelfHoist.getState()).append("</td>");
|
// html.append("<td>").append(shelfHoist.getRawPackage().getDescription()).append("</td>");
|
// html.append("</tr>");
|
// }
|
// }
|
//
|
// return html.toString();
|
// }
|
|
|
public String getShelfTaskHtml() {
|
StringBuffer html = new StringBuffer();
|
|
ShelfTask inWorkTask = shelfTaskDao.findInWorkTask();
|
if (inWorkTask != null) {
|
html.append("<tr class='info'>");
|
html.append("<td>").append(inWorkTask.getDescription()).append("</td>");
|
html.append("<td>").append(inWorkTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
|
List<ShelfTask> waitingTaskList = shelfTaskDao.findWaitingTasks();
|
if(waitingTaskList.size()!=0){
|
for (ShelfTask shelfTask : waitingTaskList) {
|
if(shelfTask!=null){
|
html.append("<tr class='warning'>");
|
html.append("<td>").append(shelfTask.getDescription()).append("</td>");
|
html.append("<td>").append(shelfTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
}
|
}
|
|
|
List<ShelfTask> completedTaskList = shelfTaskDao.findCompletedTasks();
|
for (ShelfTask shelfTask : completedTaskList) {
|
html.append("<tr>");
|
html.append("<td>").append(shelfTask.getDescription()).append("</td>");
|
html.append("<td>").append(shelfTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(shelfTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
return html.toString();
|
}
|
|
public String getShelfRankHtml() {
|
StringBuffer html = new StringBuffer();
|
List<ShelfRank> shelfRankList = shelfRankDao.findAll();
|
if(shelfRankList.size()!=0){
|
for (ShelfRank shelfRank : shelfRankList) {
|
if (ShelfRankState.FREE.equals(shelfRank.getState())) {
|
html.append("<tr>");
|
html.append("<td>").append(shelfRank.getNumber()).append(" ").append(shelfRank.getState()).append("</td>");
|
html.append("<td>").append("</td>");
|
html.append("<td>").append("</td>");
|
html.append("</tr>");
|
}
|
else if (ShelfRankState.IN_WORK.equals(shelfRank.getState())) {
|
html.append("<tr class='info'>");
|
html.append("<td>").append(shelfRank.getNumber()).append(" ").append(shelfRank.getState()).append("</td>");
|
|
if (shelfRank.getRawPackage() != null) {
|
html.append("<td>").append(shelfRank.getRawPackage().getDescription()).append("</td>");
|
html.append("<td>").append("</td>");
|
}
|
else {
|
html.append("<td></td><td></td>");
|
}
|
|
html.append("</tr>");
|
}
|
}
|
}
|
|
|
return html.toString();
|
}
|
|
//得到所有的N个字
|
private String[] ResultTexts(String StrContent) {
|
try {
|
int maxSize=StrContent.length()/4;
|
String []InfoTex =new String[maxSize];
|
for(int i=0;i<maxSize;i++){
|
InfoTex[i]=StrContent.substring(0,4);
|
StrContent=StrContent.substring(4);
|
}
|
return InfoTex;
|
} catch (Exception e) {
|
// TODO: handle exception
|
System.out.println("异常151!");
|
}
|
return new String[1];
|
}
|
private String text(int index,String[] ResultTexts){
|
try {
|
if(index==0){
|
if(ResultTexts[index].equals("0001")){
|
return "请求";
|
}
|
}else if(index==5){
|
if(ResultTexts[index].equals("0001")){
|
return "汇报完成";
|
}else if(ResultTexts[index].equals("0002")){
|
return "汇报失败";
|
}else if(ResultTexts[index].equals("0003")){
|
return "汇报破损";
|
}
|
}else if(index==10){
|
if(ResultTexts[index].equals("0001")){
|
return "任务已发送";
|
}
|
}else if(index==20){
|
if(ResultTexts[index].equals("0001")){
|
return "收到任务完成";
|
}else if(ResultTexts[index].equals("0002")){
|
return "收到任务失败";
|
}else if(ResultTexts[index].equals("0003")){
|
return "收到任务破损";
|
}
|
}else{
|
if(ResultTexts[index].equals("0001")){
|
return "报警";
|
}
|
}
|
return "";
|
} catch (Exception e) {
|
// TODO: handle exception
|
return "";
|
}
|
}
|
public String getShelfHtml() {
|
//设备管理界面!!!
|
StringBuffer html = new StringBuffer();
|
|
Shelf shelf = shelfService.getDefaultShelf();
|
ShelfStatu status = shelfStatuDao.findOne(shelf.getId());
|
if (shelf != null && status != null) {
|
// 原片仓储
|
String[] ResultTexts=ResultTexts(status.getMessage());
|
html.append("<tr>");
|
html.append("<td>原片仓储1</td>");
|
html.append("<td>").append(text(0,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(10,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(5,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(20,ResultTexts)).append("</td>");
|
html.append("<td>").append(status.getSetTime()).append("</td>");
|
html.append("<td>").append(text(30,ResultTexts)).append("</td>");
|
html.append("</tr>");
|
}/*
|
List<CutMachine> cutMachineList = cutMachineDao.findAll();
|
for (CutMachine CutMachine : cutMachineList) {
|
ShelfStatu statu = shelfStatuDao.findByMachine("cut"+CutMachine.getId());
|
html.append("<tr>");
|
html.append("<td>上片机").append(CutMachine.getNumber()).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(CutMachine.getConnectState())).append("</td>");
|
html.append("<td>").append(statu.getAutostate()).append("</td>");
|
html.append("<td>").append(statu.getErrorstate()).append("</td>");
|
//html.append("<td>").append(statu.getLoadfinish()).append("</td>");
|
html.append("<td>").append(statu.getPlcid()).append("</td>");
|
html.append("<td>").append(statu.getMesid()).append("</td>");
|
html.append("<td>").append(statu.getSetTime()).append("</td>");
|
Date date = new Date();
|
Long endtime = date.getTime() / 1000;
|
Long starttime = status.getSetTime().getTime()/1000;
|
String string = "<td>运行连接正常</td>";
|
if (endtime-starttime>20) {
|
string = "<td color='red;'>程序断线异常(重启)</td>";
|
}
|
if (shelf.getConnectState().equals(ConnectState.CONNECTING)) {
|
string = "<td color='red;'>程序正在连接</td>";
|
}
|
html.append(string);
|
html.append("<td>").append("完成状态:("+statu.getLoadfinish()+")").append("</td>");
|
html.append("</tr>");
|
}*/
|
// 上片机
|
List<LoadMachine> loadMachineList = loadMachineDao.findAll();
|
for (LoadMachine loadMachine : loadMachineList) {
|
ShelfStatu statu = shelfStatuDao.findByMachine("load"+loadMachine.getId());
|
String[] ResultTexts=ResultTexts(statu.getMessage());
|
html.append("<tr>");
|
html.append("<td>上片机").append(loadMachine.getNumber()).append("</td>");
|
html.append("<td>").append(text(0,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(10,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(5,ResultTexts)).append("</td>");
|
html.append("<td>").append(text(20,ResultTexts)).append("</td>");
|
html.append("<td>").append(status.getSetTime()).append("</td>");
|
html.append("<td>").append(text(30,ResultTexts)).append("</td>");
|
html.append("</tr>");
|
}
|
/*
|
//大拓
|
List<GaoliweiMachine> gaoliweiMachineList = gaoliweiMachineDao.findAll();
|
for(GaoliweiMachine gaoliweiMachine : gaoliweiMachineList){
|
ShelfStatu statu = shelfStatuDao.findByMachine("gaoliwei"+gaoliweiMachine.getId());
|
html.append("<tr>");
|
html.append("<td>大拓").append(gaoliweiMachine.getNumber()).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(gaoliweiMachine.getConnectState())).append("</td>");
|
html.append("<td>").append(statu.getErrorstate()).append("</td>");
|
html.append("<td>").append("无").append("</td>");
|
html.append("<td>").append(statu.getPlcid()).append("</td>");
|
html.append("<td>").append(statu.getMesid()).append("</td>");
|
html.append("<td>").append(statu.getSetTime()).append("</td>");
|
Date date = new Date();
|
Long endtime = date.getTime() / 1000;
|
Long starttime = status.getSetTime().getTime()/1000;
|
String string = "<td>运行连接正常</td>";
|
if (endtime-starttime>20) {
|
string = "<td color='red;'>程序断线异常(重启)</td>";
|
}
|
if (shelf.getConnectState().equals(ConnectState.CONNECTING)) {
|
string = "<td color='red;'>程序正在连接</td>";
|
}
|
html.append(string);
|
html.append("<td>").append("玻璃ID:").append(")</td>");
|
html.append("</tr>");
|
}*/
|
|
return html.toString();
|
}
|
|
public String getPreProcessHtml() {
|
StringBuffer html = new StringBuffer();
|
|
// 切割机
|
List<CutMachine> cutMachineList = cutMachineDao.findAll();
|
for (CutMachine cutMachine : cutMachineList) {
|
html.append("<tr>");
|
html.append("<td><a href='/gmms/manage/cutMachineManage/").append(cutMachine.getId()).append("'>切割机").append(cutMachine.getNumber()).append("</a></td>");
|
html.append("<td>").append(getMachineStateHtml(cutMachine.getState())).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(cutMachine.getConnectState())).append("</td>");
|
html.append("<td></td>");
|
//html.append("<td><label class='checkbox'><input type='checkbox' onclick='disableAutoRefresh()' id='cutmachine_").append(cutMachine.getId()).append("'></label></td>");
|
html.append("</tr>");
|
}
|
|
// 双边磨边机
|
List<GrindEdgeMachine> grindEdgeMachineList = grindEdgeMachineDao.findAll();
|
for (GrindEdgeMachine grindEdgeMachine : grindEdgeMachineList) {
|
html.append("<tr>");
|
html.append("<td><a href='/gmms/grindedgemachine/manage/").append(grindEdgeMachine.getId()).append("'>双边磨边机</a></td>");
|
html.append("<td>").append(getMachineStateHtml(grindEdgeMachine.getState())).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(grindEdgeMachine.getConnectState())).append("</td>");
|
html.append("<td>").append(getCheckMachineHtml(MachineType.GRIND_EDGE_MACHINE, grindEdgeMachine.getId())).append("</td>");
|
html.append("</tr>");
|
}
|
// 第二台双边磨边机
|
List<GrindEdgeMachineTwo> grindEdgeMachineTwoList =grindEdgeMachineTwoDao.findAll();
|
for (GrindEdgeMachineTwo grindEdgeMachineTwo : grindEdgeMachineTwoList) {
|
html.append("<tr>");
|
html.append("<td><a href='/gmms/grindedgemachine/manage/").append(grindEdgeMachineTwo.getId()).append("'>双边磨边机").append(grindEdgeMachineTwo.getNumber()).append("</a></td>");
|
html.append("<td>").append(getMachineStateHtml(grindEdgeMachineTwo.getState())).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(grindEdgeMachineTwo.getConnectState())).append("</td>");
|
html.append("<td>").append(getCheckMachineHtml(MachineType.GRIND_EDGE_MACHINE, grindEdgeMachineTwo.getId())).append("</td>");
|
html.append("</tr>");
|
}
|
// 下片机(端片机)
|
List<CountMachine> countMachineList = countMachineDao.findAll();
|
for (CountMachine countMachine : countMachineList) {
|
html.append("<tr>");
|
html.append("<td><a href='/gmms/countmachine/manage/").append(countMachine.getId()).append("'>下片机").append(countMachine.getNumber()).append("</a></td>");
|
html.append("<td>").append(getMachineStateHtml(countMachine.getState())).append("</td>");
|
html.append("<td>").append(getConnectStateHtml(countMachine.getConnectState())).append("</td>");
|
html.append("<td>").append(getCheckMachineHtml(MachineType.COUNT_MACHINE, countMachine.getId())).append("</td>");
|
html.append("</tr>");
|
}
|
|
// 增加产线巡检页面
|
html.append("<tr>");
|
html.append("<td><a href='/gmms/manage/manualCheck'>产线巡检</td>");
|
html.append("<td><a href='/gmms/group/groupTask/1'>组长管理1</a></td>");
|
html.append("<td><a href='/gmms/group/groupTask/2'>组长管理2</a></td>");
|
html.append("<td><a href='/gmms/group/groupTask/3'>组长管理3</a></td>");
|
html.append("</tr>");
|
|
// // 磨边机
|
// List<EdgeMachine> edgeMachineList = edgeMachineDao.findAll();
|
// for (EdgeMachine edgeMachine : edgeMachineList) {
|
// html.append("<tr>");
|
// html.append("<td>磨边机").append(edgeMachine.getNumber()).append("</td>");
|
// html.append("<td>").append(getMachineStateHtml(edgeMachine.getState())).append("</td>");
|
// html.append("<td>").append(getConnectStateHtml(edgeMachine.getConnectState())).append("</td>");
|
// html.append("<td><label class='checkbox'><input type='checkbox' onclick='disableAutoRefresh()' id='edgemachine_").append(edgeMachine.getId()).append("'></label></td>");
|
// html.append("</tr>");
|
// }
|
//
|
// // 除膜机
|
// List<FilmRemoveMachine> filmRemoveMachineList = filmRemoveMachineDao.findAll();
|
// for (FilmRemoveMachine filmRemoveMachine : filmRemoveMachineList) {
|
// html.append("<tr>");
|
// html.append("<td>除膜机").append(filmRemoveMachine.getNumber()).append("</td>");
|
// html.append("<td>").append(getMachineStateHtml(filmRemoveMachine.getState())).append("</td>");
|
// html.append("<td>").append(getConnectStateHtml(filmRemoveMachine.getConnectState())).append("</td>");
|
// html.append("<td><label class='checkbox'><input type='checkbox' onclick='disableAutoRefresh()' id='filmremovemachine_").append(filmRemoveMachine.getId()).append("'></label></td>");
|
// html.append("</tr>");
|
// }
|
//
|
// // 清洗机
|
// List<WashMachine> washMachineList = washMachineDao.findAll();
|
// for (WashMachine washMachine : washMachineList) {
|
// html.append("<tr>");
|
// html.append("<td>清洗机").append(washMachine.getNumber()).append("</td>");
|
// html.append("<td>").append(getMachineStateHtml(washMachine.getState())).append("</td>");
|
// html.append("<td>").append(getConnectStateHtml(washMachine.getConnectState())).append("</td>");
|
// html.append("<td><label class='checkbox'><input type='checkbox' onclick='disableAutoRefresh()' id='washmachine_").append(washMachine.getId()).append("'></label></td>");
|
// html.append("</tr>");
|
// }
|
//
|
|
return html.toString();
|
}
|
|
|
public String getCutMachineTaskHtml(Long cutMachineId) {
|
StringBuffer html = new StringBuffer("<table class='table table-striped table-hover'>");
|
html.append("<thead><tr><th></th><th>任务编号</th><th>任务状态</th><th>版面</th><th>原片信息</th>");
|
html.append("<th>创建时间</th><th>开始时间</th><th>完成时间</th></tr></thead><tbody>");
|
|
CutMachineTask inWorkTask = cutMachineTaskDao.findInWorkTaskByCutMachineId(cutMachineId);
|
List<CutMachineTask> warningTasks = cutMachineTaskDao.findWarningTasksByCutMachineId(cutMachineId);
|
List<CutMachineTask> waitingTasks = cutMachineTaskDao.findWaitingTasksByCutMachineId(cutMachineId);
|
List<CutMachineTask> completedTasks = cutMachineTaskDao.findCompletedTasksByCutMachineId(cutMachineId);
|
|
if (inWorkTask != null) {
|
html.append("<tr class='info'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(inWorkTask.getState()).append("</td>"); html.append("<td>").append(formatTime(inWorkTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : warningTasks) {
|
html.append("<tr class='error'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : waitingTasks) {
|
html.append("<tr class='warning'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : completedTasks) {
|
html.append("<tr class='success'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
html.append("</tbody></table>");
|
return html.toString();
|
}
|
|
public String getTaskHistoryHtml() {
|
StringBuffer html = new StringBuffer("<table class='table table-striped table-hover'>");
|
html.append("<thead><tr><th></th><th>批次编号</th><th>任务编号</th><th>任务状态</th><th>版面</th><th>原片信息</th><th>切割机</th>");
|
html.append("<th>创建时间</th><th>开始时间</th><th>完成时间</th></tr></thead><tbody>");
|
|
List<CutMachineTask> toAssignTasks = cutMachineTaskDao.findToAssignTasks();
|
List<CutMachineTask> inWorkTasks = cutMachineTaskDao.findInWorkTasks();
|
List<CutMachineTask> warningTasks = cutMachineTaskDao.findWarningTasks();
|
List<CutMachineTask> waitingTasks = cutMachineTaskDao.findWaitingTasks();
|
List<CutMachineTask> completedTasks = cutMachineTaskDao.findCompletedTasks();
|
|
for (CutMachineTask task : toAssignTasks) {
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' id='").append(task.getId()).append("'></td>");
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td></td>"); // 切割机,未分配为空
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : inWorkTasks) {
|
html.append("<tr class='info'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append("切割机").append(task.getCutMachine().getNumber()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : warningTasks) {
|
html.append("<tr class='error'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append("切割机").append(task.getCutMachine().getNumber()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : waitingTasks) {
|
html.append("<tr class='warning'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append("切割机").append(task.getCutMachine().getNumber()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
for (CutMachineTask task : completedTasks) {
|
html.append("<tr class='success'>");
|
html.append("<td></td>"); // 复选框用于分配切割机,非未分配状态的都不需要显示
|
html.append("<td>").append(task.getState()).append("</td>");
|
html.append("<td>").append("切割机").append(task.getCutMachine().getNumber()).append("</td>");
|
html.append("<td>").append(formatTime(task.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(task.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
html.append("</tbody></table>");
|
return html.toString();
|
}
|
|
public String getCutMachineSummaryHtml(Long cutMachineId) {
|
StringBuffer html = new StringBuffer("<table class='table table-striped table-hover'><tbody>");
|
|
CutMachine cutMachine = cutMachineDao.findOne(cutMachineId);
|
|
if (cutMachine != null) {
|
html.append("<tr><td>切割机").append(cutMachine.getNumber());
|
html.append(" ").append(getMachineStateHtml(cutMachine.getState()));
|
html.append(" ").append(getConnectStateHtml(cutMachine.getConnectState()));
|
html.append("</td><td>");
|
|
Map<String, Integer> patternPieceMap = new HashMap<String, Integer>();
|
|
for (String sizeStr : patternPieceMap.keySet()) {
|
String[] sizeArray = sizeStr.split("_");
|
html.append("[").append(sizeArray[0]).append("mm ");
|
html.append(sizeArray[1]).append("*").append(sizeArray[2]).append("mm] ");
|
html.append(patternPieceMap.get(sizeStr)).append("片<br>");
|
}
|
|
html.append("</td></tr>");
|
}
|
|
html.append("</tbody></table>");
|
return html.toString();
|
}
|
|
public String getCutMachineTaskSummaryHtml() {
|
StringBuffer html = new StringBuffer("<table class='table table-striped table-hover'>");
|
html.append("<thead><tr><th>切割机</th><th>任务汇总</th></tr></thead><tbody>");
|
|
List<CutMachine> cutMachineList = cutMachineDao.findAll();
|
|
for (CutMachine cutMachine : cutMachineList) {
|
html.append("<tr><td>切割机").append(cutMachine.getNumber());
|
html.append(" ").append(getMachineStateHtml(cutMachine.getState()));
|
html.append(" ").append(getConnectStateHtml(cutMachine.getConnectState()));
|
html.append("</td><td>");
|
|
Map<String, Integer> patternPieceMap = new HashMap<String, Integer>();
|
|
for (String sizeStr : patternPieceMap.keySet()) {
|
String[] sizeArray = sizeStr.split("_");
|
html.append("[").append(sizeArray[0]).append("mm ");
|
html.append(sizeArray[1]).append("*").append(sizeArray[2]).append("mm] ");
|
html.append(patternPieceMap.get(sizeStr)).append("片<br>");
|
}
|
|
html.append("</td></tr>");
|
}
|
|
html.append("</tbody></table>");
|
return html.toString();
|
}
|
|
public String getCountMachineHtml(Long countMachineId){
|
StringBuffer html = new StringBuffer();
|
CountMachine countMachine = countMachineDao.findOne(countMachineId);
|
html.append("<tr>");
|
html.append("<td>下片机").append(countMachine.getNumber()).append("</td>");
|
html.append(" <td>").append(getMachineStateHtml(countMachine.getState())).append("</td>");
|
html.append(" <td>").append(getConnectStateHtml(countMachine.getConnectState())).append("</td>");
|
html.append("</tr>");
|
return html.toString();
|
}
|
|
public String getEdugMachineHtml(){
|
StringBuffer html = new StringBuffer();
|
List<GaoliweiMachine> machines = gaoliweiMachineDao.findAll();
|
html.append("<tr>");
|
for(GaoliweiMachine machine :machines){
|
html.append("<td>磨边机").append(machine.getNumber()).append("</td>");
|
ShelfStatu statu = shelfStatuDao.findByMachine("gaoliwei"+machine.getId());
|
Date date = new Date();
|
Long endtime = date.getTime() / 1000;
|
Long starttime = statu.getSetTime().getTime()/1000;
|
if (endtime-starttime>5) {
|
html.append("<td>").append(getConnectStateHtml(ConnectState.CONNECTING)).append(" </td>");
|
}else {
|
html.append("<td>").append(getConnectStateHtml(machine.getConnectState())).append(" </td>");
|
}
|
}
|
html.append("</tr>");
|
return html.toString();
|
}
|
|
|
/**
|
*
|
* 获取所有的设备状态
|
*
|
* @author northglass
|
* **/
|
// public Map<String, Object> showMachineState(){
|
// Map<String, Object> param=new HashMap<String, Object>();
|
// List<Shelf> shelfmachines = shelfDao.findAll();
|
// List<LoadMachine> loadmachines = loadMachineDao.findAll();
|
// List<GaoliweiMachine> gaoliweimachines = gaoliweiMachineDao.findAll();
|
// String info="";
|
// Boolean sBoolean = false;
|
// Boolean lBoolean = false;
|
// Boolean gBoolean = false;
|
// for(Shelf shelf : shelfmachines){
|
// if (shelf.getConnectState().equals(ConnectState.CONNECTED)) {
|
// ShelfStatu statu = shelfStatuDao.findOne(shelf.getId());
|
// Date date = new Date();
|
// Long endtime = date.getTime() / 1000;
|
// Long starttime = statu.getSetTime().getTime()/1000;
|
// if (endtime-starttime>10) {
|
// info += "仓储"+shelf.getNumber()+"程序断线异常; ";
|
// sBoolean = false;
|
// }else {
|
// info += "仓储"+shelf.getNumber()+"运行正常; ";
|
// sBoolean = true;
|
// }
|
// }else {
|
// info += "仓储"+shelf.getNumber()+"断开盒子连接; ";
|
// sBoolean = false;
|
// }
|
// }
|
// for(LoadMachine loadmachine : loadmachines){
|
// if (loadmachine.getConnectState().equals(ConnectState.CONNECTED)) {
|
// LoadMachineStatu statu = loadMachineStatuDao.findOne(loadmachine.getId());
|
// Date date = new Date();
|
// Long endtime = date.getTime() / 1000;
|
// Long starttime = statu.getSetTime().getTime()/1000;
|
// if (endtime-starttime>10) {
|
// lBoolean = false;
|
// info += "上片机"+loadmachine.getNumber()+"程序断线异常; ";
|
// }else {
|
// info += "上片机"+loadmachine.getNumber()+"运行正常; ";
|
// lBoolean = true;
|
// }
|
// }else {
|
// info += "上片机"+loadmachine.getNumber()+"断开盒子连接; ";
|
// lBoolean = false;
|
// }
|
// }
|
// if (gaoliweimachines.size()>0) {
|
// for(GaoliweiMachine gaoliweimachine : gaoliweimachines){
|
// if (gaoliweimachine.getConnectState().equals(ConnectState.CONNECTED)) {
|
// GaoliweiStatu statu = gaoliweiStatuDao.findOne(gaoliweimachine.getId());
|
// Date date = new Date();
|
// Long endtime = date.getTime() / 1000;
|
// Long starttime = statu.getSetTime().getTime()/1000;
|
// if (endtime-starttime>10) {
|
// info += "磨边机"+gaoliweimachine.getNumber()+"程序断线异常 ";
|
// gBoolean = false;
|
// }else {
|
// info += "磨边机"+gaoliweimachine.getNumber()+"运行正常 ";
|
// gBoolean = true;
|
// }
|
// }else {
|
// info += "磨边机"+gaoliweimachine.getNumber()+"断开盒子连接 ";
|
// gBoolean = false;
|
// }
|
// }
|
// }
|
//
|
// param.put("info", info);
|
// if (sBoolean && lBoolean && gBoolean) {
|
// param.put("allstatu", 1);
|
// }else {
|
// param.put("allstatu", 0);
|
// }
|
// return param;
|
// }
|
|
|
/**
|
*
|
* 获取所有的设备状态(当前使用)
|
*
|
* @author northglass
|
* **/
|
public String getManualCheckHtml(long CountMachineid) {
|
return countMachineTaskService.getCountMachineTaskForManualCheckHtml(CountMachineid);
|
}
|
|
public void manualCheckError(Long taskId) {
|
CountMachineTask task = countMachineTaskDao.findOne(taskId);
|
task.setState(CountMachineTaskState.WARNING);
|
countMachineTaskDao.save(task);
|
}
|
|
private String getCheckMachineHtml(String machineType, Long machineId) {
|
StringBuffer html = new StringBuffer();
|
ManufactureBatch batch = manufactureBatchDao.findInWorkManufactureBatch();
|
if (batch == null) {
|
html.append("<label class='checkbox'><input type='checkbox' onclick='disableAutoRefresh()' id='").append(machineType).append("_").append(machineId).append("'></label>");
|
}
|
else {
|
Set<ManufactureBatchMachine> batchMachines = batch.getManufactureBatchMachines();
|
for (ManufactureBatchMachine batchMachine : batchMachines) {
|
if (machineType.equalsIgnoreCase(batchMachine.getMachineType()) && machineId.equals(batchMachine.getMachineId())) {
|
html.append("<i class='icon-ok'></i>");
|
}
|
}
|
}
|
|
return html.toString();
|
}
|
|
private String checkMachineConnectionState(String machineType, Long machineId) {
|
if (machineType.equalsIgnoreCase(MachineType.SHELF)) {
|
Shelf shelf = shelfService.getDefaultShelf();
|
if (!shelf.getConnectState().equals(ConnectState.CONNECTED)) {
|
return "原片仓储没有连接设备!";
|
}
|
}
|
else if (machineType.equalsIgnoreCase(MachineType.LOAD_MACHINE)) {
|
LoadMachine loadMachine = loadMachineDao.findOne(machineId);
|
if (!loadMachine.getConnectState().equals(ConnectState.CONNECTED)) {
|
return "上片机" + loadMachine.getNumber() + "没有连接设备!";
|
}
|
}
|
return "";
|
}
|
|
private String formatTime(Date time) {
|
if (time == null) {
|
return "";
|
}
|
|
return timeFormat.format(time);
|
}
|
|
|
|
public String findgroup(Long taskId) {
|
CountMachineTask countMachineTask = countMachineTaskDao.findOne(taskId);
|
String groups = countMachineTask.getGlass().getGroups();
|
//破损时将玻璃的总数减去破损的数量
|
Glass glass=glassDao.findOne(countMachineTask.getGlass().getId());
|
glass.setCompletePieces(glass.getCompletePieces()-1);
|
glassDao.save(glass);
|
return groups;
|
}
|
|
|
public String getMachineHtml(Long identifyMachineId){
|
StringBuffer html = new StringBuffer();
|
LoadMachine loadMachine = loadMachineDao.findOne(identifyMachineId);
|
GrindEdgeMachine grindEdgeMachine = grindEdgeMachineDao.findOne(identifyMachineId);
|
GrindEdgeMachineTwo grindEdgeMachineTwo = grindEdgeMachineTwoDao.findOne(identifyMachineId);
|
CountMachine countMachine = countMachineDao.findOne(identifyMachineId);
|
html.append("<table style=\"font-size:20px\">");
|
html.append("<tr>");
|
html.append("<td>上片").append(loadMachine.getNumber()).append("</td>");
|
html.append(" <td>").append(getMachineStateHtml(loadMachine.getState())).append("</td>");
|
html.append(" <td>").append(getConnectStateHtml(loadMachine.getConnectState())).append("</td>");
|
html.append("</tr>");
|
html.append("<tr><td></td><td></td><td></td></tr>");
|
html.append("<td>1#磨边").append(grindEdgeMachine.getNumber()).append("</td>");
|
html.append(" <td>").append(getMachineStateHtml(grindEdgeMachine.getState())).append("</td>");
|
html.append(" <td>").append(getConnectStateHtml(grindEdgeMachine.getConnectState())).append("</td>");
|
html.append("</tr>");
|
html.append("<tr></tr>");
|
html.append("<tr>");
|
html.append("<td>2#磨边 ").append(grindEdgeMachineTwo.getNumber()).append("</td>");
|
html.append(" <td>").append(getMachineStateHtml(grindEdgeMachineTwo.getState())).append("</td>");
|
html.append(" <td>").append(getConnectStateHtml(grindEdgeMachineTwo.getConnectState())).append("</td>");
|
html.append("</tr>");
|
html.append("<tr></tr>");
|
html.append("<tr>");
|
html.append("<td>下片 ").append(countMachine.getNumber()).append("</td>");
|
html.append(" <td>").append(getMachineStateHtml(countMachine.getState())).append("</td>");
|
html.append(" <td>").append(getConnectStateHtml(countMachine.getConnectState())).append("</td>");
|
html.append("</tr>");
|
html.append("</table>");
|
return html.toString();
|
}
|
|
private String getConnectStateHtml(String state) {
|
StringBuffer html = new StringBuffer();
|
|
if (ConnectState.NO_CONNECT.equals(state)) {
|
html.append("<span class='label'>").append(state).append("</span>");
|
} else if (ConnectState.CONNECTING.equals(state)) {
|
html.append("<span class='label label-warning'>").append(state).append("</span>");
|
} else if (ConnectState.CONNECTED.equals(state)) {
|
html.append("<span class='label label-success'>").append(state).append("</span>");
|
}
|
|
return html.toString();
|
}
|
|
private String getMachineStateHtml(String state) {
|
StringBuffer html = new StringBuffer();
|
|
if (MachineState.IN_WORK.equals(state)) {
|
html.append("<span class='label label-success'>").append(state).append("</span>");
|
} else if (MachineState.STOPPED.equals(state)) {
|
html.append("<span class='label'>").append(state).append("</span>");
|
} else if (MachineState.WARNING.equals(state)) {
|
html.append("<span class='label label-warning'>").append(state).append("</span>");
|
} else if (MachineState.SERIOUS_WARNING.equals(state)) {
|
html.append("<span class='label label-important'>").append(state).append("</span>");
|
}
|
|
return html.toString();
|
}
|
|
// public String getstatu() {
|
// ArrangeMachineStatu arrangeMachineStatu = arrangeMachineStatuDao.findOne((long) 1);
|
// return arrangeMachineStatu.getState();
|
// }
|
|
// public String getisdisplay() {
|
// ArrangeMachineStatu arrangeMachineStatu = arrangeMachineStatuDao.findOne((long) 1);
|
// if (arrangeMachineStatu.getState().equals(ArrangeMachineTaskStatu.MATCH_STATU)) {
|
// return "ok";
|
// } else {
|
// return null;
|
// }
|
// }
|
|
// public String getpiecestatu() {
|
// ArrangePiecesStatu arrangePiecesStatu = arrangePiecesStatuDao.findOne((long) 1);
|
// if (arrangePiecesStatu.getState().equals(ArrangePieceStatu.WAITING)) {
|
// return "B片开始";
|
// } else {
|
// return "A片开始";
|
// }
|
// }
|
|
// public String getpiecestatunow() {
|
// ArrangePiecesStatu arrangePiecesStatu = arrangePiecesStatuDao.findOne((long) 1);
|
// if (arrangePiecesStatu.getState().equals(ArrangePieceStatu.WAITING)) {
|
// return "A片";
|
// } else {
|
// return "B片";
|
// }
|
// }
|
|
public Map<String, Object> getcard() {
|
Map<String, Object> param = new HashMap<String, Object>();
|
List<CardNumber> cardNumbers = cardNumberDao.findByWaiting();
|
StringBuffer html = new StringBuffer();
|
CardNumber cardNumber = cardNumberDao.findByWorking();
|
if (cardNumber != null) {
|
param.put("cardNumber", cardNumber);
|
param.put("number", cardNumber.getNumber());
|
} else {
|
param.put("cardNumbers", cardNumbers);
|
}
|
for (CardNumber cNumber : cardNumbers) {
|
html.append("<option va=\"").append(cNumber.getId()).append("\">").append(cNumber.getNumber())
|
.append("</option>");
|
}
|
param.put("cnhtml", html);
|
return param;
|
}
|
|
public Map<String, Object> getWorkingTask() {
|
Map<String, Object> param = new HashMap<String, Object>();
|
/*ArrangeMachineTask arrangeMachineTask = arrangeMachineTaskDao.findInWorkOutTask();
|
List<Glass> glasses=glassDao.findGlassBygroups("1");
|
//得到本次任务需要多少个料架
|
List<String> list=new ArrayList<String>();
|
for(int i = 0;i < glasses.size(); i++){
|
if(list.contains(glasses.get(i).getApart_id())){
|
continue;
|
}
|
list.add(glasses.get(i).getApart_id());
|
}
|
|
int rackAmount=list.size();//得到料架数
|
String countGlassId="";
|
Glass glass = null;
|
if (arrangeMachineTask == null) {
|
List<ArrangeMachineTask> arrangeMachineTasks = arrangeMachineTaskDao.findCompletedOutTasks();
|
if (arrangeMachineTasks.size() > 0) {
|
ArrangeMachineTask task = arrangeMachineTasks.get(arrangeMachineTasks.size() - 1);
|
glass = task.getTougheningGlass().getGlass();
|
}else{
|
return param;
|
}
|
} else {
|
glass = arrangeMachineTask.getTougheningGlass().getGlass();
|
}
|
for(int i=0;i<rackAmount;i++){
|
String apartId=glass.getApart_id();
|
if(apartId.equals(list.get(i))){
|
countGlassId=String.valueOf(i+1);
|
break;
|
}
|
}*/
|
List<Glass> glasses=glassDao.findGlassBygroups("1");
|
List<String> list=new ArrayList<String>();
|
for(int i = 0;i < glasses.size(); i++){
|
if(list.contains(glasses.get(i).getApart_id())){
|
continue;
|
}
|
list.add(glasses.get(i).getApart_id());
|
}
|
List<TougheningGlass> tougheningGlasses = tougheningGlassDao.findAll();
|
TougheningGlass tougheningGlass = null;
|
if (tougheningGlasses != null && tougheningGlasses.size()>0) {
|
tougheningGlass = tougheningGlasses.get(tougheningGlasses.size()-1);
|
}else {
|
return param;
|
}
|
Glass glass = tougheningGlass.getGlass();
|
int rackAmount=list.size();//得到料架数
|
String countGlassId="";
|
for(int i=0;i<rackAmount;i++){
|
String apartId=glass.getApart_id();
|
if(apartId.equals(list.get(i))){
|
countGlassId=String.valueOf(i+1);
|
break;
|
}
|
}
|
param.put("countGlassId", countGlassId);
|
//param.put("rank", arrangeMachineTask.getArrangeMachineRank().getNumber());
|
param.put("length", glass.getLength());
|
param.put("width", glass.getWidth());
|
//param.put("apartid", glass.getApart_id());
|
param.put("customer", glass.getCustomer());
|
param.put("batch", glass.getManufacture_batch());
|
return param;
|
}
|
|
public String getMissTableHtml() {
|
|
StringBuffer html = new StringBuffer();
|
CardNumber cardNumber = cardNumberDao.findByWC();
|
if (cardNumber == null) {
|
return null;
|
} else {
|
List<Glass> glasses = glassDao.findGlassByApart_Id(cardNumber.getNumber());
|
if (glasses.size()>0) {
|
int i=0;
|
for (Glass glass : glasses) {
|
i++;
|
html.append("<tr><td>").append(i).append("</td><td>").append(glass.getApart_id());
|
html.append("</td><td>").append(glass.getLength()).append("*").append(glass.getWidth());
|
html.append("</td><td>").append(glass.getThickness()).append("</td><td>").append(glass.getColor());
|
html.append("</td><td>").append(glass.getPieces() - glass.getGlassId()).append("</td></tr>");
|
}
|
}
|
|
}
|
return html.toString();
|
}
|
|
// public String getArrangeMachineRankHtml() {
|
// String rankFreeStyle = "style='width: 50%; padding: 15px; border: 10px solid " + WebColor.WHITE
|
// + "; background-color: " + WebColor.LIGHT_GRAY + "'";
|
// String rankInWorkStyle = "style='width: 50%; padding: 15px; border: 10px solid " + WebColor.WHITE
|
// + "; background-color: " + WebColor.LIGHT_BLUE + "'";
|
//
|
// StringBuffer html = new StringBuffer("<table style='width: 100%;'>");
|
//
|
// List<ArrangeMachineRank> rankList = arrangeMachineRankDao.findAll();
|
//
|
// for (int i = 0; i < rankList.size(); i += 2) {
|
// html.append("<tr>");
|
//
|
// for (int j = 0; j < 2; j++) {
|
// if ((i + j) == rankList.size()) {
|
// break;
|
// }
|
//
|
// ArrangeMachineRank rank = rankList.get(i + j);
|
// if (rank.getState().equals(ArrangeMachineRankState.FREE)) {
|
// html.append("<td ").append(rankFreeStyle).append(">").append(rank.getNumber()).append(" ")
|
// .append(rank.getState()).append("</td>");
|
// } else if (rank.getState().equals(ArrangeMachineRankState.IN_WORK)) {
|
// html.append("<td ").append(rankInWorkStyle).append(">").append(rank.getNumber()).append(" ")
|
// .append(rank.getState()).append(" ");
|
//
|
// if (rank.getTougheningGlass() != null) {
|
// html.append(rank.getTougheningGlass().getDescription());
|
// html.append("<br><br><div class='pull-right'><a href='/gmms/manage/exitArrangeMachineRank/")
|
// .append(rank.getId()).append("/1");
|
// html.append("' class='btn btn-small'>").append("出 库").append("</a></div>");
|
// }
|
//
|
// html.append("</td>");
|
// } else if (rank.getState().equals(ArrangeMachineRankState.WORK_WAITING)) {
|
// html.append("<td ").append(rankInWorkStyle).append(">").append(rank.getNumber()).append(" ")
|
// .append(rank.getState()).append(" ");
|
//
|
// if (rank.getTougheningGlass() != null) {
|
// html.append(rank.getTougheningGlass().getDescription());
|
// html.append("<br><br><div class='pull-right'></div>");
|
// }
|
//
|
// html.append("</td>");
|
// }
|
// }
|
//
|
// html.append("</tr>");
|
// }
|
//
|
// html.append("</table>");
|
// return html.toString();
|
// }
|
|
//界面:每个理片笼的界面
|
public String getArrangeRankHtml() {
|
|
StringBuffer html = new StringBuffer("<div style='play=black' id='1'><h2>1号</h2>");
|
html.append("<table style='width: 90%;height: 210px;text-align:center;'><tr>");
|
|
List<ArrangeMachineRank> arrangeMachineRanks = arrangeMachineRankDao.findAll();
|
if (arrangeMachineRanks == null ||arrangeMachineRanks.size() == 0) {
|
return null;
|
}
|
for (int i = 0; i < arrangeMachineRanks.size(); i++) {
|
|
html.append("<td style='border: thin solid #fff; width: 8px;height: 300px;' valign='bottom'>");
|
|
ArrangeMachineRank rank = arrangeMachineRanks.get(i);
|
if (rank.getState().equals(ArrangeMachineRankState.FREE)) {
|
html.append("<div style='height:0px;width:14px;background-color: #00FF01;border: thin solid #9FB1E1;margin:0 auto;'></div></td>");
|
}else {
|
int s=(int) rank.getTougheningGlass().getActualLength()/14;
|
for(int z=0;z<rank.getPieces();z++){
|
html.append("<div style='height:");
|
html.append(s).append("px;width:14px;background-color: ");
|
if (rank.getTougheningGlass().getGlass().getColor().equals("C")) {
|
html.append("#00C0EF");
|
}else {
|
html.append("#F39C12");
|
}
|
if (z == rank.getPieces()-1) {
|
html.append(";border: thin solid #9FB1E1;margin:0 auto;'></div>");
|
}else{
|
html.append(";border: thin solid #9FB1E1;margin:0 auto;margin-bottom:20px;'></div>");
|
}
|
}
|
html.append("</td>");
|
}
|
if (i%40 == 39) {
|
int s=(i+1)/40;
|
html.append(" </tr><tr style='text-align:center;'>");
|
|
for(int j=i-38;j<=i+1;j++){
|
html.append(" <td>");
|
if(j<10){
|
html.append("0");
|
}
|
html.append(j);
|
html.append("</td>");
|
}
|
html.append(" </tr></table> </div>");
|
if (i != (arrangeMachineRanks.size()-1)) {
|
html.append("<div style='display:none' id='").append(s+1);
|
html.append("'><h2>");
|
html.append(s+1);
|
html.append("号</h2><table style='width: 90%;height: 240px;text-align:center;'><tr>");
|
}
|
|
|
|
}
|
}
|
return html.toString();
|
}
|
|
public String getArrangeMachineRankHtml() {
|
|
StringBuffer html = new StringBuffer("<table style='width: 90%;height: 240px;text-align:center;'>");
|
html.append("<tr>");
|
List<ArrangeMachineRank> rankList = arrangeMachineRankDao.findAll();
|
|
for (int i = 0; i < rankList.size(); i += 1) {
|
ArrangeMachineRank rank = rankList.get(i);
|
if (rank.getState().equals(ArrangeMachineRankState.FREE)) {
|
html.append("<td style='border: thin solid #9FB1E1; width: 8px;height: 300px;' valign='bottom'>");
|
html.append("<div style='height:8px;width:14px;background-color: #00FF01;border: thin solid #9FB1E1;margin:0 auto;'></div>");
|
html.append("</td>");
|
}else {
|
html.append("<td style='border: thin solid #9FB1E1; width: 8px;height: 300px;' valign='bottom'>");
|
html.append("<div style='height:").append(rank.getTougheningGlass().getActualLength()/10).append("px;width:14px;background-color: #00FF01;border: thin solid #9FB1E1;margin:0 auto;'></div>");
|
html.append("</td>");
|
}
|
}
|
html.append("</tr><tr>");
|
for (int i = 0; i < rankList.size(); i += 1) {
|
if(i<=9){
|
html.append("<td>0").append(i).append("</td>");
|
}else {
|
html.append("<td>").append(i).append("</td>");
|
}
|
|
}
|
html.append("</tr></table>");
|
return html.toString();
|
}
|
|
public String getArrangeMachineTaskHtml() {
|
StringBuffer html = new StringBuffer();
|
|
List<ArrangeMachineTask> inWorkTasks = arrangeMachineTaskDao.findInWorkTask();
|
for (ArrangeMachineTask inWorkTask : inWorkTasks) {
|
html.append("<tr class='info'>");
|
html.append("<td>").append(inWorkTask.getDescription()).append("</td>");
|
html.append("<td>").append(inWorkTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(inWorkTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
List<ArrangeMachineTask> warningTaskList = arrangeMachineTaskDao.findWarningTasks();
|
for (ArrangeMachineTask arrangeMachineTask : warningTaskList) {
|
html.append("<tr class='error'>");
|
html.append("<td>").append(arrangeMachineTask.getDescription()).append("</td>");
|
html.append("<td>").append(arrangeMachineTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
List<ArrangeMachineTask> waitingTaskList = arrangeMachineTaskDao.findWaitingTasks();
|
for (ArrangeMachineTask arrangeMachineTask : waitingTaskList) {
|
html.append("<tr class='warning'>");
|
html.append("<td>").append(arrangeMachineTask.getDescription()).append("</td>");
|
html.append("<td>").append(arrangeMachineTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
}
|
|
List<ArrangeMachineTask> completedTaskList = arrangeMachineTaskDao.findCompletedTasks();
|
int size= completedTaskList.size();
|
if (size > 0) {
|
for (int i = 0; i< size; i++) {
|
ArrangeMachineTask arrangeMachineTask = completedTaskList.get(size - i - 1);
|
html.append("<tr>");
|
html.append("<td>").append(arrangeMachineTask.getDescription()).append("</td>");
|
html.append("<td>").append(arrangeMachineTask.getState()).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCreateTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getStartTime())).append("</td>");
|
html.append("<td>").append(formatTime(arrangeMachineTask.getCompleteTime())).append("</td>");
|
html.append("</tr>");
|
if (i > 4) {
|
break;
|
}
|
}
|
}
|
|
|
return html.toString();
|
}
|
|
public Map<String, Object> getTask() {
|
Map<String, Object> param = new HashMap<String, Object>();
|
List<ArrangeMachineTask> inWorkTask = arrangeMachineTaskDao.findInWorkInTask();
|
List<ArrangeMachineTask> outWorkTask = arrangeMachineTaskDao.findInWorkOutTask();
|
if (inWorkTask.size()>0) {
|
ArrangeMachineRank rank = inWorkTask.get(0).getArrangeMachineRank();
|
param.put("enternumber", rank.getNumber());
|
param.put("enterstatus", rank.getPieces());
|
}
|
if (outWorkTask.size()>0) {
|
ArrangeMachineRank rank = outWorkTask.get(0).getArrangeMachineRank();
|
param.put("outnumber", rank.getNumber());
|
param.put("outstatus", rank.getPieces());
|
}
|
return param;
|
}
|
|
/**
|
* 删除测试数据
|
*/
|
public void deletData(){
|
glassDao.deleteAll();
|
optPatternDao.deleteAll();
|
|
List<ShelfRank> rankes = shelfRankDao.findAll();
|
for(ShelfRank rank: rankes){
|
rank.setState(ShelfRankState.FREE);
|
rank.setRawPackage(null);
|
rank.setColor(null);
|
rank.setCompletePieces(null);
|
rank.setGlassId(null);
|
rank.setLength(null);
|
rank.setPieces(null);
|
rank.setPrecent(null);
|
rank.setThickness(null);
|
rank.setWidth(null);
|
rank.setCreateTime(null);
|
}
|
|
List<ShelfHoist> hoistes = shelfHoistDao.findAll();
|
for(ShelfHoist hoist: hoistes){
|
hoist.setState(ShelfHoistState.FREE);
|
hoist.setRawPackage(null);
|
}
|
|
List<LoadMachineRack> rackes = loadMachineRackDao.findAll();
|
for(LoadMachineRack rack: rackes){
|
rack.setState(LoadMachineRackState.FREE);
|
rack.setRawPackage(null);;
|
}
|
|
rawPackageDao.deleteAll();
|
|
rawPackageTxtDao.deleteAll();
|
|
shelfTaskDao.deleteAll();
|
|
resetShelfRankes();
|
}
|
|
public void resetShelfRankes(){
|
List<ShelfRank> rankes = shelfRankDao.findAll();
|
for(ShelfRank rank: rankes){
|
rank.setState(ShelfRankState.FREE);
|
rank.setRawPackage(null);
|
rank.setUsestatu(null);
|
rank.setLastestTime(null);
|
rank.setShelfTaskes(null);
|
}
|
}
|
|
public void generateExcelFile(HttpServletRequest request, HttpServletResponse response) throws ParseException {
|
|
SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd HH-mm-ss");
|
String fileName = format.format(new Date())+ ".xls";
|
response.setContentType("application/vnd.ms-excel");
|
response.setHeader("Content-Disposition", "attachment;filename="+fileName);
|
|
ByteArrayOutputStream byteOut = generateByteArrayOutputStream(request);
|
InputStream input=new ByteArrayInputStream(byteOut.toByteArray());
|
byte [] buffer=new byte[1024];
|
try {
|
OutputStream outputStream = response.getOutputStream();
|
int len=0;
|
while((len=input.read(buffer))!=-1){
|
outputStream.write(buffer, 0, len);
|
}
|
outputStream.flush();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
|
private ByteArrayOutputStream generateByteArrayOutputStream(HttpServletRequest request) throws ParseException {
|
String starttime = request.getParameter("starttime");
|
String completetime = request.getParameter("completetime");
|
LOGGER.debug("starttime:"+starttime);
|
LOGGER.debug("completetime:"+completetime);
|
Date startDate = null ;
|
Date completeDate = null ;
|
//将时间格式化
|
if(starttime!=null && !"".equals(starttime)){
|
//已经确定了格式,直接截取
|
String month = starttime.substring(0, 2);
|
String day = starttime.substring(3, 5);
|
String year = starttime.substring(6, starttime.length());
|
|
//转换成2017-02-01格式
|
String startTime = year+"-"+month+"-"+day;
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
startDate = sdf.parse(startTime);
|
}
|
|
//将时间格式化
|
if(completetime!=null && !"".equals(completetime)){
|
//已经确定了格式,直接截取
|
String day = completetime.substring(0, 2);
|
String month = completetime.substring(3, 5);
|
String year = completetime.substring(6, completetime.length());
|
|
//转换成2017-02-01格式
|
String completeTime = year+"-"+month+"-"+day;
|
|
//将时间转换成timestemp类型
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
completeDate = sdf.parse(completeTime);
|
}
|
//创建Excel文件的sheet
|
HSSFWorkbook workBook = new HSSFWorkbook();
|
HSSFSheet sheet = workBook.createSheet("report");
|
HSSFRow row = sheet.createRow(0);
|
//设置表头
|
row.createCell(0).setCellValue("自动仓储原片进出库报表 "+starttime+"-"+ completetime);
|
// 设置表头
|
row = sheet.createRow(1);
|
row.createCell(0).setCellValue("序号");
|
row.createCell(1).setCellValue("库位号");
|
row.createCell(2).setCellValue("GlassId");
|
row.createCell(3).setCellValue("长度(mm)");
|
row.createCell(4).setCellValue("高度(mm)");
|
row.createCell(5).setCellValue("厚度(mm)");
|
row.createCell(6).setCellValue("数量");
|
row.createCell(7).setCellValue("平方");
|
row.createCell(8).setCellValue("进/出库时间");
|
row.createCell(9).setCellValue("操作时间");
|
row.createCell(10).setCellValue("原片厂家");
|
row.createCell(11).setCellValue("类型");
|
//获取仓库中所有rank的记录
|
List<Rank> ranks = rankDao.findRanksByStartTimeAndCompleteTime(startDate,completeDate);
|
if (ranks.size()>0) {
|
for (int i = 0; i < ranks.size(); i++) {
|
row = sheet.createRow(i+2);
|
Rank rank = ranks.get(i);
|
row.createCell(0).setCellValue(rank.getId());
|
row.createCell(1).setCellValue(rank.getShelfRank().getId().toString());
|
row.createCell(2).setCellValue(rank.getGlassId());
|
row.createCell(3).setCellValue(rank.getWidth());
|
row.createCell(4).setCellValue(rank.getHeight());
|
row.createCell(5).setCellValue(rank.getThickness());
|
row.createCell(6).setCellValue(rank.getPieces());
|
double area = (rank.getWidth()/1000)*(rank.getHeight()/1000)*rank.getPieces();
|
row.createCell(7).setCellValue(area);
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm");
|
String dateString = formatter.format(rank.getCreatetime());
|
String endtimeString = formatter.format(rank.getEndtime());
|
row.createCell(8).setCellValue(dateString);
|
row.createCell(9).setCellValue(endtimeString);
|
row.createCell(10).setCellValue(rank.getManufacturer());
|
row.createCell(11).setCellValue(rank.getType());
|
}
|
}
|
|
ByteArrayOutputStream byteOut=new ByteArrayOutputStream();
|
try {
|
workBook.write(byteOut);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return byteOut;
|
}
|
|
public String getLoadMachineHtml(Long id) {
|
|
StringBuffer html=new StringBuffer();
|
|
LoadMachine loadMachine = loadMachineDao.findOne((long)id);
|
html.append("<td>");
|
html.append("<a href='#'>");
|
html.append("上片机").append(" ");
|
html.append(loadMachine.getNumber());
|
html.append("</a>");
|
html.append("</td>");
|
html.append("<td>");
|
html.append(getConnectStateHtml(loadMachine.getConnectState()));
|
html.append("</td>");
|
html.append("<td>");
|
html.append(loadMachine.getIpAddress());
|
html.append("</td>");
|
html.append("<td>");
|
html.append(loadMachine.getPort());
|
html.append("</td>");
|
|
return html.toString();
|
}
|
|
public String getstatu() {
|
MachineStatu statu = machineStatuDao.findByMachine("gaoliwei");
|
return statu.getStatu();
|
}
|
|
public void modity() {
|
MachineStatu statu = machineStatuDao.findByMachine("gaoliwei");
|
if (statu.getStatu().equals("使用中")) {
|
statu.setStatu("暂停");
|
}else {
|
statu.setStatu("使用中");
|
}
|
}
|
|
public String getFree() {
|
StringBuffer html=new StringBuffer();
|
List<ArrangeMachineRank> rank = arrangeMachineRankDao.findRanksbyStatu(0L,41L,"空闲");
|
List<ArrangeMachineRank> rank2 = arrangeMachineRankDao.findRanksbyStatu(40L,81L,"空闲");
|
NumberFormat nf = NumberFormat.getPercentInstance();
|
|
html.append("<td><div class=\"progress progress-xs progress-striped active\">");
|
html.append("<div class=\"progress-bar progress-bar-primary\" style=\"width: ");
|
html.append(nf.format((double)(40-rank.size())/40));
|
html.append("\"></div></div></td>");
|
html.append("<td><div class=\"progress progress-xs progress-striped active\">");
|
html.append("<div class=\"progress-bar progress-bar-primary\" style=\"width: ");
|
html.append(nf.format((double)(40-rank2.size())/40));
|
html.append("\"></div></div></td>");
|
return html.toString();
|
}
|
|
public Map<String, Object> getLoadStatu() {
|
Map<String, Object> param=new HashMap<String, Object>();
|
ShelfStatu statu = shelfStatuDao.findByMachine("load");
|
if (statu !=null) {
|
param.put("taskAsk", statu.getPlcid());
|
param.put("taskSure", statu.getMesid());
|
param.put("warning", statu.getErrorstate());
|
param.put("finishStep", statu.getLoadfinish());
|
|
}
|
return param;
|
}
|
}
|