From 7cdb188ddd1655cae52c5146db8069d0288a5a97 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期四, 31 七月 2025 12:40:31 +0800 Subject: [PATCH] #erp读取实际数量 --- src/main/java/com/zy/common/service/CommonService.java | 95 +++++++++++++++++++++++------------------------ 1 files changed, 46 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 285b425..7911829 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -9,6 +9,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.MatServiceImpl; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; import com.zy.common.model.LocTypeDto; @@ -52,6 +53,8 @@ private LocDetlService locDetlService; @Autowired private SlaveProperties slaveProperties; + @Autowired + private MatServiceImpl matService; /** * 鐢熸垚宸ヤ綔鍙� @@ -134,8 +137,12 @@ */ @Transactional public StartupDto getLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) { + long start = System.currentTimeMillis(); + int tagId = 0; if (Cools.isEmpty(matnr)) { //鐗╂枡鍙� matnr = ""; + }else{ + tagId = matService.getTagIdByMatnr(matnr); } if (Cools.isEmpty(batch)) { //绠卞彿 batch = ""; @@ -156,7 +163,6 @@ int sRow = rowLastno.getsRow(); int eRow = rowLastno.geteRow(); int crnNumber = rowLastno.getCrnQty(); - if (Cools.isEmpty(rowLastno)) { throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); } @@ -187,9 +193,9 @@ times++; } } -// if (nearRow == 0) { -// throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); -// } + if (nearRow == 0) { + throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); + } boolean signRule1 = false; boolean signRule2 = false; @@ -249,21 +255,7 @@ } } -// // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //鍒嗙鐗� -// if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { -// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O")); -// for (LocMast locMast1:locMasts){ -// if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { -// continue; -// } -// String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo()); -// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",shallowLoc)); -// if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("D")){ -// locMast = locMast1; -// break; -// } -// } -// } + // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { @@ -325,31 +317,40 @@ // 1.鎸夎鍒欐煡鎵惧簱浣� if (Cools.isEmpty(locMast) && crnNo != 0) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("row1", nearRow) - .eq("loc_sts", "O") - .orderBy("lev1",true).orderBy("bay1",true)); -// for (LocMast locMast1 : locMasts) { -// if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { -// continue; -// } -// if (Utils.BooleanWhsTypeStaIoType(whsType)){ -//// String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); -// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() -// .eq("loc_sts", "O")); -// if (!Cools.isEmpty(locMast2)) { -// locMast = locMast2; -// break; -// } -// } else { -// if (!Cools.isEmpty(locMast1)) { -// locMast = locMast1; -// break; -// } -// } -// } + List<LocMast> locMasts = null; + if(sourceStaNo % 100 > 11){ + locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("row1", nearRow) + .eq("loc_sts", "O") + .orderBy("lev1",true).orderBy("bay1",false)); + }else{ + locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("row1", nearRow) + .eq("loc_sts", "O") + .orderBy("lev1",true).orderBy("bay1",true)); + } + if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){ + if(tagId == 226){ + List<LocMast> filteredLocMasts = new ArrayList<>(); + for (LocMast loc : locMasts) { + Integer lev = loc.getLev1(); + if (lev != null && lev >= 6 && lev <= 10) { + filteredLocMasts.add(loc); + } + } + locMasts = filteredLocMasts; + }else{ + List<LocMast> filteredLocMasts = new ArrayList<>(); + for (LocMast loc : locMasts) { + Integer lev = loc.getLev1(); + if (lev != null && lev >= 1 && lev <= 5) { + filteredLocMasts.add(loc); + } + } + locMasts = filteredLocMasts; + } for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; @@ -375,14 +376,8 @@ times = times + 1; return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo+1, locTypeDto, times); } -// // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� -// if (locTypeDto.getLocType1() < 2) { -// int i = locTypeDto.getLocType1() + 1; -// locTypeDto.setLocType1((short)i); -// return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); -// } log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); - throw new CoolException("娌℃湁绌哄簱浣�"); + throw new CoolException("娌℃湁绌哄簱浣嶆垨鍫嗗灈鏈哄紓甯�"); } String locNo = locMast.getLocNo(); @@ -393,6 +388,8 @@ startupDto.setCrnNo(crnNo); startupDto.setSourceStaNo(sourceStaNo); startupDto.setLocNo(locNo); + log.info("搴撲綅妫�绱㈣�楁椂: {} ms", System.currentTimeMillis() - start); + return startupDto; } } -- Gitblit v1.9.1