自动化立体仓库 - WMS系统
#
Junjie
10 天以前 42e67d1c26c101cf35353f6ce248f2b57535a74b
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
@@ -16,7 +17,9 @@
import com.zy.asrs.service.StoreTypeService;
import com.zy.nc.SendUtil;
import com.zy.nc.entity.*;
import com.zy.nc.service.NccSaleXsfhmxWmsService;
import com.zy.nc.service.NccScPcdaWmsService;
import com.zy.nc.service.NccXsckmxTkWmsService;
import com.zy.nc.util.NcResultMessage;
import com.zy.nc.vo.*;
import lombok.extern.slf4j.Slf4j;
@@ -44,6 +47,12 @@
    @Autowired
    private NccScPcdaWmsService nccScPcdaWmsService;
    @Autowired
    private NccXsckmxTkWmsService nccXsckmxTkWmsService;
    @Autowired
    private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
    @Value("${NYNC.ip}")
    private String nyncIp;
@@ -114,17 +123,19 @@
                    }
                    break;
                case "采购到货":
                    process1 = processCGDH(orderDetls);
                    List<Object> cg = new ArrayList<>();
                    cg.add(process1);
                    //发送请求
                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
                    if (!Cools.isEmpty(response) && response.isSuccess()) {
                        log.info("采购到货response:{}", response);
                        step = 10;
                    } else {
                        remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
                    }
                    //不需要上报了
                    step = 10;
//                    process1 = processCGDH(orderDetls);
//                    List<Object> cg = new ArrayList<>();
//                    cg.add(process1);
//                    //发送请求
//                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
//                    if (!Cools.isEmpty(response) && response.isSuccess()) {
//                        log.info("采购到货response:{}", response);
//                        step = 10;
//                    } else {
//                        remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
//                    }
                    break;
                case "转库-出库":
                    if (step == 1) {
@@ -198,6 +209,18 @@
    }
    @Override
    public void reportTkrk(String batch, Double anfme) {
        Object process1 = processTKRK(batch, anfme);
        //发送请求
        NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
        log.info("销售发货response:{}", response);
//        if (!Cools.isEmpty(response) && response.isSuccess()) {
//            log.info("销售发货response:{}", response);
//        } else {
//            remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
//        }
    }
    private Object processXSFH(List<OrderDetl> orderDetls, Boolean flag) {
        //组装对象数据
@@ -233,6 +256,43 @@
            saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
            saleOutBodyVOList.add(saleOutBodyVO);
        }
        data.put("SaleOutHeadVO", saleOutHeadVO);
        data.put("SaleOutBodyVO", saleOutBodyVOList);
        return data;
    }
    private Object processTKRK(String batch, Double anfme) {
        EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>();
        wrapper.like("VBATCHCODE", batch);
        NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper);
        if (null == nccXsckmxTkWms) {
            throw new CoolException("未找到此条码");
        }
        NccSaleXsfhmxWms nccSaleXsfhmxWms = nccSaleXsfhmxWmsService.selectOne(new EntityWrapper<NccSaleXsfhmxWms>()
                .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode()));
        if(null == nccSaleXsfhmxWms) {
            throw new CoolException("未找到销售单据");
        }
        //组装对象数据
        Map<String, Object> data = new HashMap<String, Object>();
        SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO();
        saleOutHeadVO.setPk_org("FYT");
        SaleOutBodyVO saleOutBodyVO = null;
        List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>();
        saleOutBodyVO = new SaleOutBodyVO();
        saleOutBodyVO.setCsourcetype("4331");
        saleOutBodyVO.setCsourcebillbid(nccXsckmxTkWms.getCsourcebillbid());
        saleOutBodyVO.setCsourcebillhid(nccXsckmxTkWms.getCsourcebillhid());
        saleOutHeadVO.setCwarehouseid(nccSaleXsfhmxWms.getFhckbm());
        saleOutBodyVO.setVbatchcode(nccXsckmxTkWms.getVbatchcode());
        saleOutBodyVO.setNshouldnum(anfme * -1);
        saleOutBodyVO.setNnum(anfme * -1);
        saleOutBodyVOList.add(saleOutBodyVO);
        data.put("SaleOutHeadVO", saleOutHeadVO);
        data.put("SaleOutBodyVO", saleOutBodyVOList);
        return data;
@@ -345,7 +405,7 @@
            }
            whsTransBillBodyVO = new WhsTransBillBodyVO();
            whsTransBillBodyVO.setCstateid(nccScPcdaWms.getVcode());
            whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkBatchcode());
            String remark = orderDetl.getRemark();
            //if (!Cools.isEmpty(remark)) {
@@ -403,7 +463,8 @@
            generalout_b.setCotherwhid(rukucangku);
            generalout_b.setCothercalbodyvid(storeType2.getDepartmentId());
            generalout_b.setNshouldassistnum(orderDetl.getQty());
            //generalout_b.setNshouldassistnum(orderDetl.getQty());
            generalout_b.setNnum(orderDetl.getQty());
            generalout_b.setVbatchcode(orderDetl.getBatch());
            ic_purchasein_bs.add(generalout_b);
        }