From 0638eafaa8eaaad126d39becae52f48813c24844 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Fri, 20 Sep 2024 10:14:19 +0800
Subject: [PATCH] 督办功能开发

---
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java           |   16 ++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java |   15 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListDTO.java                |   15 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                    |   22 +++++
 dyh-service/dyh-sys/src/main/resources/config/application.yml                                              |    4 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java              |   31 ++++++-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java                  |   15 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java             |    1 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java               |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java       |   41 ++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml               |   42 ++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml          |   25 ++++++
 12 files changed, 221 insertions(+), 8 deletions(-)

diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
index d205bea..90b35e0 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -404,6 +404,22 @@
     }
 
     /**
+     * 督办-选择组织
+     * @url {ctx}/api/web/ctUnit/superviceUnitChoose
+     * @param userId 组织编号
+     * @return Object
+     */
+    @GetMapping("/superviceUnitChoose")
+    public Object superviceUnitChoose(@CurrentUser String userId) {
+        try {
+            List<SelectTermDTO> unitSelectTerms = service.superviceUnitChoose(userId);
+            return ReturnSucUtils.getRepInfo(unitSelectTerms);
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
+
+    /**
      * web端任务处理-上报-查询上报的目标组织
      * @url {ctx}/api/web/ctUnit/getAppearToUnit
      * @return Object
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
index 192fc26..1724ae4 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
@@ -414,4 +414,19 @@
             return ReturnFailUtils.getRepInfo(e.getMessage());
         }
     }
+
+    /**
+     * 联合处置申请-查询组织
+     * @url {ctx}/api/web/caseInfoUnfold/superviceUnitChoose
+     * @param caseId 事项ID
+     * @return Object
+     */
+    @GetMapping("/superviceUnitChoose")
+    public Object superviceUnitChoose(@RequestParam(value = "caseId") String caseId) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.superviceUnitChoose(caseId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index ff9c671..69aaa23 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -677,6 +677,47 @@
         }
     }
 
+//    /**
+//     * web端-工作台-查询待办任务-审核任务
+//     * @url {ctx}/api/web/caseTask/pageMyTaskShWSQD
+//     * @param page 页码
+//     * @param size 每页数量
+//     * @param status 状态,0:待审核,1:已审核
+//     * @param sortType 排序方式(1:正序;2:倒序)
+//     * @param sortColmn 排序字段(1:结案申请时间;2:事项等级)
+//     * @return
+//     */
+//    @GetMapping("/pageMyTaskShWSQD")
+//    public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+//                               @RequestParam(value = "status") int status, @CurrentUser String userId,
+//                                   @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
+//        try {
+//            Map<String, Object> terms = Maps.newHashMap();
+//            // 回退/上报/结案申请/联合处置申请/审核时间区间
+//            String timeStart = request.getParameter("timeStart");
+//            String timeEnd = request.getParameter("timeEnd");
+//            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
+//                terms.put("timeStart", timeStart);
+//                terms.put("timeEnd", timeEnd);
+//            }
+//            // 查询申请方/被申请方关键词
+//            String partyName = request.getParameter("partyName");
+//            if (StringUtils.isNotBlank(partyName)){
+//                terms.put("partyName", partyName);
+//            }
+//            if(ObjectUtils.isEmpty(sort)){
+//                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+//            }
+//            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+//            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+//            terms.put("auditUnitId",loginUser.getUnitId());
+//            terms.put("applyStatus", status);
+//            return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, type, terms));
+//        } catch (Exception e) {
+//            return ReturnFailUtils.getRepInfo();
+//        }
+//    }
+
     /**
      * web端-工作台-查询待办任务-督办
      * @url {ctx}/api/web/caseTask/pageMyTaskDb
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
index 9cdccc2..c59621e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
@@ -123,6 +123,21 @@
     List<FrontPageListDTO> pageMyTaskSl(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
     /**
+     * 首页-待审核-我申请的条件统计
+     * @param terms 条件
+     * @return long
+     */
+    long countMyTaskShWSQD(@Param("terms") Map<String, Object> terms);
+
+    /**
+     * 首页-待审核-我申请的分页查询
+     * @param page 分页对象
+     * @param terms 条件
+     * @return List<FrontPageListDTO>
+     */
+    List<FrontPageListDTO> pageMyTaskShWSQD(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+    /**
      * 首页-待审核条件统计
      * @param terms 条件
      * @return long
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
index 3f75eab..4c81c84 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
@@ -253,6 +253,29 @@
         limit #{page.offset}, #{page.size}
     </select>
 
+    <!-- 首页-待办理结果集 -->
+    <resultMap id="MyTaskApplyReviewResult" type="cn.huge.module.cases.domain.dto.FrontPageListDTO">
+        <result property="ownerId" column="ownerId"/>
+        <result property="caseId" column="caseId"/>
+        <result property="turnaroundTime" column="turnaroundTime"/>
+        <result property="timeLimit" column="timeLimit"/>
+        <result property="caseGrade" column="caseGrade"/>
+        <result property="caseSource" column="caseSource"/>
+        <result property="caseType" column="caseType"/>
+        <result property="plaintiffs" column="plaintiffs"/>
+        <result property="defendants" column="defendants"/>
+        <result property="processingDays" column="processingDays"/>
+        <result property="mediResult" column="mediResult"/>
+        <result property="organizingUnit" column="organizingUnit"/>
+        <result property="cooperatingUnit" column="cooperatingUnit"/>
+        <result property="manager" column="manager"/>
+        <result property="mediResult" column="mediResult"/>
+        <result property="backUnit" column="backUnit"/>
+        <result property="reason" column="reason"/>
+        <result property="opinion" column="opinion"/>
+        <result property="process" column="process"/>
+    </resultMap>
+
     <!--  首页督办条件统计  -->
     <select id="countMyTaskDb" resultType="java.lang.Long">
         select
@@ -273,7 +296,7 @@
     </select>
 
     <!--  首页督办分页查询  -->
-    <select id="pageMyTaskDb" resultMap="dataResult">
+    <select id="pageMyTaskDb" resultMap="MyTaskApplyReviewResult">
         SELECT
         t1.sup_time as turnaroundTime, DATEADD(hour, t1.reply_term, t1.sup_time) as timeLimit, t1.sup_unit_name as organizingUnit,
         t1.sup_content as opinion, t2.case_level as caseGrade, t2.canal_name as caseSource,
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
index d4d4913..c25e120 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -602,6 +602,48 @@
         limit #{page.offset}, #{page.size}
     </select>
 
+    <!--  首页-待审核-我申请的条件统计  -->
+    <select id="countMyTaskShWSQD" resultType="java.lang.Long">
+        select
+        COUNT(t1.id)
+        from
+        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
+        where
+        t1.cande_unit_id = #{terms.candeUnitId}
+        and (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DSL' or  t1.node_id = 'SJ_DSL')
+        and t1.delete_status = 0
+        and t1.sign_status != 1
+        and t1.status = #{terms.status}
+        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
+            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
+            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
+        </if>
+        <if test="terms.partyName != null and terms.partyName !=''">
+            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
+        </if>
+    </select>
+    <!--  首页-待审核-我申请的分页查询  -->
+    <select id="pageMyTaskShWSQD" resultMap="MyTaskApplyReviewResult">
+        select caseId as caseId, return_time as turnaroundTime, '回退' as applyType, audit_unit_name as auditDept,
+          return_status as applyStatus, audit_result_name as 'mediResult'
 
 
+        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
+            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
+            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
+        </if>
+        <if test="terms.partyName != null and terms.partyName !=''">
+            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
+        </if>
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(t1.create_time), t1.create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListDTO.java
index 41803ac..9065b45 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListDTO.java
@@ -103,4 +103,19 @@
      * 事项状态
      */
     private String process;
+
+    /**
+     * 申请类型
+     */
+    private String applyType;
+
+    /**
+     * 申请进度
+     */
+    private String applyStatus;
+
+    /**
+     * 审核部门
+     */
+    private String auditDept;
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
index eb5bb1d..88a418f 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
@@ -362,4 +362,5 @@
     public List<FrontPageListDTO> pageMyTaskAssistReview(PageRequest page, Map<String, Object> terms){
         return mapper.pageMyTaskAssistReview(page, terms);
     }
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
index 24c7c05..958070e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
@@ -1,5 +1,6 @@
 package cn.huge.module.cases.service;
 
+import cn.huge.base.common.dto.SelectTermDTO;
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
@@ -14,6 +15,7 @@
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import cn.huge.module.cust.dto.CtUnitDTO;
 import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
 import cn.huge.module.mediate.constant.CaseBaseConsts;
@@ -24,6 +26,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Maps;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.el.stream.Stream;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -33,10 +36,8 @@
 import org.springframework.data.domain.PageRequest;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @title: 纠纷信息扩展表业务逻辑处理
@@ -245,4 +246,26 @@
         }
     }
 
