From 5751b1892a26df14007984776d9ebca4d3272786 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期六, 20 七月 2024 17:36:26 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 459 insertions(+), 16 deletions(-)
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..418127e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -8,10 +8,7 @@
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.EmptyPlateOutParam;
-import com.zy.asrs.entity.param.FullStoreParam;
-import com.zy.asrs.entity.param.LocDetlAdjustParam;
-import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.OutboundAllocationUtil;
import com.zy.asrs.utils.Utils;
@@ -164,12 +161,28 @@
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
+ List<String> locNoList = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+ if (!locNoList.contains(paramLocDetl.getLocNo())){
+ locNoList.add(paramLocDetl.getLocNo());
+ }
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
}
}
+
+ List<String> locNoOtherListOne = new ArrayList<>();
+ for (String locNo :locNoList) {
+ //灏忔枡绠变即鐢熷嚭搴�
+ if (Utils.getRow(locNo) <= 8) {
+ String locNoOther = staNoOther(locNo);
+ if (!locNoList.contains(locNoOther)) {
+ locNoOtherListOne.add(locNoOther);
+ }
+ }
+ }
+
if (!locDetlDtos.isEmpty()) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
@@ -180,6 +193,207 @@
}
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+ }
+
+
+ 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")){
+ // 鑾峰彇婧愮珯
+ 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け璐�");
+ }
+ }else if (locMast.getLocSts().equals("F")){
+ // 鑾峰彇婧愮珯
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 101)
+ .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();
+ List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
+
+// 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬侊細 101.婊℃澘鍑哄簱
+ wrkMast.setIoPri(13D);
+ wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ 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け璐�");
+ }
+
+ // 鏇存柊搴撲綅鐘舵�� F.婊℃澘 -> R.鍑哄簱棰勭害
+ if (locMast.getLocSts().equals("F")){
+ locMast.setLocSts("R");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+ }
+ }
+
+
+
+ List<WaitPakin> waitPakins = new ArrayList<>();
+ for (LocDetl locDetl:locDetlList){
+ Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(locDetl);
+ waitPakin.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
+ waitPakin.setModel(locDetl.getModel()); //鍗峰彿 鍞竴鍊�
+ waitPakin.setIoStatus("Y"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(locDetl.getAnfme()); // 鏁伴噺
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ waitPakin.setLocNo(null);
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ waitPakins.add(waitPakin);
+ }
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMastRu = new WrkMast();
+ wrkMastRu.setWrkNo(workNoRu);
+ wrkMastRu.setIoTime(new Date());
+ wrkMastRu.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMastRu.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMastRu.setIoPri(13D); // 浼樺厛绾�
+ wrkMastRu.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMastRu.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛
+ wrkMastRu.setCrnNo(locMast.getCrnNo());
+ wrkMastRu.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+ wrkMastRu.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMastRu.setPicking("N"); // 鎷f枡
+ wrkMastRu.setExitMk("N"); // 閫�鍑�
+ wrkMastRu.setEmptyMk("N"); // 绌烘澘
+ wrkMastRu.setLinkMis("Y");
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMastRu.setAppeTime(now);
+ wrkMastRu.setModiTime(now);
+ boolean resOther = wrkMastService.insert(wrkMastRu);
+ if (!resOther) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ waitPakins.forEach(waitPakin -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(waitPakin);
+ wrkDetl.setWrkNo(wrkMastRu.getWrkNo());
+ wrkDetl.setIoTime(wrkMastRu.getIoTime());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
}
}
@Override
@@ -536,8 +750,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 +816,225 @@
}
}
}
+
+ 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")){
+ // 鑾峰彇婧愮珯
+ 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け璐�");
+ }
+ }else if (locMast.getLocSts().equals("F")){
+ // 鑾峰彇婧愮珯
+ 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();
+ List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
+
+// 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬侊細 101.婊℃澘鍑哄簱
+ wrkMast.setIoPri(13D);
+ wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ 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け璐�");
+ }
+
+ // 鏇存柊搴撲綅鐘舵�� F.婊℃澘 -> R.鍑哄簱棰勭害
+ if (locMast.getLocSts().equals("F")){
+ locMast.setLocSts("R");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+ }
+ }
+
+
+
+ List<WaitPakin> waitPakins = new ArrayList<>();
+ for (LocDetl locDetl:locDetlList){
+ Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException("瑙勬牸娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(locDetl);
+ waitPakin.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
+ waitPakin.setModel(locDetl.getModel()); //鍗峰彿 鍞竴鍊�
+ waitPakin.setIoStatus("Y"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(locDetl.getAnfme()); // 鏁伴噺
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ waitPakin.setLocNo(null);
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ waitPakins.add(waitPakin);
+ }
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMastRu = new WrkMast();
+ wrkMastRu.setWrkNo(workNoRu);
+ wrkMastRu.setIoTime(new Date());
+ wrkMastRu.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMastRu.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMastRu.setIoPri(13D); // 浼樺厛绾�
+ wrkMastRu.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMastRu.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛
+ wrkMastRu.setCrnNo(locMast.getCrnNo());
+ wrkMastRu.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+ wrkMastRu.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMastRu.setPicking("N"); // 鎷f枡
+ wrkMastRu.setExitMk("N"); // 閫�鍑�
+ wrkMastRu.setEmptyMk("N"); // 绌烘澘
+ wrkMastRu.setLinkMis("Y");
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMastRu.setAppeTime(now);
+ wrkMastRu.setModiTime(now);
+ boolean resOther = wrkMastService.insert(wrkMastRu);
+ if (!resOther) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ waitPakins.forEach(waitPakin -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(waitPakin);
+ wrkDetl.setWrkNo(wrkMastRu.getWrkNo());
+ wrkDetl.setIoTime(wrkMastRu.getIoTime());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
+ }
}
- 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);
}
}
@@ -972,6 +1399,22 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
+ if (Cools.isEmpty(wrkMast.getLocNo()) && Cools.isEmpty(wrkMast.getSourceLocNo())){
+ int devCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (devCount!=0){
+ throw new CoolException("鍙栨秷澶辫触锛屽伐浣滃彿锛�"+wrkMast.getWrkNo()+"鍦ㄨ緭閫佺嚎涓婅繍琛屼腑锛侊紒锛�");
+ }
+ try{
+ wrkMastService.deleteById(wrkMast.getWrkNo());
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (!wrkDetls.isEmpty()){
+ wrkDetlService.deleteById(wrkMast.getWrkNo());
+ }
+ }catch (Exception e){
+ throw new CoolException("鍙栨秷澶辫触锛屽紓甯�"+e);
+ }
+ return;
+ }
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
// 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
--
Gitblit v1.9.1