From 73051727cc269593ddf3177163bbce582a4a8937 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期四, 18 一月 2024 11:06:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 201 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 4e69974..680f6f9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -17,7 +17,9 @@
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocTypeDto;
import com.zy.common.model.MesCombParam;
+import com.zy.common.model.StartupDto;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
@@ -39,11 +41,7 @@
@Service
public class MobileServiceImpl implements MobileService {
- @Value("${srHangJia.url}")
- private String srHangJiaUrl;
- @Value("${srHangJia.reportInPath}")
- private String reportOutPath;
@Autowired
private MatService matService;
@@ -85,39 +83,138 @@
private ManLocDetlMapper manLocDetlMapper;
@Autowired
private DocTypeService docTypeService;
+ @Autowired
+ private LocDetlRullUpDetailService locDetlRullUpDetailService;
@Override
@Transactional
public void trussComb(TrussCombParam param, Long userId) {
- param.setBarcode(String.valueOf(new Date().getTime()));
+ Date now = new Date();
+ if (param.getSouSta()==145){
+ param.setBarcode(String.valueOf(now.getTime()));
+ }else {
+ if (Cools.isEmpty(param.getBarcode())){
+ throw new CoolException("鍙傛暟锛氭墭鐩樼爜涓虹┖");
+ }
+ }
+ param.setPalletizingNo(147);
+
+
//鍒ゆ柇param鍙傛暟
if (Cools.isEmpty(param.getPalletizingNo())){
- throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
- }else if (Cools.isEmpty(param.getBoxType())){
- throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
- }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){
- throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+ throw new CoolException("鍙傛暟锛氬師绔欑偣缂栧彿涓虹┖");
+ }else if (param.getSouSta()==145 && param.getMatList().size() != 1){
+ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖ 鎴栬�� 澶т簬1涓槑缁�");
+ }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() > 2){
+ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖ 鎴栬�� 澶т簬2涓槑缁�");
}
- param.setStaEnd(param.getPalletizingNo2());
-
- try{
- ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, param);
- if (success.getCode()!=200){
- throw new CoolException("缁勬墭澶辫触");
+ String matnr = null;
+ List<WaitPakin> waitPakins = new ArrayList<>();
+ for (TrussCombParam.MatList matList:param.getMatList()){
+ long rollUp = new Date().getTime();
+ Mat mat = matService.selectByMatnr(matList.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
- } catch (Exception e){
- throw new CoolException("缁勬墭澶辫触");
+ matnr = mat.getMatnr();
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(mat);
+ waitPakin.setModel(matList.getModel()); //鎵规
+ waitPakin.setSpecs(matList.getSpecs()); //瑙勬牸
+ waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜
+ waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
+ waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮�
+ waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme((double)matList.getAnfme()); // 鏈ㄧ涓摐绠旀暟閲�
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ waitPakin.setRollUp(rollUp);
+ if (!Cools.isEmpty(matList.getMatDetlList())){
+ for (TrussCombParam.MatDetlList matDetlList:matList.getMatDetlList()){
+ LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
+ locDetlRullUpDetail.setUuid(rollUp);
+ locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
+ locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
+ locDetlRullUpDetailService.insert(locDetlRullUpDetail);
+ }
+ }
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ waitPakins.add(waitPakin);
+ }
+
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short)1);
+
+ StartupDto dto = commonService.getLocNo(1, 1, param.getSouSta(), matnr,null,null, locTypeDto);
+
+ int workNo = dto.getWorkNo();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾�
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ waitPakins.forEach(waitPakin -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(waitPakin);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setRollUp(waitPakin.getRollUp());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")){
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
}
}
+ //wms鍏ュ簱缁勬墭 閫�搴撳崟閫�搴撶粍鎵�
@Override
@Transactional
public void trussCombOrder(TrussCombParam param, Long userId) {
-
- param.setBarcode(String.valueOf(new Date().getTime()));
+ Date now = new Date();
+ param.setBarcode(String.valueOf(now.getTime()));
+ param.setPalletizingNo(147);
//鍒ゆ柇param鍙傛暟
if (Cools.isEmpty(param.getPalletizingNo())){
@@ -152,7 +249,7 @@
}
List<String> matListBoxNoList = new ArrayList<>();
for (TrussCombParam.MatList matList: param.getMatList()){
- if (!orderBoxNoList.contains(matList.getBoxNo())){
+ if (!orderBoxNoList.contains(matList.getBatch())){
throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
}else {
matListBoxNoList.add(matList.getBoxNo());
@@ -165,20 +262,91 @@
orderDetlList.add(orderDetl);
}
}
+ String matnr = null;
+ List<WaitPakin> waitPakins = new ArrayList<>();
-
-
-
-
-
- TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList);
- try{
- ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, trussCombParam);
- if (success.getCode()!=200){
- throw new CoolException("缁勬墭澶辫触");
+ for (OrderDetl orderDetl:orderDetlList){
+ Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
- } catch (Exception e){
- throw new CoolException("缁勬墭澶辫触");
+ matnr = mat.getMatnr();
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(mat);
+ waitPakin.setModel(orderDetl.getModel()); //鎵规
+ waitPakin.setSpecs(orderDetl.getSpecs()); //瑙勬牸
+ waitPakin.setBatch(orderDetl.getBatch()); //鏈ㄧ缂栫爜
+ waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
+ waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮�
+ waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(orderDetl.getAnfme()); // 鏈ㄧ涓摐绠旀暟閲�
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ waitPakin.setRollUp(orderDetl.getRollUp());
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ waitPakins.add(waitPakin);
+ }
+
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short)1);
+
+ StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto);
+
+ int workNo = dto.getWorkNo();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾�
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ waitPakins.forEach(waitPakin -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(waitPakin);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setRollUp(waitPakin.getRollUp());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")){
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
}
}
@Override
--
Gitblit v1.9.1