From b415419ef0e4b3dc1f69d69a6414f56a14a7d6db Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 04 八月 2025 16:19:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java | 84 ++++++++++++ src/main/java/com/zy/asrs/entity/WrkMastSta.java | 2 src/main/java/com/zy/asrs/entity/BasDevp.java | 4 src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java | 298 ++++++++++++++++++++++++++++++++++++++++++ src/main/webapp/static/js/common.js | 2 pom.xml | 2 src/main/java/com/zy/asrs/controller/BasRgvController.java | 4 7 files changed, 392 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 6151db3..74a13d6 100644 --- a/pom.xml +++ b/pom.xml @@ -115,7 +115,7 @@ </dependencies> <build> - <finalName>wms</finalName> + <finalName>jshdasrs</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/zy/asrs/controller/BasRgvController.java b/src/main/java/com/zy/asrs/controller/BasRgvController.java index f00d772..ed2ce9a 100644 --- a/src/main/java/com/zy/asrs/controller/BasRgvController.java +++ b/src/main/java/com/zy/asrs/controller/BasRgvController.java @@ -80,8 +80,8 @@ @RequestMapping(value = "/basRgv/delete/auth") @ManagerAuth(memo = "鍒犻櫎RGV") - public R delete(@RequestParam(value="ids[]") Long[] ids){ - for (Long id : ids){ + public R delete(@RequestParam(value="ids[]") Integer[] ids){ + for (Integer id : ids){ basRgvService.deleteById(id); } return R.ok(); diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java index 78ca14c..adc818c 100644 --- a/src/main/java/com/zy/asrs/entity/BasDevp.java +++ b/src/main/java/com/zy/asrs/entity/BasDevp.java @@ -214,6 +214,10 @@ @TableField("cart_pos") private Integer cartPos; + @ApiModelProperty(value = "1妤兼媶鍨涗笂浼犲彔鐩樺洖搴撴爣璁�") + @TableField("report_sign") + private Integer reportSign; + public String getIoTime$(){ if (Cools.isEmpty(this.ioTime)){ diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java index 0ada41c..ae3679d 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java @@ -100,6 +100,8 @@ /** * 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� */ + + @ApiModelProperty(value = "宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀�") @TableField("wrk_type") private Integer wrkType; diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java new file mode 100644 index 0000000..80dc131 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java @@ -0,0 +1,298 @@ +package com.zy.asrs.task; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; +import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.WrkMastStaInItHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Monkey D. Luffy on 2023.07.25 + * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............灏忚溅鎵ц浣滀笟鐢熸垚 + */ +@Component +public class WrkMastStaInItScheduler { + + private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); + + @Autowired + private WrkMastStaInItHandler wrkMastStaInItHandler; + @Autowired + private BasDevpService basDevpService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private RgvOneSignService rgvOneSignService; + @Autowired + private WrkMastStaService wrkMastStaService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private LocDetlService locDetlService; + + + public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{ + add(1042);add(1105);add(1106);add(1041);add(1038);add(1036); + }}; + + public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{ + add(118);add(119);add(120);add(121); + }}; + + public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{ + add(120);add(121); + }}; + public static final List<Integer> STA_WORK_CU_CAR_THREE = new ArrayList<Integer>() {{ + add(118);add(120); + }}; + public static final List<Integer> STA_WORK_CU_CAR_FOUR = new ArrayList<Integer>() {{ + add(119);add(121); + }}; + + public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{ + add(118);add(119);add(120);add(121);add(122);add(123); + }}; + + +// @Scheduled(cron = "0/3 * * * * ? ") + private void execute(){ + for(Integer staNo : STA_WORK_CU){ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + continue; + } + if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){ + if (!wrkMast.getStaNo().equals(122)){ + continue; + } + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){ + continue; + } + boolean wrkTypeSign = fullKM(wrkMast); + if (!Cools.isEmpty(wrkMast)){ + if (wrkTypeSign) { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触1锛�"); + } + } else { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5锛氭弧鍙� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触2锛�"); + } + } + } + } + } + + for(Integer staNo : STA_WORK_RU){ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if (Cools.isEmpty(wrkMast)){ + continue; + } + + if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){ + continue; + } +// boolean wrkTypeSign = fullKM(wrkMast); + + if (!Cools.isEmpty(wrkMast)){ +// if (wrkTypeSign){ + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13); + if (result.getCode()==200) { + continue; + } else { + System.out.println(staNo+"澶辫触3锛�"); + } + } + } + } + } + +// @Scheduled(cron = "0/3 * * * * ? ") + private void execute2(){ + try{ + for(Integer staNo : STA_WORK_CU){ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + continue; + } + if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){ + continue; + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){ + continue; + } + int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo())); + if (count!=0){ + continue; + } + int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo())); + if (countStart!=0){ + continue; + } + BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo()); + if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){ + continue; + } + if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){ + RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign")); + if (rgvOneSign.getRgvOneSign()==1){ + continue; + } + } + if (wrkMast.getIoType()!=101){ + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (wrkDetls.size()!=0){ + String origin = wrkDetls.get(0).getOrigin(); + if (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){ + continue; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){ + continue; + } + } + }else { + log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏"); + continue; + } + } +// + boolean wrkTypeSign = fullKM(wrkMast); + if (!Cools.isEmpty(wrkMast)){ + if (wrkTypeSign) { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触4锛�"); + } + } + } + } + } + + for(Integer staNo : STA_WORK_CU){ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR; + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + continue; + } + if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){ + continue; + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + Integer wrkMastStaNo = wrkMast.getStaNo(); + if (wrkMastStaNo<118 || wrkMastStaNo>121){ + continue; + } + String origin = null; + boolean sign = false; + if (wrkMast.getIoType()!=101){ + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (wrkDetls.size()!=0){ + origin = wrkDetls.get(0).getOrigin(); + if (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){ + sign = true; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){ + sign = true; + } + } + }else { + log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏"); + continue; + } + } + int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo)); + if (count!=0){ + continue; + } + int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo())); + if (countStart!=0){ + continue; + } + RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign")); + if (rgvOneSign.getRgvOneSign()==1){ + STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO; + } + + BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo); + if (sign || !basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) { + for (Integer staNoOther : STA_WORK_CU_CAR_NOW) { + if (staNoOther.equals(wrkMastStaNo)) continue; + + if (sign){ + if (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){ + continue; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){ + continue; + } + } + } + + int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther)); + if (countOther!=0){ + continue; + } + BasDevp basDevpOther = basDevpService.selectById(staNoOther); + if (!basDevpOther.getLoading().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) { + continue; + } + wrkMast.setStaNo(staNoOther); + wrkMastService.updateById(wrkMast); + log.info("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"淇敼鐩爣绔欎负:"+staNoOther+";鍘熺洰鏍囩珯涓�:"+wrkMastStaNo); + return; + } + } + } + } + }catch (Exception e){ + log.error("鐩爣涓烘媶鍨涗綅缃殑浠诲姟鐢熸垚灏忚溅宸ヤ綔妗f澶辫触锛侊紒"+e); + } + } + + public boolean fullKM(WrkMast wrkMast){ + if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ + return true; + } + return false; + } + +} diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java new file mode 100644 index 0000000..49f3217 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java @@ -0,0 +1,84 @@ +package com.zy.asrs.task.handler; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.WrkMastSta; +import com.zy.asrs.service.WrkMastStaService; +import com.zy.asrs.task.AbstractHandler; +import com.zy.asrs.task.core.ReturnT; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; + +/** + * Created by Monkey D. Luffy on 2023.11.21 + * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............宸ヤ綔妗g敓鎴怰GV灏忚溅浠诲姟 + */ +@Slf4j +@Service +@Transactional +public class WrkMastStaInItHandler extends AbstractHandler<String> { + @Autowired + private WrkMastStaService wrkMastStaService; + + public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) { + try { + WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue())); + if (!Cools.isEmpty(wrkMastSta)){ + return SUCCESS; + } + switch (type){ + case 13://鍑� 3锛氬彇鏀� + if (Cools.isEmpty(wrkMastSta)){ + WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); + wrkMastSta1.setType(1); //绫诲瀷 1:闈炵┖ 2:绌烘澘 + wrkMastSta1.setWrkType(3); //宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� + wrkMastStaService.insert(wrkMastSta1); + } + break; +// case 21://1:鍙栵紙鍙犵洏锛� +// if (Cools.isEmpty(wrkMastSta)){ +// WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); +// wrkMastSta1.setType(fullKM(wrkMast)? 1:2); +// wrkMastSta1.setWrkType(1);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� +// wrkMastStaService.insert(wrkMastSta1); +// }; +// break; +// case 22://2锛氭斁(鎷嗙洏) +// if (Cools.isEmpty(wrkMastSta)){ +// WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); +// wrkMastSta1.setType(fullKM(wrkMast)? 1:2); +// wrkMastSta1.setWrkType(5);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� +// wrkMastStaService.insert(wrkMastSta1); +// }; +// break; +// case 23://3锛氭弧鍙� +// if (Cools.isEmpty(wrkMastSta)){ +// WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); +// wrkMastSta1.setType(fullKM(wrkMast)? 1:2); +// wrkMastSta1.setWrkType(5); +// wrkMastStaService.insert(wrkMastSta1); +// } + default: + return SUCCESS; + } + + }catch (Exception e){ + log.error("寮傚父锛侊紒锛�"+e); + return FAIL; + } + return SUCCESS; + } + + public boolean fullKM(WrkMast wrkMast){ + if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ + return true; + } + return false; + } +} diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 825eea5..8b19b96 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/wms"; +var baseUrl = "/jshdasrs"; // 璇︽儏绐楀彛-楂樺害 var detailHeight = '80%'; -- Gitblit v1.9.1