skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -316,7 +316,20 @@ @GetMapping("getTaskStatusCount") public R getTaskStatusCount(PatrolTaskVO patrolTaskVO){ List<TaskStatusCount> list = patrolTaskService.getTaskStatusCount(patrolTaskVO); // List<TaskStatusCount> list = patrolTaskService.getTaskStatusCount(patrolTaskVO); List<TaskStatusCount> list = patrolTaskService.getTaskStatusCountOptimize(patrolTaskVO); return R.data(list); } @GetMapping("getTaskStatus") public R getTaskStatus(PatrolTaskVO patrolTaskVO){ TaskStatus taskStatus = patrolTaskService.getTaskStatus(patrolTaskVO); return R.data(taskStatus); } @GetMapping("getTaskStatusCountOptimize") public R getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO){ List<TaskStatusCount> list = patrolTaskService.getTaskStatusCountOptimize(patrolTaskVO); return R.data(list); } @@ -327,4 +340,6 @@ } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -1,10 +1,7 @@ package cn.gistack.sm.patrol.mapper; import cn.gistack.sm.patrol.entity.PatrolTask; import cn.gistack.sm.patrol.vo.PatrolTaskReport; import cn.gistack.sm.patrol.vo.PatrolTaskStatisticsVO; import cn.gistack.sm.patrol.vo.PatrolTaskVO; import cn.gistack.sm.patrol.vo.TaskStatusCount; import cn.gistack.sm.patrol.vo.*; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; @@ -99,4 +96,10 @@ List<PatrolTaskReport> getRegionReportPage(IPage<PatrolTaskReport> page, @Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); List<PatrolTaskReport> getRegionReportList(@Param("patrolTaskReport")PatrolTaskReport patrolTaskReport); TaskStatusCount getTaskStatusCountByType(@Param("vo") PatrolTaskVO patrolTaskVO, @Param("type") String type); TaskStatusCount getTaskStatusCountAll(@Param("vo") PatrolTaskVO patrolTaskVO); TaskStatus getTaskStatus(@Param("vo") PatrolTaskVO patrolTaskVO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -574,6 +574,62 @@ </if> </select> <select id="getTaskStatusCountByType" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount"> SELECT case when T.state = '1' then '未完成' when t.state = '2' then '进行中' when t.state = '3' then '已完成' else null end as name, T.STATE AS VALUE , count(*) as taskCount FROM YWXT.SM_PATROL_TASK T LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T.project_id LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid" LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code" WHERE T.IS_DELETED = '0' <if test="type != null and type !=''"> and t.state = #{type} </if> <if test="vo.adCode != null and vo.adCode != '' "> and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode}) </if> <if test="vo.startTime !=null and vo.startTime !=''"> AND T.start_time >= #{vo.startTime} </if> <if test="vo.endTime !=null and vo.endTime !=''"> AND T.end_time <= #{vo.endTime} </if> <if test="vo.reservoirName !=null and vo.reservoirName !='' "> AND T.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%') </if> GROUP BY T.STATE </select> <select id="getTaskStatusCountAll" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount"> SELECT '全部' AS name,'' AS value , count(*) as taskCount FROM SM_PATROL_TASK T1 LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T1.project_id LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid" LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code" WHERE T1.IS_DELETED = 0 <if test="vo.adCode != null and vo.adCode != '' "> and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode}) </if> <if test="vo.startTime !=null and vo.startTime !=''"> AND T1.start_time >= #{vo.startTime} </if> <if test="vo.endTime !=null and vo.endTime !=''"> AND T1.end_time <= #{vo.endTime} </if> <if test="vo.reservoirName !=null and vo.reservoirName !='' "> AND T1.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%') </if> </select> <select id="getTaskTypeCount" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount"> @@ -604,6 +660,32 @@ ) A ON A.task_type = spt.id WHERE SPT.IS_DELETED = 0 </select> <select id="getTaskStatus" resultType="cn.gistack.sm.patrol.vo.TaskStatus"> SELECT count(*) as total, sum(case when t.state = '1' then 1 else 0 end) unfinished, sum(case when t.state = '2' then 1 else 0 end) processing, sum(case when t.state = '3' then 1 else 0 end) finished FROM YWXT.SM_PATROL_TASK T LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T.project_id LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid" LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code" LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code" WHERE T.IS_DELETED = 0 <if test="vo.adCode != null and vo.adCode != '' "> and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode}) </if> <if test="vo.startTime !=null and vo.startTime !=''"> AND T.start_time >= #{vo.startTime} </if> <if test="vo.endTime !=null and vo.endTime !=''"> AND T.end_time <= #{vo.endTime} </if> <if test="vo.reservoirName !=null and vo.reservoirName !='' "> AND T.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%') </if> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -3,10 +3,7 @@ import cn.gistack.flow.core.entity.BladeFlow; import cn.gistack.sm.patrol.entity.PatrolReport; import cn.gistack.sm.patrol.entity.PatrolTask; import cn.gistack.sm.patrol.vo.BladeFlowTask; import cn.gistack.sm.patrol.vo.PatrolTaskReport; import cn.gistack.sm.patrol.vo.PatrolTaskVO; import cn.gistack.sm.patrol.vo.TaskStatusCount; import cn.gistack.sm.patrol.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; @@ -81,4 +78,8 @@ List<TaskStatusCount> getTaskStatusCount(PatrolTaskVO patrolTaskVO); List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO); List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO); TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -15,10 +15,7 @@ import cn.gistack.sm.patrol.service.IPatrolTaskService; import cn.gistack.sm.patrol.util.EnhancementServicesTool; import cn.gistack.sm.patrol.util.IdWorker; import cn.gistack.sm.patrol.vo.BladeFlowTask; import cn.gistack.sm.patrol.vo.PatrolTaskReport; import cn.gistack.sm.patrol.vo.PatrolTaskVO; import cn.gistack.sm.patrol.vo.TaskStatusCount; import cn.gistack.sm.patrol.vo.*; import cn.gistack.sm.sjztmd.service.IYwTermitesTaskService; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; @@ -256,6 +253,42 @@ } @Override public List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO) { List<TaskStatusCount> list = new ArrayList<>(); // TaskStatusCount all = baseMapper.getTaskStatusCountAll(patrolTaskVO); // // TaskStatusCount unfinished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"1"); // TaskStatusCount processing = baseMapper.getTaskStatusCountByType(patrolTaskVO,"2"); // TaskStatusCount finished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"3"); // // list.add(unfinished); // list.add(processing); // list.add(finished); // list.add(all); TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO); TaskStatusCount unfinished = new TaskStatusCount("未完成","1",taskStatus.getUnfinished()); TaskStatusCount processing = new TaskStatusCount("进行中","2",taskStatus.getProcessing()); TaskStatusCount finished = new TaskStatusCount("已完成","3",taskStatus.getFinished()); TaskStatusCount all = new TaskStatusCount("全部","",taskStatus.getTotal()); list.add(unfinished); list.add(processing); list.add(finished); list.add(all); return list; } @Override public TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO) { TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO); return taskStatus; } @Override public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) { return baseMapper.getTaskTypeCount(patrolTaskVO); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/TaskStatus.java
New file @@ -0,0 +1,18 @@ package cn.gistack.sm.patrol.vo; import lombok.Data; @Data public class TaskStatus { private Integer total; private Integer unfinished; private Integer processing; private Integer finished; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/TaskStatusCount.java
@@ -19,4 +19,10 @@ * 任务数量 */ private Integer taskCount; public TaskStatusCount(String name, String value, Integer taskCount) { this.name = name; this.value=value; this.taskCount = taskCount; } }