+    /**
+     * 联合处置申请-查询组织
+     * @param caseId
+     * @return
+     */
+    public List<SelectTermDTO> superviceUnitChoose(String caseId) {
+        CaseInfoUnfold caseInfoUnfold = getById(caseId);
+        List<String> unitIdList = new ArrayList<>();
+        unitIdList.add(caseInfoUnfold.getMediateUnitId());
+        unitIdList.addAll(Arrays.stream(caseInfoUnfold.getAssistUnitId().split(",")).map(String::valueOf).collect(Collectors.toList()));
+        List<SelectTermDTO> selectTermDTOList = new ArrayList<>();
+        for(String unitId: unitIdList){
+            CtUnitDTO ctUnitDTO = custClient.getUnitById(unitId);
+            SelectTermDTO unitSelectTerm = new SelectTermDTO();
+            unitSelectTerm.setValue(ctUnitDTO.getId());
+            unitSelectTerm.setLabel(ctUnitDTO.getUnitName());
+            unitSelectTerm.setParentId(ctUnitDTO.getParentId());
+            unitSelectTerm.setCheckable(true);
+            selectTermDTOList.add(unitSelectTerm);
+        }
+        return selectTermDTOList;
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
index 68bd508..eb884c7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
@@ -150,7 +150,7 @@
                 caseSuperviseNew.setSupUserId(loginUser.getId());
                 caseSuperviseNew.setSupUserName(loginUser.getTrueName());
                 caseSuperviseNew.setSupUnitId(loginUser.getUnitId());
-                caseSuperviseNew.setSupUnitId(loginUser.getUnitName());
+                caseSuperviseNew.setSupUnitName(loginUser.getUnitName());
                 caseSuperviseNew.setSupTime(nowDate);
                 caseSuperviseNew.setQuiltUnitId(quiltUnitDTO.getQuiltUnitId());
                 caseSuperviseNew.setQuiltUnitName(quiltUnitDTO.getQuiltUnitName());
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index 068cffb..b02338b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -348,11 +348,13 @@
                 if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
                     tabList.add(sxxq);
                     tabList.add(sxbl);
+                    tabList.add(lcdb);
 //                    tabList.add(sqjl);
 
                     buttonList.add(tjbljl);
                     buttonList.add(lhczsq);
                     buttonList.add(jasq);
+                    buttonList.add(db);
                 }
                 if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                     tabList.add(sxxq);
@@ -828,6 +830,26 @@
 
     /**
      * 首页-待审核分页查询
+     * @param page 分页对象
+     * @param terms 条件
+     * @return Page
+     */
+    public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){
+        try {
+            long total = 0;
+            List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>();
+            total = mapper.countMyTaskShWSQD(terms);
+            frontPageListDTOList = mapper.pageMyTaskShWSQD(page,terms);
+
+            return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total);
+        }catch (Exception e) {
+            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
+            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
+        }
+    }
+
+    /**
+     * 首页-待审核分页查询
      * @param caseId 事项编号
      * @return Page
      */
diff --git a/dyh-service/dyh-sys/src/main/resources/config/application.yml b/dyh-service/dyh-sys/src/main/resources/config/application.yml
index 26b9434..da9534c 100644
--- a/dyh-service/dyh-sys/src/main/resources/config/application.yml
+++ b/dyh-service/dyh-sys/src/main/resources/config/application.yml
@@ -2,8 +2,8 @@
 spring:
   profiles:
     active:
-#      - dev
-        - test
+      - dev
+#        - test
   #      - prod
 
   devtools:

--
Gitblit v1.8.0