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