From abb9b5c51d8a20be68b64e0c4a9620f6578d2e3a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 30 四月 2025 09:59:26 +0800
Subject: [PATCH] 手动导入订单和mes下发订单,增加客户名称和备注字段
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 526 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 443 insertions(+), 83 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 2e72a50..29658dd 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,7 +1,9 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
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;
@@ -13,9 +15,7 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.entity.result.ZphjcdgzVo;
import com.zy.asrs.entity.result.ZphjcdwcVo;
-import com.zy.asrs.mapper.LocDetlMapper;
-import com.zy.asrs.mapper.MatMapper;
-import com.zy.asrs.mapper.TagMapper;
+import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.constant.MesConstant;
@@ -26,6 +26,8 @@
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.NodeUtils;
+import com.zy.system.entity.Config;
+import com.zy.system.mapper.ConfigMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -100,6 +102,15 @@
@Resource
private LocDetlMapper locDetlMapper;
+
+ @Resource
+ private ConfigMapper configMapper;
+
+ @Resource
+ private OrderMapper orderMapper;
+
+ @Resource
+ private BasCrnpMapper basCrnpMapper;
@Override
@Transactional
@@ -1014,29 +1025,27 @@
@Override
@Transactional
- public void prodCheck(List<ProdCheckParam> param) {
+ public R prodCheck(List<ProdCheckParam> param) {
if (param.isEmpty()) {
- throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖");
+ return R.parse("璇锋眰鍙傛暟涓嶈兘涓虹┖");
}
for (ProdCheckParam checkParam : param) {
// 鏇存柊搴撳瓨鏄庣粏鏄惁鍚堟牸
- LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
- .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", checkParam.getRollNo()));
// 鏇存柊鍟嗗搧琛ㄦ槸鍚﹀悎鏍�
- Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
- .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
- if (locDetl == null || mat == null) {
+// Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("model", checkParam.getRollNo()));
+ if (locDetl == null) { // || mat == null
throw new CoolException("鏇存柊鏄惁鍚堟牸鐗╂枡涓嶅瓨鍦細" + checkParam);
}
locDetl.setThreeCode(checkParam.getQualified());
- mat.setThreeCode(checkParam.getQualified());
+// mat.setThreeCode(checkParam.getQualified());
- locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
- .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
- matService.update(mat,(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
- .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo())));
+ locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("model", checkParam.getRollNo()));
+// matService.update(mat, (new EntityWrapper<Mat>().eq("model", checkParam.getRollNo())));
}
+
+ return R.ok("鏇存柊鎴愬姛");
}
@Override
@@ -1054,7 +1063,7 @@
StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0);
// 杩斿洖GWCS鐩爣淇℃伅
- boolean result = pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode());
+ pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode(),"涓�妤煎弽淇搧鍏ュ簱鎺ㄩ�乬wcs");
// if (!result) {
// throw new CoolException("鍏ュ簱鍥炴帹鍏ュ簱鐮佸ご缁橤WCS澶辫触");
// }
@@ -1173,7 +1182,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 杩斿洖GWCS鐩爣淇℃伅
- pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode());
+ pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode(),"浜屾ゼ绌烘墭鍥炴祦鎺ㄩ�乬wcs");
return R.ok("绌烘墭鍥炴祦璇锋眰鎴愬姛");
}
@@ -1232,15 +1241,12 @@
// StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo(), null,null,null, locTypeDto);
StartupDto dto = commonService.getLocNo(iotype, param.getPalletizingNo(), locTypeDto,0);
- // 杩斿洖GWCS鐩爣淇℃伅
- pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo(),param.getBarcode());
-
-
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
+ wrkMast.setWhsType(iotype == 1 && param.getPalletizingNo() == 2051 ? 1 : 0); // 杩斾慨鍏ュ簱鏍囪
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
wrkMast.setIoType(iotype); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
@@ -1290,22 +1296,27 @@
wrkDetl.setSpecs(String.valueOf(roll.getSplices())); // 鎺ュご
wrkDetl.setAnfme(1.0);
// wrkDetl.setThreeCode(null); // 閫氳繃mes鎴杄xcel瀵煎叆妫�娴嬫槸鍚﹀悎鏍� 0涓嶅悎鏍硷紝1 鍚堟牸
+// wrkDetl.setDeadWarn(); // 鐞嗚揣鏍囪瘑 0榛樿锛�1鐞嗚揣涓紝2鐞嗚揣瀹屾垚w
+// wrkDetl.setInspect(); // 璁㈠崟鏄庣粏涓敤锛屾爣璇嗗璐х殑鐘舵�� 0鏈璐э紝1澶囪揣涓紝2澶囪揣瀹屾垚
+// wrkDetl.setDanger(); // 璁㈠崟鏄庣粏涓敤锛屾爣璇嗚法宸烽亾绉诲簱 0鏈Щ搴擄紝1绉诲簱涓紝2绉诲簱瀹屾垚
wrkDetl.setIoTime(now);
wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(21L); // root
+ wrkDetl.setModiUser(21L); // root
wrkDetl.setModiTime(now);
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
}
// 鐗╂枡琛ㄥ浠戒竴浠�
- Mat mat = new Mat();
- mat.sync(wrkDetl);
- mat.setTagId(6L);
- mat.setCreateTime(now);
- mat.setUpdateTime(now);
- if (!matService.insert(mat)) {
- throw new CoolException("澶囦唤鐗╂枡琛ㄥけ璐�");
- }
+// Mat mat = new Mat();
+// mat.sync(wrkDetl);
+// mat.setTagId(6L);
+// mat.setCreateTime(now);
+// mat.setUpdateTime(now);
+// if (!matService.insert(mat)) {
+// throw new CoolException("澶囦唤鐗╂枡琛ㄥけ璐�");
+// }
});
}
@@ -1323,6 +1334,10 @@
} else {
throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
}
+
+ // 杩斿洖GWCS鐩爣淇℃伅
+ pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo(),param.getBarcode(),"gwms鐢宠鍏ュ簱鍚庢帹閫乬wcs");
+
return null;
}
@@ -1341,6 +1356,10 @@
wrkMast.setWrkSts(2L);
if(wrkMast.getIoType() == 10){
wrkMast.setBarcode(param.getBarcode());
+ } else if(wrkMast.getIoType() == 12) { // 璺ㄥ贩閬撹浆绉诲叆搴�
+
+ } else if(wrkMast.getSourceStaNo() == 3046 || wrkMast.getSourceStaNo() == 3042) {
+ wrkMast.setBarcode(param.getBarcode());
}
wrkMastService.updateById(wrkMast);
@@ -1357,6 +1376,9 @@
}
DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE);
+ if (docType == null) {
+ return R.parse("鍗曟嵁绫诲瀷涓嶅瓨鍦紝璇锋鏌ワ細" + param.getOrderType());
+ }
Date now = new Date();
// 鍗曟嵁涓绘。
@@ -1371,7 +1393,7 @@
null, // 鍒濆绁ㄦ嵁鍙�
null, // 绁ㄦ嵁鍙�
null, // 瀹㈡埛缂栧彿
- null, // 瀹㈡埛
+ param.getCustomerName(), // 瀹㈡埛
null, // 鑱旂郴鏂瑰紡
null, // 鎿嶄綔浜哄憳
null, // 鍚堣閲戦
@@ -1394,7 +1416,7 @@
now, // 娣诲姞鏃堕棿
9527L, // 淇敼浜哄憳
now, // 淇敼鏃堕棿
- null // 澶囨敞
+ param.getMemo() // 澶囨敞
);
if (!orderService.insert(order)) {
@@ -1468,7 +1490,97 @@
wrkMastService.updateById(wrkMast);
}
+ // 鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍
+ ckjgsbPushMes(wrkMast,wrkDetls);
+
return "鍑哄簱缁撴灉涓婃姤鎴愬姛";
+ }
+
+ private void ckjgsbPushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+ GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto();
+ gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
+ gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo());
+ List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>();
+ for (WrkDetl wrkDetl:wrkDetls) {
+ boolean flag = true;
+ for (GwmsGenerateInventoryDto.MatList matList : matLists) {
+ if (matList.getPackageGroupNo().equals(wrkDetl.getBrand())) {
+ matList.getRolls().add(new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
+ wrkDetl.getUnit(),wrkDetl.getMaktx(),wrkDetl.getLength(),
+ Integer.parseInt(wrkDetl.getSpecs()),wrkDetl.getWeight(),wrkDetl.getVolume(),
+ wrkDetl.getManuDate()));
+ flag = false;
+ break;
+ }
+ }
+ if (flag) {
+ GwmsGenerateInventoryDto.MatList matList = new GwmsGenerateInventoryDto.MatList();
+ matList.setBoxPos(wrkDetl.getOrigin());
+ matList.setPackageGroupNo(wrkDetl.getBrand());
+ matList.setOutOrIn("out");
+ matList.setStockType(wrkMast.getStaNo() == 2041 ? "杩斾慨鍑哄簱" : "鎴愬搧鍑哄簱");
+ matList.setBoxType(wrkDetl.getColor());
+ matList.setRollType(wrkDetl.getManu());
+ matList.setWideInWidth(wrkDetl.getSku());
+ matList.setThickness(wrkDetl.getItemNum());
+ List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>();
+ GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
+ wrkDetl.getUnit(),wrkDetl.getMaktx(),wrkDetl.getLength(),
+ Integer.parseInt(wrkDetl.getSpecs()),wrkDetl.getWeight(),wrkDetl.getVolume(),
+ wrkDetl.getManuDate());
+ rollsList.add(roll);
+ matList.setRolls(rollsList);
+ matLists.add(matList);
+ }
+ }
+ gwmsGenerateInventoryDto.setMatList(matLists);
+
+
+
+ boolean success = false;
+ // 鑾峰彇璇锋眰澶�
+ Map<String,Object> headers = new HashMap<>();
+ headers.put("Content-Type","application/json;charset=UTF-8");
+
+ // 鏋勯�犺姹備綋
+ String body = JSON.toJSONString(gwmsGenerateInventoryDto);
+ String response = "";
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.MES_CC_IP_PORT)
+ .setPath(MesConstant.MES_CC_FXRK_URL)
+ .setHeaders(headers)
+ .setJson(body)
+ .build()
+ .doPost();
+ if (!Cools.isEmpty(response)) {
+ JSONObject jsonObject1 = JSONObject.parseObject(response);
+ int code = (int) jsonObject1.get("code");
+ boolean state = jsonObject1.getBoolean("state");
+ if (code == 200 && state) {
+ success = true;
+ }
+ } else {
+ log.error("鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, body, response);
+ }
+ } catch (Exception e) {
+ log.error("鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍寮傚父锛歿}", e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍",
+ MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL,
+ null,
+ "127.0.0.1",
+ body,
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
}
@Autowired
@@ -1564,7 +1676,7 @@
if (wrkMast == null) {
throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�");
}
- if (wrkMast.getWrkSts() != 2 || wrkMast.getIoType() != 103) {
+ if (wrkMast.getWrkSts() != 2 || wrkMast.getIoType() != 103 && wrkMast.getIoType() != 109) {
throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�2/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�");
}
// 鏇存柊宸ヤ綔妗g姸鎬�2.璁惧涓婅蛋->42.绛夊緟鐮佸灈
@@ -1580,6 +1692,7 @@
zphjcdgzVo.setWorkNo(wrkDetl.getWrkNo());
zphjcdgzVo.setBoxType(wrkDetl.getColor());
zphjcdgzVo.setPosition(wrkDetl.getOrigin());
+ zphjcdgzVo.setCdType(wrkMast.getIoType() == 103 ? 1 : 2);
return R.ok(zphjcdgzVo);
}
@@ -1588,7 +1701,7 @@
@Transactional
public R zphjCdwc(ZphjcdwcParam param) {
- if (Cools.isEmpty(param.getWorkNo(),param.getBarcode(),param.getSourceStaNo(),param.getSite())) {
+ if (Cools.isEmpty(param.getWorkNo(),param.getSourceStaNo(),param.getSite(),param.getBarcode())) {
return R.parse("鍙傛暟涓嶈兘涓虹┖锛岃妫�鏌ュ叆鍙�");
}
WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
@@ -1602,19 +1715,29 @@
// 鑾峰彇鍑哄簱鐗╂枡
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ // 婧愬簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+
// 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
int work = create111Work(wrkMast, wrkDetls, param.getSite(), wrkMast.getStaNo(), param.getBarcode());
int descFlag = getType(wrkDetls);
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+ }
+
+ // 鑾峰彇澶囪揣鍖洪厤缃�
+ Config config = configMapper.selectConfigByCode("auto_stock_up");
+ if (config == null) {
+ throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪厤缃敊璇紒锛侊紒");
+ }
+ // 鍓嶅嚑鍒楁槸澶囪揣鍖�
+ int columnNum = Integer.parseInt(config.getValue());
+
// get0鍘熸墭鐩樺洖娴佷俊鎭紝get1鎷嗗灈鍑烘潵鐗╂枡鍑哄簱淇℃伅
List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>();
- ZphjcdwcVo zphjcdwcVo1 = new ZphjcdwcVo();
- zphjcdwcVo1.setWorkNo(wrkMast.getWrkNo());
- zphjcdwcVo1.setStaNo(wrkMast.getSourceStaNo());
- zphjcdwcVo1.setSourceStaNo(param.getSourceStaNo());
- zphjcdwcVo1.setBarcode(wrkMast.getBarcode());
- zphjcdwcVos.add(zphjcdwcVo1);
ZphjcdwcVo zphjcdwcVo2 = new ZphjcdwcVo();
zphjcdwcVo2.setWorkNo(work);
@@ -1624,47 +1747,291 @@
zphjcdwcVo2.setDescFlag(descFlag);
zphjcdwcVos.add(zphjcdwcVo2);
+ // 濡傛灉浠庡璐у尯鏉ョ殑锛屽垯涓嶈兘鍥炲師搴撲綅
+ if (locMast.getBay1() <= columnNum) {
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
- throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+ // 瀵绘壘涓�涓柊搴撲綅
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short) 1);
+ StartupDto dto = commonService.getLocNo(53, param.getSourceStaNo(), locTypeDto, 0);
+ // 鏂板簱浣�
+ LocMast staLocMast = locMastService.selectById(dto.getLocNo());
+
+ // 鏇存柊鏃у簱浣嶇姸鎬� O
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+
+ // 鎶婃棫搴撲綅鏄庣粏杞埌鏂板簱浣�
+ locDetlService.updateLocNo(staLocMast.getLocNo(), wrkMast.getSourceLocNo());
+
+ // 鏇存柊鏂板簱浣嶇姸鎬� Q
+ staLocMast.setLocSts("Q");
+ staLocMast.setBarcode(wrkMast.getBarcode());
+ staLocMast.setModiTime(new Date());
+ locMastService.updateById(staLocMast);
+
+ // 鏇存柊宸ヤ綔宸ヤ綔涓绘。
+ wrkMast.setIoType(53);
+ wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
+ // 鐩爣绔欑偣婧愮珯鐐硅浆鎹�
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setCrnNo(dto.getCrnNo());
+ // 鐩爣搴撲綅=婧愬簱浣�
+ wrkMast.setLocNo(dto.getLocNo());
+ // 婧愬簱浣嶆竻闄�
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(new Date());
+
+ } else {
+ // 鏇存柊宸ヤ綔宸ヤ綔涓绘。
+ wrkMast.setIoType(53);
+ wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
+ wrkMast.setSourceStaNo(param.getSourceStaNo());
+ wrkMast.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ // 婧愬簱浣�
+ LocMast staLocMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ // 鐩爣搴撲綅=婧愬簱浣�
+ wrkMast.setLocNo(wrkMast.getSourceLocNo());
+ // 婧愬簱浣嶆竻闄�
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(new Date());
+
+ // 鏇存柊鏂板簱浣嶇姸鎬� Q
+ staLocMast.setLocSts("Q");
+ staLocMast.setModiTime(new Date());
+ locMastService.updateById(staLocMast);
}
- // 鑾峰彇鐩爣绔�
-// Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-// .eq("type_no", wrkMast.getIoType() - 50)
-// .eq("stn_no", wrkMast.getSourceStaNo()) // 浣滀笟绔欑偣 = 鎷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.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
- // 鐩爣绔欑偣婧愮珯鐐硅浆鎹�
- wrkMast.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
- wrkMast.setSourceStaNo(param.getSourceStaNo());
-
- // 鐩爣搴撲綅=婧愬簱浣�
- wrkMast.setLocNo(wrkMast.getSourceLocNo());
- // 婧愬簱浣嶆竻闄�
- wrkMast.setSourceLocNo("");
- wrkMast.setModiTime(new Date());
// 鏇存柊宸ヤ綔涓绘。
wrkMastService.updateById(wrkMast);
- // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
- locMast.setLocSts("Q");
- locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)) {
- throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
- }
+
+ // 鍥炲簱
+ ZphjcdwcVo zphjcdwcVo1 = new ZphjcdwcVo();
+ zphjcdwcVo1.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo1.setStaNo(wrkMast.getStaNo());
+ zphjcdwcVo1.setSourceStaNo(wrkMast.getSourceStaNo());
+ zphjcdwcVo1.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(0,zphjcdwcVo1);
// 涓嬪彂鍥炲簱鐨勭洰鏍囩珯鐐瑰拰鎷嗗灈鐨勫嚭搴撶洰鏍囩珯鐐圭粰gwcs
return R.ok(zphjcdwcVos);
+ }
+
+ @Override
+ public R kxlhCdwc(KxlhcdwcParam param) {
+
+ if (Cools.isEmpty(param.getWorkNo(),param.getSourceStaNo(),param.getSite(),param.getBarcode())) {
+ return R.parse("鍙傛暟涓嶈兘涓虹┖锛岃妫�鏌ュ叆鍙�");
+ }
+ WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�");
+ }
+ if (wrkMast.getWrkSts() != 42 || wrkMast.getIoType() != 109) {
+ throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�42/鍑哄簱绫诲瀷涓嶄负绌洪棽鐞嗚揣锛�");
+ }
+
+ Date now = new Date();
+
+ // 鑾峰彇鍑哄簱鐗╂枡
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+
+ // 鑾峰彇搴撳瓨鐗╂枡
+ List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+
+ // 婧愬簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+
+ List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>();
+
+ if (wrkDetls.size() == locDetls.size()) { // 涓嶉渶瑕佸洖搴擄紝鎷嗗畬鍚庡墿绌烘墭鐩樺幓鍙犵洏鏈�
+
+ // 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+ locDetlMapper.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setSheetNo("0");
+ locMast.setModiTime(now);
+ locMast.setIoTime(now);
+ locMastService.updateById(locMast);
+ }
+
+ // 淇敼宸ヤ綔涓绘。鐘舵��
+ wrkMast.setWrkSts(15L);
+ wrkMast.setModiTime(now);
+ wrkMastService.updateById(wrkMast);
+
+ // 涓嬪彂鍘诲彔鐩樹綅缃�
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo.setStaNo(3013);
+ zphjcdwcVo.setSourceStaNo(param.getSourceStaNo());
+ zphjcdwcVo.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+
+ } else { // 鎷嗗畬鍚庤繕鏈夌墿鏂欙紝闇�瑕佸洖搴�
+
+ // 鍏堝垹闄ゅ簱瀛樻槑缁嗭紝閬垮厤杩樻湭鍥炲簱浣嗙粍鐩樼殑鍏堝叆搴撲簡
+ for (WrkDetl wrkDetl : wrkDetls) {
+ locDetlMapper.delete(new EntityWrapper<LocDetl>().eq("brand",wrkDetl.getBrand()));
+ }
+
+ // 淇敼宸ヤ綔涓绘。
+ wrkMast.setWrkSts(52L);
+ wrkMast.setIoType(59);
+ wrkMast.setSourceStaNo(wrkMast.getStaNo());
+ wrkMast.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ wrkMast.setLocNo(wrkMast.getSourceLocNo());
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(now);
+ wrkMastService.updateById(wrkMast);
+
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("S");
+ locMast.setModiTime(now);
+ locMastService.updateById(locMast);
+ }
+
+ // 涓嬪彂鍥炲簱鍛戒护
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ zphjcdwcVo.setSourceStaNo(param.getSourceStaNo());
+ zphjcdwcVo.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+ }
+
+ // 缁勭洏鐐�
+ Integer site = param.getSite();
+
+ // 鍒ゆ柇缁勭洏鏄惁瀹屾垚锛氫袱涓埌鎹㈢洏绔欑偣鐨勪换鍔℃槸鍚﹀畬鎴�
+ Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().eq("io_type", 109).ne("wrk_sts",15);
+ if (site == 3046) {
+ wrapper.in("sta_no",3045,3044);
+ } else {
+ wrapper.in("sta_no",3041,3040);
+ }
+ int count = wrkMastService.selectCount(wrapper);
+
+ // 宸茬粡瀹屾垚鍒欎笅鍙戠粍鐩樼偣鍏ュ簱鍛戒护
+ if (count == 0) {
+ // 鑾峰彇鍒扮粍鐩樼偣鍏ュ簱浠诲姟
+ WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1).eq("io_type", 1).eq("source_sta_no", site));
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast1.getWrkNo());
+ zphjcdwcVo.setStaNo(wrkMast1.getStaNo());
+ zphjcdwcVo.setSourceStaNo(site);
+ zphjcdwcVo.setBarcode(param.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+ }
+
+ return R.ok(zphjcdwcVos);
+ }
+
+ @Override
+ public R requestXhd(String barcode) {
+
+ // 娌℃湁浠诲姟鎴栬�呬笉鏄洏鐐逛换鍔$殑鎵樼洏缁忚繃鍒欒繑鍥�-1锛屽拷鐣�
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+ if (wrkMast == null || wrkMast.getIoType() != 107) {
+ return R.ok(-1);
+ }
+
+ // 搴撳瓨鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("zpallet", barcode));
+ List<String> collect1 = locDetls.stream().map(LocDetl::getOrigin).distinct().collect(Collectors.toList());
+ // 宸ヤ綔鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode));
+ List<String> collect2 = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList());
+
+ // 0鏄庣粏寮傚父,1浜乏锛�2浜彸锛�3閮戒寒
+ if (collect1.size() == 0 || collect2.size() == 0){
+ return R.ok(0);
+ } else if((collect1.size() == 1 && collect2.size() == 1) || (collect1.size() == 2 && collect2.size() == 2)) {
+ return R.ok(3);
+ } else if(collect1.size() == 2 && collect2.size() == 1) {
+ return R.ok(collect2.get(0).equals("宸�") ? 1 : 2);
+ } else {
+ return R.parse("浜俊鍙风伅鏉$爜寮傚父锛�" + barcode);
+ }
+
+ }
+
+ @Override
+ public R getUnfulfilledOrders() {
+ // 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�
+ List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders("");
+ return R.ok(unfulfilledOrders);
+ }
+
+ @Override
+ public R getCrnLaneWayInfo() {
+ List<CrnLaneWayInfoDto> crnLaneWayInfo = basCrnpMapper.getCrnLaneWayInfo();
+ return R.ok(crnLaneWayInfo);
+ }
+
+ @Override
+ public R getOutLocInfoByBarcode(String barcode) {
+
+ // 鏍规嵁鎵樼洏鐮佽幏鍙栦换鍔′富妗�
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+ if (wrkMast == null) {
+ return R.parse("璇ユ潯鐮佹棤姝e湪鎵ц浠诲姟锛�" + barcode);
+ }
+ // 鏍规嵁浠诲姟涓绘。鑾峰彇宸ヤ綔妗f槑缁�
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ // 鎻愬彇鍖呰缁勫彿
+ List<String> brandList = wrkDetls.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList());
+ OutLocInfoDto outLocInfoDto = new OutLocInfoDto();
+ outLocInfoDto.setWrkNo(wrkMast.getWrkNo());
+ List<OutLocInfoDto.Material> materialList = new ArrayList<>();
+ for (String brand : brandList) {
+ // 涓�涓湪绠�
+ OutLocInfoDto.Material material = new OutLocInfoDto.Material();
+ material.setPackageGroupNo(brand); // 鍖呰缁勫彿
+ // 鎸夊寘瑁呯粍鍙疯繃婊�
+ List<WrkDetl> wrkDetls1 = wrkDetls.stream().filter(wrkDetl -> Objects.equals(wrkDetl.getBrand(), brand)).collect(Collectors.toList());
+ // 鍗蜂俊鎭�
+ List<OutLocInfoDto.Material.MaterialDetail> materialDetailList = new ArrayList<>();
+ for (WrkDetl wrkDetl : wrkDetls1) {
+ OutLocInfoDto.Material.MaterialDetail materialDetail = new OutLocInfoDto.Material.MaterialDetail();
+ materialDetail.setRollNo(wrkDetl.getModel());
+ materialDetail.setBoxNo(wrkDetl.getUnit());
+ materialDetail.setSpecs(wrkDetl.getMatnr());
+ material.setBoxPos(wrkDetl.getOrigin()); // 鎵樼洏涓婃湪绠变綅缃�
+ materialDetailList.add(materialDetail);
+ }
+ // 璁㈠崟淇℃伅
+ WrkDetl wrkDetl = wrkDetls1.get(0);
+ if (wrkDetl != null && wrkDetl.getOrderNo() != null) {
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
+ if (order != null) {
+ material.setOrderNo(order.getOrderNo());
+ material.setMemo(order.getMemo());
+ material.setCustomerName(order.getCstmrName());
+ List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders(order.getOrderNo());
+ if (unfulfilledOrders.size() == 1) {
+ OrderStatisticsDto orderStatisticsDto = unfulfilledOrders.get(0);
+ material.setSum(orderStatisticsDto.getSum());
+ material.setToShipQuantity(orderStatisticsDto.getToShipQuantity());
+ material.setWorkQuantity(orderStatisticsDto.getWorkQuantity());
+ }
+ }
+ }
+
+ material.setMaterialDetailList(materialDetailList);
+ materialList.add(material);
+ }
+ outLocInfoDto.setMaterialList(materialList);
+
+ return R.ok(outLocInfoDto);
}
/**
@@ -1718,7 +2085,7 @@
return wrkDetls.size() > 1 ? 1 : 4; // 涓�鏉¤褰曞氨鏄竴鍗�
}
- public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) {
+ public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode,String message) {
boolean success = false;
// 鑾峰彇璇锋眰澶�
Map<String, Object> headers = getHeaders();
@@ -1741,23 +2108,16 @@
.doPost();
if (!Cools.isEmpty(response)) {
success = true;
-// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-// if (!orderService.updateSettle(order.getId(), 6L, null)) {
-// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-// }
} else {
- log.error("zmws鎺ㄩ�佸叆搴撶爜澶寸珯鐐规帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response);
- throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+ log.error(message + "澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL, body, response);
}
} catch (Exception e) {
- log.error("鍏ュ簱璇锋眰鎺ュ彛澶辫触锛歿}", e.getMessage());
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-// return FAIL.setMsg(e.getMessage());
+ log.error(message + "寮傚父锛歿}", e);
} finally {
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "鍏ュ簱",
+ message,
MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL,
null,
"127.0.0.1",
--
Gitblit v1.9.1