From 415c752af6d792e78a95a535bf079edbbeb6561c Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 14 六月 2024 15:48:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 107 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 86 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index bfa3529..4bc7fbd 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -7,6 +7,7 @@ import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; @@ -19,6 +20,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; import java.util.List; /** @@ -50,7 +55,6 @@ /** * 鐢熸垚宸ヤ綔鍙� - * * @param wrkMk * @return workNo(宸ヤ綔鍙�) */ @@ -63,17 +67,17 @@ int workNo = wrkLastno.getWrkNo(); int sNo = wrkLastno.getSNo(); int eNo = wrkLastno.getENo(); - workNo = workNo >= eNo ? sNo : workNo + 1; + workNo = workNo>=eNo ? sNo : workNo+1; while (true) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (null != wrkMast) { - workNo = workNo >= eNo ? sNo : workNo + 1; + workNo = workNo>=eNo ? sNo : workNo+1; } else { break; } } // 淇敼搴忓彿璁板綍 - if (workNo > 0) { + if (workNo > 0){ wrkLastno.setWrkNo(workNo); wrkLastnoService.updateById(wrkLastno); } @@ -81,11 +85,27 @@ if (workNo == 0) { throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳"); } else { - if (wrkMastService.selectById(workNo) != null) { + if (wrkMastService.selectById(workNo)!=null) { throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪"); } } return workNo; + } + + //鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴� + @Transactional + public StartupDto getScanBarcodeEmptyBoard(){ + StartupDto startupDto = new StartupDto(); + Integer staNo = 0; + if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 201).eq("staNo", 216))<2){ + staNo=216; + } + if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 201).eq("staNo", 220))<2){ + staNo=220; + } + + startupDto.setStaNo(staNo); + return startupDto; } /** @@ -99,7 +119,12 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) { - whsType = Utils.GetWhsType(sourceStaNo); + try{ + whsType = Utils.GetWhsType(sourceStaNo); + }catch (Exception e){ + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�",sourceStaNo); + return null; + } return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0); } @@ -117,7 +142,7 @@ if (Cools.isEmpty(matnr)) { //鐗╂枡鍙� matnr = ""; } - if (Cools.isEmpty(batch)) { //绠卞彿 + if (Cools.isEmpty(batch)) { //鎵规 batch = ""; } if (Cools.isEmpty(grade)) { //澶囩敤 @@ -179,7 +204,7 @@ boolean signRule2 = false; - if (Utils.BooleanWhsTypeStaIoType(whsType)){ + if (Utils.BooleanWhsTypeStaIoType(rowLastno)){ // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗� if (!Cools.isEmpty(matnr) && staDescId == 1){ signRule1 = true; @@ -250,9 +275,9 @@ // } // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 - if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { + if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(rowLastno)) { List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow)); - if (locMasts.size() > 0) { + if (!locMasts.isEmpty()) { for (LocMast loc : locMasts) { if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { continue; @@ -277,7 +302,7 @@ StaDesc staDesc = null; BasDevp staNo = null; - if (Utils.BooleanWhsTypeSta(whsType, staDescId)) { + if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { // 鑾峰彇鐩爣绔� wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) @@ -291,42 +316,82 @@ }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 (Utils.BooleanWhsTypeSta(whsType, staDescId) && Cools.isEmpty(locMast)) { - rowLastno.setCurrentRow(curRow); - rowLastnoService.updateById(rowLastno); + // 鏇存柊搴撲綅鎺掑彿 + 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").orderBy("lev1",true).orderBy("bay1",true)); + 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)){ + 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")); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "O")); if (!Cools.isEmpty(locMast2)) { locMast = locMast2; break; } - }else { + } else { if (!Cools.isEmpty(locMast1)) { locMast = locMast1; break; } } } + + if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(rowLastno)){ + for (LocMast locMast1 : locMasts) { + if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { + continue; + } + 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")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast2; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "F")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast2; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "D")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast2; + break; + } + } + } + } else { + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + break; + } + } + } + } } if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) { -- Gitblit v1.9.1