#
luxiaotao1123
2021-04-22 e10ad54ef408145ad2f63e9d6219a772f89e2df7
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -410,7 +410,7 @@
                    getOrderResult0.setBTypeID(order.getTel());
                    getOrderResult0.setKTypeID("宏挺仓库");
                    getOrderResult0.setVchcode(Integer.parseInt(order.getNumber()));
                    getOrderResult0.setSummary("销售订单 - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm"));
                    // 体
                    List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo());
@@ -420,6 +420,7 @@
                        detl0.setQty(orderDetl.getCount());
                        detl0.setPrice(orderDetl.getUnitPrice());
                        detl0.setComment(orderDetl.getMemo());
                        detl0.setUnit(orderDetl.getUnit());
                        detl0.setRowNo(Integer.parseInt(orderDetl.getName()));
                        list.add(detl0);
                    }
@@ -464,6 +465,85 @@
    }
    /**
     * 完成销售订单
     */
    @Scheduled(cron = "0/10 * * * * ? ")
    @Transactional
//    @PostConstruct
    public void finishOrders0Execute(){
        try {
            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4).eq("doc_type", 6));
            if (!Cools.isEmpty(orders)) {
                List<String> orderNos = orders.stream().map(Order::getOrderNo).distinct().collect(Collectors.toList());
                for (Order order : orders) {
                    GetOrderResult0 getOrderResult0 = new GetOrderResult0();
                    List<GetOrderResultDetl0> list = new ArrayList<>();
                    getOrderResult0.setDetail(list);
                    // 头
                    getOrderResult0.setNumber(order.getOrderNo());
                    getOrderResult0.setVchType(6); // todo:luxiaotao
                    getOrderResult0.setBillDate(order.getOrderTime());
                    getOrderResult0.setBTypeID(order.getTel());
                    getOrderResult0.setKTypeID("宏挺仓库");
                    getOrderResult0.setBTypeID(Cools.isEmpty(order.getCstmr())?"SHHT":String.valueOf(order.getCstmr()));
                    getOrderResult0.setBTypeID("SHHT");
                    getOrderResult0.setSummary("采购退货单 - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm"));
                    // 体
                    List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo());
                    for (OrderDetl orderDetl : orderDetls) {
                        GetOrderResultDetl0 detl0 = new GetOrderResultDetl0();
                        detl0.setUserCode(orderDetl.getMatnr());
                        detl0.setQty(orderDetl.getAnfme());
                        detl0.setPrice(orderDetl.getUnitPrice());
                        detl0.setUnit(orderDetl.getUnit());
                        detl0.setComment(orderDetl.getMemo());
                        list.add(detl0);
                    }
                    System.out.println(JSON.toJSONString(getOrderResult0));
                    String response = new HttpHandler.Builder()
                            .setUri(URI)
                            .setPath(UPLOAD_BILL)
                            .setJson(JSON.toJSONString(getOrderResult0))
                            .build()
                            .doPost();
                    if (!Cools.isEmpty(response)) {
                        log.warn(response);
                        Result result = JSON.parseObject(response, Result.class);
                        if (result.getCode() != 1) {
                            continue;
                        }
                        if (!orderService.updateSettle(getOrderResult0.getNumber(), 6L)) {
                            throw new CoolException("修改订单状态失败");
                        }
//                        // 转历史档
//                        int save = custOrderMapper.saveLog(getOrderResult0.getNumber());
//                        if (save > 0) {
//                            if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", getOrderResult0.getNumber())) == 0) {
//                                throw new CoolException("删除销售订单失败");
//                            }
//                            log.info("{}销售订单拣货结束", getOrderResult0.getNumber());
//                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        }
    }
    /**
     * 库存上传
     */
//    @Scheduled(cron = "0/15 * * * * ? ")