From 9fb4e68cdb138ae3ac4026f875c84c04747873f3 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 31 五月 2023 13:57:34 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkDetlMapper.xml | 3 + src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 1 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 26 +++++++++++++ src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 ++ src/main/java/com/zy/core/MainProcess.java | 3 + src/main/java/com/zy/core/thread/SiemensDevpThread.java | 22 +++++++++++ src/main/java/com/zy/asrs/service/WrkDetlService.java | 1 7 files changed, 61 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java index 3ff2711..5e6a297 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java @@ -14,6 +14,7 @@ public interface WrkDetlMapper extends BaseMapper<WrkDetl> { List<WrkDetl> findByWorkNo(Integer workNo); + WrkDetl devpPackNo(@Param("workNo")Integer workNo); int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime); diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java index 18f7637..cfaf00d 100644 --- a/src/main/java/com/zy/asrs/service/WrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java @@ -12,6 +12,7 @@ void createWorkDetail(Integer workNo, List<WaitPakin> waitPakins, String barcode); List<WrkDetl> findByWorkNo(Integer workNo); + WrkDetl devpPackNo(Integer workNo); boolean updateIoTime(Integer workNo, Date ioTime); 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 5bc1732..5759c5b 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2243,4 +2243,30 @@ } } + /** + * 103绔欑偣鏈夌墿涓嬪彂pack鐮� + */ + @Transactional + public void packDevp() { + try { + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 + for (DevpSlave devp : slaveProperties.getDevp()) { + BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("bas_devp",103)); + if (Cools.isEmpty(basDevp)){ + log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�"); + } + if (basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()>0 && basDevp.getLoading().equals("Y") && basDevp.getInEnable().equals("Y")){ + WrkDetl wrkDetl = wrkDetlService.devpPackNo(basDevp.getWrkNo()); + if (Cools.isEmpty(wrkDetl)){ + log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�"); + } + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4,wrkDetl.getMatnr())); + } + } + } catch (Exception e) { + log.error("103 ===>> 缁欒緭閫佺嚎鍙戦�丳ack鐮佸け璐�", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index 017911a..32d69a1 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -54,6 +54,11 @@ } @Override + public WrkDetl devpPackNo(Integer workNo) { + return this.baseMapper.devpPackNo(workNo); + } + + @Override public boolean updateIoTime(Integer workNo, Date ioTime) { return this.baseMapper.updateIoTime(workNo, ioTime) > 0; } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index fd0a689..86a66cf 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -71,6 +71,9 @@ // //鐏锛岀粰鍫嗗灈鏈哄彂閫佺伀璀﹁鎶� // mainService.fierCrn(); + //103绔欑偣鏈夌墿涓嬪彂pack鐮� + mainService.packDevp(); + } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 94dfa29..6213f93 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -80,6 +80,10 @@ case 2: write((StaProtocol)task.getData()); break; + // 鍐欐暟鎹� 103绔欑偣鍐欏叆PACK鐮� + case 4: + write103((String)task.getData()); + break; //澶嶄綅娴嬭瘯淇″彿 case 3: StaProtocol staProtocol = (StaProtocol)task.getData(); @@ -238,6 +242,24 @@ } /** + * 鍐欏叆 pack鐮� =====> 鍗曠珯鐐瑰啓鍏� + */ + private void write103(String packNo){ + try{ + OperateResult write = siemensS7Net.Write("DB100.", packNo); + if (!write.IsSuccess) { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(packNo))); + log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(packNo)); + } else { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(packNo))); + log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(packNo)); + } + }catch (Exception e){ + log.error("103绔欑偣鍐欏叆鏁版嵁澶辫触锛岃緭閫佺嚎绾跨▼write103"); + } + } + + /** * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� */ private void write(StaProtocol staProtocol) throws InterruptedException { diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index 76c3214..91c1927 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -50,6 +50,9 @@ <select id="findByWorkNo" resultMap="BaseResultMap"> select wrk_no, mat_no, mat_name, qty from asr_wrk_detl where 1=1 and wrk_no = #{workNo} </select> + <select id="devpPackNo" resultMap="BaseResultMap"> + select top 1 * from asr_wrk_detl_log where 1=1 and wrk_no = #{workNo} order by io_time desc + </select> <update id="updateIoTime"> update asr_wrk_detl -- Gitblit v1.9.1