From d51a3179dd086c902df4a6e8afeaef3a5d22bd93 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 21 八月 2025 08:57:30 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 371 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 271 insertions(+), 100 deletions(-)
diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
index 202d21b..04efe68 100644
--- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
+++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -1,7 +1,6 @@
package com.zy.nc.task.handler;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.InventoryCheckOrder;
@@ -9,26 +8,21 @@
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.service.InventoryCheckOrderDetlService;
-import com.zy.asrs.service.InventoryCheckOrderService;
-import com.zy.asrs.service.MatService;
-import com.zy.asrs.service.OpenService;
+import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.model.DetlDto;
-import com.zy.nc.entity.NccCgCgdhdWms;
-import com.zy.nc.entity.NccCkPddWms;
-import com.zy.nc.entity.NccSaleXsfhmxWms;
-import com.zy.nc.entity.NccScZkmxbWms;
-import com.zy.nc.service.NccCgCgdhdWmsService;
-import com.zy.nc.service.NccCkPddWmsService;
-import com.zy.nc.service.NccSaleXsfhmxWmsService;
-import com.zy.nc.service.NccScZkmxbWmsService;
+import com.zy.nc.entity.*;
+import com.zy.nc.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
@Service
@@ -45,6 +39,9 @@
private NccCgCgdhdWmsService nccCgCgdhdWmsService;
@Autowired
+ private NccSaleDbddWmsService nccSaleDbddWmsService;
+
+ @Autowired
private NccCkPddWmsService nccCkPddWmsService;
@Autowired
@@ -58,108 +55,222 @@
@Autowired
private OpenService openService;
+ @Autowired
+ private StoreTypeService storeTypeService;
/**
* 鍙戣揣
*
* @return
*/
- public ReturnT<String> start1() {
- List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh();
- for (String id : Ids) {
- List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2));
- OpenOrderPakoutParam param = new OpenOrderPakoutParam();
- param.setOrderType("閿�鍞彂璐�");
- DetlDto detlDto;
- List<DetlDto> orderDetails = new ArrayList<>();
- long i = 1;
- for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) {
- if (nccSaleXsfhmxWms.getFstatusflag() == 2 && nccSaleXsfhmxWms.getBdr() == 0 && nccSaleXsfhmxWms.getHdr() == 0) {
+ @Transactional
+ public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) {
+ try {
+ List<String> ids = storeTypeService.listOwn();
+ HashMap<String, List<NccSaleXsfhmxWms>> map = new HashMap<>();
+ List<NccSaleXsfhmxWms> fenzu;
+ for (NccSaleXsfhmxWms wms : wmsFlag) {
+ if(!ids.contains(wms.getFhckbm())){
+ continue;
+ }
+
+ if (map.get(wms.getFhckbm()) == null) {
+ fenzu = new ArrayList<>();
+ fenzu.add(wms);
+ map.put(wms.getFhckbm(), fenzu);
+ } else {
+ fenzu = map.get(wms.getFhckbm());
+ fenzu.add(wms);
+ map.put(wms.getFhckbm(), fenzu);
+ }
+ }
+ int size = 1;
+ for (String key : map.keySet()) {
+ OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+ DetlDto detlDto;
+ List<DetlDto> orderDetails = new ArrayList<>();
+ long i = 1;
+ for (NccSaleXsfhmxWms nccSaleXsfhmxWms : map.get(key)) {
+ param.setOrderType("閿�鍞彂璐�");
detlDto = new DetlDto();
detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
- detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue());
+ detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue());
+ detlDto.setBatch(nccSaleXsfhmxWms.getVbatchcode());
+ detlDto.setWeight(nccSaleXsfhmxWms.getNastnum().doubleValue());
+ detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm());
detlDto.setLineNumber(i);
detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
orderDetails.add(detlDto);
log.info("NccSaleXsfhmxWms鏁版嵁:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
i++;
+ nccSaleXsfhmxWms.setWmsFlag(1);
+ param.setOrderNo(nccSaleXsfhmxWms.getVbillcode() + "-" + size);
+ param.setCstmrName(nccSaleXsfhmxWms.getKhmc());
+ param.setKpCstmrName(nccSaleXsfhmxWms.getKpkhmc());
}
- nccSaleXsfhmxWms.setWmsFlag(1);
+ param.setOrderDetails(orderDetails);
+ openService.pakoutOrderCreate(param);
+ nccSaleXsfhmxWmsService.updateBatchById(map.get(key));
+ size++;
}
- param.setOrderNo(id);
- param.setOrderDetails(orderDetails);
- openService.pakoutOrderCreate(param);
- nccSaleXsfhmxWmsService.updateBatchById(wmsFlag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
}
return SUCCESS;
}
/**
- * 杞簱
+ * 鍙戣揣
*
* @return
*/
- public ReturnT<String> start2() {
- List<String> strings = nccScZkmxbWmsService.selectZk();
- for (String string : strings) {
- OpenOrderPakoutParam param = new OpenOrderPakoutParam();
- param.setOrderType("杞簱");
+ @Transactional
+ public ReturnT<String> start1In(List<NccSaleXsfhmxWms> wmsFlag) {
+ try {
+ OpenOrderPakinParam param = new OpenOrderPakinParam();
DetlDto detlDto;
List<DetlDto> orderDetails = new ArrayList<>();
long i = 1;
- List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1));
- for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) {
- log.info("NccScZkmxbWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
- if (nccScZkmxbWms.getDjzt() == 2 && nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
- detlDto = new DetlDto();
- detlDto.setMatnr(nccScZkmxbWms.getWlbm());
- detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
- detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
- detlDto.setLineNumber(i);
- orderDetails.add(detlDto);
- i++;
- }
- nccScZkmxbWms.setWmsFlag(1);
+ for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) {
+ param.setOrderType("閿�鍞��璐�");
+ detlDto = new DetlDto();
+ detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
+ detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue());
+ detlDto.setWeight(nccSaleXsfhmxWms.getNastnum().doubleValue());
+ detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm());
+ detlDto.setLineNumber(i);
+ detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
+ orderDetails.add(detlDto);
+ log.info("NccSaleXsfhmxWms鏁版嵁:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
+ i++;
+ nccSaleXsfhmxWms.setWmsFlag(1);
+ param.setOrderNo(nccSaleXsfhmxWms.getVbillcode());
}
- param.setOrderNo(string);
param.setOrderDetails(orderDetails);
- openService.pakoutOrderCreate(param);
- nccScZkmxbWmsService.updateBatchById(wmsFlag);
+ openService.pakinOrderCreate(param);
+ nccSaleXsfhmxWmsService.updateBatchById(wmsFlag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
}
return SUCCESS;
}
+ /**
+ * 杞簱锛屽寘鍚骇鎴愬搧鍏ュ簱鍗�
+ *
+ * @return
+ */
+ @Transactional
+ public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) {
+ try {
+ OpenOrderPakinParam param = new OpenOrderPakinParam();
+ param.setOrderType("杞簱-鍏ュ簱");
+ DetlDto detlDto;
+ List<DetlDto> orderDetails = new ArrayList<>();
+ long i = 1;
+ for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) {
+ log.info("NccScZkmxbWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
+ detlDto = new DetlDto();
+ detlDto.setMatnr(nccScZkmxbWms.getWlbm());
+ detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
+ detlDto.setWeight(nccScZkmxbWms.getYingzsl().doubleValue());
+ detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
+ detlDto.setLineNumber(i);
+ detlDto.setRemark(JSONObject.toJSONString(nccScZkmxbWms));
+ detlDto.setStandby1(nccScZkmxbWms.getRkckbm());
+ orderDetails.add(detlDto);
+ i++;
+ nccScZkmxbWms.setWmsFlag(1);
+ param.setOrderNo(nccScZkmxbWms.getVbillcode());
+ }
+ param.setOrderDetails(orderDetails);
+ openService.pakinOrderCreate(param);
+ nccScZkmxbWmsService.updateBatchById(wmsFlag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
+
+ /**
+ * 杞簱锛屽寘鍚嚭搴�
+ *
+ * @return
+ */
+ @Transactional
+ public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) {
+ try {
+ OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+ param.setOrderType("杞簱-鍑哄簱");
+ DetlDto detlDto;
+ List<DetlDto> orderDetails = new ArrayList<>();
+ long i = 1;
+ for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) {
+ log.info("NccScZkmxbWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
+ detlDto = new DetlDto();
+ detlDto.setMatnr(nccScZkmxbWms.getWlbm());
+ detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
+ detlDto.setWeight(nccScZkmxbWms.getYingzsl().doubleValue());
+ detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
+ detlDto.setLineNumber(i);
+ detlDto.setRemark(JSONObject.toJSONString(nccScZkmxbWms));
+ orderDetails.add(detlDto);
+ i++;
+ nccScZkmxbWms.setWmsFlag(1);
+ param.setOrderNo(nccScZkmxbWms.getVbillcode());
+ }
+ param.setOrderDetails(orderDetails);
+ openService.pakoutOrderCreate(param);
+ nccScZkmxbWmsService.updateBatchById(wmsFlag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
/**
* 閲囪喘鍒拌揣
*
* @return
*/
- public ReturnT<String> start3() {
- List<String> strings = nccCgCgdhdWmsService.selectCg();
- for (String string : strings) {
+ @Transactional
+ public ReturnT<String> start3(List<NccCgCgdhdWms> wmsFlag) {
+ try {
OpenOrderPakinParam param = new OpenOrderPakinParam();
param.setOrderType("閲囪喘鍒拌揣");
DetlDto detlDto;
List<DetlDto> orderDetails = new ArrayList<>();
long i = 1;
- List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1));
- for (NccCgCgdhdWms nccScZkmxbWms : wmsFlag) {
- log.info("NccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
- if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getHdr() == 0) {
- detlDto = new DetlDto();
- detlDto.setMatnr(nccScZkmxbWms.getWlbm());
- detlDto.setAnfme(nccScZkmxbWms.getYdzsl().doubleValue());
- detlDto.setLineNumber(i);
- orderDetails.add(detlDto);
- i++;
- }
- nccScZkmxbWms.setWmsFlag(1);
+ for (NccCgCgdhdWms nccCgCgdhdWms : wmsFlag) {
+ log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms));
+ detlDto = new DetlDto();
+ detlDto.setMatnr(nccCgCgdhdWms.getWlbm());
+ detlDto.setAnfme(nccCgCgdhdWms.getYdzsl().doubleValue());
+ detlDto.setAnfme(nccCgCgdhdWms.getYdsl().doubleValue());
+ detlDto.setBatch(nccCgCgdhdWms.getVbatchcode());
+ detlDto.setLineNumber(i);
+ detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms));
+ detlDto.setStandby1(nccCgCgdhdWms.getCkbm());
+ orderDetails.add(detlDto);
+ i++;
+ nccCgCgdhdWms.setWmsFlag(1);
+ param.setOrderNo(nccCgCgdhdWms.getVbillcode());
}
- param.setOrderNo(string);
param.setOrderDetails(orderDetails);
openService.pakinOrderCreate(param);
nccCgCgdhdWmsService.updateBatchById(wmsFlag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
}
return SUCCESS;
}
@@ -170,41 +281,101 @@
*
* @return
*/
- public ReturnT<String> start4() {
- List<String> strings = nccCkPddWmsService.selectPdd();
- for (String string : strings) {
- InventoryCheckOrder param = new InventoryCheckOrder();
- InventoryCheckOrderDetl checkOrderDetl = null;
- List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1));
- for (NccCkPddWms nccScZkmxbWms : wmsFlag) {
- log.info("NccCkPddWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
- if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getHdr() == 0) {
- Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(nccScZkmxbWms.getWlbm() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
- }
- List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()));
- if (checkOrderDetls==null||checkOrderDetls.isEmpty()) {
- throw new CoolException(nccScZkmxbWms.getWlbm() + "鐩樼偣鍗曠殑");
- }
- checkOrderDetl = new InventoryCheckOrderDetl();
- checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
- checkOrderDetl.setMaktx(mat.getMatnr());
- checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode());
- checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue());
- checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode());
- inventoryCheckOrderDetlService.insert(checkOrderDetl);
- }
- nccScZkmxbWms.setWmsFlag(1);
+// @Transactional
+// public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) {
+// try {
+// InventoryCheckOrder param = new InventoryCheckOrder();
+// InventoryCheckOrderDetl checkOrderDetl = null;
+// for (NccCkPddWms nccScZkmxbWms : wmsFlag) {
+// log.info("NccCkPddWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
+// Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm());
+// if (Cools.isEmpty(mat)) {
+// throw new CoolException(nccScZkmxbWms.getWlbm() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+// }
+// checkOrderDetl = new InventoryCheckOrderDetl();
+// checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
+// checkOrderDetl.setMaktx(mat.getMaktx());
+// checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode());
+// checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue());
+// checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode());
+// inventoryCheckOrderDetlService.insert(checkOrderDetl);
+// nccScZkmxbWms.setWmsFlag(1);
+// param.setOrderNo(nccScZkmxbWms.getVbillcode());
+// param.setCreateBy(nccScZkmxbWms.getPdrmc());
+//
+// }
+// param.setCreateTime(new Date());
+// param.setStatus("1");
+// inventoryCheckOrderService.insert(param);
+// nccCkPddWmsService.updateBatchById(wmsFlag);
+// } catch (Exception e) {
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg(e.getMessage());
+// }
+// return SUCCESS;
+// }
+
+ /**
+ * 璋冩嫧鍗�
+ *
+ * @return
+ */
+ @Transactional
+ public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) {
+ try {
+ List<String> ids = storeTypeService.listOwn();
+ HashMap<String, List<NccSaleDbddWms>> map = new HashMap<>();
+ List<NccSaleDbddWms> fenzu;
+ for (NccSaleDbddWms wms : wmsFlag) {
+ if(!ids.contains(wms.getDcckbm())){
+ continue;
+ }
+
+ if (map.get(wms.getDcckbm()) == null) {
+ fenzu = new ArrayList<>();
+ fenzu.add(wms);
+ map.put(wms.getDcckbm(), fenzu);
+ } else {
+ fenzu = map.get(wms.getDcckbm());
+ fenzu.add(wms);
+ map.put(wms.getDcckbm(), fenzu);
+ }
}
- param.setOrderNo(string);
- param.setStatus("1");
- inventoryCheckOrderService.insert(param);
- nccCkPddWmsService.updateBatchById(wmsFlag);
+ int size = 1;
+ for (String key : map.keySet()) {
+ OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+ param.setOrderType("闆嗗洟鍐呴儴璋冩嫧");
+ DetlDto detlDto;
+ List<DetlDto> orderDetails = new ArrayList<>();
+ long i = 1;
+ for (NccSaleDbddWms nccSaleDbddWms : map.get(key)) {
+ log.info("nccSaleDbddWms鏁版嵁:{}", JSONObject.toJSON(nccSaleDbddWms));
+ detlDto = new DetlDto();
+ detlDto.setMatnr(nccSaleDbddWms.getWlbm());
+ detlDto.setAnfme(nccSaleDbddWms.getZsl().doubleValue());
+ detlDto.setWeight(nccSaleDbddWms.getFsl().doubleValue());
+ detlDto.setBatch(nccSaleDbddWms.getVbatchcode());
+ detlDto.setLineNumber(i);
+ detlDto.setRemark(JSONObject.toJSONString(nccSaleDbddWms));
+ detlDto.setStandby1(nccSaleDbddWms.getDcckbm());
+ orderDetails.add(detlDto);
+ i++;
+ param.setOrderNo(nccSaleDbddWms.getVbillcode() + "-" + size);
+ param.setCstmrName(nccSaleDbddWms.getDrkczzmc());
+ nccSaleDbddWms.setWmsFlag(1);
+ }
+ param.setOrderDetails(orderDetails);
+ openService.pakoutOrderCreate(param);
+ nccSaleDbddWmsService.updateBatchById(map.get(key));
+ size++;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
}
return SUCCESS;
}
-
-
}
--
Gitblit v1.9.1