From 6f1daffee3b65b5943dad26e1af3cbcafa46fd90 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期日, 18 二月 2024 16:57:26 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkMastLogMapper.xml | 1 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++---- src/main/java/com/zy/asrs/entity/WrkMast.java | 7 ++ src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 10 +- src/main/resources/mapper/WrkMastMapper.xml | 1 src/main/java/com/zy/asrs/entity/WrkMastLog.java | 7 ++ 6 files changed, 133 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java index e00a33a..5a2e412 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMast.java +++ b/src/main/java/com/zy/asrs/entity/WrkMast.java @@ -325,6 +325,13 @@ @TableField("take_none") private String takeNone; + /** + * 浼寸敓宸ヤ綔鍙� + */ + @ApiModelProperty(value= "浼寸敓宸ヤ綔鍙�") + @TableField("work_no_other") + private Integer workNoOther; + public WrkMast() {} public String getYmd$(){ diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java index 134ccc4..72d8b36 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java @@ -324,6 +324,13 @@ @TableField("take_none") private String takeNone; + /** + * 浼寸敓宸ヤ綔鍙� + */ + @ApiModelProperty(value= "浼寸敓宸ヤ綔鍙�") + @TableField("work_no_other") + private Integer workNoOther; + public WrkMastLog() {} public String getWrkNo$(){ diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 4972b51..075d879 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -536,8 +536,17 @@ if (Cools.isEmpty(param.getOutSite())) { throw new CoolException("绔欑偣涓嶅瓨鍦�"); } - List<String> locNoOtherList = new ArrayList<>(); + List<String> locNoOtherListOne = new ArrayList<>(); for (String locNo : param.getLocNos()) { + + //灏忔枡绠变即鐢熷嚭搴� + if (Utils.getRow(locNo)<=8){ + String locNoOther = staNoOther(locNo); + if (!param.getLocNos().contains(locNoOther)){ + locNoOtherListOne.add(locNoOther); + } + } + // 鑾峰彇宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); // 鑾峰彇搴撲綅 @@ -593,21 +602,112 @@ } } } + + for (String locNo:locNoOtherListOne){ + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); + + //浼寸敓鍏ュ簱宸ヤ綔鍙� + int workNoRu = commonService.getWorkNo(0); + + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + if (!locMast.getLocSts().equals("D")){ + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } + // 鑾峰彇婧愮珯 + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 110) + .eq("stn_no", param.getOutSite()) + .eq("crn_no", locMast.getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + Integer sourceStaNo = staDesc.getCrnStn(); + if (Cools.isEmpty(sourceStaNo)) { + throw new CoolException("妫�绱㈡簮绔欏け璐�"); + } + Date now = new Date(); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 + wrkMast.setIoPri(10D); + wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 + wrkMast.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + wrkMast.setWorkNoOther(workNoRu); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMast.getLocSts().equals("D")){ + locMast.setLocSts("R"); + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMastRu = new WrkMast(); + wrkMastRu.setWrkNo(workNoRu); + wrkMastRu.setIoTime(new Date()); + wrkMastRu.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMastRu.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 + wrkMastRu.setIoPri(13D); // 浼樺厛绾� + wrkMastRu.setCrnNo(wrkMast.getCrnNo()); + wrkMastRu.setSourceStaNo(wrkMast.getSourceStaNo()); + wrkMastRu.setStaNo(wrkMast.getStaNo()); +// wrkMast.setLocNo(dto.getLocNo()); + wrkMastRu.setFullPlt("N"); // 婊℃澘 + wrkMastRu.setPicking("N"); // 鎷f枡 + wrkMastRu.setExitMk("N"); // 閫�鍑� + wrkMastRu.setEmptyMk("Y"); // 绌烘澘 + wrkMastRu.setLinkMis("Y"); + wrkMastRu.setCtnType(wrkMast.getCtnType()); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMastRu.setAppeTime(new Date()); + wrkMastRu.setModiTime(new Date()); + boolean resOther = wrkMastService.insert(wrkMastRu); + if (!resOther) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + } } - public String[] staNoOther(String locNo){ - String[] strings = new String[2]; + public Integer crnStaRu(Integer crnNo){ + switch (crnNo){ + case 1: + return 153; + case 2: + return 145; + default: + return null; + } + } + + public String staNoOther(String locNo){ int row = Utils.getRow(locNo); - if (row==1 || row==5 ){ - strings[0] = locNo; - strings[1] = getDeepLoc2(locNo,row); - return strings; - } else if (row == 4 || row == 8){ - strings[0] = getDeepLoc2(locNo,row); - strings[1] = locNo; - return strings; + if (row%4==0 || row%4==1){ + return getDeepLoc2(locNo,row); }else { - return null; + return getDeepLoc(locNo,row); } } diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java index ef62596..86e5441 100644 --- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java @@ -39,11 +39,11 @@ return; } for (WrkMast wrkMast : wrkMasts) { - if (wrkMast.getIoType().equals(101)){ - if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){ - continue; - } - } +// if (wrkMast.getIoType().equals(101)){ +// if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){ +// continue; +// } +// } ReturnT<String> returnT = workMastHandler.start(wrkMast); if (!returnT.isSuccess()) { wrkMast.setUpdMk("X"); diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml index cbe6570..6c8d3cd 100644 --- a/src/main/resources/mapper/WrkMastLogMapper.xml +++ b/src/main/resources/mapper/WrkMastLogMapper.xml @@ -61,6 +61,7 @@ <result column="full_plt" property="fullPlt" /> <result column="pre_have" property="preHave" /> <result column="take_none" property="takeNone" /> + <result column="work_no_other" property="workNoOther" /> </resultMap> </mapper> diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 7834e3a..77c3d7c 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -60,6 +60,7 @@ <result column="full_plt" property="fullPlt" /> <result column="pre_have" property="preHave" /> <result column="take_none" property="takeNone" /> + <result column="work_no_other" property="workNoOther" /> </resultMap> <select id="selectToBeCompleteData" resultMap="BaseResultMap"> -- Gitblit v1.9.1