From c06b2f5b2aa6d8910664b30ab4f74ff3895ebbeb Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Fri, 20 Sep 2024 10:27:45 +0800
Subject: [PATCH] Merge branch 'master' into gzdyh_test
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml | 175 +++++++++
.gitignore | 21 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 157 +++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java | 38 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java | 5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java | 157 ++++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java | 5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java | 38 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAssistInfoBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java | 6
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java | 44 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java | 200 +++++++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java | 29 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java | 4
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java | 101 +++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java | 64 +++
16 files changed, 1,006 insertions(+), 55 deletions(-)
diff --git a/.gitignore b/.gitignore
index a0aad76..efb60c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,24 @@
dyh-service/dyh-sync/logs/
dyh-service/dyh-sync/target/
logs/
+*.iml
+*.class
+
+# Package Files #
+*.jar
+*.war
+*.ear
+.project
+.settings
+.classpath
+*.registry
+*.lock
+*.idea
+*.iml
+*.gitignore
+*.log
+*.yml
+
+target
+logs
+bin
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
index 79fa234..c16edbd 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
@@ -111,9 +111,9 @@
// 必须
this.buildPo(tplData);
this.buildBo(tplData);
-// this.buildDaoMapper(tplData);
+ this.buildDaoMapper(tplData);
this.buildDaoMapperXml(tplData);
-// this.buildService(tplData);
+ this.buildService(tplData);
this.buildWebController(tplData);
// 可选
// this.buildWechatController(tplData);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
index d0fa312..d57528a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
@@ -49,6 +49,12 @@
*/
public static final int HANDLE_RESULT_1 = 1;
public static final int HANDLE_RESULT_2 = 2;
+
+ /**
+ * 配合状态,0:配合,1:回退
+ */
+ public static final int ASSIST_STATUS_0 = 0;
+ public static final int ASSIST_STATUS_1 = 1;
}
/**
* -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java
new file mode 100644
index 0000000..10acb16
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java
@@ -0,0 +1,200 @@
+package cn.huge.module.cases.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+import cn.huge.module.cases.service.CaseAssistInfoService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 联合处置信息表接口api-web端
+ * @description: 联合处置信息表接口api-web端
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-09-18 10:05:35
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseAssistInfo")
+public class CaseAssistInfoWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CaseAssistInfoService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 办理反馈任务编号
+ String caseTaskId = request.getParameter("caseTaskId");
+ if (StringUtils.isNotBlank(caseTaskId)){
+ terms.put("caseTaskId", caseTaskId);
+ }
+ // 联合处置申请编号
+ String applyId = request.getParameter("applyId");
+ if (StringUtils.isNotBlank(applyId)){
+ terms.put("applyId", applyId);
+ }
+ // 配合组织编号
+ String assistUnitId = request.getParameter("assistUnitId");
+ if (StringUtils.isNotBlank(assistUnitId)){
+ terms.put("assistUnitId", assistUnitId);
+ }
+ // 配合组织名称
+ String assistUnitName = request.getParameter("assistUnitName");
+ if (StringUtils.isNotBlank(assistUnitName)){
+ terms.put("assistUnitName", assistUnitName);
+ }
+ // 受理时间
+ String acceptTime = request.getParameter("acceptTime");
+ if (StringUtils.isNotBlank(acceptTime)){
+ terms.put("acceptTime", acceptTime);
+ }
+ // 配合组织经办人编号
+ String assistUserId = request.getParameter("assistUserId");
+ if (StringUtils.isNotBlank(assistUserId)){
+ terms.put("assistUserId", assistUserId);
+ }
+ // 配合组织经办人名称
+ String assistUserName = request.getParameter("assistUserName");
+ if (StringUtils.isNotBlank(assistUserName)){
+ terms.put("assistUserName", assistUserName);
+ }
+ // 配合状态,0:配合,1:回退
+ String assistStatus = request.getParameter("assistStatus");
+ if (StringUtils.isNotBlank(assistStatus)){
+ terms.put("assistStatus", assistStatus);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/caseAssistInfo/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/caseAssistInfo/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CaseAssistInfo> caseAssistInfoPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", caseAssistInfoPage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/caseAssistInfo/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/caseAssistInfo/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/caseAssistInfo/saveCaseAssistInfo
+ * @param caseAssistInfo 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveCaseAssistInfo")
+ public Object saveCaseAssistInfo(@RequestBody CaseAssistInfo caseAssistInfo) {
+ try {
+ service.saveCaseAssistInfo(caseAssistInfo);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java
index c2d33d9..dbad56b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java
@@ -188,9 +188,10 @@
* @return Object
*/
@GetMapping("/getFeedbackInfo")
- public Object getFeedbackInfo(@RequestParam(value = "caseId") String caseId, @CurrentUser String userId) {
+ public Object getFeedbackInfo(@RequestParam(value = "caseId") String caseId,
+ @RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
try {
- return ReturnSucUtils.getRepInfo(service.getFeedbackInfo(caseId, userId));
+ return ReturnSucUtils.getRepInfo(service.getFeedbackInfo(caseId, caseTaskId, userId));
} catch (Exception e) {
return ReturnFailUtils.getRepInfo();
}
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 61c899e..192fc26 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
@@ -389,9 +389,10 @@
* @return Object
*/
@GetMapping("/choosePrincipal")
- public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "userId") String userId) {
+ public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "caseTaskId") String caseTaskId,
+ @RequestParam(value = "userId") String userId) {
try {
- service.choosePrincipal(caseId, userId);
+ service.choosePrincipal(caseId, caseTaskId, userId);
return ReturnSucUtils.getRepInfo();
} catch (Exception e) {
return ReturnFailUtils.getRepInfo(e.getMessage());
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java
new file mode 100644
index 0000000..b2f2479
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.cases.dao.mapper;
+
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 联合处置信息表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2024-09-18 09:36:59
+* @version 1.0.0
+*/
+@Repository
+public interface CaseAssistInfoMapper extends BaseMapper<CaseAssistInfo>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateCaseAssistInfo(@Param("entity") CaseAssistInfo entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateCaseAssistInfoTerms(@Param("entity") CaseAssistInfo entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteCaseAssistInfo(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<CaseAssistInfo>
+ */
+ List<CaseAssistInfo> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<CaseAssistInfo>
+ */
+ List<CaseAssistInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
new file mode 100644
index 0000000..df8765a
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 联合处置信息表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2024-09-18 10:05:35
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.cases.dao.mapper.CaseAssistInfoMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseAssistInfo">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="caseTaskId" column="case_task_id"/>
+ <result property="applyId" column="apply_id"/>
+ <result property="assistUnitId" column="assist_unit_id"/>
+ <result property="assistUnitName" column="assist_unit_name"/>
+ <result property="acceptTime" column="accept_time"/>
+ <result property="assistUserId" column="assist_user_id"/>
+ <result property="assistUserName" column="assist_user_name"/>
+ <result property="assistStatus" column="assist_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_case_assist_info</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ case_task_id,
+ apply_id,
+ assist_unit_id,
+ assist_unit_name,
+ accept_time,
+ assist_user_id,
+ assist_user_name,
+ assist_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.caseTaskId != null">case_task_id = #{entity.caseTaskId},</if>
+ <if test="entity.applyId != null">apply_id = #{entity.applyId},</if>
+ <if test="entity.assistUnitId != null">assist_unit_id = #{entity.assistUnitId},</if>
+ <if test="entity.assistUnitName != null">assist_unit_name = #{entity.assistUnitName},</if>
+ <if test="entity.acceptTime != null">accept_time = #{entity.acceptTime},</if>
+ <if test="entity.assistUserId != null">assist_user_id = #{entity.assistUserId},</if>
+ <if test="entity.assistUserName != null">assist_user_name = #{entity.assistUserName},</if>
+ <if test="entity.assistStatus != null">assist_status = #{entity.assistStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.caseTaskId != null and terms.caseTaskId !=''">
+ and case_task_id = #{terms.caseTaskId}
+ </if>
+ <if test="terms.applyId != null and terms.applyId !=''">
+ and apply_id = #{terms.applyId}
+ </if>
+ <if test="terms.assistUnitId != null and terms.assistUnitId !=''">
+ and assist_unit_id = #{terms.assistUnitId}
+ </if>
+ <if test="terms.assistUnitName != null and terms.assistUnitName !=''">
+ and assist_unit_name = #{terms.assistUnitName}
+ </if>
+ <if test="terms.acceptTime != null and terms.acceptTime !=''">
+ and accept_time = #{terms.acceptTime}
+ </if>
+ <if test="terms.assistUserId != null and terms.assistUserId !=''">
+ and assist_user_id = #{terms.assistUserId}
+ </if>
+ <if test="terms.assistUserName != null and terms.assistUserName !=''">
+ and assist_user_name = #{terms.assistUserName}
+ </if>
+ <if test="terms.assistStatus != null and terms.assistStatus !=''">
+ and assist_status = #{terms.assistStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateCaseAssistInfo">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateCaseAssistInfoTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteCaseAssistInfo">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <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(create_time), 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/bo/CaseAssistInfoBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAssistInfoBO.java
new file mode 100644
index 0000000..478fc4d
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAssistInfoBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.bo;
+
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+
+/**
+ * @title: 联合处置信息表业务扩展类
+ * @description: 联合处置信息表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-09-18 09:36:59
+ * @version: 1.0.0
+ * @see cn.huge.module.cases.domain.po.CaseAssistInfo
+ */
+public class CaseAssistInfoBO extends CaseAssistInfo {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java
new file mode 100644
index 0000000..b470976
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java
@@ -0,0 +1,38 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseInfo;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @title: 配合部门纠纷流程进度传输对象
+ * @description: 配合部门纠纷流程进度传输对象
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class WebAssistCaseFlowDTO {
+
+ /**
+ * 配合部门编号
+ */
+ private String unitId;
+
+ /**
+ * 配合部门名称
+ */
+ private String unitName;
+
+ /**
+ * 配合部门流程
+ */
+ private List<WebCaseFlowDTO> caseFlowList;
+
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
new file mode 100644
index 0000000..8f3a610
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
@@ -0,0 +1,101 @@
+package cn.huge.module.cases.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 联合处置信息表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2024-09-18 09:36:59
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_assist_info")
+@Data
+public class CaseAssistInfo {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 办理反馈任务编号
+ */
+ @TableField(value = "case_task_id")
+ private String caseTaskId;
+
+ /**
+ * 联合处置申请编号
+ */
+ @TableField(value = "apply_id")
+ private String applyId;
+
+ /**
+ * 配合组织编号
+ */
+ @TableField(value = "assist_unit_id")
+ private String assistUnitId;
+
+ /**
+ * 配合组织名称
+ */
+ @TableField(value = "assist_unit_name")
+ private String assistUnitName;
+
+ /**
+ * 受理时间
+ */
+ @TableField(value = "accept_time")
+ private Date acceptTime;
+
+ /**
+ * 配合组织经办人编号
+ */
+ @TableField(value = "assist_user_id")
+ private String assistUserId;
+
+ /**
+ * 配合组织经办人名称
+ */
+ @TableField(value = "assist_user_name")
+ private String assistUserName;
+
+ /**
+ * 配合状态,0:配合,1:回退
+ */
+ @TableField(value = "assist_status")
+ private Integer assistStatus;
+
+ /**
+ * 顾客编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
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 ff24fc4..eb5bb1d 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
@@ -5,14 +5,11 @@
import cn.huge.base.common.utils.IdUtils;
import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.domain.dto.FrontPageListDTO;
-import cn.huge.module.cases.domain.po.CaseInfo;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
-import cn.huge.module.cases.domain.po.CaseTask;
+import cn.huge.module.cases.domain.po.*;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseAssistApplyMapper;
-import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.cust.dto.CtUnitDTO;
@@ -67,6 +64,8 @@
private CaseTaskService caseTaskService;
@Autowired
private CaseInfoUnfoldService caseInfoUnfoldService;
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -209,8 +208,11 @@
mapper.updateCaseAssistApply(caseAssistApplyPO);
// 审核通过,就启动联合处置工作流
if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAssistApplyPO.getAuditResult())) {
- String[] unitIds = caseAssistApplyPO.getApplyAssistUnitId().split(BaseConsts.COMMA);
- for (String unitId: unitIds) {
+ String[] unitIdList = caseAssistApplyPO.getApplyAssistUnitId().split(BaseConsts.COMMA);
+ String[] unitNameList = caseAssistApplyPO.getApplyAssistUnitName().split(BaseConsts.COMMA);
+ for (int i=0; i<unitIdList.length; i++){
+ String unitId = unitIdList[i];
+ String unitName = unitNameList[i];
// 启动联合处置工作流
FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, caseAssistApplyPO.getCaseId());
// 新建并完成配合部门待分派任务
@@ -229,8 +231,8 @@
dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
// 通过调度的,任务候选执行者类型是上一步骤选择
dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
- dfpCaseTask.setCandeUnitId(loginUser.getUnitId());
- dfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+ dfpCaseTask.setCandeUnitId(unitId);
+ dfpCaseTask.setCandeUnitName(unitName);
// 不需要签收
dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
@@ -283,6 +285,17 @@
dslCaseTask.setCreateTime(now);
dslCaseTask.setUpdateTime(now);
caseTaskService.save(dslCaseTask);
+ // 新增联合处置信息
+ CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
+ caseAssistInfoPO.setId(utilsClient.getNewTimeId());
+ caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+ caseAssistInfoPO.setAssistUnitId(unitId);
+ caseAssistInfoPO.setAssistUnitName(unitName);
+ caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
+ caseAssistInfoPO.setCustId(dslCaseTask.getCustId());
+ caseAssistInfoPO.setCreateTime(now);
+ caseAssistInfoPO.setUpdateTime(now);
+ caseAssistInfoService.save(caseAssistInfoPO);
}
// 更新纠纷扩展信息
CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
new file mode 100644
index 0000000..26844d0
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
@@ -0,0 +1,157 @@
+package cn.huge.module.cases.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cases.dao.mapper.CaseAssistInfoMapper;
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 联合处置信息表业务逻辑处理
+ * @Description 联合处置信息表业务逻辑处理
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2024-09-18 09:36:59
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseAssistInfoService extends ServiceImpl<CaseAssistInfoMapper, CaseAssistInfo>{
+
+ @Autowired
+ private CaseAssistInfoMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateCaseAssistInfo(CaseAssistInfo entity){
+ try{
+ mapper.updateCaseAssistInfo(entity);
+ }catch (Exception e){
+ log.error("[CaseAssistInfoService.updateCaseAssistInfo]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseAssistInfoService.updateCaseAssistInfo", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateCaseAssistInfoTerms(CaseAssistInfo entity, Map<String, Object> terms){
+ try{
+ mapper.updateCaseAssistInfoTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[CaseAssistInfoService.updateCaseAssistInfoTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseAssistInfoService.updateCaseAssistInfoTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteCaseAssistInfo(String id){
+ try{
+ mapper.deleteCaseAssistInfo(id);
+ }catch (Exception e){
+ log.error("[CaseAssistInfoService.deleteCaseAssistInfo]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseAssistInfoService.deleteCaseAssistInfo", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<CaseAssistInfo> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<CaseAssistInfo> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<CaseAssistInfo> content = mapper.pageTerms(page, terms);
+ return new PageImpl<CaseAssistInfo>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param caseAssistInfo 实体对象
+ */
+ public void saveCaseAssistInfo(CaseAssistInfo caseAssistInfo){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(caseAssistInfo.getId())){
+ caseAssistInfo.setId(utilsClient.getNewTimeId());
+ caseAssistInfo.setCreateTime(nowDate);
+ }
+ caseAssistInfo.setUpdateTime(nowDate);
+ this.saveOrUpdate(caseAssistInfo);
+ }catch (Exception e){
+ log.error("[CaseAssistInfoService.saveCaseAssistInfo]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseAssistInfoService.saveCaseAssistInfo", e);
+ }
+ }
+
+ /**
+ * 根据纠纷处理任务编号查询
+ * @param caseTaskId
+ * @return
+ */
+ public CaseAssistInfo getByCaseTaskId(String caseTaskId){
+ QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+ caseAssistInfoQueryWrapper.eq("case_task_id", caseTaskId);
+ CaseAssistInfo caseAssistInfo = mapper.selectOne(caseAssistInfoQueryWrapper);
+ return caseAssistInfo;
+ }
+
+ /**
+ * 根据案件编号查询
+ * @param caseId
+ * @return
+ */
+ public List<CaseAssistInfo> listByCaseId(String caseId){
+ QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+ caseAssistInfoQueryWrapper.eq("case_id", caseId);
+ return mapper.selectList(caseAssistInfoQueryWrapper);
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
index 2584c6a..5d61d90 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -4,14 +4,12 @@
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.base.common.utils.ObjectUtils;
-import cn.huge.module.cases.domain.po.CaseFeedbackHis;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
-import cn.huge.module.cases.domain.po.CaseTask;
+import cn.huge.module.cases.consts.CaseTaskConsts;
+import cn.huge.module.cases.domain.po.*;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseFeedbackMapper;
-import cn.huge.module.cases.domain.po.CaseFeedback;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
import cn.huge.module.sys.dto.FileInfoBaseDTO;
@@ -69,6 +67,9 @@
@Autowired
private CaseTaskService caseTaskService;
+
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -166,20 +167,27 @@
* @param userId
* @return
*/
- public Map<String, Object> getFeedbackInfo(String caseId, String userId){
- // 临时给前端联调数据
+ public Map<String, Object> getFeedbackInfo(String caseId, String caseTaskId, String userId){
Map<String, Object> result = Maps.newHashMap();
-// result.put("handleUnitName", "白云区教育局");
-// result.put("handleUserName", "王一顺");
-// result.put("assistUnitName", "白云区司法局");
-// result.put("acceptTime", "2024-09-07 12:34");
CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
- if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
- result.put("handleUserId", caseInfoUnfold.getMediatorId());
+ CaseTask caseTask = caseTaskService.getById(caseTaskId);
+ // 承办部门查询扩展表
+ if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+ if (ObjectUtils.isNotEmpty(caseInfoUnfold)) {
+ result.put("handleUserId", caseInfoUnfold.getMediatorId());
+ result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
+ result.put("handleUserName", caseInfoUnfold.getMediator());
+ result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
+ result.put("acceptTime", caseInfoUnfold.getAcceptTime());
+ }
+ }else {
+ // 配合部门查询联合处置信息表
+ CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
- result.put("handleUserName", caseInfoUnfold.getMediator());
- result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
- result.put("acceptTime", caseInfoUnfold.getAcceptTime());
+ result.put("handleUserId", caseAssistInfo.getAssistUserId());
+ result.put("handleUserName", caseAssistInfo.getAssistUserName());
+ result.put("assistUnitName", caseAssistInfo.getAssistUnitName());
+ result.put("acceptTime", caseAssistInfo.getAcceptTime());
}
return result;
}
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 1852d1a..24c7c05 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
@@ -4,8 +4,11 @@
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.cases.domain.dto.TransactResultDTO;
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+import cn.huge.module.cases.domain.po.CaseTask;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -62,6 +65,12 @@
@Autowired
private SysClientImpl sysClient;
+
+ @Autowired
+ private CaseTaskService caseTaskService;
+
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -155,19 +164,34 @@
/**
* PC端-选择经办人
- * @param caseId 对象
+ * @param caseId 纠纷编号
+ * @param caseTaskId 办理反馈任务编号
* @param userId 条件
*/
- public void choosePrincipal(String caseId, String userId){
+ public void choosePrincipal(String caseId, String caseTaskId, String userId){
try{
- // 获取当前登录用户
- CtUserDTO loginUser = custClient.clientGetUserAll(userId);
- CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
- CaseInfoUnfold.setId(caseId);
- CaseInfoUnfold.setMediatorId(loginUser.getId());
- CaseInfoUnfold.setMediator(loginUser.getTrueName());
- CaseInfoUnfold.setMediatorMobile(loginUser.getMobile());
- mapper.updateCaseInfoUnfold(CaseInfoUnfold);
+ Date nowDate = DateUtils.getNowDate();
+ // 获取经办人信息
+ CtUserDTO ctUserDTO = custClient.clientGetUser(userId);
+ CaseTask caseTask = caseTaskService.getById(caseTaskId);
+ // 承办部门,更新扩展表
+ if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+ CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
+ CaseInfoUnfold.setId(caseId);
+ CaseInfoUnfold.setMediatorId(ctUserDTO.getId());
+ CaseInfoUnfold.setMediator(ctUserDTO.getTrueName());
+ CaseInfoUnfold.setMediatorMobile(ctUserDTO.getMobile());
+ CaseInfoUnfold.setUpdateTime(nowDate);
+ mapper.updateCaseInfoUnfold(CaseInfoUnfold);
+ }else {
+ // 配合部门,更新联合处置信息表
+ CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
+ caseAssistInfo.setAssistUserId(ctUserDTO.getId());
+ caseAssistInfo.setAssistUserName(ctUserDTO.getTrueName());
+ caseAssistInfo.setUpdateTime(nowDate);
+ caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
+
+ }
}catch (Exception e){
log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
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 f0aa4e3..068cffb 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
@@ -95,6 +95,8 @@
private CaseReturnService caseReturnService;
@Autowired
private CaseEvaluateService caseEvaluateService;
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
@Autowired
private CaseWindupApplyMapper caseWindupApplyMapper;
@@ -516,21 +518,124 @@
result.put("handleCaseFlowList", handleCaseFlowList);
// 查询配合组织流程
- LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
- caseTaskQueryWrapper.clear();
- caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
- List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
- for (CaseTask caseTask: assistCaseTaskList){
- WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
- webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
- webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
- webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
- webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
- webCaseFlowDTO.setTaskType(caseTask.getTaskType());
- webCaseFlowDTO.setStatus(caseTask.getStatus());
- assistCaseFlowList.add(webCaseFlowDTO);
+ List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId);
+ if (CollectionUtils.isNotEmpty(caseAssistInfoList)){
+ LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
+ for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
+ WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
+ webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUserId());
+ webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUserName());
+ LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
+ caseTaskQueryWrapper.clear();
+ caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUserId())
+ .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
+ List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+ for (CaseTask caseTask: assistCaseTaskList){
+ // 已结束节点
+ if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
+ // 待受理并已签收的正常任务节点,需要加多一个签收节点
+ if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
+ if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+ WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+ slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+ slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+ slWebCaseFlowDTO.setHandleNotes("已签收");
+ slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ slWebCaseFlowDTO.setStatus(caseTask.getStatus());
+ caseFlowList.add(slWebCaseFlowDTO);
+ }
+ }
+ // 普通节点
+ WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+ webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+ webCaseFlowDTO.setStatus(caseTask.getStatus());
+ webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
+ webCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ // 回退申请节点
+ if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
+ webCaseFlowDTO.setNodeShowName("事件回退");
+ CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
+ if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
+ webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
+ }else {
+ webCaseFlowDTO.setHandleNotes("回退理由:-");
+
+ }
+ }
+ // 上报申请节点
+ if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
+ webCaseFlowDTO.setNodeShowName("事件上报");
+ CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
+ if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
+ webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent());
+ }else {
+ webCaseFlowDTO.setHandleNotes("上报意见:-" );
+ }
+ }
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ }
+ // 审核节点要判断通过/不通过
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
+ // 处理不通过,任务类型就是回退
+ if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+ webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
+ webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
+ webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
+ }else{
+ // 处理通过
+ webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+ webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+ }
+ // 临时加上
+ webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName());
+ }
+ // 结案申请,需要展示化解结果
+ if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){
+ CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId());
+ if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
+ webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult());
+ webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName());
+ // 临时加上
+ webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
+ }
+ }
+ caseFlowList.add(webCaseFlowDTO);
+ }else {
+ // 进行中的节点
+ WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setStatus(caseTask.getStatus());
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+ }
+ caseFlowList.add(webCaseFlowDTO);
+ }
+ }
+ webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
+ assistCaseFlowList.add(webAssistCaseFlowDTO);
+ }
+ result.put("assistCaseFlowList", assistCaseFlowList);
}
- result.put("assistCaseFlowList", assistCaseFlowList);
return result;
}catch (Exception e){
log.error("[CaseTaskService.webGetTabButton]调用失败,异常信息:"+e, e);
@@ -1241,8 +1346,8 @@
lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
// 通过调度的,任务候选执行者类型是上一步骤选择
lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
- lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId());
- lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+ lhczdfpCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+ lhczdfpCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
// 不需要签收
lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
@@ -1294,6 +1399,17 @@
lhczdslCaseTask.setCreateTime(nowDate);
lhczdslCaseTask.setUpdateTime(nowDate);
mapper.insert(lhczdslCaseTask);
+ // 新增联合处置信息
+ CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
+ caseAssistInfoPO.setId(utilsClient.getNewTimeId());
+ caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+ caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId());
+ caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName());
+ caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
+ caseAssistInfoPO.setCustId(dslCaseTask.getCustId());
+ caseAssistInfoPO.setCreateTime(nowDate);
+ caseAssistInfoPO.setUpdateTime(nowDate);
+ caseAssistInfoService.save(caseAssistInfoPO);
}
// 更新纠纷扩展信息
CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1428,6 +1544,15 @@
caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+ }else {
+ // 更新配合部门联合处置信息
+ QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+ caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId())
+ .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
+ CaseAssistInfo caseAssistInfoPO = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper);
+ caseAssistInfoPO.setCaseTaskId(blfkCaseTask.getId());
+ caseAssistInfoPO.setAcceptTime(nowDate);
+ caseAssistInfoService.updateCaseAssistInfo(caseAssistInfoPO);
}
return blfkCaseTask.getId();
}catch (Exception e){
--
Gitblit v1.8.0