自动化立体仓库 - WMS系统
zyx
2024-07-24 4d300a00081d7b5916c41162075bdd79851a8fcc
新增MES采购入库上报功能
1个文件已添加
5个文件已修改
111 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java
New file
@@ -0,0 +1,51 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * 采购入库上报参数
 */
@Data
public class MesBuyPakinReportParam {
    //采购订单编码
    private String code;
    private List<Iteam> iteam;
    @Data
    public static class Iteam{
        //物料编号
        private String materialCode;
        //批次号
        private String batchNo;
        //⼆维码
        private String qrCode;
        //采购订单⾏号
        private String lineNo;
        //⼊库数量
        private Double amount;
        //备注
        private String remark;
        //供应商编号
        private String supplierCode;
        //⼊库位置
        private String storageLocationCode;
        public Iteam(String materialCode, String batchNo, String qrCode, String lineNo, Double amount, String remark, String supplierCode, String storageLocationCode) {
            this.materialCode = materialCode;
            this.batchNo = batchNo;
            this.qrCode = qrCode;
            this.lineNo = lineNo;
            this.amount = amount;
            this.remark = remark;
            this.supplierCode = supplierCode;
            this.storageLocationCode = storageLocationCode;
        }
        public Iteam(){
        }
    }
}
src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
@@ -4,6 +4,9 @@
import java.util.List;
/**
 * MES调拨参数
 */
@Data
public class MesOrderReportParam {
    //编码
src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
@@ -2,6 +2,9 @@
import lombok.Data;
/**
 * MES入库上报参数
 */
@Data
public class MesPakinReportParam {
    private String bizType;
src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
@@ -4,6 +4,9 @@
import java.util.List;
/**
 * MES出库上报参数
 */
@Data
public class MesPakoutReportParam {
    //物料编码
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,7 +15,6 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.model.LocDetlDto;
import com.zy.common.utils.NodeUtils;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
@@ -980,6 +979,9 @@
        //单据日期
        order.setOrderTime(param.getDdate());
        //供应商编码
        order.setSalesman(param.getCVenCode());
        order.setMemo(param.getCMemo());
        //制单人
        order.setShipCode(param.getCPersonCode());
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -4,10 +4,10 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.beust.jcommander.internal.Lists;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.MesBuyPakinReportParam;
import com.zy.asrs.entity.param.MesOrderReportParam;
import com.zy.asrs.entity.param.MesPakinReportParam;
import com.zy.asrs.entity.param.MesPakoutReportParam;
@@ -15,7 +15,6 @@
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.utils.HttpHandler;
import io.swagger.models.auth.In;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -93,6 +92,10 @@
    private AgvWorkService agvWorkService;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private DocTypeService docTypeService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Transactional
    public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
@@ -622,13 +625,41 @@
    private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
        for (AgvWrkDetl agvWrkDetl : agvWrkDetls){
            MesPakinReportParam mesPakinReportParam = new MesPakinReportParam();
            mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo());
            mesPakinReportParam.setBizType("0");
            mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode().trim(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo()));
            mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
            //判断是否采购入库
            doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"上报mes入库信息",url,pakinReportPath,null,"127.0.0.1");
            String orderNo = agvWrkDetl.getOrderNo();
            Order order = orderService.selectByNo(orderNo);
            DocType docType = docTypeService.selectById(order.getDocType());
            if (docType.getDocName().contains("采购")){
                OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(orderNo, agvWrkDetl.getMatnr(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
                MesBuyPakinReportParam mesBuyPakinReportParam = new MesBuyPakinReportParam();
                List<MesBuyPakinReportParam.Iteam> iteams = new ArrayList<>();
                MesBuyPakinReportParam.Iteam iteam = new MesBuyPakinReportParam.Iteam();
                iteam.setMaterialCode(agvWrkDetl.getMatnr());
                iteam.setBatchNo(agvWrkDetl.getBatch());
                iteam.setAmount(agvWrkDetl.getAnfme());
                iteam.setStorageLocationCode(agvWrkMast.getLocNo());
                iteam.setLineNo(orderDetl.getItemNum());
                iteam.setSupplierCode(order.getSalesman());
                mesBuyPakinReportParam.setCode(orderNo);
                mesBuyPakinReportParam.setIteam(iteams);
                doHttpRequest(mesBuyPakinReportParam,getMesTokenInfo(),"上报mes采购入库信息",url,pakinReportPath,null,"127.0.0.1");
            }else {
                MesPakinReportParam mesPakinReportParam = new MesPakinReportParam();
                mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo());
                mesPakinReportParam.setBizType("0");
                mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode().trim(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo()));
                mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
                doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"上报mes入库信息",url,pakinReportPath,null,"127.0.0.1");
            }
        }
    }