From 1da5c464f48dca0be85647b1d4f284d92c9b3eba Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 10 十月 2022 10:52:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 144 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 139 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 9768a5b..1a9d2c7 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -74,11 +74,15 @@ @Autowired private BasErrLogService basErrLogService; @Autowired + private BasSteErrLogService basSteErrLogService; + @Autowired private BasCrnErrorMapper basCrnErrorMapper; @Autowired private BasSteService basSteService; @Autowired private WrkChargeService wrkChargeService; + @Autowired + private BasSteErrService basSteErrService; @Autowired private CommonService commonService; @@ -314,9 +318,9 @@ try { // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 - if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) { - throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); - } +// if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) { +// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); +// } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) { throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); @@ -527,6 +531,12 @@ continue; } + // 杩囨护 + if (null != wrkMastMapper.selectPakout(slave.getId(), null)) { + log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo()); + continue; + } + // 缃《浠诲姟 wrkMast.setIoPri((double) 9999); wrkMastMapper.updateById(wrkMast); @@ -539,6 +549,9 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { +// if (null != wrkMastMapper.selectPakin(slave.getId(), steNo)) { +// continue; +// } this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); } // 灏忚溅鎼蛋 @@ -699,6 +712,12 @@ // 鍫嗗灈鏈烘帶鍒惰繃婊� if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + continue; + } + + // 杩囨护 + if (null != wrkMastMapper.selectPakin(slave.getId(), null)) { + log.error("{}鍑哄簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍏ュ簱涓换鍔�!", wrkMast.getWrkNo()); continue; } @@ -1856,7 +1875,7 @@ continue; } BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); - String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName(); + String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 缂栧彿 wrkMast.getWrkNo(), // 宸ヤ綔鍙� @@ -1903,7 +1922,7 @@ // 璁板綍鏂板紓甯� if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) { BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); - String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName(); + String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 缂栧彿 null, // 宸ヤ綔鍙� @@ -1949,6 +1968,121 @@ } } + /** + * 绌挎杞﹀紓甯镐俊鎭褰� + */ + @Async + public void recSteErr(){ + Date now = new Date(); + for (SteSlave ste : slaveProperties.getSte()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + continue; + } + // 鏈変换鍔� + if (steProtocol.getTaskNo() != 0) { + BasSteErrLog latest = basSteErrLogService.findLatestByTaskNo(ste.getId(), steProtocol.getTaskNo().intValue()); + // 鏈夊紓甯� + if (latest == null) { + if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) { + WrkMast wrkMast = wrkMastMapper.selectById(steProtocol.getTaskNo()); + if (wrkMast == null) { + continue; + } + BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm()); + String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName(); + BasSteErrLog basSteErrLog = new BasSteErrLog( + null, // 缂栧彿 + wrkMast.getWrkNo(), // 宸ヤ綔鍙� + now, // 鍙戠敓鏃堕棿 + null, // 缁撴潫鏃堕棿 + wrkMast.getWrkSts(), // 宸ヤ綔鐘舵�� + wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨� + ste.getId(), // 鍫嗗灈鏈� + null, // plc + wrkMast.getLocNo(), // 鐩爣搴撲綅 + wrkMast.getStaNo(), // 鐩爣绔� + wrkMast.getSourceStaNo(), // 婧愮珯 + wrkMast.getSourceLocNo(), // 婧愬簱浣� + wrkMast.getBarcode(), // 鏉$爜 + (int) steProtocol.getAlarm(), // 寮傚父鐮� + errName, // 寮傚父 + 1, // 寮傚父鎯呭喌 + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + "浠诲姟涓紓甯�" // 澶囨敞 + ); + if (!basSteErrLogService.insert(basSteErrLog)) { + log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName); + } + } + } else { + // 寮傚父淇 + if (steProtocol.getAlarm() == null || !steProtocol.isAlarm()) { + latest.setEndTime(now); + latest.setUpdateTime(now); + latest.setStatus(2); + if (!basSteErrLogService.updateById(latest)) { + log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId()); + } + } + } + // 鏃犱换鍔� + } else { + BasSteErrLog latest = basSteErrLogService.findLatest(ste.getId()); + // 鏈夊紓甯� + if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) { + // 璁板綍鏂板紓甯� + if (latest == null || (latest.getErrCode() != steProtocol.getAlarm().intValue())) { + BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm()); + String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName(); + BasSteErrLog basSteErrLog = new BasSteErrLog( + null, // 缂栧彿 + null, // 宸ヤ綔鍙� + now, // 鍙戠敓鏃堕棿 + null, // 缁撴潫鏃堕棿 + null, // 宸ヤ綔鐘舵�� + null, // 鍏ュ嚭搴撶被鍨� + ste.getId(), // 鍫嗗灈鏈� + null, // plc + null, // 鐩爣搴撲綅 + null, // 鐩爣绔� + null, // 婧愮珯 + null, // 婧愬簱浣� + null, // 鏉$爜 + (int)steProtocol.getAlarm(), // 寮傚父鐮� + errName, // 寮傚父 + 1, // 寮傚父鎯呭喌 + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + "鏃犱换鍔″紓甯�" // 澶囨敞 + ); + if (!basSteErrLogService.insert(basSteErrLog)) { + log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName); + } + } + // 鏃犲紓甯� + } else { + // 寮傚父淇 + if (latest != null && latest.getStatus() == 1) { + latest.setEndTime(now); + latest.setUpdateTime(now); + latest.setStatus(2); + if (!basSteErrLogService.updateById(latest)) { + log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId()); + } + } + } + } + } + } + // ------------------------------------------------------------------------------- -- Gitblit v1.9.1