forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-18 1a320ae74056c99a439e0608a7243953cdef8ddd
1、联合处置流程优化2
7 files added
6 files modified
862 ■■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java 4 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java 6 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java 200 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java 5 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java 64 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml 175 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAssistInfoBO.java 17 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java 38 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java 101 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java 29 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java 146 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java 28 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 49 ●●●● patch | view | raw | blame | history
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);
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_-------------------
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAssistInfoWebController.java
New file
@@ -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();
        }
    }
}
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();
        }
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAssistInfoMapper.java
New file
@@ -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);
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
New file
@@ -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>
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAssistInfoBO.java
New file
@@ -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 {
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebAssistCaseFlowDTO.java
New file
@@ -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;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
New file
@@ -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;
}
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();
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
New file
@@ -0,0 +1,146 @@
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;
    }
}
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,14 +167,12 @@
     * @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");
        CaseTask caseTask = caseTaskService.getById(caseTaskId);
        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
        // 承办部门查询扩展表
        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
        if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
            result.put("handleUserId", caseInfoUnfold.getMediatorId());
            result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
@@ -181,6 +180,15 @@
            result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
            result.put("acceptTime", caseInfoUnfold.getAcceptTime());
        }
        }else {
            // 配合部门查询联合处置信息表
            CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
            result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
            result.put("handleUserId", caseAssistInfo.getAssistUserId());
            result.put("handleUserName", caseAssistInfo.getAssistUserName());
            result.put("assistUnitName", caseAssistInfo.getAssistUnitName());
            result.put("acceptTime", caseAssistInfo.getAcceptTime());
        }
        return result;
    }
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,9 +518,22 @@
            result.put("handleCaseFlowList", handleCaseFlowList);
            // 查询配合组织流程
            LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
            CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
            if (StringUtils.isNotEmpty(caseInfoUnfold.getAssistUnitId())){
                LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
                String[] unitIdList = caseInfoUnfold.getAssistUnitId().split(BaseConsts.COMMA);
                String[] unitNameList = caseInfoUnfold.getAssistUnitName().split(BaseConsts.COMMA);
                for (int i=0; i<unitIdList.length; i++){
                    String unitId = unitIdList[i];
                    String unitName = unitNameList[i];
                    WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
                    webAssistCaseFlowDTO.setUnitId(unitId);
                    webAssistCaseFlowDTO.setUnitName(unitName);
                    i ++;
                    LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
            caseTaskQueryWrapper.clear();
            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", unitId)
                            .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();
@@ -528,9 +543,13 @@
                webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                webCaseFlowDTO.setStatus(caseTask.getStatus());
                assistCaseFlowList.add(webCaseFlowDTO);
                        caseFlowList.add(webCaseFlowDTO);
                    }
                    webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
                    assistCaseFlowList.add(webAssistCaseFlowDTO);
            }
            result.put("assistCaseFlowList", assistCaseFlowList);
            }
            return result;
        }catch (Exception e){
            log.error("[CaseTaskService.webGetTabButton]调用失败,异常信息:"+e, e);
@@ -1241,8 +1260,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 +1313,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 +1458,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){