From 387fca449212b4cc7dc09922183a8970011963f0 Mon Sep 17 00:00:00 2001 From: ytfl <ytfl@qq.com> Date: 星期六, 30 八月 2025 19:07:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 331 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 195 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index aa8979c..5debc83 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -123,34 +123,71 @@ */ @Transactional public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo, FindLocNoAttributeVo findLocNoAttributeVo, LocTypeDto locTypeDto) { - try { - Integer whsType = Utils.GetWhsType(sourceStaNo); - RowLastno rowLastno = rowLastnoService.selectById(whsType); - RowLastnoType rowLastnoType = rowLastnoTypeService.selectById(rowLastno.getTypeId()); - /** - * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 - */ - switch (rowLastnoType.getType()) { - case 1: - return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); - case 2: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - case 3: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - case 4: - return getLocNoRun4(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 4, locTypeDto, 0); - case 5: - return getLocNoRun5(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); - default: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - } + // try { + Integer whsType = Utils.GetWhsType(sourceStaNo); + RowLastno rowLastno = rowLastnoService.selectById(whsType); + RowLastnoType rowLastnoType = rowLastnoTypeService.selectById(rowLastno.getTypeId()); + /** + * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 + */ + switch (rowLastnoType.getType()) { + case 1: + Config crnSearchDetectTaskCountConfig = configService.selectConfigByCode("crnSearchDetectTaskCount"); + int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue()); - } catch (Exception e) { - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + Config applyInTaskTotalCountConfig = configService.selectConfigByCode("applyInTaskTotalCount"); + int applyInTaskTotalCount = Integer.parseInt(applyInTaskTotalCountConfig.getValue()); + int crnNo = 7; + boolean flag = true; + List<String> data = new ArrayList<>(); + while (crnNo > 1) { + crnNo--; + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", crnNo).eq("whs_type", rowLastnoType.getType().longValue()).eq("loc_type1", locTypeDto.getLocType1()).eq("loc_type2", locTypeDto.getLocType2())); + if (locMasts.size() <= 15) { + log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}", JSON.toJSONString(locTypeDto)); + data.add(crnNo + "鍙锋病鏈夌┖搴撲綅;"); + } else { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57)); + if (wrkMasts.size() > crnSearchDetectTaskCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); + data.add(crnNo + "鍙峰叆搴撴帶鍒朵笂闄�;"); + continue; + } + List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57, 101, 103, 107, 110)); + if (wrkMastsList.size() > applyInTaskTotalCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + data.add(crnNo + "鍙风敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�;"); + continue; + } + flag = false; + break; + } + + } + if (!flag) { + return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); + } else { + log.info("鏁版嵁锛歿}", data); + throw new CoolException(data.toString()); + } + case 2: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; + case 3: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; + case 4: + return getLocNoRun4(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 4, locTypeDto, 0); + case 5: + return getLocNoRun5(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); + default: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; } + +// } catch (Exception e) { +// log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒欙紝{}", sourceStaNo, e.getMessage()); +// } return null; } @@ -203,6 +240,12 @@ } + Config crnSearchDetectTaskCountConfig = configService.selectConfigByCode("crnSearchDetectTaskCount"); + int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue()); + + Config applyInTaskTotalCountConfig = configService.selectConfigByCode("applyInTaskTotalCount"); + int applyInTaskTotalCount = Integer.parseInt(applyInTaskTotalCountConfig.getValue()); + Config crnSearchListConfig = configService.selectConfigByCode("123CrnSearchList"); int crnSearchList = Integer.parseInt(crnSearchListConfig.getValue()); @@ -212,12 +255,23 @@ curRow = locNecessaryParameters[1]; crnNo = locNecessaryParameters[2]; if (basCrnpService.checkSiteError(crnNo, true)) { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57)); + if (wrkMasts.size() > crnSearchDetectTaskCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); + continue; + } + + List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57, 101, 103, 107, 110)); + if (wrkMastsList.size() > applyInTaskTotalCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + continue; + } + rowCount = locNecessaryParameters[0]; nearRow = locNecessaryParameters[3]; - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); - int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100)); - if (locMasts.size() - crnCountO <= 2) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("io_type", 1)); + if (locMasts.size() - crnCountO <= 15) { log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); nearRow = 0; times++; @@ -232,24 +286,38 @@ //浼樺寲绯荤粺锛屾彁楂樻悳绱�1鍙峰爢鍨涙満娆℃暟 if (crnNo == 2 || crnNo == 3) { if (crnSearchList >= 2) { - //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅 - crnNo = 1; - if (basCrnpService.checkSiteError(crnNo, true)) { - List<Integer> nearRowList = new ArrayList<Integer>(){{add(4);add(6);add(3);add(1);}}; - for (Integer near : nearRowList) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", near) - .eq("loc_sts", "O") - .eq("whs_type", rowLastnoType.getType().longValue()) - .eq("loc_type1", locTypeDto.getLocType1()) - .eq("loc_type2", locTypeDto.getLocType2()) - ); - int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100)); - if (locMasts.size() - crnCountO <= 2) { - log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); - }else { - nearRow = near; - break; + if (basCrnpService.checkSiteError(1, true)) { + boolean flag = true; + //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅 + crnNo = 1; + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57)); + if (wrkMasts.size() > crnSearchDetectTaskCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); + flag = false; + } + + List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57, 101, 103, 107, 110)); + if (wrkMastsList.size() > applyInTaskTotalCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + flag = false; + } + + if (flag) { + List<Integer> nearRowList = new ArrayList<Integer>() {{ + add(4); + add(6); + add(3); + add(1); + }}; + for (Integer near : nearRowList) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", near).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).eq("loc_type1", locTypeDto.getLocType1()).eq("loc_type2", locTypeDto.getLocType2())); + int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("io_type", 1)); + if (locMasts.size() - crnCountO <= 15) { + log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); + } else { + nearRow = near; + break; + } } } } @@ -261,21 +329,35 @@ //灏濊瘯鎵�1鍙峰集杞ㄥ爢鍨涙満搴撲綅 crnNo = 1; if (basCrnpService.checkSiteError(crnNo, true)) { - List<Integer> nearRowList = new ArrayList<Integer>(){{add(4);add(6);add(3);add(1);}}; - for (Integer near : nearRowList) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", near) - .eq("loc_sts", "O") - .eq("whs_type", rowLastnoType.getType().longValue()) - .eq("loc_type1", locTypeDto.getLocType1()) - .eq("loc_type2", locTypeDto.getLocType2()) - ); - int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100)); - if (locMasts.size() - crnCountO <= 2) { - log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); - }else { - nearRow = near; - break; + boolean flag = true; + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57)); + if (wrkMasts.size() > crnSearchDetectTaskCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); + flag = false; + } + + List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("io_type", 1, 10, 53, 57, 101, 103, 107, 110)); + if (wrkMastsList.size() > applyInTaskTotalCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + flag = false; + } + + if (flag) { + List<Integer> nearRowList = new ArrayList<Integer>() {{ + add(4); + add(6); + add(3); + add(1); + }}; + for (Integer near : nearRowList) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", near).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).eq("loc_type1", locTypeDto.getLocType1()).eq("loc_type2", locTypeDto.getLocType2())); + int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("io_type", 1)); + if (locMasts.size() - crnCountO <= 15) { + log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); + } else { + nearRow = near; + break; + } } } } @@ -283,9 +365,10 @@ if (nearRow == 0) { throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); } - }else { - throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); } +// else { +// throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); +// } } boolean signRule1 = false; @@ -309,8 +392,7 @@ if (signRule1) { if (nearRow != curRow) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; @@ -323,13 +405,7 @@ } //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娴呴潪绌哄簱浣� - List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("whs_type", rowLastnoType.getType().longValue()) - .eq("crn_no", locMast1.getCrnNo()) - .eq("bay1", locMast1.getBay1()) - .notIn("loc_sts", "O") - .orderBy("row1", false) - ); + List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>().eq("whs_type", rowLastnoType.getType().longValue()).eq("crn_no", locMast1.getCrnNo()).eq("bay1", locMast1.getBay1()).notIn("loc_sts", "O").orderBy("row1", false)); if (locMastList.isEmpty()) { locMast = locMast1; break; @@ -343,11 +419,8 @@ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMastF.getLocNo())); if (!Cools.isEmpty(locDetl) && findLocNoAttributeVo.beSimilar(locDetl)) { String shallowLoc = Utils.getShallowLoc(slaveProperties, locMastF.getLocNo()); - LocMast shallowLocMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc) - .eq("loc_sts", "O") - ); - if(shallowLocMast != null) { + LocMast shallowLocMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O")); + if (shallowLocMast != null) { locMast = shallowLocMast; break; } @@ -406,8 +479,7 @@ // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(rowLastno)) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow).eq("whs_type", rowLastnoType.getType().longValue())); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow).eq("whs_type", rowLastnoType.getType().longValue())); if (!locMasts.isEmpty()) { for (LocMast loc : locMasts) { if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { @@ -433,49 +505,27 @@ StaDesc staDesc = null; BasDevp staNo = null; + if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { - // 鑾峰彇鐩爣绔� - wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", staDescId) - .eq("stn_no", sourceStaNo) - .eq("crn_no", crnNo); - staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); -// throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); - crnNo = 0; - } else { - staNo = basDevpService.selectById(staDesc.getCrnStn()); - if (!staNo.getAutoing().equals("Y")) { - log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�"); -// throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); - crnNo = 0; - } - startupDto.setStaNo(staNo.getDevNo()); - } + // 鏇存柊搴撲綅鎺掑彿 if (Cools.isEmpty(locMast)) { rowLastno.setCurrentRow(curRow); rowLastnoService.updateById(rowLastno); } } - // 寮�濮嬫煡鎵惧簱浣� ==============================>> // 1.鎸夎鍒欐煡鎵惧簱浣� if (Cools.isEmpty(locMast) && crnNo != 0) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow) - .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) - .orderBy("lev1", true).orderBy("bay1", true)); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh", 1).orderBy("lev1", true).orderBy("bay1", true)); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; } if (Utils.BooleanWhsTypeStaIoType(rowLastno)) { String shallowLoc = Utils.getShallowLoc(slaveProperties, locMast1.getLocNo()); - LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMast2)) { locMast = locMast2; break; @@ -495,20 +545,17 @@ } if (Utils.BooleanWhsTypeStaIoType(rowLastno)) { String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); - LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMast2)) { locMast = locMast2; break; } else { - locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc).eq("loc_sts", "F").eq("whs_type", rowLastnoType.getType().longValue())); + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "F").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMast2)) { locMast = locMast1; break; } else { - locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc).eq("loc_sts", "D").eq("whs_type", rowLastnoType.getType().longValue())); + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "D").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMast2)) { locMast = locMast1; break; @@ -542,7 +589,7 @@ // locTypeDto.setLocType1((short)i); // return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); // } - log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); + log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿},{}", JSON.toJSONString(locTypeDto), times, moveCrnNo); throw new CoolException("娌℃湁绌哄簱浣�"); } @@ -554,14 +601,38 @@ if (crnNo == 1) { configService.updateValue("123CrnSearchList", String.valueOf(0)); } + //閽堝1鍙峰爢鍨涙満鎵撶殑琛ヤ竵锛岄槻姝㈡壘鍒板簱浣嶆椂锛屾壘鍒版渶娴呭簱浣� + String deepLoc2 = Utils.getDeepLoc2(slaveProperties, locMast.getLocNo()); + if (!Cools.isEmpty(deepLoc2)) { + LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", locMast.getCrnNo()).eq("loc_no", deepLoc2).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + if (!Cools.isEmpty(locMastNew)) { + locMast = locMastNew; + } + } + + // 鑾峰彇鐩爣绔� + wrapper = new EntityWrapper<StaDesc>().eq("type_no", staDescId).eq("stn_no", sourceStaNo).eq("crn_no", locMast.getCrnNo()); + staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); +// throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + crnNo = 0; + } else { + staNo = basDevpService.selectById(staDesc.getCrnStn()); + if (!staNo.getAutoing().equals("Y")) { + log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�"); +// throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); + crnNo = 0; + } + startupDto.setStaNo(staNo.getDevNo()); + } String locNo = locMast.getLocNo(); - // 鐢熸垚宸ヤ綔鍙� int workNo = getWorkNo(0); // 杩斿洖dto startupDto.setWorkNo(workNo); - startupDto.setCrnNo(crnNo); + startupDto.setCrnNo(locMast.getCrnNo()); startupDto.setSourceStaNo(sourceStaNo); startupDto.setLocNo(locNo); return startupDto; @@ -608,8 +679,7 @@ curRow = locNecessaryParameters[1]; crnNo = locNecessaryParameters[2]; nearRow = locNecessaryParameters[3]; - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("crn_no", crnNo).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", crnNo).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); if (locMasts.size() <= 5) { nearRow = 0; times++; @@ -769,8 +839,7 @@ if (signRule1) { if (nearRow != curRow) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); for (LocMast locMast1 : locMasts) { //鑾峰彇宸烽亾 // List<String> groupOutsideLocCrn = Utils.getGroupOutLocCrn(curRow,nearRow,locMast1.getLocNo(), curRow>nearRow); @@ -911,10 +980,7 @@ if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { // 鑾峰彇鐩爣绔� - wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", staDescId) - .eq("stn_no", sourceStaNo) - .eq("crn_no", crnNo); + wrapper = new EntityWrapper<StaDesc>().eq("type_no", staDescId).eq("stn_no", sourceStaNo).eq("crn_no", crnNo); staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("鍏ュ簱璺緞涓嶅瓨鍦�:type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); @@ -939,10 +1005,9 @@ // 1.鎸夎鍒欐煡鎵惧簱浣� if (Cools.isEmpty(locMast) && crnNo != 0) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow) - .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) - .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣� + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣� + //System.out.println(nearRow); + //System.out.println(curRow); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; @@ -1054,10 +1119,7 @@ if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { // 鑾峰彇鐩爣绔� - wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", staDescId) - .eq("stn_no", sourceStaNo) - .eq("crn_no", crnNo); + wrapper = new EntityWrapper<StaDesc>().eq("type_no", staDescId).eq("stn_no", sourceStaNo).eq("crn_no", crnNo); staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); @@ -1084,10 +1146,7 @@ // 1.鎸夎鍒欐煡鎵惧簱浣� if (Cools.isEmpty(locMast) && crnNo != 0) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow) - .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) - .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣� + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣� for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; -- Gitblit v1.9.1