自动化立体仓库 - WMS系统
13
zhang
2025-05-24 c22266b4dfbe3f338d2dd0bb31b10df1b5c92fb5
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.nc.entity.NccCgCgdhdWms;
import com.zy.nc.entity.NccSaleDbddWms;
import com.zy.nc.entity.NccSaleXsfhmxWms;
import com.zy.nc.entity.NccScZkmxbWms;
import com.zy.nc.util.NcResultMessage;
import com.zy.nc.vo.*;
import lombok.extern.slf4j.Slf4j;
@@ -66,6 +67,7 @@
        int step = (Cools.isEmpty(order.getStep()) || order.getStep() == 0) ? 0 : order.getStep();
        NcResultMessage response = null;
        Object process1 = null;
        Object process2 = null;
        try {
            switch (order.getDocType$().toString()) {
                case "销售发货":
@@ -98,13 +100,23 @@
                    }
                    break;
                case "转库-出库":
                    process1 = processGENERALOUT(orderDetls);
                    List<Object> zkck = new ArrayList<>();
                    zkck.add(process1);
                    process1 = processZKCK(order, orderDetls);
                    List<Object> zkck1 = new ArrayList<>();
                    zkck1.add(process1);
                    //发送请求
                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck));
                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1));
                    if (!Cools.isEmpty(response) && response.isSuccess()) {
                        log.info("转库-出库response:{}", response);
                        log.info("转库-出库1response:{}", response);
                        step = 1;
                    }
                    process2 = processGENERALOUT2(orderDetls);
                    List<Object> zkck2 = new ArrayList<>();
                    zkck2.add(process2);
                    //发送请求
                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2));
                    if (!Cools.isEmpty(response) && response.isSuccess()) {
                        log.info("转库-出库2response:{}", response);
                        step = 10;
                    }
                    break;
@@ -188,12 +200,13 @@
            generalInBodyVO = new GeneralInBodyVO();
            String remark = orderDetl.getRemark();
            if (!Cools.isEmpty(remark)) {
                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
                generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
                generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
                NccScZkmxbWms nccScZkmxbWms = JSONObject.parseObject(remark, NccScZkmxbWms.class);
                generalInBodyVO.setCsourcebillbid(nccScZkmxbWms.getCspecialbid());
                generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCspecialhid());
                generalInBodyVO.setNnum(orderDetl.getQty());
                generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
                generalInBodyVO.setVbatchcode(orderDetl.getBatch());
                generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm());
            }
            generalInBodyVOS.add(generalInBodyVO);
        }
