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