#
luxiaotao1123
2021-04-22 e2544894b3b10187a838e16af6dff02166658511
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,7 +420,87 @@
                        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);
                    }
                    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/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);
                    }
@@ -516,15 +596,17 @@
    /**
     * 获取取消订单
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/10 * * * * ? ")
    @Transactional
//    @PostConstruct
    public void getCancelOrdersExecute(){
        try {
            Map<String, Object> json = new HashMap<>();
            json.put("vchType", 151);
            json.put("flag", 2);
            String response = new HttpHandler.Builder()
                    .setUri(URI)
                    .setPath(OVER_BILL)
                    .setPath(GET_ORDERS)
                    .setJson(JSON.toJSONString(json))
                    .build()
                    .doPost();
@@ -537,14 +619,15 @@
                }
                List<GetOrderResult0> list = JSON.parseArray(result.getData(), GetOrderResult0.class);
                if (!Cools.isEmpty(list)) {
                    boolean complete = true;
                    Set<String> existNumbers = new HashSet<>();
                    String cancelNumber = "";
                    if (!orderService.updateSettle(cancelNumber, 5L)) {
                        throw new CoolException("修改订单状态失败");
                    for (GetOrderResult0 result0 : list) {
                        existNumbers.add(result0.getNumber());
                    }
                    for (String number : existNumbers) {
                        if (!orderService.updateSettle(number, 5L)) {
//                            throw new CoolException("修改订单状态失败");
                        }
                    }
                }
            }
@@ -552,59 +635,6 @@
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        }
    }
    /**
     * 上传销售订单取消结果
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Transactional
//    @PostConstruct
    public void uploadCancelOrdersExecute(){
//        try {
//            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 3).isNotNull("number"));
//            if (Cools.isEmpty(orders)) {
//                return;
//            }
//            Map<String, Object> json = new HashMap<>();
//            List<UploadCancelResult> list = new ArrayList<>();
//            for (CustOrder custOrder : custOrders) {
//                UploadCancelResult result = new UploadCancelResult();
//                result.setNumber(custOrder.getNumber());
//                result.setUserCode(custOrder.getUserCode());
//                result.setQty(custOrder.getTotal());
//                result.setStatus(1);
//                list.add(result);
//            }
//            json.put("data", list);
//            String response = new HttpHandler.Builder()
//                    .setUri(URI)
//                    .setPath(UPLOAD_CANCEL_RESULT)
//                    .setJson(JSON.toJSONString(json))
//                    .build()
//                    .doPost();
//            if (!Cools.isEmpty(response)) {
////                log.info(response);
//                Date now = new Date();
//                Result result = JSON.parseObject(response, Result.class);
//                if (result.getCode() != 1) {
//                    return;
//                }
//                for (UploadCancelResult result1 : list) {
//                    // 转历史档
//                    int save = custOrderMapper.saveLog(result1.getNumber(), result1.getUserCode());
//                    if (save > 0) {
//                        if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", result1.getNumber()).eq("user_code", result1.getUserCode())) == 0) {
//                            throw new CoolException("删除销售订单失败");
//                        }
//                    }
//                }
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//            throw new RuntimeException(e.getMessage());
//        }
    }