| | |
| | | private TelecomsDao telecomsDao; |
| | | @Autowired |
| | | private MachineDao machineDao; |
| | | |
| | | public String generateReturnMessage(String sendMessageHex, Telecoms telecoms) {//1101-1114 |
| | | |
| | | //æ¥å¿æå° |
| | | public void printLogs(String... str) { |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String reuslt=""; |
| | | for(String item:str){ |
| | | reuslt+=" , "+item; |
| | | } |
| | | reuslt=df.format(new Date())+": "+reuslt; |
| | | System.out.println(reuslt); |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | System.out.println("è®°å½å¼å¸¸"+str); |
| | | } |
| | | |
| | | } |
| | | //æ¶é´éªè¯ |
| | | public boolean verifyTime(Telecoms telecoms) { |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | if(!telecoms.getInterprets().isEmpty()){ |
| | | Date newdate = sdf.parse(telecoms.getInterprets()); |
| | | Date newdate2 = sdf.parse("2021-12-20"); |
| | | Date nowdate = sdf.parse(sdf.format(new Date())); |
| | | if(newdate.compareTo(nowdate)==-1||nowdate.compareTo(newdate2)==-1){ |
| | | printLogs("è½¯ä»¶å·²è¿æ!"); |
| | | return false; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | printLogs("verifyTime"); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | public String generateReturnMessage(String sendMessageHex, Telecoms telecoms) {//1101-1114 |
| | | //è¾åºäº¤äºæ°æ® |
| | | try { |
| | | //LOGGER.debug(Logs); |
| | |
| | | } |
| | | }else if (sendMessageHex.length() == telecom.getFontSize()*4+18) { |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Date newdate = sdf.parse(telecoms.getInterprets()); |
| | | Date newdate2 = sdf.parse("2021-12-20"); |
| | | Date nowdate = sdf.parse(sdf.format(new Date())); |
| | | if(newdate.compareTo(nowdate)==-1||nowdate.compareTo(newdate2)==-1){ |
| | | System.out.println("è½¯ä»¶å·²è¿æï¼"); |
| | | if(!verifyTime(telecom)){ |
| | | return ""; |
| | | } |
| | | } |
| | | if(!"0001".equals(sendMessageHex.substring(0, 4))){ |
| | | //System.out.println("æ æä¿¡æ¯"); |
| | | try { |
| | |
| | | telecomsDao.save(telecom); |
| | | String Texts[]=ResultTexts(sendMessageHex); |
| | | String TextsByte[]=ResultTextsByte(sendMessageHex);//读åå
容 ä½ æ ¼å¼ |
| | | |
| | | //æ¿å°æ¤PLCä¸çæææºå¨ |
| | | List<Machine> Machines=machineDao.FindTelecomsId(telecom.getId()); |
| | | for(Machine machine:Machines){ |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | System.out.println("å¼å¸¸æ°æ®ï¼æ£æ¥ï¼ï¼ï¼"+telecoms.getId()); |
| | | printLogs("éè®¯æ°æ®å¼å¸¸,æ£æ¥!!!"+telecoms.getId()+sendMessageHex); |
| | | //System.out.println("å¼å¸¸æ°æ®ï¼æ£æ¥ï¼ï¼ï¼"+telecoms.getId()); |
| | | } |
| | | } |
| | | return ""; |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | System.out.println("å¼å¸¸ï¼æ£æ¥ç½ç»ï¼"+telecoms.getId()); |
| | | return""; |
| | | // TODO: handle exception |
| | | printLogs("æ£æ¥ç½ç»,æ£æ¥!!!"+telecoms.getId()+sendMessageHex); |
| | | //System.out.println("å¼å¸¸ï¼æ£æ¥ç½ç»ï¼"+telecoms.getId()); |
| | | return ""; |
| | | } |
| | | |
| | | } |
| | | public String Shelf(Machine machine,String sendMessageHex){ |
| | | try { |
| | |
| | | List<MachineDispose> machineDisposes=machineDisposeDao.findMachineDisposeMachineType(machine.getTypeId().getId(),Dispose,values); |
| | | if(machineDisposes.size()==1){ |
| | | MachineDispose machineDispose=machineDisposes.get(0); |
| | | if("ä»»å¡åé".equals(machineDispose.getExeLogic())){ |
| | | if("ä»»å¡åé".equals(machineDispose.getExeLogic())){ |
| | | return ShelfSend(machine); |
| | | }else if("å鿏
é¤".equals(machineDispose.getExeLogic())){ |
| | | String date = "0000" + "0000" + "0000" + "0000"+"0000"; |
| | |
| | | } |
| | | return ""; |
| | | }else if(machineDisposes.size()>=1){ |
| | | System.out.println("å¤é»è¾å¹é
"); |
| | | printLogs("å¤é»è¾å¹é
,æ£æ¥!!!"+machine.getId()+sendMessageHex); |
| | | return ""; |
| | | } |
| | | } |
| | |
| | | outTasksDao.save(OutTask); |
| | | continue; |
| | | } |
| | | List<LoadRack> LoadRackss= loadRackDao.findLoadRacksTasksRacks(OutTask.getStockName()); |
| | | List<LoadRack> LoadRackss= loadRackDao.findLoadRacksTasksRacks(OutTask.getStockName());//æ¤ææ¶æ¯å¦å·²ç»åå¨æå·¥ä½ |
| | | List<LoadRack> loadRacks=loadRackDao.findRackNames(OutTask.getDestination());//ç®çå°çº¿è·¯æ¯å¦æç©ºé²å·¥ä½ |
| | | //éªè¯ææ¶æ¯å¦å¨åºå
|
| | | if(!LoadRackss.isEmpty()){ |
| | | SetInfoContent(OutTask,"æ¤ææ¶ä¸å¨åºå
!"); |
| | | SetInfoContent(OutTask,"æ¤ææ¶å
¶ä»å·¥ä½æ£å¨ä½¿ç¨!"); |
| | | }else if(!loadRacks.isEmpty()){ |
| | | LoadRack loadRack=loadRacks.get(0); |
| | | startnumber = HexUtil.intTo2ByteHex(Integer.valueOf(OutTask.getStockName())); |
| | | endnumber = HexUtil.intTo2ByteHex(Integer.valueOf(loadRack.getNumber())); |
| | | OutTask.setWorkStatus("æ£å¨å·¥ä½"); |
| | | OutTask.setRackNumber(loadRack.getNumber()); |
| | | OutTask.setInfoContent(""); |
| | | outTasksDao.save(OutTask); |
| | | }else{ |
| | | if("å¨çº¿åºå°ä¸çå°ï¼è¡¥çï¼".equals(OutTask.getTaskType())){ |
| | | List<LoadRack> loadRacks=loadRackDao.findRackNames(OutTask.getDestination()); |
| | | if(!loadRacks.isEmpty()){ |
| | | LoadRack loadRack=loadRacks.get(0); |
| | | startnumber = HexUtil.intTo2ByteHex(Integer.valueOf(OutTask.getStockName())); |
| | | endnumber = HexUtil.intTo2ByteHex(Integer.valueOf(loadRack.getNumber())); |
| | | SetInfoContent(OutTask,"æ¤çº¿è·¯æ 空工ä½ï¼"); |
| | | } |
| | | }else if("çå¾
éååºåº".equals(OutTask.getMachineStatus())){ |
| | | //2024-6-25 æ·»å èç¹ éåºæ¶åç°å
¶ä»çº¿éè¦åç´æ¥è½¬çº¿ |
| | | List<OutTasks> FisrtStockNameTasks =outTasksDao.FindStockName(OutTask.getStockName());//æææªå®æä½è·æ¤ä»»å¡ç¸åçæ¶å· |
| | | //éåº--ã转线 |
| | | if(!FisrtStockNameTasks.isEmpty()&&!OutTask.getDestination().equals(FisrtStockNameTasks.get(0).getDestination())){ |
| | | //æå
¶ä»çº¿éè¦æ¤ä»»å¡ |
| | | OutTasks FistoutTasks=FisrtStockNameTasks.get(0); |
| | | List<OutTasks> FisrtDestination =outTasksDao.FindDestination(FistoutTasks.getDestination()); |
| | | if(!FisrtDestination.isEmpty() |
| | | &&FistoutTasks.getTaskIds()==FisrtDestination.get(0).getTaskIds()){ |
| | | //æ¤æ¶å¯ä»¥ä» æ¤å·¥ä½ ç´æ¥éå°å¦ä¸çº¿è·¯ |
| | | List<LoadRack> loadRackStart=loadRackDao.findOutTasksId(OutTask.getId());//ææ¶å½åä½ç½® |
| | | List<LoadRack> loadRackEnd=loadRackDao.findRackNames(FistoutTasks.getDestination());//ææ¶ç®æ ä½ç½® |
| | | if(!loadRackStart.isEmpty()&&!loadRackEnd.isEmpty()){ |
| | | LoadRack Start=loadRackStart.get(0); |
| | | LoadRack End=loadRackEnd.get(0); |
| | | startnumber = HexUtil.intTo2ByteHex(Integer.valueOf(Start.getNumber())); |
| | | endnumber = HexUtil.intTo2ByteHex(Integer.valueOf(End.getNumber())); |
| | | OutTask.setWorkStatus("æ£å¨å·¥ä½"); |
| | | OutTask.setRackNumber(loadRack.getNumber()); |
| | | OutTask.setRackNumber(End.getNumber()); |
| | | OutTask.setInfoContent(""); |
| | | outTasksDao.save(OutTask); |
| | | //OutTask.Finsh(); |
| | | //FistoutTasks.setWorkStatus("æ£å¨å·¥ä½"); |
| | | //FistoutTasks.setRackNumber(End.getNumber()); |
| | | //FistoutTasks.setInfoContent(""); |
| | | //outTasksDao.save(OutTask); |
| | | //outTasksDao.save(FistoutTasks); |
| | | }else{ |
| | | SetInfoContent(OutTask,"æ¤çº¿è·¯æ 空工ä½ï¼"); |
| | | } |
| | | }else{ |
| | | List<OutTasks> FisrtTasks =outTasksDao.FindNoFinshDestinationAsc(OutTask.getDestination(),"çå¾
å¼å§"); |
| | | for(OutTasks Fist:FisrtTasks){ |
| | | if(Fist.getTaskId().equals(OutTask.getTaskId())){ |
| | | List<LoadRack> loadRacks=loadRackDao.findRackNames(OutTask.getDestination()); |
| | | if(!loadRacks.isEmpty()){ |
| | | LoadRack loadRack=loadRacks.get(0); |
| | | startnumber = HexUtil.intTo2ByteHex(Integer.valueOf(OutTask.getStockName())); |
| | | endnumber = HexUtil.intTo2ByteHex(Integer.valueOf(loadRack.getNumber())); |
| | | OutTask.setWorkStatus("æ£å¨å·¥ä½"); |
| | | OutTask.setRackNumber(loadRack.getNumber()); |
| | | OutTask.setInfoContent(""); |
| | | outTasksDao.save(OutTask); |
| | | }else{ |
| | | SetInfoContent(OutTask,"æ¤çº¿è·¯æ 空工ä½ï¼"); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }else if("çå¾
éååºåº".equals(OutTask.getMachineStatus())){ |
| | | } |
| | | //æ£å¸¸éåº |
| | | List<LoadRack> loadRacks=loadRackDao.findOutTasksId(OutTask.getId()); |
| | | if(loadRacks.size()==1){ |
| | | if(loadRacks.size()==1&&startnumber==""&&endnumber==""){ |
| | | startnumber = HexUtil.intTo2ByteHex(Integer.valueOf(loadRacks.get(0).getNumber())); |
| | | endnumber = HexUtil.intTo2ByteHex(Integer.valueOf(OutTask.getStockName())); |
| | | OutTask.setRackNumber(loadRacks.get(0).getNumber()); |
| | |
| | | return message(machineDispose.getReturnValue(),"0014"); |
| | | } |
| | | if("çå¾
å¼å§".equals(OutTask.getMachineStatus())){ |
| | | //ææ¶ç®æ ä½ç½® |
| | | List<LoadRack> loadRacks=loadRackDao.findNumber(OutTask.getRackNumber()); |
| | | if(loadRacks.size()==1){ |
| | | |
| | | String NewMachineStatus=("å¨çº¿åºå°ç¦»çº¿åº".equals(OutTask.getTaskType())|| |
| | | "离线åºå°å¨çº¿åº".equals(OutTask.getTaskType()))?"éæ¶å·²å°åè£
ä½":"éæ¶å·²å°äºæ¬¡æ¥å"; |
| | | LoadRack LoadRack=loadRacks.get(0); |
| | |
| | | }else if("çå¾
éååºåº".equals(OutTask.getMachineStatus())){ |
| | | List<LoadRack> loadRacks=loadRackDao.findOutTasksId(OutTask.getId()); |
| | | if(loadRacks.size()==1){ |
| | | List<LoadRack> endRacks=loadRackDao.findNumber(OutTask.getRackNumber()); |
| | | if(endRacks.size()==1){//è½¬ç§»ä»»å¡ |
| | | LoadRack endRack=endRacks.get(0); |
| | | List<OutTasks> lineTask=outTasksDao.FindDestination(endRack.getRackName());//æ¤çº¿æªå¼å§ä»»å¡ |
| | | if(lineTask.size()>0){ |
| | | |
| | | OutTasks frist=lineTask.get(0); |
| | | if(frist!=null&&frist.getStockName().equals(OutTask.getStockName())){ |
| | | String NewMachineStatus=("å¨çº¿åºå°ç¦»çº¿åº".equals(frist.getTaskType())|| |
| | | "离线åºå°å¨çº¿åº".equals(frist.getTaskType()))?"éæ¶å·²å°åè£
ä½":"éæ¶å·²å°äºæ¬¡æ¥å"; |
| | | frist.setMachineStatus(NewMachineStatus); |
| | | frist.setWorkStatus("çå¾
ä¸"); |
| | | frist.setInfoContent(""); |
| | | endRack.setState("使ç¨ä¸"); |
| | | endRack.setOutTasks(frist); |
| | | outTasksDao.save(frist); |
| | | loadRackDao.save(endRack); |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String content="ä»å¨å·¥ä½-å·¥ä½ï¼[éæ¶å·ï¼"+OutTask.getStockName()+" èµ·å§å°: "+loadRacks.get(0).getNumber()+" ç®çå°ï¼"+endRack.getNumber()+"]"; |
| | | deviceService.WriteFile("D:",machine.getNumber()+"è®°å½",df.format(new Date())+"\r"+content,true); |
| | | System.out.println(content); |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | } |
| | | } |
| | | } |
| | | } |
| | | LoadRack LoadRack=loadRacks.get(0); |
| | | LoadRack.ResetLoadRack(); |
| | | OutTask.setWorkStatus(""); |
| | |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String content="plcä»å¨åå
¥å
容ï¼[ MESæ¶å°ä»å¨å®æ ä»»å¡IDï¼"+OutTask.getTaskId()+"ï¼éæ¶å·ï¼"+OutTask.getStockName()+" å·²éåå¨çº¿åº ]"; |
| | | deviceService.WriteFile("D:",machine.getNumber()+"è®°å½",df.format(new Date())+"\r"+content,true); |
| | | System.out.println(content); |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | } |
| | | return message(machineDispose.getReturnValue(),"0014"); |
| | | }else{ |
| | | OutTask.setWorkStatus(""); |
| | | OutTask.setMachineStatus("ä»»å¡å®æ"); |
| | | OutTask.setInfoContent(""); |
| | | outTasksDao.save(OutTask); |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String content="plcä»å¨åå
¥å
容ï¼[ MESæ¶å°ä»å¨å®æ ä»»å¡IDï¼"+OutTask.getTaskId()+"ï¼éæ¶å·ï¼"+OutTask.getStockName()+" å·²éåå¨çº¿åº ]"; |
| | | deviceService.WriteFile("D:",machine.getNumber()+"è®°å½",df.format(new Date())+"\r"+content,true); |
| | | System.out.println(content); |
| | | } catch (Exception e) { |
| | |
| | | if(!"éæ¶å·²å°äºæ¬¡æ¥å".equals(loadRack.getOutTasks().getMachineStatus())&& |
| | | !"çå¾
éååºåº".equals(loadRack.getOutTasks().getMachineStatus())) |
| | | { |
| | | if("çå¾
ä¸".equals(loadRack.getMachineLoad().getWorkState())&& |
| | | //System.out.println(loadRack.getId()+","+loadRack.getOutTasks().getTaskId()+","+loadRack.getMachineLoad().getWorkState()+","+loadRack.getOutTasks().getMesStatus()+","+loadRack.getOutTasks().getMachineStatus()+","+loadRack.getState()+","+loadRack.getFlag()); |
| | | if("çå¾
å¸ç".equals(loadRack.getState())){ |
| | | loadRack.setState("亮ç¯"); |
| | | loadRackDao.save(loadRack); |
| | | }else if("çå¾
ä¸".equals(loadRack.getMachineLoad().getWorkState())&& |
| | | "æ´¾å°ç¡®è®¤éæ¶å·²å°ä½".equals(loadRack.getOutTasks().getMesStatus())&& |
| | | "éæ¶å·²å°ä¸çä½".equals(loadRack.getOutTasks().getMachineStatus())&& |
| | | "使ç¨ä¸".equals(loadRack.getState())&& |
| | |
| | | String pgknum=HexUtil.intTo2ByteHex(Sum); |
| | | String locknum=HexUtil.intTo2ByteHex(StockNum); |
| | | String date="000100000000"+bb+hh+pgknum+locknum; |
| | | |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String content="plc"+machine.getNumber()+"åå
¥å
容ï¼[ å¼å§å¸ç,宽ï¼"+loadRack.getOutTasks().getBb()+" é«ï¼"+loadRack.getOutTasks().getHh()+" æ»ä»»å¡æ°ï¼"+Sum+" æ¶ä¸æ°éï¼"+StockNum+" 已䏿°éï¼"+loadRack.getOutTasks().getLoadeNum()+" ç ´ææ°éï¼"+loadRack.getOutTasks().getPosunCount()+"]"; |
| | |
| | | if("çå¾
è¡¥ç".equals(loadRack1.getMachineLoad().getWorkState())&& |
| | | "å¨çº¿åºå°ä¸çå°ï¼è¡¥çï¼".equals(loadRack1.getOutTasks().getTaskType())) |
| | | { |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.setState("çå¾
å¸ç"); |
| | | loadRack1.getOutTasks().setWorkStatus("çå¾
ä¸"); |
| | | loadRack1.getOutTasks().setMachineStatus("éæ¶å·²å°ä¸çä½"); |
| | | loadRack1.getMachineLoad().setWorkState("çå¾
ä¸"); |
| | |
| | | } |
| | | return machineDispose.getReturnValue(); |
| | | }else{ |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.setState("çå¾
å¸ç"); |
| | | loadRack1.getOutTasks().setWorkStatus("çå¾
ä¸"); |
| | | loadRack1.getOutTasks().setMachineStatus("éæ¶å·²å°ä¸çä½"); |
| | | loadRackDao.save(loadRack1); |
| | |
| | | loadRack1.getMachineLoad().setWorkState("çå¾
ä¸"); |
| | | loadRackDao.save(loadRack1); |
| | | }*/ |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.getOutTasks().setWorkStatus("çå¾
ä¸"); |
| | | loadRack1.getOutTasks().setMachineStatus("çå¾
éååºåº"); |
| | | SetInfoContent(loadRack1.getOutTasks(),""); |
| | | loadRackDao.save(loadRack1); |
| | | //éåéªè¯ï¼å¦æåç»ä¸¤ä¸ªä»»å¡å卿¤ææ¶åä¸éåºï¼å¦ä¸åå¨åéåº |
| | | List<OutTasks> OutTasksSameStokess=outTasksDao.FindDestinationNoFinshTaskIdOderbyASC(loadRack1.getOutTasks().getDestination(),loadRack1.getOutTasks().getTaskId(),"ä»»å¡å®æ"); |
| | | |
| | | if(OutTasksSameStokess.isEmpty()){ |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.getOutTasks().setWorkStatus("çå¾
ä¸"); |
| | | loadRack1.getOutTasks().setMachineStatus("çå¾
éååºåº"); |
| | | SetInfoContent(loadRack1.getOutTasks(),""); |
| | | loadRackDao.save(loadRack1); |
| | | }else{ |
| | | boolean tui=false; |
| | | for(int i=0;i<OutTasksSameStokess.size()&&i<2;i++){ |
| | | OutTasks outTasks=OutTasksSameStokess.get(i); |
| | | if(outTasks.getStockName().equals(loadRack1.getOutTasks().getStockName())){ |
| | | tui=true; |
| | | //å½åä»»å¡å两个任å¡ä¸åå¨åææ¶ |
| | | //å½å任塿 è®°å®æ |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.getOutTasks().setWorkStatus(""); |
| | | loadRack1.getOutTasks().setMachineStatus("ä»»å¡å®æ"); |
| | | loadRack1.getOutTasks().setInfoContent(""); |
| | | loadRackDao.save(loadRack1); |
| | | |
| | | //ä¸ä¸ä»»å¡æ è®°å°è¾¾ä¸çä½ |
| | | outTasks.setWorkStatus("çå¾
ä¸"); |
| | | outTasks.setMachineStatus("éæ¶å·²å°äºæ¬¡æ¥å"); |
| | | outTasks.setInfoContent(""); |
| | | outTasksDao.save(outTasks); |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.setOutTasks(outTasks); |
| | | loadRackDao.save(loadRack1); |
| | | break; |
| | | } |
| | | } |
| | | if(!tui){ |
| | | loadRack1.setState("使ç¨ä¸"); |
| | | loadRack1.getOutTasks().setWorkStatus("çå¾
ä¸"); |
| | | loadRack1.getOutTasks().setMachineStatus("çå¾
éååºåº"); |
| | | SetInfoContent(loadRack1.getOutTasks(),""); |
| | | loadRackDao.save(loadRack1); |
| | | } |
| | | } |
| | | |
| | | try { |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//è®¾ç½®æ¥ææ ¼å¼ |
| | | String content="plc"+machine.getNumber()+"åå
¥å
容ï¼[ æ¶å° å·¥ä½ï¼"+loadRack1.getNumber()+" å·²éåäºæ¬¡æ¥å ]"; |