09-30-更新时允许为空字段
This commit is contained in:
		| @ -206,6 +206,28 @@ public class OpsInspectionTaskServiceImpl implements IOpsInspectionTaskService { | ||||
|         if(isValid){ | ||||
|             //TODO 做一些业务上的校验,判断是否需要校验 | ||||
|         } | ||||
|  | ||||
|         //删除任务时删除节点和节点问题 | ||||
|         List<Long> problemIds = new ArrayList<>(); | ||||
|         LambdaQueryWrapper<OpsInspectionTaskProblem> problemLambdaQueryWrapper = new LambdaQueryWrapper<>(); | ||||
|  | ||||
|         for (Long id : ids) { | ||||
|             //删除节点 | ||||
|             OpsInspectionTaskVo taskVo = baseMapper.selectVoById(id); | ||||
|             if (taskVo!= null){ | ||||
|                 if (taskVo.getNodeIds()!=null){ | ||||
|                     nodeMapper.deleteByIds(Arrays.stream(taskVo.getNodeIds().split(",")).toList()); | ||||
|                 } | ||||
|             } | ||||
|             //删除问题 | ||||
|             problemLambdaQueryWrapper.clear(); | ||||
|             problemLambdaQueryWrapper.eq(OpsInspectionTaskProblem::getId, id); | ||||
|             List<OpsInspectionTaskProblemVo> problemVos = problemMapper.selectVoList(problemLambdaQueryWrapper); | ||||
|             if (problemVos!= null && !problemVos.isEmpty()){ | ||||
|                 problemMapper.deleteByIds(problemVos); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return baseMapper.deleteByIds(ids) > 0; | ||||
|     } | ||||
|  | ||||
| @ -262,7 +284,7 @@ public class OpsInspectionTaskServiceImpl implements IOpsInspectionTaskService { | ||||
|         Date finalStartDate = startDate; | ||||
|         Date finalEndDate = endDate; | ||||
|  | ||||
|         //仅统计在本月完成的巡检 | ||||
|         //仅统计在指定时间段内完成的巡检任务 | ||||
|         List<OpsInspectionTaskVo> finishList = opsInspectionTaskVos.stream() | ||||
|             .filter(taskVo -> taskVo.getFinishTime() != null && taskVo.getStartTime() != null && taskVo.getFinishTime().before(finalEndDate) && taskVo.getStartTime().after(finalStartDate)) | ||||
|             .filter(vo -> vo.getCreateTime().after(finalStartDate) && vo.getCreateTime().before(finalEndDate)) | ||||
| @ -271,15 +293,10 @@ public class OpsInspectionTaskServiceImpl implements IOpsInspectionTaskService { | ||||
|  | ||||
|         //发现问题数 通过createTime统计 | ||||
|         int problemCount = 0; | ||||
| //        List<OpsInspectionTaskVo> problemList = opsInspectionTaskVos.stream() | ||||
| //            .filter(taskVo -> taskVo.getCreateTime().after(finalStartDate) && taskVo.getCreateTime().before(finalEndDate)) | ||||
| //            .toList(); | ||||
| //        if (!problemList.isEmpty()){ | ||||
| //            problemCount = problemList.size(); | ||||
| //        } | ||||
|         LambdaQueryWrapper<OpsInspectionTaskProblem> problemLqw = new LambdaQueryWrapper<>(); | ||||
|         problemLqw.eq(OpsInspectionTaskProblem::getProjectId, projectId); | ||||
|         problemLqw.between(OpsInspectionTaskProblem::getCreateTime, finalStartDate, finalEndDate); | ||||
|         problemLqw.ge(OpsInspectionTaskProblem::getCreateTime, finalStartDate); | ||||
|         problemLqw.le(OpsInspectionTaskProblem::getCreateTime, finalEndDate); | ||||
|  | ||||
|         List<OpsInspectionTaskProblemVo> problemVos = problemMapper.selectVoList(problemLqw); | ||||
|         if (problemVos != null && !problemVos.isEmpty()){ | ||||
| @ -339,8 +356,9 @@ public class OpsInspectionTaskServiceImpl implements IOpsInspectionTaskService { | ||||
|  | ||||
|         //巡检完成率 | ||||
|         BigDecimal xjwcl; | ||||
|         //本月巡检数 | ||||
|         int byxjs = opsInspectionTaskVos.stream().filter(vo -> vo.getCreateTime().after(finalStartDate) && vo.getCreateTime().before(finalEndDate)) | ||||
|         //统计指定时间段内创建的巡检任务数 | ||||
|         int byxjs = opsInspectionTaskVos.stream() | ||||
|             .filter(vo -> !vo.getCreateTime().before(finalStartDate) && !vo.getCreateTime().after(finalEndDate)) | ||||
|             .toList() | ||||
|             .size(); | ||||
|         //完成 / 巡检数 * 100 | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| package org.dromara.inspection.service.impl; | ||||
|  | ||||
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | ||||
| import lombok.Data; | ||||
| import org.apache.dubbo.config.annotation.DubboReference; | ||||
| import org.dromara.common.core.domain.R; | ||||
| @ -150,6 +151,10 @@ public class OpsInspectionTestTaskServiceImpl implements IOpsInspectionTestTaskS | ||||
|         OpsInspectionTestTask update = MapstructUtils.convert(bo, OpsInspectionTestTask.class); | ||||
|         validEntityBeforeSave(update); | ||||
|  | ||||
|         if(update == null){ | ||||
|             return R.fail(); | ||||
|         } | ||||
|  | ||||
|         OpsInspectionTestTaskVo oldVo = baseMapper.selectVoById(bo.getId()); | ||||
|  | ||||
|         if (!oldVo.getStatus().equals("5") && bo.getStatus().equals("5")){ | ||||
| @ -170,7 +175,34 @@ public class OpsInspectionTestTaskServiceImpl implements IOpsInspectionTestTaskS | ||||
|                 return R.fail("节点尚未全部完成"); | ||||
|             } | ||||
|         } | ||||
|         boolean b = baseMapper.updateById(update) > 0; | ||||
|  | ||||
|         // 使用 UpdateWrapper 更新包括 null 的字段 | ||||
|         UpdateWrapper<OpsInspectionTestTask> updateWrapper = new UpdateWrapper<>(); | ||||
|         updateWrapper.eq("id", bo.getId()); | ||||
|  | ||||
|         // 手动设置需要更新的字段,包括可能为 null 的字段 | ||||
|         updateWrapper.set("task_name", update.getTaskName()) | ||||
|             .set("test_object", update.getTestObject()) | ||||
|             .set("begin_time", update.getBeginTime()) | ||||
|             .set("end_time", update.getEndTime()) | ||||
|             .set("time_info", update.getTimeInfo()) | ||||
|             .set("person", update.getPerson()) | ||||
|             .set("status", update.getStatus()) | ||||
|             .set("test_plan_id", update.getTestPlanId()) | ||||
|             .set("test_setting", update.getTestSetting()) | ||||
|             .set("plan_begin_time", update.getPlanBeginTime()) | ||||
|             .set("fail_reason", update.getFailReason()) | ||||
|             .set("fail_time", update.getFailTime()) | ||||
|             .set("fail_phase", update.getFailPhase()) | ||||
|             .set("faile_analyze", update.getFaileAnalyze()) | ||||
|             .set("faile_tips", update.getFaileTips()) | ||||
|             .set("test_long_time", update.getTestLongTime()) | ||||
|             .set("test_final", update.getTestFinal()) | ||||
|             .set("final_info", update.getFinalInfo()) | ||||
|             .set("pause_for", update.getPauseFor()) | ||||
|             .set("pause_time", update.getPauseTime()); | ||||
|  | ||||
|         boolean b = baseMapper.update(updateWrapper) > 0; | ||||
|         if (b){ | ||||
|             return R.ok(); | ||||
|         }else { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user