@@ -202,35 +215,6 @@
        return data;
    }
    private Object processQTRK(List<OrderDetl> orderDetls) {
        //组装对象数据
        Map<String, Object> data = new HashMap<String, Object>();
        GeneralInHeadVO generalInHeadVO = new GeneralInHeadVO();
        generalInHeadVO.setPk_org("FYT");
        generalInHeadVO.setCwarehouseid("6101");
        GeneralInBodyVO generalInBodyVO = null;
        List<GeneralInBodyVO> generalInBodyVOS = new ArrayList<>();
        for (OrderDetl orderDetl : orderDetls) {
            generalInBodyVO = new GeneralInBodyVO();
            String remark = orderDetl.getRemark();
            if (!Cools.isEmpty(remark)) {
                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
                generalInBodyVO.setCsourcetype("4331");
                generalInBodyVO.setClocationid("610101");
                generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
                generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
                generalInBodyVO.setNnum(orderDetl.getQty());
                generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
                generalInBodyVO.setVbatchcode(orderDetl.getBatch());
                generalInBodyVO.setCmaterialoid(orderDetl.getMatnr());
            }
            generalInBodyVOS.add(generalInBodyVO);
        }
        data.put("GeneralInHeadVO", generalInHeadVO);
        data.put("GeneralInBodyVO", generalInBodyVOS);
        return data;
    }
    private Object processDBDD(List<OrderDetl> orderDetls) {
        //组装对象数据
@@ -258,28 +242,25 @@
        return data;
    }
    private Object processZK(List<OrderDetl> orderDetls) {
    private Object processZKCK(Order order, List<OrderDetl> orderDetls) {
        //组装对象数据
        Map<String, Object> data = new HashMap<String, Object>();
        WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
        whsTransBillHeaderVO.setPk_org("FYT");
        whsTransBillHeaderVO.setCwarehouseid("6101");
        whsTransBillHeaderVO.setCwarehouseid(order.getItemId() + "");
        whsTransBillHeaderVO.setCotherbizid(order.getAllotItemId() + "");
        whsTransBillHeaderVO.setCtrantypeid("4K-Cxx-01");
        WhsTransBillBodyVO whsTransBillBodyVO = null;
        List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>();
        for (OrderDetl orderDetl : orderDetls) {
            whsTransBillBodyVO = new WhsTransBillBodyVO();
            String remark = orderDetl.getRemark();
            if (!Cools.isEmpty(remark)) {
                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
                whsTransBillBodyVO.setCsourcetype("4331");
                whsTransBillBodyVO.setClocationid("610101");
                whsTransBillBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
                whsTransBillBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
                whsTransBillBodyVO.setNnum(orderDetl.getQty());
                whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
                whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
            }
            //if (!Cools.isEmpty(remark)) {
            //NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
            whsTransBillBodyVO.setNnum(orderDetl.getQty());
            whsTransBillBodyVO.setVfree10(orderDetl.getBatch());
            whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
            //}
            whsTransBillBodyVOS.add(whsTransBillBodyVO);
        }
        data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
@@ -287,12 +268,14 @@
        return data;
    }
    private Object processCGDH(List<OrderDetl> orderDetls) {
        //组装对象数据
        Map<String, Object> data = new HashMap<String, Object>();
        ic_purchasein_h ic_purchasein_h = new ic_purchasein_h();
        ic_purchasein_h.setPk_org("FYT");
        ic_purchasein_h.setCwarehouseid("6101");
        ic_purchasein_h.setCwarehouseid("6301");
        ic_purchasein_h.setCfanaceorgoid("FYT");
        ic_purchasein_b ic_purchasein_b = null;
        List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>();
        for (OrderDetl orderDetl : orderDetls) {
@@ -301,11 +284,14 @@
            if (!Cools.isEmpty(remark)) {
                NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class);
                ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm());
                ic_purchasein_h.setCbizid(nccCgCgdhdWms.getDhlxbm());
                ic_purchasein_h.setCtrantypeid(nccCgCgdhdWms.getDhlxbm());
                ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB());
                ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder());
                ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr());
                ic_purchasein_b.setNnum(orderDetl.getQty());
                //ic_purchasein_b.setNshouldassistnum(orderDetl.getQty());
                ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm());
                ic_purchasein_b.setVbatchcode(orderDetl.getBatch());
            }
            ic_purchasein_bs.add(ic_purchasein_b);
@@ -344,6 +330,35 @@
    }
    /**
     * @param orderDetls
     * @return
     */
    private Object processGENERALOUT2(List<OrderDetl> orderDetls) {
        //组装对象数据
        Map<String, Object> data = new HashMap<String, Object>();
        ic_generalout_h generalout_h = new ic_generalout_h();
        generalout_h.setPk_org("FYT");
        generalout_h.setCwarehouseid("6101");
        ic_generalout_b generalout_b = null;
        List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
        for (OrderDetl orderDetl : orderDetls) {
            generalout_b = new ic_generalout_b();
            String remark = orderDetl.getRemark();
            if (!Cools.isEmpty(remark)) {
                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
                generalout_b.setMaterialvid(orderDetl.getMatnr());
                generalout_b.setNshouldassistnum(orderDetl.getQty());
                generalout_b.setVbatchcode(orderDetl.getBatch());
            }
            ic_purchasein_bs.add(generalout_b);
        }
        data.put("ic_generalout_h", generalout_h);
        data.put("ic_generalout_b", ic_purchasein_bs);
        return data;
    }
    private Boolean reportApiLog(Object data, String docType, String url, String path) {
        String response = "";
        boolean success = false;