自动化立体仓库 - WMS系统
zhang
2025-05-17 05e0d3af6b31300b9ef06a1214e921b8817c9c18
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -2,13 +2,18 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.service.OpenService;
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 lombok.extern.slf4j.Slf4j;
@@ -29,6 +34,12 @@
    private NccScZkmxbWmsService nccScZkmxbWmsService;
    @Autowired
    private NccCgCgdhdWmsService nccCgCgdhdWmsService;
    @Autowired
    private NccCkPddWmsService nccCkPddWmsService;
    @Autowired
    private OpenService openService;
    /**
@@ -39,7 +50,7 @@
    public ReturnT<String> start1() {
        List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh();
        for (String id : Ids) {
            List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("cdeliveryid", id).ne("wms_flag", 1).eq("fstatusflag", 2));
            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;
@@ -49,8 +60,9 @@
                if (nccSaleXsfhmxWms.getFstatusflag() == 2 && nccSaleXsfhmxWms.getBdr() == 0 && nccSaleXsfhmxWms.getHdr() == 0) {
                    detlDto = new DetlDto();
                    detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
                    detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum());
                    detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue());
                    detlDto.setLineNumber(i);
                    detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
                    orderDetails.add(detlDto);
                    log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
                    i++;
@@ -84,7 +96,7 @@
                if (nccScZkmxbWms.getDjzt() == 2 && nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
                    detlDto = new DetlDto();
                    detlDto.setMatnr(nccScZkmxbWms.getWlbm());
                    detlDto.setAnfme(nccScZkmxbWms.getYingzzsl());
                    detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
                    detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
                    detlDto.setLineNumber(i);
                    orderDetails.add(detlDto);
@@ -99,4 +111,77 @@
        }
        return SUCCESS;
    }
    /**
     * 采购到货
     *
     * @return
     */
    public ReturnT<String> start3() {
        List<String> strings = nccCgCgdhdWmsService.selectCg();
        for (String string : strings) {
            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("NccScZkmxbWms数据:{}", 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);
            }
            param.setOrderNo(string);
            param.setOrderDetails(orderDetails);
            openService.pakinOrderCreate(param);
            nccCgCgdhdWmsService.updateBatchById(wmsFlag);
        }
        return SUCCESS;
    }
    /**
     * 盘点单
     *
     * @return
     */
    public ReturnT<String> start4() {
        List<String> strings = nccCkPddWmsService.selectPdd();
        for (String string : strings) {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
            param.setOrderType("采购到货");
            DetlDto detlDto;
            List<DetlDto> orderDetails = new ArrayList<>();
            long i = 1;
            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.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);
            }
            param.setOrderNo(string);
            param.setOrderDetails(orderDetails);
            //openService.pakoutOrderCreate(param);
            nccCkPddWmsService.updateBatchById(wmsFlag);
        }
        return SUCCESS;
    }
}