自动化立体仓库 - WMS系统
zhangchao
2024-11-11 8e2a5905563af05284495e23bc10ba8d4b741ba9
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -43,6 +43,9 @@
    @Autowired
    private DocTypeService docTypeService;
    @Value("${spring.profiles.active}")
    private String active;
    @Value("${u8.url}")
    private String url;
@@ -51,48 +54,36 @@
    @Transactional
    public ReturnT<String> start(Order order) {
        //List<String> docNames = new ArrayList<>(Arrays.asList("银座采购入库单", "银座委外材料出库单", "银座委外入库单", "银座生产材料出库单"));
        List<String> docNames = new ArrayList<>(Arrays.asList("银座委外入库单", "银座生产材料出库单"));
        List<String> docNames = new ArrayList<>(Arrays.asList("银座采购入库单", "银座委外材料出库单", "银座生产材料出库单"));
        DocType docType = docTypeService.selectById(order.getDocType());
        if (!docNames.contains(docType.getDocName())) {
            order.setSettle(8L);
            orderService.updateById(order);
            return SUCCESS;
        }
//        if("手动出库单".equals(docType.getDocName())
//                || "手动入库单".equals(docType.getDocName())
//                || "自动补货单".equals(docType.getDocName())
//                || "人工补货单".equals(docType.getDocName())){
//            order.setSettle(8L);
//            orderService.updateById(order);
//            return SUCCESS;
//        }
        } else {
            boolean flag = true;
            List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
            List<OrderDetl> report = new ArrayList<>();
            for (OrderDetl orderDetl : orderDetlList) {
                if (orderDetl.getReportQty() == null || orderDetl.getQty() > orderDetl.getReportQty() || orderDetl.getQty() < orderDetl.getAnfme()) {
                    flag = false;
                }
            }
            if (flag) {
                log.info("单据完结,{}", order);
                order.setSettle(6L);
                orderService.updateById(order);
            }
        List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
        ReportErpParam param = new ReportErpParam();
        mappingParam(order, param);
        mappingParamChildren(orderDetlList, param);
        if (Cools.isEmpty(order.getPltType())) {
            return SUCCESS;
        }
        int code = doHttpRequest(param, "单据审核", url, orderReportPath, null, "127.0.0.1");
        if (code == 0) {
            log.info("单据审核,{}", order);
            order.setSettle(6L);
            orderService.updateById(order);
        }
        return SUCCESS;
    }
    @Transactional
    public void timelyStart(Order order) {
        List<String> docNames = new ArrayList<>(Arrays.asList("银座采购入库单", "银座委外材料出库单","其他入库单","其他出库单"));
        List<String> docNames = new ArrayList<>(Arrays.asList("银座采购入库单", "银座委外材料出库单", "银座生产材料出库单"));
        DocType docType = docTypeService.selectById(order.getDocType());
        if (docNames.contains(docType.getDocName())) {
@@ -125,8 +116,13 @@
    }
    public void mappingParam(Order order, ReportErpParam param) {
        //param.set操作系统号(order.getDefNumber());
        param.set操作系统号("998");
        if (active.equals("prod")) {
            param.set操作系统号(order.getDefNumber());
        } else if (active.equals("dev") || active.equals("loc")) {
            param.set操作系统号("998");
        } else {
            param.set操作系统号(order.getDefNumber());
        }
        param.set操作单据(order.getDocType$());
        param.set操作类型("add");
        param.setDdate(order.getInTime());
@@ -173,7 +169,8 @@
    }
    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip) {
    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String
            ip) {
        String response = "";
        boolean success = false;