From bc48a855d98e360042a7e2fff5594a91a82578c6 Mon Sep 17 00:00:00 2001 From: taisheng <taisheng@qq.com> Date: 星期四, 24 七月 2025 16:16:33 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 122 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 118 insertions(+), 4 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 f6068c0..618adbf 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.GenerateAgvTaskParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; +import com.zy.asrs.utils.Utils; +import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -60,6 +63,8 @@ private ApiLogService apiLogService; @Autowired private OpenService openService; + @Autowired + private CommonService commonService; @Value("${wcs.urlWcs}") private String wcsUrl; @Value("${wcs.inboundTaskApplyPathWcs}") @@ -88,7 +93,7 @@ //婕旂ず妯″紡-AGV鍑哄簱 private synchronized void demoAgvOut() { - LocMast locMast = locMastService.selectByLocNo("1100601"); + LocMast locMast = locMastService.selectByLocNo("0900601"); if(locMast == null) { return; } @@ -100,7 +105,7 @@ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("mk", "agv") .eq("loc_sts", "F") - .notIn("loc_no", "0900601") + .notIn("loc_no", "1100601") ); if (locMasts.isEmpty()) { @@ -118,7 +123,7 @@ //婕旂ず妯″紡-AGV鍏ュ簱 private synchronized void demoAgvIn() { - LocMast locMast = locMastService.selectByLocNo("0900601"); + LocMast locMast = locMastService.selectByLocNo("1100601"); if(locMast == null) { return; } @@ -130,7 +135,7 @@ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("mk", "agv") .eq("loc_sts", "O") - .notIn("loc_no", "1100601") + .notIn("loc_no", "0900601") ); if (locMasts.isEmpty()) { @@ -148,12 +153,121 @@ //婕旂ず妯″紡-鍥涘悜搴撳嚭搴� private synchronized void demoShuttleOut() { + LocMast locMast = locMastService.selectByLocNo("1100601"); + if(locMast == null) { + return; + } + if (!locMast.getLocSts().equals("O")) { + return; + } + + ArrayList<Integer> disableLevList = new ArrayList<>(); + disableLevList.add(1); + + //query in task + List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>() + .eq("io_type", 1)); + for (TaskWrk taskWrk : taskWrks) { + int lev = Utils.getLev(taskWrk.getTargetPoint()); + if(!disableLevList.contains(lev)) { + disableLevList.add(lev); + } + } + + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .notIn("lev1", disableLevList) + .eq("loc_sts", "F") + ); + + if(locMasts.isEmpty()) { + return; + } + + LocMast locMast1 = locMasts.get(0); + + Date now = new Date(); + TaskWrk taskWrk = new TaskWrk(); + int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙� + taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙� + taskWrk.setWrkNo(workNo1); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 + taskWrk.setWrkSts(11); + taskWrk.setCreateTime(now); + taskWrk.setIoType(2);//鍑哄簱 + taskWrk.setIoPri(100);//浼樺厛绾� + taskWrk.setStartPoint(locMast1.getLocNo()); + taskWrk.setTargetPoint("101");//缁堢偣 + taskWrk.setBarcode(locMast1.getBarcode()); + boolean result = taskWrkService.insert(taskWrk); + + locMast1.setLocSts("R"); + locMast1.setModiTime(now); + locMastService.updateById(locMast1); + + locMast.setLocSts("S"); + locMast.setModiTime(now); + locMastService.updateById(locMast); } //婕旂ず妯″紡-鍥涘悜搴撳叆搴� private synchronized void demoShuttleIn() { + LocMast locMast = locMastService.selectByLocNo("0900601"); + if(locMast == null) { + return; + } + if (!locMast.getLocSts().equals("F")) { + return; + } + + ArrayList<Integer> disableLevList = new ArrayList<>(); + disableLevList.add(1); + + //query out task + List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>() + .eq("io_type", 2)); + for (TaskWrk taskWrk : taskWrks) { + int lev = Utils.getLev(taskWrk.getTargetPoint()); + if(!disableLevList.contains(lev)) { + disableLevList.add(lev); + } + } + + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .notIn("lev1", disableLevList) + .eq("loc_sts", "O") + ); + + if(locMasts.isEmpty()) { + return; + } + + LocMast locMast1 = locMasts.get(0); + + Date now = new Date(); + TaskWrk taskWrk = new TaskWrk(); + int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙� + taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙� + taskWrk.setWrkNo(workNo1); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 + taskWrk.setWrkSts(1); + taskWrk.setCreateTime(now); + taskWrk.setIoType(1);//鍏ュ簱 + taskWrk.setIoPri(100);//浼樺厛绾� + taskWrk.setOriginStartPoint("1"); + taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo()))); + taskWrk.setTargetPoint(locMast1.getLocNo());//缁堢偣 + taskWrk.setBarcode(locMast.getBarcode()); + boolean result = taskWrkService.insert(taskWrk); + + locMast1.setLocSts("S"); + locMast1.setModiTime(now); + locMastService.updateById(locMast1); + + locMast.setLocSts("R"); + locMast.setModiTime(now); + locMastService.updateById(locMast); } /** -- Gitblit v1.9.1