From c979722dffe66a92ebdf5c5e27afb401f49f2758 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 13 六月 2025 13:00:36 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java | 3 + src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++++- src/main/java/com/zy/asrs/service/TaskWrkService.java | 3 + src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 5 ++ src/main/java/com/zy/core/MainProcess.java | 5 ++ src/main/resources/mapper/TaskWrkMapper.xml | 10 ++++ src/main/java/com/zy/core/thread/SiemensDevpThread.java | 2 7 files changed, 110 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java index 4b924b7..fad3a6e 100644 --- a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java +++ b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java @@ -14,6 +14,9 @@ public interface TaskWrkMapper extends BaseMapper<TaskWrk> { TaskWrk selectByTaskNo(String taskNo); + + TaskWrk selectByTargetPoint(@Param("targetPoint") String startPoint); + TaskWrk selectByStartPoint(@Param("startPoint") String startPoint); TaskWrk selectByWrkNo(Integer wrkNo); diff --git a/src/main/java/com/zy/asrs/service/TaskWrkService.java b/src/main/java/com/zy/asrs/service/TaskWrkService.java index abf25b8..d76d12d 100644 --- a/src/main/java/com/zy/asrs/service/TaskWrkService.java +++ b/src/main/java/com/zy/asrs/service/TaskWrkService.java @@ -8,6 +8,9 @@ public interface TaskWrkService extends IService<TaskWrk> { TaskWrk selectByTaskNo(String taskNo); + + TaskWrk selectByTargetPoint(String taskNo); + TaskWrk selectByStartPoint(String taskNo); TaskWrk selectByWrkNo(Integer wrkNo); 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 7ee9bc6..8e98ef9 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -867,9 +867,9 @@ // JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r)); // if (offer) { // log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk)); - taskWrk.setStatus(5); - taskWrk.setWrkSts(14); - taskWrkService.updateById(taskWrk); + taskWrk.setStatus(5); + taskWrk.setWrkSts(14); + taskWrkService.updateById(taskWrk); // } else { // log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); @@ -1813,4 +1813,85 @@ // log.info(""+mark+" - 0"+" - 鎵ц瀹屾垚锛氬叾浠� ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅"); } + + /** + * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� + */ + public synchronized void ioConvert() { + try { + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 + for (DevpSlave devp : slaveProperties.getDevp()) { + if (devp.getId() == 2) { + continue; + } + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + for (DevpSlave.Sta inSta : devp.getInSta()) { + TaskWrk taskWrk = taskWrkService.selectByTargetPoint(inSta.getBackSta() + ""); + switch (inSta.getBackSta()) { + case 101: + if (taskWrk != null) { + if (devpThread.ioModeOf1F1 != IoModeType.PAKOUT_MODE) { + // 鍑哄簱鍒囨崲涓� + devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING; + TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + ""); + if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() + && !devpThread.getStation().get(inSta.getBackSta()).isLoading() + && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) { + // 鍑哄簱妯″紡 + devpThread.ioModeOf1F1 = IoModeType.PAKOUT_MODE; + } + } + } else { + // 鍏ュ簱妯″紡 + devpThread.ioModeOf1F1 = IoModeType.PAKIN_MODE; + } + break; + default: + break; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 璺戝簱绋嬪簭 + */ +// public void debug(String sts, Long modiUser, Integer loc_type1) { +// if (!enable) { +// return; +// } +// List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>()); +// if (basCrnps.isEmpty()) { +// return; +// } +// for (BasCrnp basCrnp : basCrnps) { +// if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) { +// continue; +// } +// List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11)); +// if (Cools.isEmpty(wrkMasts) || wrkMasts.isEmpty()) { +// int i = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser)); +// LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser)); +// if (locMastStart == null || i > 1) { +// continue; +// } +// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() +// .eq("loc_sts", "O") +// .eq("crn_no", basCrnp.getCrnNo()) +// .eq("loc_type1", locMastStart.getLocType1()) +// .ne("modi_user", 77)); +// if (Cools.isEmpty(locMasts)) { +// continue; +// } +// Random random = new Random(); +// LocMast locMastEnd = locMasts.get(random.nextInt(locMasts.size())); +// locMove(locMastStart, locMastEnd, Long.parseLong(basCrnp.getCrnNo().toString())); +// } +// } +// } + } diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java index 5b20240..ed84734 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java @@ -38,6 +38,11 @@ } @Override + public TaskWrk selectByTargetPoint(String taskNo) { + return this.baseMapper.selectByTargetPoint(taskNo); + } + + @Override public TaskWrk selectByStartPoint(String taskNo) { return this.baseMapper.selectByStartPoint(taskNo); } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 95a133f..a8373b1 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -68,6 +68,11 @@ // mainService.outOfDevp(); // 鍏朵粬 ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� + i++; + if (i > 1) { + mainService.ioConvert(); + i = 0; + } //鐜舰寰幆鍑芥暟 // mainService.shiftTargetToCyclePoint(); // mainService.shiftCyclePointToTarget(); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 9139aaa..23fd1e1 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -42,7 +42,7 @@ * 3.鍑哄簱鍚姩涓� 锛堜笉鑳界敓鎴愬叆搴撳伐浣滄。锛� * 4.鍑哄簱妯″紡 */ - public IoModeType ioModeOf1F = IoModeType.NONE; + public IoModeType ioModeOf1F1 = IoModeType.NONE; public SiemensDevpThread(DevpSlave slave) { this.slave = slave; diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml index 81b71b7..5027694 100644 --- a/src/main/resources/mapper/TaskWrkMapper.xml +++ b/src/main/resources/mapper/TaskWrkMapper.xml @@ -34,10 +34,18 @@ and task_no = #{taskNo} </select> + <select id="selectByTargetPoint" resultMap="BaseResultMap"> + select top 1 * from wcs_task_wrk + where 1=1 + and io_type=2 + and target_point = #{targetPoint} + </select> + + <select id="selectByStartPoint" resultMap="BaseResultMap"> select top 1 * from wcs_task_wrk where 1=1 - and io_type=3 + and io_type=1 and start_point = #{startPoint} </select> -- Gitblit v1.9.1