src/main/java/com/zy/asrs/mapper/BasJarMapper.java
@@ -10,6 +10,4 @@ @Repository public interface BasJarMapper extends BaseMapper<BasJar> { BasJar selectByJarNo(@Param("jarNo") Integer jarNo); } src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -12,9 +12,9 @@ @Repository public interface WrkMastExecuteMapper extends BaseMapper<WrkMastExecute> { WrkMastExecute getWrkMastByWrkNo(@Param("wrkNo") Long wrkNo); WrkMastExecute getWrkMastExecuteByWrkNo(@Param("wrkNo") Long wrkNo); List<WrkMastExecute> getWrkMastByJarId(@Param("jarId") Integer jarId); List<WrkMastExecute> getWrkMastExecuteByJarNo(@Param("jarId") Integer jarId); List<WrkMastExecute> selectWrkMastExecuteByType(@Param("type") Integer type); src/main/java/com/zy/asrs/service/BasJarService.java
@@ -7,6 +7,4 @@ public interface BasJarService extends IService<BasJar> { BasJar selectByJarNo(Integer jarNo); } src/main/java/com/zy/asrs/service/impl/BasJarServiceImpl.java
@@ -9,8 +9,4 @@ @Service("basJarService") public class BasJarServiceImpl extends ServiceImpl<BasJarMapper, BasJar> implements BasJarService { @Override public BasJar selectByJarNo(Integer jarNo){ return this.baseMapper.selectByJarNo(jarNo); }; } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4522,8 +4522,7 @@ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; } if (basJar.getJarMode()!=1 && basJar.getJarMode()!=0){ if (basJar.getJarMode()!=2){ return false; } @@ -4796,7 +4795,7 @@ for (BasJarMast basJarMast : basJarMastList){ JarSlave.StaStn staStn = null; for (JarSlave.StaStn staStn1 : jarSlave.getJarInSta()){ if (staStn1.getStaNo().equals(basJarMast.getEnterStaNo())){ if (staStn1.getStaNo().equals(basJarMast.getJarEnterStaNo())){ staStn = staStn1; } } @@ -4848,16 +4847,15 @@ //门作业 无 //自动、空闲、右门关闭、 Other左门关闭 if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0 && jarOtherProtocol.leftDoorClose==0){ if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){ if (!jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){ //生成开门任务 OpenTheDoor if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvNo(),1,1})){ log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast)); } return true; } else if (jarProtocol.statusType == JarStatusType.WAITING3 && jarProtocol.isLeftDoor()){ } else if ((jarProtocol.statusType == JarStatusType.WAITING3 || jarProtocol.statusType == JarStatusType.MOVING) && jarProtocol.isLeftDoor()){ //生成入硫化罐任务 if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvNo(),5,1})){ log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast)); @@ -5325,7 +5323,7 @@ } } } catch (Exception e){ log.error("JarWrkMastExecute任务创建===>Action==>下发"+e.getMessage()); } } @@ -5352,7 +5350,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -5469,7 +5467,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -5586,7 +5584,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -5597,7 +5595,7 @@ // return false; // } DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -5639,8 +5637,8 @@ } //调车 == > 取货 if (jarRgvGetTake(wrkMastExecute ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==1 ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==2)){ ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1 ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){ log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } @@ -5698,7 +5696,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -5808,7 +5806,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -5824,7 +5822,7 @@ return false; } BasJar basJarOther = basJarMapper.selectByJarNo(jarProtocolOther.getJarNo()); BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo()); if (Cools.isEmpty(basJarOther)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocolOther.getJarNo()); return false; @@ -5966,7 +5964,7 @@ // return false; // } BasJar basJar = basJarMapper.selectByJarNo(wrkMastExecute.getJarId()); BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId()); if (Cools.isEmpty(basJar)){ log.error("{}号冷却槽查询设备档案无信息!!!",wrkMastExecute.getJarId()); return false; @@ -6080,7 +6078,7 @@ return false; } BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo()); BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); if (Cools.isEmpty(basJar)){ log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); return false; @@ -6442,6 +6440,9 @@ public synchronized boolean jarWrkMastExecuteGenerateJarComplete(Integer sign) { try{ for (JarSlave jarSlave : slaveProperties.getJar()) { if (jarSlave.getId()>4){ continue; } // 获取硫化罐信息 JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId()); JarProtocol jarProtocol = jarThread.getJarProtocol(); @@ -6458,7 +6459,9 @@ } //WAITING2(4, "硫化完成"), if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2) && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() ){ && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0 ){ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{ add(5);//硫化中 }}); @@ -6469,6 +6472,74 @@ if (basJarMastList.size()!=integer){ log.error("{}号硫化罐硫化完成修改硫化档案状态结果数量不一致!!!查询资料数量={},更新返回数量={}",jarProtocol.getJarNo(),basJarMastList.size(),integer); } } else if (jarProtocol.getJarErr()==0 && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() && jarProtocol.leftDoorOpen!=1 && jarProtocol.leftDoorOpen!=3 && jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3 && (jarProtocol.leftDoorOpen==2 || jarProtocol.rightDoorOpen==2)){ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); wrkMastExecuteSou.setWrkType(3); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); if (wrkMastExecuteList.isEmpty()){ WrkMastExecute execute = new WrkMastExecute(); execute.setJarId(jarProtocol.getJarNo()); //直接关门 if (jarDoorTake(execute,JarTaskModeType.OPEN_THE_DOOR_COMPLETE)){ log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", execute.getJarId(), JSON.toJSON(execute), JSON.toJSON(jarProtocol),sign); } return true; } for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ if (wrkMastExecute.getIoType() == 1 || wrkMastExecute.getIoType() == 3){ //直接关门 if (jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR_COMPLETE)){ log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkSts(4); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("平衡车Rgv命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); return false; } return true; } } } else if (jarProtocol.getJarErr()==0 && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() && jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3 && jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3 && (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); wrkMastExecuteSou.setWrkType(3); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); if (wrkMastExecuteList.isEmpty()){ WrkMastExecute execute = new WrkMastExecute(); execute.setJarId(jarProtocol.getJarNo()); //直接关门 if (jarDoorTake(execute,JarTaskModeType.CLOSE_THE_DOOR_COMPLETE)){ log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", execute.getJarId(), JSON.toJSON(execute), JSON.toJSON(jarProtocol),sign); } return true; } for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ if (wrkMastExecute.getIoType() == 2 || wrkMastExecute.getIoType() == 4){ //直接关门 if (jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR_COMPLETE)){ log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkSts(4); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("平衡车Rgv命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); return false; } return true; } } } } return true; src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -13,12 +13,12 @@ @Override public WrkMastExecute getWrkMastExecuteByWrkNo(Long wrkNo) { return this.baseMapper.getWrkMastByWrkNo(wrkNo); return this.baseMapper.getWrkMastExecuteByWrkNo(wrkNo); } @Override public List<WrkMastExecute> getWrkMastExecuteByJarNo(Integer jarId) { return this.baseMapper.getWrkMastByJarId(jarId); return this.baseMapper.getWrkMastExecuteByJarNo(jarId); } @Override src/main/java/com/zy/asrs/utils/SteAndJarUtil.java
@@ -57,7 +57,7 @@ return 1; case 612: case 619: return 2; return 3; } return 0; } src/main/java/com/zy/core/cache/MessageQueue.java
@@ -30,6 +30,8 @@ // 台车mq交换机 private static final Map<Integer, ConcurrentLinkedQueue<Task>> CAR_EXCHANGE = new ConcurrentHashMap<>(); private static final Map<Integer, ConcurrentLinkedQueue<Task>> JAR_EXCHANGE = new ConcurrentHashMap<>(); /** * mq 交换机初始化 */ @@ -56,6 +58,9 @@ case Car: CAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); break; case Jar: JAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); break; default: break; } @@ -81,6 +86,8 @@ return SCALE_EXCHANGE.get(id).offer(task); case Car: return CAR_EXCHANGE.get(id).offer(task); case Jar: return JAR_EXCHANGE.get(id).offer(task); default: return false; } @@ -106,6 +113,8 @@ return SCALE_EXCHANGE.get(id).poll(); case Car: return CAR_EXCHANGE.get(id).poll(); case Jar: return JAR_EXCHANGE.get(id).poll(); default: return null; } @@ -130,6 +139,8 @@ return SCALE_EXCHANGE.get(id).peek(); case Car: return CAR_EXCHANGE.get(id).peek(); case Jar: return JAR_EXCHANGE.get(id).peek(); default: return null; } @@ -158,6 +169,9 @@ case Car: CAR_EXCHANGE.get(id).clear(); break; case Jar: JAR_EXCHANGE.get(id).clear(); break; default: break; } src/main/java/com/zy/core/thread/JarThread.java
@@ -20,7 +20,6 @@ import com.zy.core.enums.SlaveType; import com.zy.core.model.JarSlave; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; import com.zy.core.model.command.JarCommand; import com.zy.core.model.protocol.JarProtocol; import lombok.Data; @@ -64,7 +63,7 @@ break; // 写数据 ID+目标站 case 2: write(null); write((JarCommand) task.getData()); break; default: break; @@ -155,6 +154,16 @@ jarProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));//状态 jarProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 12) == 2);//自动 // // jarProtocol.setMode(2);//模式 // jarProtocol.setStatus((short)1);//状态 // jarProtocol.setLeftDoorOpen(0);//open the left door //进料门 // jarProtocol.setLeftDoorClose(0);//close the left door //进料门 // jarProtocol.setRightDoorOpen(0);//open the right door //出料门 // jarProtocol.setRightDoorClose(0);//close the right door //出料门 // 根据实时信息更新数据库 BasJarService service = SpringUtils.getBean(BasJarService.class); if (null != service) { src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -194,9 +194,9 @@ */ private void readStatus(){ try { if (true){ return; } // if (true){ // return; // } OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>(); if (slave.getId()>2 && slave.getId()<6){ result = siemensNet.Read("DB101.0", (short) 66); src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -200,6 +200,9 @@ case 9: write9((StaProtocol)task.getData()); break; case 10: write10((StaProtocol)task.getData()); break; default: break; } @@ -554,30 +557,28 @@ boolean rgv4 = staProtocol.isRGV4(); boolean rgv5 = staProtocol.isRGV5(); OperateResult result1 = null; OperateResult result2 = null; String resultV1 = ""; String resultV2 = ""; switch (staProtocol.getSiteId()){ case 623: resultV1 = "1804"; resultV2 = "1804"; resultV1 = "DB100.1804"; break; case 624: resultV1 = "1810"; resultV2 = "1810"; resultV1 = "DB100.1810"; break; case 625: resultV1 = "1816"; resultV2 = "1816"; resultV1 = "DB100.1816"; break; case 626: resultV1 = "1822"; resultV2 = "1822"; resultV1 = "DB100.1822"; break; default: return; } result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); if (rgv4){ result1 = siemensS7Net.Write(resultV1+".3", rgv4); } else { result1 = siemensS7Net.Write(resultV1+".4", rgv5); } //硫化罐任务写入后,回读一次,看是否成功 try { Thread.sleep(200); @@ -590,7 +591,11 @@ try{ if(!result1.IsSuccess){ log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); if (rgv4){ result1 = siemensS7Net.Write(resultV1+".3", rgv4); } else { result1 = siemensS7Net.Write(resultV1+".4", rgv5); } Thread.sleep(100); writeCount++; continue; @@ -598,56 +603,26 @@ OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); if (resultRead1.IsSuccess) { boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1); boolean status1 = status[rgv4? 4:3]; if (status1 == rgv4?rgv5:rgv4){ if (status[rgv4? 3:4]){ break; } else { log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); if (rgv4){ result1 = siemensS7Net.Write(resultV1+".3", rgv4); } else { result1 = siemensS7Net.Write(resultV1+".4", rgv5); } Thread.sleep(100); writeCount++; continue; } } else { log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); Thread.sleep(100); writeCount++; continue; } }catch (Exception e){ log.error("写入RGV数据后回读出错,异常:"+e); } writeCount++; } while (writeCount<6); result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); writeCount = 1; do { try{ if(!result2.IsSuccess){ log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); Thread.sleep(100); writeCount++; continue; } OperateResultExOne<byte[]> resultRead2 = siemensS7Net.Read(resultV2, (short) 1); if (resultRead2.IsSuccess) { boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead2.Content, 0, 1); boolean status1 = status[rgv4? 3:4]; if (status1 == rgv4?rgv4:rgv5){ break; if (rgv4){ result1 = siemensS7Net.Write(resultV1+".3", rgv4); } else { log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); Thread.sleep(100); writeCount++; continue; result1 = siemensS7Net.Write(resultV1+".4", rgv5); } } else { log.error("写入RGV数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); Thread.sleep(100); writeCount++; continue; src/main/java/com/zy/core/thread/SteThread.java
@@ -123,7 +123,7 @@ */ private void readStatus(){ try { OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 27); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 28); if (result.IsSuccess) { if (null == steProtocol) { steProtocol = new SteProtocol(); src/main/resources/application.yml
@@ -284,50 +284,50 @@ rgvNo: 623 steNo: 1 jarRegin: 1 burial: 1 burial: 5 staNoEnter[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 113 row: 1 staNo: 612 row: 3 staNoEnter[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 114 row: 3 staNo: 615 row: 1 # 入硫化罐RGV enterRgv[1]: rgvNo: 624 steNo: 1 steNo: 2 jarRegin: 1 burial: 1 burial: 6 staNoEnter[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 113 row: 1 staNo: 619 row: 3 staNoEnter[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 114 row: 3 staNo: 622 row: 1 # 出硫化罐RGV endRgv[0]: rgvNo: 625 steNo: 1 jarNo: 1 jarRegin: 1 burial: 1 burial: 5 staNoEnd[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 114 staNo: 627 row: 1 # 出硫化罐RGV endRgv[1]: rgvNo: 626 steNo: 1 jarNo: 1 steNo: 2 jarNo: 3 jarRegin: 1 burial: 1 burial: 6 staNoEnd[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 114 staNo: 628 row: 1 # 条码扫描仪 @@ -371,23 +371,16 @@ # 硫化罐入库站点 jarInSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 101 rgvNo: 102 steNo: 102 row: 1 # 硫化罐入库站点 jarInSta[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 row: 1 staNo: 612 rgvNo: 623 steNo: 1 row: 3 # 硫化罐出库站点 jarOutSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 staNo: 627 rgvNo: 625 steNo: 1 row: 1 # 硫化罐入库RGV jarInRgv[0]: @@ -398,7 +391,7 @@ jarOutRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 625 row: 2 row: 1 # 硫化罐入库穿梭板 jarInSte[0]: devpPlcId: ${wcs-slave.devp[1].id} @@ -407,8 +400,8 @@ # 硫化罐出库穿梭板 jarOutSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 3 row: 2 steNo: 1 row: 1 # JAR2 jar[1]: id: 2 @@ -418,44 +411,37 @@ # 硫化罐入库站点 jarInSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 101 rgvNo: 102 steNo: 102 row: 1 # 硫化罐入库站点 jarInSta[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 staNo: 615 rgvNo: 623 steNo: 1 row: 1 # 硫化罐出库站点 jarOutSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 623 rgvNo: 102 steNo: 102 staNo: 627 rgvNo: 625 steNo: 1 row: 1 # 硫化罐入库RGV jarInRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 625 rgvNo: 623 row: 1 # 硫化罐出库RGV jarOutRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 173 row: 2 rgvNo: 625 row: 1 # 硫化罐入库穿梭板 jarInSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 173 steNo: 1 row: 1 # 硫化罐出库穿梭板 jarOutSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 173 row: 2 steNo: 1 row: 1 # JAR3 jar[2]: id: 3 @@ -465,43 +451,36 @@ # 硫化罐入库站点 jarInSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 101 rgvNo: 102 steNo: 102 row: 1 # 硫化罐入库站点 jarInSta[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 row: 1 staNo: 619 rgvNo: 624 steNo: 2 row: 3 # 硫化罐出库站点 jarOutSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 staNo: 628 rgvNo: 626 steNo: 2 row: 1 # 硫化罐入库RGV jarInRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 173 rgvNo: 624 row: 1 # 硫化罐出库RGV jarOutRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 173 rgvNo: 626 row: 2 # 硫化罐入库穿梭板 jarInSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 173 row: 1 steNo: 2 row: 2 # 硫化罐出库穿梭板 jarOutSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 173 steNo: 2 row: 2 # JAR4 jar[3]: @@ -512,39 +491,32 @@ # 硫化罐入库站点 jarInSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 101 rgvNo: 102 steNo: 102 row: 1 # 硫化罐入库站点 jarInSta[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 row: 1 staNo: 619 rgvNo: 624 steNo: 2 row: 3 # 硫化罐出库站点 jarOutSta[0]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 102 rgvNo: 102 steNo: 102 staNo: 628 rgvNo: 626 steNo: 2 row: 1 # 硫化罐入库RGV jarInRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 623 rgvNo: 624 row: 1 # 硫化罐出库RGV jarOutRgv[0]: devpPlcId: ${wcs-slave.devp[1].id} rgvNo: 173 rgvNo: 626 row: 2 # 硫化罐入库穿梭板 jarInSte[0]: devpPlcId: ${wcs-slave.devp[1].id} steNo: 1 row: 1 steNo: 2 row: 2 # 硫化罐出库穿梭板 jarOutSte[0]: devpPlcId: ${wcs-slave.devp[1].id} src/main/resources/mapper/BasJarMapper.xml
@@ -27,11 +27,4 @@ </resultMap> <select id="selectByJarNo" resultMap="BaseResultMap"> select top 1 * from asr_bas_jar where 1=1 and jar_no=0 order by id </select> </mapper> src/main/resources/mapper/BasJarMastMapper.xml
@@ -88,17 +88,11 @@ </select> <select id="selectJarMastOperationByStatusList" resultType="Integer"> select count(1) from asr_bas_jar_mast where 1=1 and ( status in <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=","> #{status} </foreach> ) and jar_id = #{jarId} order by jar_loc_digit desc SELECT count(1) FROM [dbo].[asr_bas_jar_mast] WHERE status in <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=","> #{status} </foreach> AND jar_id = #{jarId} </select> <update id="updateStatus"> src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -59,10 +59,10 @@ <select id="getWrkMastExecuteByWrkNo" resultMap="BaseResultMap"> select top 1 * from jar_wrk_mast_execute where 1=1 and jar_id = #{jarId} and wrk_no = #{wrkNo} </select> <select id="getWrkMastExecuteByJarId" resultMap="BaseResultMap"> <select id="getWrkMastExecuteByJarNo" resultMap="BaseResultMap"> select * from jar_wrk_mast_execute where 1=1 and jar_id = #{jarId} @@ -78,7 +78,15 @@ <select id="selectWrkMastExecuteByTypeAndIoTyperAndWrkType" resultMap="BaseResultMap"> select * from jar_wrk_mast_execute where 1=1 <include refid="batchSeq"></include> <if test="type != null"> and type = #{type} </if> <if test="ioType != null"> and io_type = #{ioType} </if> <if test="wrkType != null"> and wrk_type = #{wrkType} </if> </select> <select id="selectWrkMastExecuteByWrk" resultMap="BaseResultMap"> src/main/webapp/static/js/console.map23.js
@@ -339,8 +339,8 @@ "height": 6 }, { "type": "stn", "id": "site-624", "text": "624", "id": "site-626", "text": "626", "top": 540, "left": 930, "width": 49,