From a29aa2ea80eaaea6acff08068a04de47b69478a8 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期五, 19 七月 2024 10:05:19 +0800 Subject: [PATCH] 盘点出入库接口开发 --- src/main/java/com/zy/common/service/CommonService.java | 148 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 117 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index edbb19c..67550c8 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -3,16 +3,13 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; -import com.core.common.Arith; 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; import com.zy.common.model.LocTypeDto; -import com.zy.common.model.Shelves; import com.zy.common.model.StartupDto; import com.zy.common.properties.SlaveProperties; import lombok.extern.slf4j.Slf4j; @@ -20,10 +17,6 @@ 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; /** @@ -123,10 +116,103 @@ } /** + * 鍙屾繁鎵惧簱浣� + */ + @Transactional + public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo,LocTypeDto locTypeDto) { + + // 鐩爣搴撲綅 + LocMast locMast; + +// // 鎼滅储绌烘墭 +// locMast = getLocNoStep4(staDescId, sourceStaNo); +// if (locMast != null) { +// //鎵惧埌搴撲綅锛岃繑鍥瀌to +// return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto +// } + + //鎼滅储鏁翠釜绌哄簱浣嶇粍 + locMast = getLocNoStepSingle(locTypeDto); + if (locMast != null) { + //鎵惧埌搴撲綅锛岃繑鍥瀌to + return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto + } + + //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 + throw new CoolException("娌℃湁绌哄簱浣�"); + } + // 鎼滅储鍗曞搧(鏁翠釜搴撲綅缁�) + private LocMast getLocNoStepSingle(LocTypeDto locTypeDto) { + LocMast locMast = null; + //鍗曞搧 + List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1());//鎼滅储璐х墿 + + for (LocMast mast : locMasts) { + List<String> groupLoc = Utils.getGroupLocNo(mast.getLocNo(), true); +// if (!locMastService.checkAllLocEmpty(groupLoc)) { +// continue; +// } + + LocMast tmp = null; + for (String loc : groupLoc) { + LocMast locMast1 = locMastService.selectByLoc(loc); + if (locMast1 == null) { + continue; + } + + if (!locMast1.getLocSts().equals("O")) { + continue; + } + + tmp = locMast1; + break; + } + + //棰勭暀绌哄簱浣� + if (tmp != null && locMastService.checkEmptyCount(mast, 10)) { + locMast = tmp; + break; + } + } + + return locMast; + } + + //杩斿洖dto + private StartupDto getLocNoStep6(Integer staDescId, Integer sourceStaNo, LocMast locMast) { + StartupDto startupDto = new StartupDto(); + // 鑾峰彇鐩爣绔� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", staDescId) + .eq("stn_no", sourceStaNo) + .eq("crn_no",locMast.getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}", staDescId, sourceStaNo); + throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + } + + // 妫�娴嬬洰鏍囩珯 + BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn()); + if (!staNo.getAutoing().equals("Y")) { + throw new CoolException("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�"); + } + + // 鐢熸垚宸ヤ綔鍙� + int workNo = getWorkNo(0); + // 杩斿洖dto + startupDto.setWorkNo(workNo); + startupDto.setSourceStaNo(sourceStaNo); + startupDto.setStaNo(staNo.getDevNo()); + startupDto.setLocNo(locMast.getLocNo()); + startupDto.setCrnNo(locMast.getCrnNo()); + return startupDto; + } + /** * 妫�绱㈠簱浣嶅彿 * * @param whsType 绫诲瀷 1:鍙屾繁寮忚揣鏋� - * @param staDescId 璺緞ID + * @param staDescId 鍏ュ簱绫诲瀷 * @param sourceStaNo 婧愮珯 * @param matnr 鐗╂枡鍙烽泦鍚� * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 @@ -532,29 +618,29 @@ // } // } - // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 - if (staDescId == 10) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow)); - if (locMasts.size() > 0) { - for (LocMast loc : locMasts) { - if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { - continue; - } - String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); - // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� - LocMast shallowLoc = locMastService.selectById(shallowLocNo); - if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { - if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) { - if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { - locMast = shallowLoc; - crnNo = locMast.getCrnNo(); - break; - } - } - } - } - } - } +// // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 +// if (staDescId == 10) { +// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow)); +// if (locMasts.size() > 0) { +// for (LocMast loc : locMasts) { +// if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { +// continue; +// } +// String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); +// // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� +// LocMast shallowLoc = locMastService.selectById(shallowLocNo); +// if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { +// if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) { +// if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { +// locMast = shallowLoc; +// crnNo = locMast.getCrnNo(); +// break; +// } +// } +// } +// } +// } +// } Wrapper<StaDesc> wrapper = null; StaDesc staDesc = null; -- Gitblit v1.9.1