From b9d80dfdb1cef36c9edb8bf6b2fdf9e6e1708d2b Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 26 五月 2025 16:18:24 +0800 Subject: [PATCH] 13 --- src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 267 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 254 insertions(+), 13 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 de0c5a5..fa91563 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -1,45 +1,286 @@ 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; +import com.zy.asrs.entity.InventoryCheckOrderDetl; +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.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; -import com.zy.nc.entity.NccSaleDbckmxb; -import com.zy.nc.entity.NccSaleXsckmx; -import com.zy.nc.mapper.NccSaleDbckmxbMapper; -import com.zy.nc.mapper.NccSaleXsckmxMapper; +import com.zy.common.model.DetlDto; +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.interceptor.TransactionAspectSupport; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; @Service @Slf4j public class PlanOrderHandler extends AbstractHandler<String> { @Autowired - private NccSaleXsckmxMapper nccSaleXsckmxMapper; + private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService; @Autowired - private NccSaleDbckmxbMapper nccSaleDbckmxbMapper; + private NccScZkmxbWmsService nccScZkmxbWmsService; + + @Autowired + private NccCgCgdhdWmsService nccCgCgdhdWmsService; + + @Autowired + private NccSaleDbddWmsService nccSaleDbddWmsService; + + @Autowired + private NccCkPddWmsService nccCkPddWmsService; + + @Autowired + private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; + + @Autowired + private InventoryCheckOrderService inventoryCheckOrderService; + + @Autowired + private MatService matService; + + @Autowired + private OpenService openService; /** * 鍙戣揣 * * @return */ - public ReturnT<String> start1() { - NccSaleXsckmx nccSaleXsckmx = nccSaleXsckmxMapper.selectById("1001A1100000000H9KKJ"); - log.info("shuju:{}", JSONObject.toJSON(nccSaleXsckmx)); + public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) { + try { + OpenOrderPakoutParam param = new OpenOrderPakoutParam(); + param.setOrderType("閿�鍞彂璐�"); + DetlDto detlDto; + List<DetlDto> orderDetails = new ArrayList<>(); + long i = 1; + for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) { + detlDto = new DetlDto(); + detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm()); + detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue()); + 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.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() { - NccSaleDbckmxb nccSaleDbckmxb = nccSaleDbckmxbMapper.selectById("1001A1100000000H9KKJ"); - log.info("shuju:{}", JSONObject.toJSON(nccSaleDbckmxb)); + 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.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 + */ + 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.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<NccCgCgdhdWms> wmsFlag) { + try { + OpenOrderPakinParam param = new OpenOrderPakinParam(); + param.setOrderType("閲囪喘鍒拌揣"); + DetlDto detlDto; + List<DetlDto> orderDetails = new ArrayList<>(); + long i = 1; + for (NccCgCgdhdWms nccCgCgdhdWms : wmsFlag) { + log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms)); + detlDto = new DetlDto(); + detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); + detlDto.setAnfme(nccCgCgdhdWms.getYdzsl().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.setOrderDetails(orderDetails); + openService.pakinOrderCreate(param); + nccCgCgdhdWmsService.updateBatchById(wmsFlag); + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; + } + + + /** + * 鐩樼偣鍗� + * + * @return + */ + 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() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); + } + List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); + if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { + //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 + */ + public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) { + try { + OpenOrderPakoutParam param = new OpenOrderPakoutParam(); + param.setOrderType("闆嗗洟鍐呴儴璋冩嫧"); + DetlDto detlDto; + List<DetlDto> orderDetails = new ArrayList<>(); + long i = 1; + for (NccSaleDbddWms nccCgCgdhdWms : wmsFlag) { + log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms)); + detlDto = new DetlDto(); + detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); + detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); + detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); + detlDto.setLineNumber(i); + detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); + orderDetails.add(detlDto); + i++; + nccCgCgdhdWms.setWmsFlag(1); + param.setOrderNo(nccCgCgdhdWms.getVbillcode()); + } + param.setOrderDetails(orderDetails); + openService.pakoutOrderCreate(param); + nccSaleDbddWmsService.updateBatchById(wmsFlag); + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } return SUCCESS; } } -- Gitblit v1.9.1