package com.zy.nc.task.handler; 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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service @Slf4j public class PlanOrderHandler extends AbstractHandler { @Autowired private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService; @Autowired private NccScZkmxbWmsService nccScZkmxbWmsService; @Autowired private NccCgCgdhdWmsService nccCgCgdhdWmsService; @Autowired private NccCkPddWmsService nccCkPddWmsService; @Autowired private OpenService openService; /** * 发货 * * @return */ public ReturnT start1() { List Ids = nccSaleXsfhmxWmsService.selectXsfh(); for (String id : Ids) { List wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2)); OpenOrderPakoutParam param = new OpenOrderPakoutParam(); param.setOrderType("销售发货"); DetlDto detlDto; List orderDetails = new ArrayList<>(); long i = 1; for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) { if (nccSaleXsfhmxWms.getFstatusflag() == 2 && nccSaleXsfhmxWms.getBdr() == 0 && nccSaleXsfhmxWms.getHdr() == 0) { 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(id); param.setOrderDetails(orderDetails); openService.pakoutOrderCreate(param); nccSaleXsfhmxWmsService.updateBatchById(wmsFlag); } return SUCCESS; } /** * 转库 * * @return */ public ReturnT start2() { List strings = nccScZkmxbWmsService.selectZk(); for (String string : strings) { OpenOrderPakoutParam param = new OpenOrderPakoutParam(); param.setOrderType("转库"); DetlDto detlDto; List orderDetails = new ArrayList<>(); long i = 1; List wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper().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) { 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); nccScZkmxbWmsService.updateBatchById(wmsFlag); } return SUCCESS; } /** * 采购到货 * * @return */ public ReturnT start3() { List strings = nccCgCgdhdWmsService.selectCg(); for (String string : strings) { OpenOrderPakinParam param = new OpenOrderPakinParam(); param.setOrderType("采购到货"); DetlDto detlDto; List orderDetails = new ArrayList<>(); long i = 1; List wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper().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 start4() { List strings = nccCkPddWmsService.selectPdd(); for (String string : strings) { OpenOrderPakoutParam param = new OpenOrderPakoutParam(); param.setOrderType("采购到货"); DetlDto detlDto; List orderDetails = new ArrayList<>(); long i = 1; List wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper().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; } }