From 105168a0c03b1361aefa8facc34639ca4ed676fd Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期一, 15 一月 2024 12:24:47 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 17 +
src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java | 36 ++-
src/main/java/com/zy/asrs/entity/WrkDetl.java | 2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 94 ++++++++++
src/main/java/com/zy/asrs/controller/MobileController.java | 7
src/main/java/com/zy/common/web/WcsController.java | 24 +-
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 172 +++++++++++++++++++
src/main/java/com/zy/asrs/entity/param/TrussCombParam.java | 88 +++++++--
src/main/java/com/zy/asrs/service/OpenService.java | 1
src/main/java/com/zy/asrs/service/MobileService.java | 1
src/main/java/com/zy/asrs/utils/PostMesDataUtils.java | 69 +++++++
11 files changed, 462 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 8683a42..2256762 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -206,6 +206,13 @@
return R.ok("缁勬墭鎴愬姛");
}
+ @RequestMapping("/truss/order/auth")
+ @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴擄紝閫�搴撳崟閫�搴�")
+ public R trussCombOrder(@RequestBody TrussCombParam combParam){
+ mobileService.trussCombOrder(combParam, getUserId());
+ return R.ok("缁勬墭鎴愬姛");
+ }
+
@RequestMapping("/truss/comd/auth")
@ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱")
public R trussComb2(@RequestBody PalletizingCompleteParam combParam){
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index a343c06..425582e 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -222,7 +222,7 @@
* 涓帶锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�
*/
@PostMapping("/palletizing/complete/auth/v1")
- @AppAuth(memo = "鐮佸灈瀹屾垚涓嬪彂鍏ュ簱淇℃伅")
+ @AppAuth(memo = "涓帶(2妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�")
public synchronized R palletizingComplete(@RequestHeader(required = false) String appkey,
@RequestBody PalletizingCompleteParam param,
HttpServletRequest request) {
@@ -234,6 +234,21 @@
}
/**
+ * 鏉剧洓(1妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�
+ */
+ @PostMapping("/palletizing/complete/auth/v2")
+ @AppAuth(memo = "鏉剧洓(1妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�")
+ public synchronized R palletizingCompleteS(@RequestHeader(required = false) String appkey,
+ @RequestBody PalletizingCompleteParam param,
+ HttpServletRequest request) {
+// appkey = "ea1f0459efc02a79f046f982767939ae";
+
+ auth(appkey, param, request);
+ openService.palletizingComplete(param);
+ return R.ok(param);
+ }
+
+ /**
* 涓帶锛氬嚭搴撳畬鎴愭湀鍙扮浉鍏�
*/
@PostMapping("/balcony/complete/auth/v1")
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index 2e40634..7959e9f 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -128,7 +128,7 @@
/**
* 浜у湴
*/
- @ApiModelProperty(value= "浜у湴")
+ @ApiModelProperty(value= "浜у湴 //姹熼摐 鏈ㄧ浣嶇疆")
private String origin;
/**
diff --git a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
index 14b5e2a..2198560 100644
--- a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
@@ -11,8 +11,11 @@
public class PalletizingCompleteParam {
private String barcode;// 鏄� 瀛楃涓� 鎵樼洏鐮�
- private String palletizingNo;// 鏄� 瀛楃涓� 鐮佸灈浣嶇紪鍙�
+ private Integer palletizingNo = 147;// 鏄� 瀛楃涓� 鐮佸灈浣嶇紪鍙�
+ private Integer palletizingNo2;// 鏄� 瀛楃涓� 鐩爣浣嶇疆缂栧彿
private String boxType;// 鏄� 瀛楃涓� 鏈ㄧ绫诲瀷
+ private String orderNo;// 鏄� 瀛楃涓� 璁㈠崟缂栧彿
+ private String uuid;// 鏄� 瀛楃涓� 璁㈠崟缂栧彿
private String createTime;// 鏄� 瀛楃涓� 鍒涘缓鏃堕棿
private List<MatList> matLists;// 鏄� 鍒楄〃 鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級
@@ -27,6 +30,7 @@
private Integer anfme;// 鏄� 鏁板瓧鍨� 鏈ㄧ涓摐绠旀暟閲�
private String batch;// (鏄惁鍒嗘壒) 瀛楃涓� 鎵规鍙�
private String specs;// (鏄惁闇�瑕侊級 瀛楃涓� 瑙勬牸
+ private String standby4;// 鍗蜂俊鎭痷uid
private List<MatDetlList> matDetlList;// 鏄� 鍒楄〃 鏈ㄧ涓摐绠斾俊鎭�
}
@@ -39,20 +43,20 @@
private String specsDetl;// (鏄惁闇�瑕侊級 瀛楃涓� 瑙勬牸
}
- public Integer getDevNo$(){
- if (!Cools.isEmpty(this.palletizingNo)){
- switch (this.palletizingNo){
- case "1":
- return 220;
- case "2":
- return 216;
- case "3":
- return 118;
- default:
- return null;
- }
- }
- return null;
- }
+// public Integer getDevNo$(){
+// if (!Cools.isEmpty(this.palletizingNo)){
+// switch (this.palletizingNo){
+// case "1":
+// return 219;
+// case "2":
+// return 215;
+// case "3":
+// return 118;
+// default:
+// return null;
+// }
+// }
+// return null;
+// }
}
diff --git a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
index 1c49418..d99aef9 100644
--- a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -1,6 +1,16 @@
package com.zy.asrs.entity.param;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.LocDetlRullUpDetail;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.LocDetlRullUpDetailService;
+import com.zy.asrs.service.OrderService;
+import io.swagger.models.License;
import lombok.Data;
+
+import java.util.ArrayList;
import java.util.List;
/**
@@ -9,35 +19,77 @@
@Data
public class TrussCombParam {
- private String barcode;// 瀛楃涓� 鎵樼洏鐮�
- private String palletizingNo;// 鏄� 瀛楃涓� 鐮佸灈浣嶇紪鍙�
- private String palletizingNo2;// 鏄� 瀛楃涓� 鐩爣鐮佸灈浣嶇紪鍙�
- private String boxType;// 鏄� 瀛楃涓� 鏈ㄧ绫诲瀷
- private String uuid;// 瀛楃涓� 鏃堕棿鎴�
+ private String barcode;// 瀛楃涓� 鎵樼洏鐮� 璁㈠崟鍏辩敤 //涓婁紶
+ private Integer palletizingNo = 147;// 鏄� 瀛楃涓� 鐮佸灈浣嶇紪鍙�
+ private Integer staStart = 147;// 鏄� 瀛楃涓� 鐮佸灈浣嶇紪鍙� //涓婁紶
+ private Integer palletizingNo2;// 鏄� 瀛楃涓� 鐩爣鐮佸灈浣嶇紪鍙� 璁㈠崟鍏辩敤
+ private Integer staEnd;// 鏄� 瀛楃涓� 鐩爣鐮佸灈浣嶇紪鍙� 璁㈠崟鍏辩敤 //涓婁紶
+ private String boxType;// 鏄� 瀛楃涓� 鏈ㄧ绫诲瀷 brand //涓婁紶
+ private String uuid;// 瀛楃涓� 鏃堕棿鎴� //涓婁紶
private String createTime;// 瀛楃涓� 鍒涘缓鏃堕棿
+ private String orderNo;// 瀛楃涓� 璁㈠崟鍙� //涓婁紶
- private List<MatList> matLists;// 鏄� 鍒楄〃 鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級
+ private List<MatList> matList;// 鏄� 鍒楄〃 鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級 //涓婁紶
@Data
public static class MatList{
- private String matnr;// 鏄� 瀛楃涓� 鐗╂枡缂栫爜
- private String maktx;// 瀛楃涓� 鐗╂枡鍚嶇О
- private String boxNo;// 鏄� 瀛楃涓� 鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級
- private String position;// 鏄� 瀛楃涓� 鏈ㄧ浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
- private Double weight;// 鏄� 灏忔暟鍨� 閲嶉噺
- private Integer anfme;// 鏁板瓧鍨� 鏈ㄧ涓摐绠旀暟閲�
- private String batch;// 瀛楃涓� 鎵规鍙�
+ private String matnr;// 鏄� 瀛楃涓� 鐗╂枡缂栫爜 //涓婁紶
+ private String maktx;// 瀛楃涓� 鐗╂枡鍚嶇О //涓婁紶
+ private String boxNo;// 鏄� 瀛楃涓� 鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級 batch //涓婁紶
+ private String position;// 鏄� 瀛楃涓� 鏈ㄧ浣嶇疆锛堟媶鍨涙椂闇�瑕侊級 origin //涓婁紶
+ private Double weight;// 鏄� 灏忔暟鍨� 閲嶉噺 //涓婁紶
+ private Integer anfme;// 鏁板瓧鍨� 鏈ㄧ涓摐绠旀暟閲� //涓婁紶
+ private String batch;// 瀛楃涓� 绠卞彿
private String specs;// 瀛楃涓� 瑙勬牸
+ private String standby4;// 鍗蜂俊鎭疘d //涓婁紶
private List<MatDetlList> matDetlList;// 鏄� 鍒楄〃 鏈ㄧ涓摐绠斾俊鎭�
}
@Data
public static class MatDetlList{
- private String boxNoDetl;// 鏄� 瀛楃涓� 閾滅當缂栧彿锛堝敮涓�瀛楁锛�
- private String positionDetl;// 鏄� 瀛楃涓� 閾滅當浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
- private Double weightDetl;// 鏄� 灏忔暟鍨� 閲嶉噺
- private String batchDetl;// 瀛楃涓� 鎵规鍙�
- private String specsDetl;// 瀛楃涓� 瑙勬牸
+ private String boxNoDetl;// 鏄� 瀛楃涓� 閾滅當缂栧彿锛堝敮涓�瀛楁锛� //涓婁紶
+ private String positionDetl;// 鏄� 瀛楃涓� 閾滅當浣嶇疆锛堟媶鍨涙椂闇�瑕侊級 //涓婁紶
+ private String weightDetl;// 鏄� 灏忔暟鍨� 閲嶉噺 //涓婁紶
+ private String batchDetl;// 瀛楃涓� 鎵规鍙� //涓婁紶
+ private String specsDetl;// 瀛楃涓� 瑙勬牸 //涓婁紶
+ }
+
+ public TrussCombParam(){}
+
+ public TrussCombParam(TrussCombParam trussCombParam, Order order, List<OrderDetl> orderDetlList){
+ LocDetlRullUpDetailService locDetlRullUpDetailService = SpringUtils.getBean(LocDetlRullUpDetailService.class);
+
+ this.barcode = trussCombParam.getBarcode();
+ this.staStart = 147;
+ this.staEnd = trussCombParam.getStaEnd();
+ this.boxType = orderDetlList.get(0).getBrand();
+ this.uuid = trussCombParam.getBarcode();
+ this.orderNo = trussCombParam.getOrderNo();
+ List<MatList> matLists = new ArrayList<>();
+ for (OrderDetl orderDetl:orderDetlList){
+ MatList matList = new MatList();
+ matList.setMatnr(orderDetl.getMatnr());
+ matList.setMaktx(orderDetl.getMaktx());
+ matList.setAnfme(orderDetl.getAnfme().intValue());
+ matList.setBatch(orderDetl.getBatch());
+ matList.setBoxNo(orderDetl.getBatch());
+ matList.setPosition("1");
+ matList.setWeight(orderDetl.getWeight());
+ matList.setSpecs(orderDetl.getSpecs());
+ List<MatDetlList> matDetlLists= new ArrayList<>();
+ List<LocDetlRullUpDetail> locDetlRullUpDetails = locDetlRullUpDetailService.selectList(new EntityWrapper<LocDetlRullUpDetail>().eq("uuid", orderDetl.getUnit()));
+ for (LocDetlRullUpDetail locDetlRullUpDetail:locDetlRullUpDetails){
+ MatDetlList matDetlList = new MatDetlList();
+ matDetlList.setBoxNoDetl(locDetlRullUpDetail.getRollNo());
+ matDetlList.setWeightDetl(locDetlRullUpDetail.getRollWeight());
+ matDetlList.setBatchDetl(locDetlRullUpDetail.getStandby1());
+ matDetlList.setSpecsDetl(locDetlRullUpDetail.getStandby2());
+ matDetlLists.add(matDetlList);
+ }
+ matList.setMatDetlList(matDetlLists);
+ matLists.add(matList);
+ }
+ this.matList = matLists;
}
}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 26b564a..1d93e24 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -15,6 +15,7 @@
*/
void comb(CombParam param, Long userId);
void trussComb(TrussCombParam param, Long userId);
+ void trussCombOrder(TrussCombParam param, Long userId);
void trussComb2(PalletizingCompleteParam param, Long userId);
/**
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 3bcfe4c..3144915 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -51,6 +51,7 @@
void balconyComplete(LabellerMatParam param);
void palletizingComplete(PalletizingCompleteParam param);
+ void palletizingCompleteS(PalletizingCompleteParam param);
void singleUnstackingComplete(SingleUnstackingCompleteParam param);
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 d17cace..dbdd277 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -10,7 +10,9 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.MatUtils;
+import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.common.CodeRes;
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
@@ -20,6 +22,7 @@
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +38,12 @@
@Slf4j
@Service
public class MobileServiceImpl implements MobileService {
+
+ @Value("${srHangJia.url}")
+ private String srHangJiaUrl;
+
+ @Value("${srHangJia.reportOutPath}")
+ private String reportOutPath;
@Autowired
private MatService matService;
@@ -74,13 +83,96 @@
private ManLocDetlService manLocDetlService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private DocTypeService docTypeService;
@Override
@Transactional
public void trussComb(TrussCombParam param, Long userId) {
- param.setUuid(String.valueOf(new Date().getTime()));
+ param.setBarcode(String.valueOf(new Date().getTime()));
+ //鍒ゆ柇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涓虹┖");
+ }
+
+ param.setStaEnd(param.getPalletizingNo2());
+
+ try{
+ ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, param);
+ if (success.getCode()!=200){
+ throw new CoolException("缁勬墭澶辫触");
+ }
+ } catch (Exception e){
+ throw new CoolException("缁勬墭澶辫触");
+ }
+ }
+
+ @Override
+ @Transactional
+ public void trussCombOrder(TrussCombParam param, Long userId) {
+
+ param.setBarcode(String.valueOf(new Date().getTime()));
+
+ //鍒ゆ柇param鍙傛暟
+ if (Cools.isEmpty(param.getPalletizingNo())){
+ throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
+ }else if (Cools.isEmpty(param.getOrderNo())){
+ throw new CoolException("鍙傛暟锛氶��璐у崟鍗曞彿 orderNo涓虹┖");
+ }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){
+ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+ }
+
+ Order order = orderService.selectByNo(param.getOrderNo());
+ if (Cools.isEmpty(order)){
+ throw new CoolException("鏈煡璇㈠埌姝よ鍗曪紝鍗曞彿锛�"+param.getOrderNo());
+ }
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if (Cools.isEmpty(docType) || !docType.getDocName().equals("閫�璐у叆搴撳崟")){
+ throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+"涓嶆槸閫�璐у叆搴撳崟");
+ }
+
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+ if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){
+ throw new CoolException("鏈煡璇㈠埌姝よ鍗曟槑缁嗭紝鍗曞彿锛�"+param.getOrderNo());
+ }
+ List<String> orderBoxNoList = new ArrayList<>();
+ for (OrderDetl orderDetl: orderDetls){
+ if (orderDetl.getWorkQty()==0){
+ orderBoxNoList.add(orderDetl.getBatch());
+ }
+ }
+ if (orderBoxNoList.size()==0 || orderBoxNoList.size()<param.getMatList().size()){
+ throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 閫�璐ф暟閲忓ぇ浜庢槑缁嗘暟閲�");
+ }
+ List<String> matListBoxNoList = new ArrayList<>();
+ for (TrussCombParam.MatList matList: param.getMatList()){
+ if (!orderBoxNoList.contains(matList.getBoxNo())){
+ throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
+ }else {
+ matListBoxNoList.add(matList.getBoxNo());
+ }
+ }
+ List<OrderDetl> orderDetlList = new ArrayList<>();
+ for (OrderDetl orderDetl: orderDetls){
+ if (matListBoxNoList.contains(orderDetl.getBatch())){
+ orderDetlList.add(orderDetl);
+ }
+ }
+ TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList);
+ try{
+ ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, trussCombParam);
+ if (success.getCode()!=200){
+ throw new CoolException("缁勬墭澶辫触");
+ }
+ } catch (Exception e){
+ throw new CoolException("缁勬墭澶辫触");
+ }
}
@Override
@Transactional
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 13f2923..f7788cf 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
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;
@@ -14,9 +15,13 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocTypeDto;
+import com.zy.common.model.StartupDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.NodeUtils;
+import com.zy.common.web.WcsController;
+import com.zy.common.web.param.SearchLocParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -71,6 +76,8 @@
private WrkMastStaLogService wrkMastStaLogService;
@Autowired
private StaDescService staDescService;
+ @Autowired
+ private LocMastService locMastService;
@Override
@Transactional
@@ -788,6 +795,171 @@
}
+ /*
+ * 鏉剧洓(1妤�)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭�
+ * */
+ @Override
+ @Transactional
+ public void palletizingCompleteS(PalletizingCompleteParam param) {
+ Long userId = 7776L;//鏉剧洓
+ //鍒ゆ柇param鍙傛暟
+ if (Cools.isEmpty(param.getBarcode())){
+ throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
+ }else if (Cools.isEmpty(param.getPalletizingNo())){
+ throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
+ }else if (Cools.isEmpty(param.getBoxType())){
+ throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
+ }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()!=1){
+ throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+ }
+
+ ArrayList<String> positions = new ArrayList<>(); //鏈ㄧ浣嶇疆鏌ラ噸 (orgin)
+ ArrayList<String> boxNos = new ArrayList<>(); //鏈ㄧ鍞竴缂栫爜鏌ラ噸 锛坆atch锛�
+ //鍒ゆ柇matLists鍙傛暟
+ for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+ if (Cools.isEmpty(matList.getMatnr())){
+ throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+ }else if (Cools.isEmpty(matList.getPosition())){
+ throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
+ }else if (Cools.isEmpty(matList.getBoxNo())){
+ throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
+ }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
+ throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ涓摐绠旀暟閲� anfme涓虹┖");
+ }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
+ throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖");
+ }
+
+ if (!positions.contains(matList.getPosition())){
+ positions.add(matList.getPosition());
+ }else {
+ throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition());
+ }
+
+ if (!boxNos.contains(matList.getBoxNo())){
+ boxNos.add(matList.getBoxNo());
+ }else {
+ throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
+ }
+ }
+
+ BasDevp basDevp = basDevpService.selectById(param.getPalletizingNo2());
+ if (Cools.isEmpty(basDevp)){
+ throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo="+param.getPalletizingNo2()+"涓嶅瓨鍦�");
+ }
+ if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
+ throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�");
+ }
+ if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
+ throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�");
+ }
+// if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
+// throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�");
+// }
+
+
+ if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0
+ || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0
+ || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){
+ throw new CoolException("鎵樼洏鏉$爜锛�"+param.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+ }
+
+
+ Date now = new Date();
+ List<WaitPakin> waitPakins = new ArrayList<>();
+ String matnr = null;
+ for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+ long rollUp = new Date().getTime();
+ Mat mat = matService.selectByMatnr(matList.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+ matnr = mat.getMatnr();
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(mat);
+ waitPakin.setModel(matList.getBatch()); //鎵规
+ waitPakin.setSpecs(matList.getSpecs()); //瑙勬牸
+ waitPakin.setBatch(matList.getBoxNo()); //鏈ㄧ缂栫爜
+ waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
+ waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮�
+ waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+ waitPakin.setIoStatus("Y"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(matList.getAnfme().doubleValue()); // 鏈ㄧ涓摐绠旀暟閲�
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ waitPakin.setRollUp(rollUp);
+ if (!Cools.isEmpty(matList.getMatDetlList())){
+ for (PalletizingCompleteParam.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.getPalletizingNo2(), 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);
+ 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()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ }
+
/*
*涓帶锛氬嚭搴撳畬鎴愭湀鍙扮浉鍏�
diff --git a/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java b/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java
new file mode 100644
index 0000000..dad036d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/PostMesDataUtils.java
@@ -0,0 +1,69 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.impl.ApiLogServiceImpl;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+
+@Slf4j
+public class PostMesDataUtils extends AbstractHandler<String> {
+
+ public ReturnT<String> postMesData(String name,String URL,String mesPath, Object combParam){
+// if (true){
+// System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam);
+// return SUCCESS;
+// }
+ if(combParam != null){
+ String response = "";
+ boolean success = false;
+ try {
+// Map<String, Object> map = new HashMap<>()
+// map.put("appkey","ea1f0459efc02a79f046f982767939ae");
+ response = new HttpHandler.Builder()
+// .setHeaders(map)
+ .setUri(URL)
+ .setPath(mesPath)
+ .setJson(JSON.toJSONString(combParam))
+ .build()
+ .doPost();
+ System.out.println("response:"+response);
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if (jsonObject.getInteger("code").equals(200)) {
+ success = true;
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
+ throw new CoolException("涓婃姤"+name);
+ }
+ } catch (Exception e) {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+ apiLogService.save(
+ "涓婃姤"+name,
+ URL +"/"+ mesPath,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(combParam),
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e); }
+ }
+ }
+ return SUCCESS;
+ }
+}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 16f7ce4..780c3bd 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -271,12 +271,12 @@
if (!waitPakinService.update(setParam, wrapper)) {
throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
}
- // 鏇存柊婧愮珯鐐逛俊鎭�
- sourceStaNo.setWrkNo(workNo);
- sourceStaNo.setModiTime(now);
- if (!basDevpService.updateById(sourceStaNo)){
- throw new CoolException("鏇存柊婧愮珯澶辫触");
- }
+// // 鏇存柊婧愮珯鐐逛俊鎭�
+//// sourceStaNo.setWrkNo(workNo);
+// sourceStaNo.setModiTime(now);
+// if (!basDevpService.updateById(sourceStaNo)){
+// throw new CoolException("鏇存柊婧愮珯澶辫触");
+// }
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
if (locMast.getLocSts().equals("O")){
@@ -323,12 +323,12 @@
if (!res) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
- // 鏇存柊婧愮珯鐐逛俊鎭�
- sourceStaNo.setWrkNo(workNo);
- sourceStaNo.setModiTime(new Date());
- if (!basDevpService.updateById(sourceStaNo)){
- throw new CoolException("鏇存柊婧愮珯澶辫触");
- }
+// // 鏇存柊婧愮珯鐐逛俊鎭�
+// sourceStaNo.setWrkNo(workNo);
+// sourceStaNo.setModiTime(new Date());
+// if (!basDevpService.updateById(sourceStaNo)){
+// throw new CoolException("鏇存柊婧愮珯澶辫触");
+// }
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
if (locMast.getLocSts().equals("O")){
--
Gitblit v1.9.1