chen.lin
16 小时以前 a2ef34a807b1f88ac9b18dae51adbf61ce821595
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -598,25 +598,40 @@
            }
            List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
            // 上报ERP暂时注释(/rsf-open-api/erp/report/order)
            // if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) {
            //     for (TaskItem taskItem : taskItems) {
            //         if (Objects.isNull(taskItem.getOrderId())) {
            //             continue;
            //         }
            //         WkOrder order = asnOrderService.getById(taskItem.getOrderId());
            //         if (Objects.isNull(order)) {
            //             continue;
            //         }
            //         // 入库单任务明细上报:优先按 orderItemId(单据明细ID)查,否则按 orderId+matnrId(+fieldsIndex) 查,确保能找到单据明细
            //         WkOrderItem wkOrderItem = null;
            //         if (taskItem.getOrderItemId() != null) {
            //             wkOrderItem = asnOrderItemService.getById(taskItem.getOrderItemId());
            //         }
            //         if (wkOrderItem == null) {
            //             LambdaQueryWrapper<WkOrderItem> qw = new LambdaQueryWrapper<WkOrderItem>()
            //                     .eq(WkOrderItem::getOrderId, order.getId())
            //                     .eq(WkOrderItem::getMatnrId, taskItem.getMatnrId());
            //             if (StringUtils.isNotBlank(taskItem.getFieldsIndex())) {
            //                 qw.eq(WkOrderItem::getFieldsIndex, taskItem.getFieldsIndex());
            //             }
            //             wkOrderItem = asnOrderItemService.getOne(qw);
            //         }
            //         if (Objects.isNull(wkOrderItem)) {
            //             logger.warn("任务历史档处理:单据明细不存在或已完成,跳过上报 - taskId={}, orderId={}, orderItemId={}, matnrId={}, fieldsIndex={}", task.getId(), order.getId(), taskItem.getOrderItemId(), taskItem.getMatnrId(), taskItem.getFieldsIndex());
            //             continue;
            //         }
            //         /**入库单明细上报*/
            //         reportMsgService.reportOrderItem(wkOrderItem);
            //     }
            // } else
            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) {
                for (TaskItem taskItem : taskItems) {
                    if (Objects.isNull(taskItem.getOrderId())) {
                        continue;
                    }
                    WkOrder order = asnOrderService.getById(taskItem.getOrderId());
                    if (Objects.isNull(order)) {
                        continue;
                    }
                    //入库单任务明细上报
                    WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<WkOrderItem>()
                            .eq(WkOrderItem::getOrderId, order.getId())
                            .eq(WkOrderItem::getFieldsIndex, taskItem.getFieldsIndex()));
                    if (Objects.isNull(wkOrderItem)) {
                        throw new CoolException("数据错误,单据明细不存在或已完成!!");
                    }
                    /**入库单明细上报*/
                    reportMsgService.reportOrderItem(wkOrderItem);
                }
                // 入库类型仅转历史,不上报ERP(已注释)
            } else if ((task.getTaskType() >= TaskType.TASK_TYPE_OUT.type && task.getTaskType() <= TaskType.TASK_TYPE_EMPITY_OUT.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)) {
                /**判断单据是否完成:波次下发、按单下发(点击下发任务)完成后均将出库单置为完结*/