自动化立体仓库 - WMS系统
zhang
2025-05-17 40606191d07e8f0c5dffdc8cb92d42c381d40df6
接口编写
2个文件已修改
136 ■■■■ 已修改文件
src/main/java/com/zy/nc/task/PlanOrderTask.java 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -1,11 +1,22 @@
package com.zy.nc.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.task.core.ReturnT;
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.task.handler.PlanOrderHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
@Slf4j
@Component
@@ -15,6 +26,18 @@
    private PlanOrderHandler planOrderHandler;
    @Autowired
    private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
    @Autowired
    private NccScZkmxbWmsService nccScZkmxbWmsService;
    @Autowired
    private NccCgCgdhdWmsService nccCgCgdhdWmsService;
    @Autowired
    private NccCkPddWmsService nccCkPddWmsService;
    /**
     * 发货
     *
@@ -22,10 +45,19 @@
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute1() {
        ReturnT<String> returnT = planOrderHandler.start1();
        if (!returnT.isSuccess()) {
            log.error(returnT.getMsg());
        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));
            ReturnT<String> returnT = planOrderHandler.start1(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccSaleXsfhmxWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccSaleXsfhmxWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
@@ -35,10 +67,19 @@
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute2() {
        ReturnT<String> returnT = planOrderHandler.start2();
        if (!returnT.isSuccess()) {
            log.error(returnT.getMsg());
        List<String> strings = nccScZkmxbWmsService.selectZk();
        for (String string : strings) {
            List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1));
            ReturnT<String> returnT = planOrderHandler.start2(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccScZkmxbWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccScZkmxbWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
@@ -48,10 +89,19 @@
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute3() {
        ReturnT<String> returnT = planOrderHandler.start3();
        if (!returnT.isSuccess()) {
            log.error(returnT.getMsg());
        List<String> strings = nccCgCgdhdWmsService.selectCg();
        for (String string : strings) {
            List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1));
            ReturnT<String> returnT = planOrderHandler.start3(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccCgCgdhdWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccCgCgdhdWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
@@ -61,9 +111,17 @@
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute4() {
        ReturnT<String> returnT = planOrderHandler.start4();
        if (!returnT.isSuccess()) {
            log.error(returnT.getMsg());
        List<String> strings = nccCkPddWmsService.selectPdd();
        for (String string : strings) {
            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1));
            ReturnT<String> returnT = planOrderHandler.start4(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccCkPddWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccCkPddWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
}
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -27,6 +27,7 @@
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.List;
@@ -64,10 +65,8 @@
     *
     * @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));
    public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) {
        try {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
            param.setOrderType("销售发货");
            DetlDto detlDto;
@@ -85,11 +84,15 @@
                    i++;
                }
                nccSaleXsfhmxWms.setWmsFlag(1);
                param.setOrderNo(nccSaleXsfhmxWms.getVbillcode());
            }
            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;
    }
@@ -99,15 +102,13 @@
     *
     * @return
     */
    public ReturnT<String> start2() {
        List<String> strings = nccScZkmxbWmsService.selectZk();
        for (String string : strings) {
    public ReturnT<String> start2(List<NccScZkmxbWms> wmsFlag) {
        try {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
            param.setOrderType("转库");
            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) {
@@ -120,11 +121,15 @@
                    i++;
                }
                nccScZkmxbWms.setWmsFlag(1);
                param.setOrderNo(nccScZkmxbWms.getVbillcode());
            }
            param.setOrderNo(string);
            param.setOrderDetails(orderDetails);
            openService.pakoutOrderCreate(param);
            nccScZkmxbWmsService.updateBatchById(wmsFlag);
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
@@ -135,15 +140,13 @@
     *
     * @return
     */
    public ReturnT<String> start3() {
        List<String> strings = nccCgCgdhdWmsService.selectCg();
        for (String string : strings) {
    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) {
@@ -155,11 +158,15 @@
                    i++;
                }
                nccScZkmxbWms.setWmsFlag(1);
                param.setOrderNo(nccScZkmxbWms.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,12 +177,10 @@
     *
     * @return
     */
    public ReturnT<String> start4() {
        List<String> strings = nccCkPddWmsService.selectPdd();
        for (String string : strings) {
    public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) {
        try {
            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) {
@@ -184,8 +189,8 @@
                        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() + "盘点单的");
                    if (checkOrderDetls == null || checkOrderDetls.isEmpty()) {
                        throw new CoolException(nccScZkmxbWms.getWlbm() + "盘点单的明细重复了");
                    }
                    checkOrderDetl = new InventoryCheckOrderDetl();
                    checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
@@ -196,12 +201,15 @@
                    inventoryCheckOrderDetlService.insert(checkOrderDetl);
                }
                nccScZkmxbWms.setWmsFlag(1);
                param.setOrderNo(nccScZkmxbWms.getVbillcode());
            }
            param.setOrderNo(string);
            param.setStatus("1");
            inventoryCheckOrderService.insert(param);
            nccCkPddWmsService.updateBatchById(wmsFlag);
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }