src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensCrnThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -32,6 +32,7 @@ // 入库第三步,当堆垛机把货放入库位时 // @Select("select top 1 from dbo.asr_wrk_mast where wrk_no=#{workNo}") WrkMast selectCrnWaiting(@Param("workNo")Integer workNo); WrkMast selectCrnWaiting2(@Param("workNo")Integer workNo); WrkMast selectPakInStep45(@Param("workNo")Integer workNo); src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -115,11 +115,6 @@ staProtocol = staProtocol.clone(); } Short workNo = staProtocol.getWorkNo(); // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { // 尺寸检测异常 boolean back = false; String errMsg = "异常:"; @@ -153,12 +148,6 @@ } // 退回 if (back) { News.warn("扫码入库失败,{}入库站因{}异常,托盘已被退回", inSta.getStaNo(), errMsg); staProtocol.setWorkNo((short) 32002); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); // led 异常显示 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); if (ledThread != null) { @@ -166,6 +155,11 @@ } continue; } // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { // 获取条码扫描仪信息 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); @@ -1615,6 +1609,17 @@ WrkCharge wrkCharge = wrkChargeService.selectById(crnProtocol.getTaskNo()); if (wrkCharge == null) { News.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo()); wrkMast = wrkMastMapper.selectCrnWaiting2(crnProtocol.getTaskNo().intValue()); if (wrkMast.getIoType() != 11) { // 修改成功后复位堆垛机 if (wrkMastMapper.updateById(wrkMast) > 0) { // 堆垛机复位 crnThread.setResetFlag(true); News.error("堆垛机处于等待确认且任务完成状态,复位,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo()); } else { News.error("堆垛机处于等待确认且任务完成状态,复位失败,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo()); } } continue; } else { // 小车搬至指定库位完成 src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -289,7 +289,11 @@ short commandFinish = 1; Thread.sleep(300); result = siemensNet.Write("DB100.18", commandFinish); log.info("写入堆垛机命令后返回成功,并且回读成功。堆垛机plc编号={},{},写入次数={}", slave.getId(), JSON.toJSON(command), writeCount); }else { log.info("未写入堆垛机命令"+command.getAckFinish()); } log.info("堆垛机命令测试-----"+command.getAckFinish()); try { // 日志记录 src/main/resources/mapper/WrkMastMapper.xml
@@ -101,6 +101,10 @@ select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts in (4,5,7,13, 16) </select> <select id="selectCrnWaiting2" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts = 18 </select> <select id="selectCarWaiting" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts in (2,8,11,14) </select>