From 1b7c03baf021e4896b296e2c0af277c4c57656e8 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 12 八月 2024 17:27:03 +0800
Subject: [PATCH] 空托入库到达入库码头请求入库更新条码
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 153 +++++++++++++++++++++++++++++++-------------------
1 files changed, 95 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 1762a66..a2a9b82 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
@@ -991,25 +992,30 @@
if (Cools.isEmpty(param)) {
throw new CoolException("璇锋眰鍙傛暟鏈夎锛�" + param);
}
- int zpalletCount = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
- if (zpalletCount > 0) {
- throw new CoolException("搴撳瓨鎵樼洏鐮佸凡瀛樺湪锛�" + param.getBarcode());
- }
+ if (!Cools.isEmpty(param.getBarcode())) {
+ int zpalletCount = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+ if (zpalletCount > 0) {
+ throw new CoolException("搴撳瓨鎵樼洏鐮佸凡瀛樺湪锛�" + param.getBarcode());
+ }
- int barcodeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
- if (barcodeCount > 0) {
- throw new CoolException("宸ヤ綔妗e凡瀛樺湪璇ユ墭鐩樼爜锛�" + param.getBarcode());
+ int barcodeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
+ if (barcodeCount > 0) {
+ throw new CoolException("宸ヤ綔妗e凡瀛樺湪璇ユ墭鐩樼爜锛�" + param.getBarcode());
+ }
}
-
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1((short)1);
-
+ int iotype = 1;
+ if (Cools.isEmpty(param.getMatList())) {
+ iotype = 10;
+ }
// 鏍规嵁婧愮珯鐐瑰鎵惧簱浣�
// StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo(), null,null,null, locTypeDto);
- StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto);
+ StartupDto dto = commonService.getLocNo(iotype, param.getPalletizingNo(), locTypeDto,0);
// 杩斿洖GWCS鐩爣淇℃伅
pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo());
+
int workNo = dto.getWorkNo();
Date now = new Date();
@@ -1018,7 +1024,7 @@
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
- wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMast.setIoType(iotype); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
wrkMast.setIoPri(13D); // 浼樺厛绾�
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(param.getPalletizingNo());
@@ -1039,46 +1045,49 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
- List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
- for (GwmsGenerateInventoryDto.MatList obj :matList) {
- WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.setWrkNo(wrkMast.getWrkNo());
- obj.getRolls().forEach(roll -> {
- Mat mat = matService.selectByMatnr(roll.getSpecs());
- if (mat == null) {
- mat = new Mat();
- mat.setTagId(6L);
- mat.setMatnr(roll.getSpecs());
- mat.setMaktx(roll.getSpecs());
- mat.setSpecs(roll.getSpecs());
- mat.setStatus(1);
- mat.setCreateTime(now);
- mat.setUpdateTime(now);
- if (!matService.insert(mat)) {
- throw new CoolException("鐗╂枡瀵煎叆澶辫触锛�");
- }
- }
+ if (!Cools.isEmpty(param.getMatList())) {
+ List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
+ for (GwmsGenerateInventoryDto.MatList obj :matList) {
+ WrkDetl wrkDetl = new WrkDetl();
wrkDetl.setWrkNo(wrkMast.getWrkNo());
- wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸
- wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸
- wrkDetl.setBatch(roll.getBoxNo()); // 绠卞彿
- wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿
- wrkDetl.setBrand(""); // 鏈ㄧ绫诲瀷
- wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鍚�
- wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃�
- wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲�
- wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸
- wrkDetl.setPrice(roll.getLength());
- wrkDetl.setSpecs(String.valueOf(roll.getSplices()));
- wrkDetl.setAnfme(1.0);
- wrkDetl.setIoTime(now);
- wrkDetl.setAppeTime(now);
- wrkDetl.setModiTime(now);
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
- }
- });
+ obj.getRolls().forEach(roll -> {
+// Mat mat = matService.selectByMatnr(roll.getSpecs());
+// if (mat == null) {
+// mat = new Mat();
+// mat.setTagId(6L);
+// mat.setMatnr(roll.getSpecs());
+// mat.setMaktx(roll.getSpecs());
+// mat.setSpecs(roll.getSpecs());
+// mat.setStatus(1);
+// mat.setCreateTime(now);
+// mat.setUpdateTime(now);
+// if (!matService.insert(mat)) {
+// throw new CoolException("鐗╂枡瀵煎叆澶辫触锛�");
+// }
+// }
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸
+ wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸
+ wrkDetl.setBatch(roll.getBoxNo()); // 绠卞彿
+ wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿
+ wrkDetl.setBrand(obj.getPackageGroupNo()); // 鍖呰缁勫彿
+ wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鍚�
+ wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃�
+ wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲�
+ wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸
+ wrkDetl.setPrice(roll.getLength());
+ wrkDetl.setSpecs(String.valueOf(roll.getSplices()));
+ wrkDetl.setAnfme(1.0);
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ }
}
+
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -1107,6 +1116,9 @@
}
wrkMast.setWrkSts(2L);
+ if(wrkMast.getIoType() == 10){
+ wrkMast.setBarcode(param.getBarcode());
+ }
wrkMastService.updateById(wrkMast);
return "璇锋眰鎴愬姛";
@@ -1236,17 +1248,32 @@
return "鍑哄簱缁撴灉涓婃姤鎴愬姛";
}
+ @Autowired
+ private BasCrnpService basCrnpService;
+
@Override
@Transactional
public String emptyOutLoc(GhjtApiParam param) {
// 3102/3009/3008/3006/3003/3002鈫�3047/3112
+ // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢�
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3)
+ .eq("wrk_no",0));
+ if (basCrnps.isEmpty()) {
+ // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛�
+ basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3));
+ }
+ if (basCrnps.isEmpty()) {
+ throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父");
+ }
+ // 鍙敤鍫嗗灈鏈哄垪琛�
+ List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
// 瀵绘壘绌烘墭鐩樺簱浣嶏紝鍏堟壘娴呭簱浣�
List<LocMast> locMasts;
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","D")
- .orderAsc(Arrays.asList("row1","lev1","bay1")).in("row1",3,4,6,7,10,11,14,15,18,19,22,23));
+ .orderAsc(Arrays.asList("row1","lev1","bay1")).in("crn_no",crnNoList).in("row1",3,4,6,7,10,11,14,15,18,19,22,23));
if (locMasts.isEmpty()) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","D")
- .orderAsc(Arrays.asList("row1","lev1","bay1")).in("row1",1,4,5,8,9,12,13,16,17,20,21,24));
+ .orderAsc(Arrays.asList("row1","lev1","bay1")).in("crn_no",crnNoList).in("row1",1,4,5,8,9,12,13,16,17,20,21,24));
}
if (locMasts.isEmpty()) {
@@ -1276,6 +1303,7 @@
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+ wrkMast.setBarcode(locMast.getBarcode());
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
@@ -1352,14 +1380,23 @@
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
}
-
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", wrkMast.getIoType() - 50)
+ .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+ // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+ Integer staNo = staDesc.getCrnStn();
// 鏇存柊宸ヤ綔绫诲瀷103->53
wrkMast.setIoType(53);
wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
- Integer staNo = wrkMast.getStaNo();
// 鐩爣绔欑偣婧愮珯鐐硅浆鎹�
- wrkMast.setStaNo(wrkMast.getSourceStaNo());
- wrkMast.setSourceStaNo(staNo);
+ wrkMast.setSourceStaNo(wrkMast.getStaNo());
+ wrkMast.setStaNo(staNo);
// 鐩爣搴撲綅=婧愬簱浣�
wrkMast.setLocNo(wrkMast.getSourceLocNo());
// 婧愬簱浣嶆竻闄�
@@ -1417,7 +1454,7 @@
return wrkDetls.size() > 1 ? 0 : 1; // 涓�鏉¤褰曞氨鏄竴鍗�
}
- private void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo) {
+ public void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo) {
boolean success = false;
// 鑾峰彇璇锋眰澶�
Map<String, Object> headers = getHeaders();
@@ -1456,10 +1493,10 @@
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
"鍏ュ簱",
- MesConstant.URL + MesConstant.PAKIN_URL,
+ MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL,
null,
"127.0.0.1",
- jsonObject.toJSONString(),
+ body,
response,
success
);
--
Gitblit v1.9.1