zc
2 天以前 2e30e14b59e2acbd6fe8da3ca05854fd88864171
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
@@ -18,6 +18,7 @@
import com.vincent.rsf.server.system.entity.User;
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.service.impl.UserServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -70,8 +71,9 @@
    public void InStockToLog() {
        List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
                .eq(WkOrder::getType, OrderType.ORDER_IN.type)
                .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val)
                );
                .isNotNull(WkOrder::getPoCode)
                .ne(WkOrder::getPoCode, "")
                .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val));
        if (wkOrders.isEmpty()) {
            return;
        }
@@ -95,9 +97,9 @@
    public void outStockComplete() {
        List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
                .eq(WkOrder::getType, OrderType.ORDER_OUT.type)
                .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val)
        );
                .isNotNull(WkOrder::getPoCode)
                .ne(WkOrder::getPoCode, "")
                .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val));
        if (wkOrders.isEmpty()) {
            return;
        }
@@ -114,9 +116,11 @@
     * @description: 上传已完成订单至ERP平台
     * @version 1.0
     */
    @Transactional(rollbackFor = Exception.class)
    public void reportOrders(List<WkOrder> orders) {
        orders.forEach(order -> {
        for (WkOrder order : orders) {
            if (order.getReportOnce() > 4 || order.getNtyStatus() == 1) {
                continue;
            }
            ReportParams params = new ReportParams();
            List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId()));
            if (orderItems.isEmpty()) {
@@ -136,6 +140,7 @@
                //设置通用参数
                param.setWMSNO(order.getCode())
                        .setPONO(order.getPoCode())
                        .setOrderNO(order.getPoCode())
                        .setOrderDate(order.getCreateTime())
                        .setItemCode(orderItem.getMatnrCode())
                        .setEditUser(nickName)
@@ -168,7 +173,9 @@
                    //生产补料
                    params.setOrderType("WR_Instock_BL").setAction("Update");
                    param.setOutQty(orderItem.getQty());
                } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
                    params.setOrderType("WO_Outstock_WR").setAction("Update");
                    param.setOutQty(orderItem.getQty());
                } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
                    //其它入库单/手动入库单
                    params.setOrderType("In_Instock").setAction("Update");
@@ -183,14 +190,22 @@
            });
            params.setData(reportData);
            R reported = reportMsgService.reportOrders(params);
            if (reported.get("code").equals(200)) {
               order.setNtyStatus(1);
               if (!asnOrderService.updateById(order)) {
                   throw new CoolException("上报状态修改失败!!");
               }
            R reported = reportMsgService.uploadReportOrders(params);
            order.setReportOnce(order.getReportOnce() + 1);
            asnOrderService.updateById(order);
//            if (reported.get("code").equals(200)) {
//                if (!asnOrderService.updateById(order)) {
//                    throw new CoolException("上报状态修改失败!!");
//                }
//            }
            try {
                //休眠3秒
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        });
        }
    }
@@ -205,7 +220,7 @@
    @Transactional(rollbackFor = Exception.class)
    public void moveOrderToLog(List<WkOrder> wkOrders, String type) {
        //上报已完成订单至ERP、MES等三方系统
//        reportOrders(wkOrders);
        reportOrders(wkOrders);
        //
        Set<Long> longSet = wkOrders.stream().map(WkOrder::getId).collect(Collectors.toSet());
        List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>()