龚焕茏
2024-06-28 bbd11b01630c50ebedf68b2c6588b53a7bc7ba7e
refactor:批量审核选择故障类型
3个文件已修改
24 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
@@ -28,9 +28,9 @@
    private String auditingRemark;
    /**
     * 批量审核ids
     * 故障类型
     */
    @NotEmpty(message = "审核工单不能为空")
    private List<Integer> ids;
    @NotBlank(message = "故障类型不能为空")
    private String errorType;
}
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -30,6 +30,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
@@ -128,14 +129,24 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result batchAuditing(WorkOrderBatchAuditingForm form) {
        // 根据故障类型获取列表
        List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
                .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
                .eq(WorkOrder::getErrorType, form.getErrorType())
                .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo)
                .list();
        if (list.isEmpty()) {
            return Result.error("没有工单可以审核");
        }
        List<Integer> ids = list.stream().map(WorkOrder::getId).collect(Collectors.toList());
        // 工单状态
        LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.in(WorkOrder::getId, form.getIds());
        lambdaUpdateWrapper.in(WorkOrder::getId, ids);
        lambdaUpdateWrapper.set(WorkOrder::getStatus, form.getAuditingResult());
        baseMapper.update(lambdaUpdateWrapper);
        // 添加多条审核记录
        List<WorkOrderAuditingRecord> workOrderAuditingRecords = new ArrayList<>();
        for (Integer id : form.getIds()) {
        for (Integer id : ids) {
            WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
            workOrderAuditingRecord.setWorkOrderId(id);
            workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
@@ -145,7 +156,6 @@
        }
        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,
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -32,7 +32,7 @@
            <if test="query.status != null">
                AND wo.status = #{query.status}
            </if>
            <if test="query.errorType != null and query.errType != ''">
            <if test="query.errorType != null and query.errorType != ''">
                AND wo.error_type = #{query.errorType}
            </if>
            <if test="query.start != null">