自动化立体仓库 - WMS系统
13
zhang
2025-05-26 1a0409e260b79b030f79a4fad995078a7f1b945c
src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -1,11 +1,19 @@
package com.zy.nc.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.service.StoreTypeService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.nc.entity.*;
import com.zy.nc.service.*;
import com.zy.nc.task.handler.PlanOrderHandler;
import com.zy.system.service.impl.ConfigServiceImpl;
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.Arrays;
import java.util.List;
@Slf4j
@Component
@@ -14,20 +22,171 @@
    @Autowired
    private PlanOrderHandler planOrderHandler;
    @Autowired
    private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
    @Autowired
    private NccScZkmxbWmsService nccScZkmxbWmsService;
    @Autowired
    private NccCgCgdhdWmsService nccCgCgdhdWmsService;
    @Autowired
    private NccSaleDbddWmsService nccSaleDbddWmsService;
    @Autowired
    private NccCkPddWmsService nccCkPddWmsService;
    @Autowired
    private StoreTypeService storeTypeService;
    /**
     * 发货
     *
     * @return
     */
    @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).eq("hdr", 0).eq("bdr", 0).eq("fstatusflag", 2));
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT = planOrderHandler.start1(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccSaleXsfhmxWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccSaleXsfhmxWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
     * 转库
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute2() {
        ReturnT<String> returnT = planOrderHandler.start2();
        if (!returnT.isSuccess()) {
            log.error(returnT.getMsg());
    public void execute2_1() {
        List<String> ids = storeTypeService.listOwn();
        //String s = "一期成品库-内贸(立体库)、一期成品库-福莱国际外贸(立体库)、一期成品库-外购(立体库)、一期成品库-福达/工厂外贸(立体库)、一期辅料库-包材(立体库)";
        List<String> strings = nccScZkmxbWmsService.selectZkIn(ids);
        for (String string : strings) {
            List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("dr", 0).eq("bdr", 0));
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT = planOrderHandler.start2In(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccScZkmxbWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccScZkmxbWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
     * 转库
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute2_2() {
        List<String> ids = storeTypeService.listOwn();
        List<String> strings = nccScZkmxbWmsService.selectZkOut(ids);
        for (String string : strings) {
            List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0));
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT = planOrderHandler.start2Out(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccScZkmxbWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccScZkmxbWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
     * 采购到货单
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute3() {
        List<String> strings = nccCgCgdhdWmsService.selectCg();
        for (String string : strings) {
            List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0));
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT = planOrderHandler.start3(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccCgCgdhdWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccCgCgdhdWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
     * 调拨出库
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute5() {
        List<String> ids = storeTypeService.listOwn();
        List<String> strings = nccSaleDbddWmsService.selectDbdd(ids);
        for (String string : strings) {
            List<NccSaleDbddWms> wmsFlag = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("dr", 0).eq("bdr", 0));
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT = planOrderHandler.start5(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccSaleDbddWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccSaleDbddWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
    /**
     * 盘点单
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute4() {
        List<String> strings = nccCkPddWmsService.selectPdd();
        for (String string : strings) {
            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("FBILLFLAG",4).eq("hdr", 0).eq("bdr", 0));
            ReturnT<String> returnT = planOrderHandler.start4(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccCkPddWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    nccCkPddWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
}