龚焕茏
2024-06-27 ad4c2b5de789439e25eedc68e2d7f0beda1fdb4c
feat:批量审核
3个文件已修改
1个文件已添加
91 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
New file
@@ -0,0 +1,36 @@
package com.ycl.platform.domain.form;
import enumeration.general.WorkOrderStatusEnum;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.util.List;
/**
 * 工单审核表单
 *
 * @author:xp
 * @date:2024/3/6 8:59
 */
@Data
public class WorkOrderBatchAuditingForm {
    /**
     * 审核结果
     */
    @NotBlank(message = "审核结果不能为空")
    private WorkOrderStatusEnum auditingResult;
    /**
     * 审核说明
     */
    private String auditingRemark;
    /**
     * 批量审核ids
     */
    @NotEmpty(message = "审核工单不能为空")
    private List<Integer> ids;
}
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -56,6 +56,13 @@
        return workOrderService.auditing(form);
    }
    @PutMapping("/batchAuditing")
    @ApiOperation(value = "审核", notes = "工单批量审核")
    @PreAuthorize("@ss.hasPermi('work:order:audit')")
    public Result batchAuditing(@RequestBody @Validated(Update.class) WorkOrderBatchAuditingForm form) {
        return workOrderService.batchAuditing(form);
    }
    @PutMapping("/yw-condition")
    @ApiOperation(value = "运维情况", notes = "运维情况")
    public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWConditionForm form) {
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -73,6 +73,13 @@
    Result auditing(WorkOrderAuditingForm form);
    /**
     * 批量审核
     * @param form 工单
     * @return 结果
     */
    Result batchAuditing(WorkOrderBatchAuditingForm form);
    /**
     * 运维情况
     * @param form
     * @return
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -1,5 +1,6 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@@ -13,6 +14,7 @@
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.mapper.*;
import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderAuditingRecordService;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.system.Result;
import com.ycl.system.model.LoginUser;
@@ -32,6 +34,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -51,6 +54,7 @@
    private final YwUnitMapper ywUnitMapper;
    private final YwPeopleMapper ywPeopleMapper;
    private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
    private final WorkOrderAuditingRecordService workOrderAuditingRecordService;
    private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
    private final NotifyService notifyService;
    private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper;
@@ -123,6 +127,40 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result batchAuditing(WorkOrderBatchAuditingForm form) {
        // 工单状态
        LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.in(WorkOrder::getId, form.getIds());
        lambdaUpdateWrapper.set(WorkOrder::getStatus, form.getAuditingResult());
        baseMapper.update(lambdaUpdateWrapper);
        // 添加多条审核记录
        List<WorkOrderAuditingRecord> workOrderAuditingRecords = new ArrayList<>();
        for (Integer id : form.getIds()) {
            WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
            workOrderAuditingRecord.setWorkOrderId(id);
            workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
            workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc());
            workOrderAuditingRecord.setRemark(form.getAuditingRemark());
            workOrderAuditingRecords.add(workOrderAuditingRecord);
        }
        workOrderAuditingRecordService.saveBatch(workOrderAuditingRecords);
        // 添加新通知
        List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper).in(WorkOrder::getId, form.getIds()).select(WorkOrder::getUnitId, WorkOrder::getWorkOrderNo).list();
        List<Notify> notifies = new ArrayList<>();
        for (WorkOrder workOrder : list) {
            Notify notify = Notify.genEntityByUnit(NotifyTypeEnum.WORK_ORDER,
                    form.getAuditingResult().getDesc(),
                    workOrder.getUnitId(),
                    UrgentLevelEnum.WARNING,
                    workOrder.getWorkOrderNo());
            notifies.add(notify);
        }
        notifyService.saveBatch(notifies);
        return Result.ok("操作成功");
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result ywCondition(WorkOrderYWConditionForm form) {
        WorkOrder workOrder = baseMapper.selectById(form.getId());
        if (Objects.isNull(workOrder)) {
@@ -148,8 +186,7 @@
                new LambdaQueryChainWrapper<>(workOrderYwConditionRecordMapper)
                        .eq(WorkOrderYwConditionRecord::getWorkOrderId, id)
                        .orderByAsc(WorkOrderYwConditionRecord::getCreateTime)
                        .last("limit 1")
                        .one());
                        .list());
    }
    @Override