guoshilong
2023-05-24 4d07c1c65427f6ba3cb968ddf0d0b2b669187575
添加巡逻路线
6 files modified
188 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java 24 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java 29 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml 99 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java 28 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskVO.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -229,7 +229,7 @@
            List<Object> data = res.getData().getData();
            data.forEach(obj -> {
                BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlow.class);
                PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                PatrolTaskVO byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                if (byId != null) {
                    byId.setFlow(bladeFlow);
                    patrolTaskList.add(byId);
@@ -267,7 +267,7 @@
            List<Object> data = res.getData().getData();
            data.forEach(obj -> {
                BladeFlowVO<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlowVO.class);
                PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                PatrolTaskVO byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                bladeFlow.setDetail(byId);
                bladeFlowVOList.add(bladeFlow);
@@ -286,17 +286,27 @@
    }
    /**
     * 巡查任务报表
     * 巡查任务报表 分页
     */
    @PostMapping("getTaskReport")
    @PostMapping("getTaskReportPage")
    @ApiOperation(value = "巡查任务报表")
    public R getTaskReport( PatrolTaskReport patrolTaskReport , Query query) {
        IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReport(Condition.getPage(query),patrolTaskReport);
    public R getTaskReportPage( PatrolTaskReport patrolTaskReport , Query query) {
        IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportPage(Condition.getPage(query),patrolTaskReport);
        return R.data(pageList);
    }
    /**
     * 巡查任务报表
     * 巡查任务报表 分页
     */
    @PostMapping("getTaskReportList")
    @ApiOperation(value = "巡查任务报表")
    public R getTaskReportList( PatrolTaskReport patrolTaskReport ) {
        List<PatrolTaskReport> list = patrolTaskService.getTaskReportList(patrolTaskReport);
        return R.data(list);
    }
    /**
     * 巡查任务报表 分页
     */
    @PostMapping("getTaskReportDetail")
    @ApiOperation(value = "巡查任务报表")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -55,21 +55,21 @@
     */
    PatrolTask getPatrolTaskById(@Param("id")String id);
    PatrolTask customizeGetById(@Param("id") String id);
    PatrolTaskVO customizeGetById(@Param("id") String id);
    /**
     * 巡查报表,市拿区
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getTaskReportRegionPage(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,区拿水库
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportReservoir(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getTaskReportReservoirPage(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,省拿市
@@ -77,7 +77,7 @@
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportProvince(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getTaskReportProvincePage(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表详情 获取行政区下的水库
@@ -86,4 +86,25 @@
     * @return
     */
    List<PatrolTaskReport> getTaskReportDetailRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport")PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,市拿区
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportRegionList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,区拿水库
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportReservoirList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,省拿市
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportProvinceList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -174,8 +174,10 @@
        FROM sm_patrol_task spt
        where spt.id = #{id}
    </select>
    <select id="customizeGetById" resultType="cn.gistack.sm.patrol.entity.PatrolTask">
        SELECT T.ID,T.TITLE,T.TO_USER_ID,A.PROBLEM_COUNT,T.PROJECT_ID,T.CONTENT,T.STATE FROM SM_PATROL_TASK T
    <select id="customizeGetById" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
        SELECT T.ID,T.TITLE,T.TO_USER_ID,U.REAL_NAME toUserIdName,A.PROBLEM_COUNT,T.PROJECT_ID,T.CONTENT,T.STATE,T.PATROL_ROUTE
        FROM SM_PATROL_TASK T
        LEFT JOIN BLADE_USER U ON U.ID = T.TO_USER_ID
        LEFT JOIN (
            SELECT COUNT(*) PROBLEM_COUNT,R.TASK_ID FROM SM_PATROL_REPORT R WHERE R.TASK_ID = #{id} AND R.STATUS = 2 GROUP BY R.TASK_ID
        )A ON A.TASK_ID = T.ID
@@ -183,7 +185,7 @@
        AND T.IS_DELETED = 0
    </select>
    <!--市查区-->
    <select id="getTaskReportRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <select id="getTaskReportRegionPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
@@ -208,7 +210,7 @@
        GROUP BY (aab."ad_name",aab."guid")
    </select>
    <!--区查水库-->
    <select id="getTaskReportReservoir" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <select id="getTaskReportReservoirPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        arb."guid" AS reservoirId,
        arb."name" AS reservoirName,
@@ -236,7 +238,7 @@
        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
    </select>
    <!--省查市-->
    <select id="getTaskReportProvince" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <select id="getTaskReportProvincePage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        a."p_ad_code" adCode,
        a."p_ad_name" adName,
@@ -265,6 +267,93 @@
            ) A
        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
    </select>
    <!--市查区-->
    <select id="getTaskReportRegionList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
        #{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 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')
        WHERE t.IS_DELETED = 0
        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid")
    </select>
    <!--区查水库-->
    <select id="getTaskReportReservoirList" 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 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
        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
            AND aab."ad_code" = #{patrolTaskReport.adCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
    </select>
    <!--省查市-->
    <select id="getTaskReportProvinceList" 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') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{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
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -62,7 +62,7 @@
    boolean chargeCompletePerson(BladeFlowTask bladeFlowTask);
    PatrolTask customizeGetById(String businessId);
    PatrolTaskVO customizeGetById(String businessId);
    List<PatrolTask> getAll(PatrolTaskVO patrolTaskVO);
@@ -71,7 +71,9 @@
     * @param patrolTaskReport
     * @return
     */
    IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport);
    IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport);
    IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -199,7 +199,7 @@
    }
    @Override
    public PatrolTask customizeGetById(String businessId) {
    public PatrolTaskVO customizeGetById(String businessId) {
        return baseMapper.customizeGetById(businessId);
    }
@@ -209,19 +209,35 @@
    }
    @Override
    public IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) {
    public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) {
        List<PatrolTaskReport> list = new ArrayList();
        if (Func.equals(patrolTaskReport.getRegionFlag(),"0")){
            //省  返回市
            list =  baseMapper.getTaskReportProvince(page,patrolTaskReport);
            list =  baseMapper.getTaskReportProvincePage(page,patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"1")){
            //市 返回区
            list = baseMapper.getTaskReportRegion(page,patrolTaskReport);
            list = baseMapper.getTaskReportRegionPage(page,patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
            //区 返回水库
            list = baseMapper.getTaskReportReservoir(page,patrolTaskReport);
            list = baseMapper.getTaskReportReservoirPage(page,patrolTaskReport);
        }
        return page.setRecords(list);
    }
    @Override
    public List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport) {
        List<PatrolTaskReport> list = new ArrayList();
        if (Func.equals(patrolTaskReport.getRegionFlag(),"0")){
            //省  返回市
            list =  baseMapper.getTaskReportProvinceList(patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"1")){
            //市 返回区
            list = baseMapper.getTaskReportRegionList(patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
            //区 返回水库
            list = baseMapper.getTaskReportReservoirList(patrolTaskReport);
        }
        return list;
    }
    @Override
@@ -245,6 +261,8 @@
        return page.setRecords(list);
    }
    public void saveReport(PatrolTask patrolTask){
        //拿到当前任务下的异常巡查记录
        PatrolRecord patrolRecord = new PatrolRecord();
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskVO.java
@@ -53,4 +53,6 @@
    private String finish;
    private List<PatrolRecord> patrolRecordList;
    private String toUserIdName;
}