skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -290,9 +290,19 @@ */ @PostMapping("getTaskReport") @ApiOperation(value = "巡查任务报表") public R getTaskReport(@RequestBody PatrolTaskReport patrolTaskReport) { List<PatrolTaskReport> list = patrolTaskService.getTaskReport(patrolTaskReport); return R.data(list); public R getTaskReport( PatrolTaskReport patrolTaskReport , Query query) { IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReport(Condition.getPage(query),patrolTaskReport); return R.data(pageList); } /** * 巡查任务报表 */ @PostMapping("getTaskReportDetail") @ApiOperation(value = "巡查任务报表") public R getTaskReportDetail( PatrolTaskReport patrolTaskReport , Query query) { IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportDetail(Condition.getPage(query),patrolTaskReport); return R.data(pageList); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -58,16 +58,32 @@ PatrolTask customizeGetById(@Param("id") String id); /** * 巡查报表,获取区域 * 巡查报表,市拿区 * @param patrolTaskReport * @return */ List<PatrolTaskReport> getTaskReportRegion(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); List<PatrolTaskReport> getTaskReportRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); /** * 巡查报表,获取水库 * 巡查报表,区拿水库 * @param patrolTaskReport * @return */ List<PatrolTaskReport> getTaskReportReservoir(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); List<PatrolTaskReport> getTaskReportReservoir(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); /** * 巡查报表,省拿市 * @param page * @param patrolTaskReport * @return */ List<PatrolTaskReport> getTaskReportProvince(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport); /** * 巡查报表详情 获取行政区下的水库 * @param page * @param patrolTaskReport * @return */ List<PatrolTaskReport> getTaskReportDetailRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport")PatrolTaskReport patrolTaskReport); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -182,15 +182,16 @@ WHERE T.ID = #{id} AND T.IS_DELETED = 0 </select> <!--市查区--> <select id="getTaskReportRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport"> SELECT aab."ad_name" AS adName, aab."guid" AS adCode, to_char(t.start_time,'yyyy-mm-dd') AS statisticsTime, #{patrolTaskReport.startTime} AS startTime, #{patrolTaskReport.endTime} AS endTime, COUNT(*) AS need, SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish, SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo FROM 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" = CONCAT(arb."ad_guid",'000000') @@ -198,20 +199,26 @@ <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''"> AND aab."p_ad_code" = #{patrolTaskReport.padCode} </if> <if test="patrolTaskReport.statisticsTime !=null and patrolTaskReport.statisticsTime !=''"> AND to_char(t.start_time,'yyyy-mm-dd') = #{patrolTaskReport.statisticsTime} <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime} </if> GROUP BY (aab."ad_name",aab."guid",to_char(t.start_time,'yyyy-mm-dd')) <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime} </if> GROUP BY (aab."ad_name",aab."guid") </select> <!--区查水库--> <select id="getTaskReportReservoir" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport"> SELECT arb."guid" AS reservoirId, arb."name" AS reservoirName, aab."guid" AS adCode, aab."ad_name" AS adName, #{patrolTaskReport.startTime} AS startTime, #{patrolTaskReport.endTime} AS endTime, COUNT(*) AS need, SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish, SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo FROM SK002.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" = CONCAT(arb."ad_guid",'000000') @@ -228,5 +235,73 @@ </if> GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name") </select> <!--省查市--> <select id="getTaskReportProvince" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport"> SELECT a."p_ad_code" adCode, a."p_ad_name" adName, sum(a.need) AS need, sum(a.finish) AS finish, sum(a.todo) AS todo, #{patrolTaskReport.startTime} AS startTime, #{patrolTaskReport.endTime} AS endTime FROM ( SELECT aab."p_ad_code",aab."p_ad_name", COUNT(*) AS need, SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish, SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo FROM SK002.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" = CONCAT(arb."ad_guid",'000000') where t.is_deleted = 0 AND aab."p_ad_code" != '420000000000' <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime} </if> <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime} </if> GROUP BY (aab."p_ad_code",aab."p_ad_name") ) A GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code" </select> <!--获取市下的所有水库巡查--> <select id="getTaskReportDetailRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport"> SELECT arb."guid" AS reservoirId, arb."name" AS reservoirName, aab."ad_name" AS adName, aab."guid" AS adCode, t.start_time, u.real_name patrolUserName, t.state, ( CASE t.state WHEN '1' THEN '未完成' WHEN '2' THEN '进行中' ELSE '已完成' END )stateName FROM 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" = CONCAT(arb."ad_guid",'000000') LEFT JOIN BLADE_USER u ON u.id = t.to_user_id WHERE T.IS_DELETED = 0 <if test="patrolTaskReport.adCode !=null and patrolTaskReport.adCode !=''"> AND aab."guid" LIKE CONCAT('%',#{patrolTaskReport.adCode},'%') </if> <if test="patrolTaskReport.reservoirName !=null and patrolTaskReport.reservoirName !=''"> AND arb."name" LIKE CONCAT('%',#{patrolTaskReport.reservoirName},'%') </if> <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime} </if> <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''"> AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime} </if> <if test="patrolTaskReport.reservoirId !=null and patrolTaskReport.reservoirId !=''"> AND arb."guid" = #{patrolTaskReport.reservoirId} </if> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -71,5 +71,7 @@ * @param patrolTaskReport * @return */ List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport); IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport); IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -33,10 +33,7 @@ import org.springframework.transaction.annotation.Transactional; import java.net.http.HttpRequest; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; @@ -212,14 +209,40 @@ } @Override public List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport) { if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){ return baseMapper.getTaskReportReservoir(patrolTaskReport); }else { return baseMapper.getTaskReportRegion(patrolTaskReport); public IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) { List<PatrolTaskReport> list = new ArrayList(); if (Func.equals(patrolTaskReport.getRegionFlag(),"0")){ //省 返回市 list = baseMapper.getTaskReportProvince(page,patrolTaskReport); }else if (Func.equals(patrolTaskReport.getRegionFlag(),"1")){ //市 返回区 list = baseMapper.getTaskReportRegion(page,patrolTaskReport); }else if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){ //区 返回水库 list = baseMapper.getTaskReportReservoir(page,patrolTaskReport); } return page.setRecords(list); } @Override public IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport) { List<PatrolTaskReport> list = new ArrayList(); if (Func.isNotEmpty(patrolTaskReport.getReservoirId())){ //获取该水库的巡查 list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport); }else { String code = patrolTaskReport.getAdCode(); if (code.substring(0,4).indexOf("00") > -1) { //前4位包含00 =》省 patrolTaskReport.setAdCode(code.substring(0,2)); } else if (code.substring(0,6).indexOf("00") > -1) { //前六位包含00 =》市 patrolTaskReport.setAdCode(code.substring(0,4)); } list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport); } return page.setRecords(list); } public void saveReport(PatrolTask patrolTask){ skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java
@@ -59,7 +59,7 @@ private String todo; /** * 0、省;1、市;2、区 * 0、省;1、市;2、区 3、水库 */ private String regionFlag; @@ -72,4 +72,19 @@ * 结束时间 */ private String endTime; /** * 巡查责任人名字 */ private String patrolUserName; /** * 任务状态名 */ private String stateName; /** * 任务状态 */ private String state; }