xiangpei
2024-08-24 633b96bb1ced95e60df5e28249ce51b6ffe82d27
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -121,6 +121,12 @@
        List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48);
        Integer updateNum = 0;
        Date now = new Date();
        // 因故障类型不一致而要更新状态的工单
        List<WorkOrder> willUpdateStatusWorkOrderList = new ArrayList<>(48);
        // 更改工单类型而要增加的系统运维处理信息
        List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48);
        // 即将要添加的错误类型
        List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96);
        for (WorkOrder workOrder : workOrderList) {
            WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
            if (Objects.nonNull(databaseWorkOrder)) {
@@ -138,20 +144,20 @@
                            workOrderErrorType.setCreateTime(now);
                            workOrderErrorType.setUpdateTime(now);
                            workOrderErrorType.setErrorName(errorType);
                            workOrderErrorTypeService.save(workOrderErrorType);
                            willAddErrorType.add(workOrderErrorType);
                        }
                    }
                    databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
                    databaseWorkOrder.setUpdateTime(now);
                    baseMapper.updateById(databaseWorkOrder);
                    willUpdateStatusWorkOrderList.add(databaseWorkOrder);
                    updateNum++;
                    // 同时新增一个运维处理信息,表明此工单被调整
                    WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord();
                    ywRecord.setWorkOrderId(databaseWorkOrder.getId());
                    ywRecord.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo());
                    ywRecord.setCommitUser(1);
                    ywRecord.setYwCondition("故障类型更新,工单状态调整为待处理");
                    ywRecord.setCreateTime(new Date());
                    workOrderYwConditionRecordMapper.insert(ywRecord);
                    willAddMsg.add(ywRecord);
                }
            } else {
                workOrder.setCreateTime(new Date());
@@ -163,6 +169,15 @@
//                }
                waitAddList.add(workOrder);
            }
        }
        if (willAddErrorType.size() > 0) {
            workOrderErrorTypeService.getBaseMapper().addMany(willAddErrorType);
        }
        if (willAddMsg.size() > 0) {
            workOrderYwConditionRecordMapper.insertMany(willAddMsg);
        }
        if (willUpdateStatusWorkOrderList.size() > 0) {
            this.baseMapper.updateMany(willUpdateStatusWorkOrderList);
        }
        if (CollectionUtils.isEmpty(waitAddList)) {
            return Boolean.TRUE;
@@ -365,7 +380,7 @@
        baseMapper.updateById(workOrder);
        // 添加一条运维情况记录
        WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
        workOrderYwConditionRecord.setWorkOrderId(workOrder.getId());
        workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo());
        workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
        workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
        workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());