dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java
@@ -11,6 +11,7 @@ import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.disp.constant.DispBaseConsts; import cn.huge.module.disp.constant.DispBaseConstsEnum; import cn.huge.module.disp.dto.CaseDispBaseDTO; @@ -50,6 +51,8 @@ @Autowired private UtilsClientImpl utilsClient; @Autowired private CustClientImpl custClient; /** * 系统自动调度 @@ -109,6 +112,9 @@ caseDisp.setTargetTypeName(DispBaseConstsEnum.TARGET_TYPE_1.getDes()); caseDisp.setTargetId(dispCaseBaseDTO.getWantUnitId()); caseDisp.setTargetName(dispCaseBaseDTO.getWantUnitName()); CtUnitDTO ctUnitDTO = custClient.getUnitById(dispCaseBaseDTO.getWantUnitId()); caseDisp.setTargetUnitGrade(ctUnitDTO.getUnitGrade()); caseDisp.setTargetUnitType(ctUnitDTO.getUnitType()); } caseDispService.save(caseDisp); return caseDisp; dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java
@@ -43,4 +43,13 @@ @GetMapping("/api/client/paUser/clientGetUserAll") ReturnBO paclientGetUser(@RequestParam("userId") String userId); /** * 根据id查询组织信息 * @url {ctx}/api/client/ctUnit/getUnitById * @param unitId 组织编号 * @return Object */ @GetMapping("/api/client/ctUnit/getUnitById") ReturnBO getUnitById(@RequestParam("unitId") String unitId); } dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
@@ -5,6 +5,7 @@ import cn.huge.base.common.exception.ClientException; import cn.huge.base.common.exception.ServiceException; import cn.huge.module.client.api.CustClient; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.cust.dto.PaUserDTO; import com.fasterxml.jackson.databind.ObjectMapper; @@ -99,4 +100,26 @@ } } /** * 根据id查询组织信息 * @url {ctx}/api/client/ctUnit/getUnitById * @param unitId 组织编号 * @return Object */ public CtUnitDTO getUnitById(String unitId){ try{ ReturnBO returnBo = custClient.getUnitById(unitId); if (ReturnConsts.OK == returnBo.getCode()){ CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class); return ctUnitDTO; }else{ log.error("Client外服务接口[CustClientImpl.getUnitById]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.getUnitById", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.getUnitById]调用异常:"+e, e); throw new ServiceException("CustClientImpl.getUnitById", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/controller/web/CaseBookWebController.java
New file @@ -0,0 +1,311 @@ package cn.huge.module.casebook.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.base.config.CurrentUser; import cn.huge.module.casebook.domain.dto.CaseBookPageDTO; import cn.huge.module.casebook.domain.po.CasebookInfo; import cn.huge.module.casebook.service.CasebookInfoService; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.cust.dto.CtUserDTO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: dyh_casebook_info接口api-web端 * @description: dyh_casebook_info接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/caseBook") public class CaseBookWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CasebookInfoService casebookInfoService; @Autowired private CustClientImpl custClient; /** * 案件导入-导入草稿 * @url {ctx}/api/web/caseBook/pageImportDraft * @param page 页码 * @param size 每页数量 * @param sortType 排序方式(1:正序;2:倒序) * @return Object */ @GetMapping("/pageImportDraft") public Object pageImportDraft(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size , @RequestParam(value = "sortType") int sortType, @CurrentUser String userId) { try { // 查询条件 Map<String, Object> terms = Maps.newHashMap(); // 导入时间区间 String importStart = request.getParameter("importStart"); String importEnd = request.getParameter("importEnd"); if(StringUtils.isNotBlank(importStart) && StringUtils.isNotBlank(importEnd)) { terms.put("importStart", importStart); terms.put("importEnd", importEnd); } // 纠纷发生时间区间 String occurStart = request.getParameter("occurStart"); String occurEnd = request.getParameter("occurEnd"); if(StringUtils.isNotBlank(occurStart) && StringUtils.isNotBlank(occurEnd)) { terms.put("occurStart", occurStart); terms.put("occurEnd", occurEnd); } // 申请方 String plaintiffs = request.getParameter("plaintiffs"); if (StringUtils.isNotBlank(plaintiffs)){ terms.put("plaintiffs", plaintiffs); } // 被申请方 String defendants = request.getParameter("defendants"); if (StringUtils.isNotBlank(defendants)){ terms.put("defendants", defendants); } // 调解员 String mediator = request.getParameter("mediator"); if (StringUtils.isNotBlank(mediator)){ terms.put("mediator", mediator); } // 化解结果 String mediResult = request.getParameter("mediResult"); if (StringUtils.isNotBlank(mediResult)){ terms.put("mediResult", mediResult); } // 纠纷类型 String caseType = request.getParameter("caseType"); if (StringUtils.isNotBlank(caseType)){ terms.put("caseType", caseType); } // 协助调解员 String assistMediator = request.getParameter("assistMediator"); if (StringUtils.isNotBlank(assistMediator)){ terms.put("assistMediator", assistMediator); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); terms.put("inputUnitId", loginUser.getUnitId()); // 排序 Sort sort = null; if(sortType == 1) { sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); } if (sortType == 1){ sort = Sort.by(Sort.Direction.ASC, "t1.create_time"); } PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page<CaseBookPageDTO> caseBookPageDTOPage = casebookInfoService.pageImportSuc(pageRequest, terms); return ReturnSucUtils.getRepInfo(caseBookPageDTOPage); } catch (Exception e) { log.error("[CaseBookWebController.pageImportDraft]请求失败,异常信息:"+e, e); return ReturnFailUtils.getRepInfo(); } } /** * 案件导入-导入成功 * @url {ctx}/api/web/caseBook/pageImportSuc * @param page 页码 * @param size 每页数量 * @param sortType 排序方式(1:正序;2:倒序) * @return Object */ @GetMapping("/pageImportSuc") public Object pageImportSuc(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size , @RequestParam(value = "sortType") int sortType, @CurrentUser String userId) { try { // 查询条件 Map<String, Object> terms = Maps.newHashMap(); // 转入时间区间 String importStart = request.getParameter("importStart"); String importEnd = request.getParameter("importEnd"); if(StringUtils.isNotBlank(importStart) && StringUtils.isNotBlank(importEnd)) { terms.put("importStart", importStart); terms.put("importEnd", importEnd); } // 纠纷发生时间区间 String occurStart = request.getParameter("occurStart"); String occurEnd = request.getParameter("occurEnd"); if(StringUtils.isNotBlank(occurStart) && StringUtils.isNotBlank(occurEnd)) { terms.put("occurStart", occurStart); terms.put("occurEnd", occurEnd); } // 申请方 String plaintiffs = request.getParameter("plaintiffs"); if (StringUtils.isNotBlank(plaintiffs)){ terms.put("plaintiffs", plaintiffs); } // 被申请方 String defendants = request.getParameter("defendants"); if (StringUtils.isNotBlank(defendants)){ terms.put("defendants", defendants); } // 调解员 String mediator = request.getParameter("mediator"); if (StringUtils.isNotBlank(mediator)){ terms.put("mediator", mediator); } // 化解结果 String mediResult = request.getParameter("mediResult"); if (StringUtils.isNotBlank(mediResult)){ terms.put("mediResult", mediResult); } // 纠纷类型 String caseType = request.getParameter("caseType"); if (StringUtils.isNotBlank(caseType)){ terms.put("caseType", caseType); } // 协助调解员 String assistMediator = request.getParameter("assistMediator"); if (StringUtils.isNotBlank(assistMediator)){ terms.put("assistMediator", assistMediator); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); terms.put("inputUnitId", loginUser.getUnitId()); // 排序 Sort sort = null; if(sortType == 1) { sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); } if (sortType == 1){ sort = Sort.by(Sort.Direction.ASC, "t1.create_time"); } PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page<CaseBookPageDTO> caseBookPageDTOPage = casebookInfoService.pageImportSuc(pageRequest, terms); return ReturnSucUtils.getRepInfo(caseBookPageDTOPage); } catch (Exception e) { log.error("[CaseBookWebController.pageImportSuc]请求失败,异常信息:"+e, e); return ReturnFailUtils.getRepInfo(); } } /** * 案件导入-导入操作 * @url {ctx}/api/web/caseBook/inputCaseByExcel * @return Object */ @GetMapping("/inputCaseByExcel") public Object inputCaseByExcel(@RequestParam(value = "fileId") String fileId, @CurrentUser String userId) { try { return casebookInfoService.inputCaseByExcel(fileId, userId, request); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 案件导入-删除草稿 * @url {ctx}/api/web/caseBook/deleteDraft * @return Object */ @PostMapping("/deleteDraft") public Object deleteDraft(@RequestBody List<String> idList, @CurrentUser String userId) { try { casebookInfoService.deleteDraft(idList); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 案件导入-草稿转入正式案件 * @url {ctx}/api/web/caseBook/importToCase * @return Object */ @PostMapping("/importToCase") public Object importToCase(@RequestBody List<String> idList, @CurrentUser String userId) { try { casebookInfoService.importToCase(idList, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 案件导入-全部草稿转入正式案件 * @url {ctx}/api/web/caseBook/importToCaseAll * @return Object */ @GetMapping("/importToCaseAll") public Object importToCaseAll(@CurrentUser String userId) { try { // 查询条件 Map<String, Object> terms = Maps.newHashMap(); // 导入时间区间 String importStart = request.getParameter("importStart"); String importEnd = request.getParameter("importEnd"); if(StringUtils.isNotBlank(importStart) && StringUtils.isNotBlank(importEnd)) { terms.put("importStart", importStart); terms.put("importEnd", importEnd); } // 纠纷发生时间区间 String occurStart = request.getParameter("occurStart"); String occurEnd = request.getParameter("occurEnd"); if(StringUtils.isNotBlank(occurStart) && StringUtils.isNotBlank(occurEnd)) { terms.put("occurStart", occurStart); terms.put("occurEnd", occurEnd); } // 申请方 String plaintiffs = request.getParameter("plaintiffs"); if (StringUtils.isNotBlank(plaintiffs)){ terms.put("plaintiffs", plaintiffs); } // 被申请方 String defendants = request.getParameter("defendants"); if (StringUtils.isNotBlank(defendants)){ terms.put("defendants", defendants); } // 调解员 String mediator = request.getParameter("mediator"); if (StringUtils.isNotBlank(mediator)){ terms.put("mediator", mediator); } // 化解结果 String mediResult = request.getParameter("mediResult"); if (StringUtils.isNotBlank(mediResult)){ terms.put("mediResult", mediResult); } // 纠纷类型 String caseType = request.getParameter("caseType"); if (StringUtils.isNotBlank(caseType)){ terms.put("caseType", caseType); } // 协助调解员 String assistMediator = request.getParameter("assistMediator"); if (StringUtils.isNotBlank(assistMediator)){ terms.put("assistMediator", assistMediator); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); terms.put("inputUnitId", loginUser.getUnitId()); // 查询 casebookInfoService.importToCaseAll(terms); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("[CaseBookWebController.importToCaseAll]请求失败,异常信息:"+e, e); return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookAgentMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.po.CasebookAgent; 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: dyh_casebook_agent持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:21 * @version 1.0.0 */ @Repository public interface CasebookAgentMapper extends BaseMapper<CasebookAgent>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookAgent(@Param("entity") CasebookAgent entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookAgentTerms(@Param("entity") CasebookAgent entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookAgent(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookAgent> */ List<CasebookAgent> 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<CasebookAgent> */ List<CasebookAgent> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookAssistInfoMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.po.CasebookAssistInfo; 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: dyh_casebook_assist_info持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @Repository public interface CasebookAssistInfoMapper extends BaseMapper<CasebookAssistInfo>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookAssistInfo(@Param("entity") CasebookAssistInfo entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookAssistInfoTerms(@Param("entity") CasebookAssistInfo entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookAssistInfo(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookAssistInfo> */ List<CasebookAssistInfo> 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<CasebookAssistInfo> */ List<CasebookAssistInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookFileMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.po.CasebookFile; 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-10-27 16:16:40 * @version 1.0.0 */ @Repository public interface CasebookFileMapper extends BaseMapper<CasebookFile>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookFile(@Param("entity") CasebookFile entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookFileTerms(@Param("entity") CasebookFile entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookFile(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookFile> */ List<CasebookFile> 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<CasebookFile> */ List<CasebookFile> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookInfoMapper.java
New file @@ -0,0 +1,102 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.dto.CaseBookPageDTO; import cn.huge.module.casebook.domain.po.CasebookInfo; 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: dyh_casebook_info持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @Repository public interface CasebookInfoMapper extends BaseMapper<CasebookInfo>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookInfo(@Param("entity") CasebookInfo entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookInfoTerms(@Param("entity") CasebookInfo entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookInfo(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookInfo> */ List<CasebookInfo> 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<CasebookInfo> */ List<CasebookInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); /** * 统计-导入草稿 * @param terms 查询条件集合 * @return long */ long countImportDraft(@Param("terms") Map<String, Object> terms); /** * 条件分页查询-导入草稿 * @param page 分页对象 * @param terms 查询条件集合 * @return List<CasebookInfo> */ List<CaseBookPageDTO> pageImportDraft(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); /** * 条件查询-导入草稿 * @param terms 查询条件集合 * @return List<CasebookInfo> */ List<CaseBookPageDTO> listImportDraft(@Param("terms") Map<String, Object> terms); /** * 统计-导入成功 * @param terms 查询条件集合 * @return long */ long countImportSuc(@Param("terms") Map<String, Object> terms); /** * 条件分页查询-导入成功 * @param page 分页对象 * @param terms 查询条件集合 * @return List<CasebookInfo> */ List<CaseBookPageDTO> pageImportSuc(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookInfoUnfoldMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.po.CasebookInfoUnfold; 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: dyh_casebook_info_unfold持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @Repository public interface CasebookInfoUnfoldMapper extends BaseMapper<CasebookInfoUnfold>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookInfoUnfold(@Param("entity") CasebookInfoUnfold entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookInfoUnfoldTerms(@Param("entity") CasebookInfoUnfold entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookInfoUnfold(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookInfoUnfold> */ List<CasebookInfoUnfold> 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<CasebookInfoUnfold> */ List<CasebookInfoUnfold> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/CasebookPersonMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.casebook.dao.mapper; import cn.huge.module.casebook.domain.po.CasebookPerson; 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: dyh_casebook_person持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @Repository public interface CasebookPersonMapper extends BaseMapper<CasebookPerson>{ /** * 更新对象 * @param entity 对象 */ void updateCasebookPerson(@Param("entity") CasebookPerson entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateCasebookPersonTerms(@Param("entity") CasebookPerson entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteCasebookPerson(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<CasebookPerson> */ List<CasebookPerson> 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<CasebookPerson> */ List<CasebookPerson> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/dao/mapper/xml/CasebookAgentMapper.xml
New file @@ -0,0 +1,430 @@ <?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: dyh_casebook_agent * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-10-26 12:31:21 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookAgentMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookAgent"> <result property="id" column="id"/> <result property="caseId" column="case_id"/> <result property="partyUserId" column="party_user_id"/> <result property="perType" column="per_type"/> <result property="perTypeName" column="per_type_name"/> <result property="perClass" column="per_class"/> <result property="perClassName" column="per_class_name"/> <result property="trueName" column="true_name"/> <result property="mobile" column="mobile"/> <result property="certiType" column="certi_type"/> <result property="certiTypeName" column="certi_type_name"/> <result property="certiNo" column="certi_no"/> <result property="prov" column="prov"/> <result property="provName" column="prov_name"/> <result property="city" column="city"/> <result property="cityName" column="city_name"/> <result property="area" column="area"/> <result property="areaName" column="area_name"/> <result property="road" column="road"/> <result property="roadName" column="road_name"/> <result property="village" column="village"/> <result property="villageName" column="village_name"/> <result property="addr" column="addr"/> <result property="placeProv" column="place_prov"/> <result property="placeProvName" column="place_prov_name"/> <result property="placeCity" column="place_city"/> <result property="placeCityName" column="place_city_name"/> <result property="placeArea" column="place_area"/> <result property="placeAreaName" column="place_area_name"/> <result property="placeRoad" column="place_road"/> <result property="placeRoadName" column="place_road_name"/> <result property="placeVillage" column="place_village"/> <result property="placeVillageName" column="place_village_name"/> <result property="placeAddr" column="place_addr"/> <result property="workUnit" column="work_unit"/> <result property="nation" column="nation"/> <result property="nationName" column="nation_name"/> <result property="sex" column="sex"/> <result property="sexName" column="sex_name"/> <result property="extreme" column="extreme"/> <result property="agentRelate" column="agent_relate"/> <result property="agentRelateName" column="agent_relate_name"/> <result property="agentType" column="agent_type"/> <result property="agentTypeName" column="agent_type_name"/> <result property="personId" column="person_id"/> <result property="avatar" column="avatar"/> <result property="job" column="job"/> <result property="jobName" column="job_name"/> <result property="birthday" column="birthday"/> <result property="age" column="age"/> <result property="agentStatus" column="agent_status"/> <result property="custId" column="cust_id"/> <result property="deleteStatus" column="delete_status"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_casebook_agent</sql> <!-- 字段 --> <sql id="column-part"> id, case_id, party_user_id, per_type, per_type_name, per_class, per_class_name, true_name, mobile, certi_type, certi_type_name, certi_no, prov, prov_name, city, city_name, area, area_name, road, road_name, village, village_name, addr, place_prov, place_prov_name, place_city, place_city_name, place_area, place_area_name, place_road, place_road_name, place_village, place_village_name, place_addr, work_unit, nation, nation_name, sex, sex_name, extreme, agent_relate, agent_relate_name, agent_type, agent_type_name, person_id, avatar, job, job_name, birthday, age, agent_status, cust_id, delete_status, create_time, update_time </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.caseId != null">case_id = #{entity.caseId},</if> <if test="entity.partyUserId != null">party_user_id = #{entity.partyUserId},</if> <if test="entity.perType != null">per_type = #{entity.perType},</if> <if test="entity.perTypeName != null">per_type_name = #{entity.perTypeName},</if> <if test="entity.perClass != null">per_class = #{entity.perClass},</if> <if test="entity.perClassName != null">per_class_name = #{entity.perClassName},</if> <if test="entity.trueName != null">true_name = #{entity.trueName},</if> <if test="entity.mobile != null">mobile = #{entity.mobile},</if> <if test="entity.certiType != null">certi_type = #{entity.certiType},</if> <if test="entity.certiTypeName != null">certi_type_name = #{entity.certiTypeName},</if> <if test="entity.certiNo != null">certi_no = #{entity.certiNo},</if> <if test="entity.prov != null">prov = #{entity.prov},</if> <if test="entity.provName != null">prov_name = #{entity.provName},</if> <if test="entity.city != null">city = #{entity.city},</if> <if test="entity.cityName != null">city_name = #{entity.cityName},</if> <if test="entity.area != null">area = #{entity.area},</if> <if test="entity.areaName != null">area_name = #{entity.areaName},</if> <if test="entity.road != null">road = #{entity.road},</if> <if test="entity.roadName != null">road_name = #{entity.roadName},</if> <if test="entity.village != null">village = #{entity.village},</if> <if test="entity.villageName != null">village_name = #{entity.villageName},</if> <if test="entity.addr != null">addr = #{entity.addr},</if> <if test="entity.placeProv != null">place_prov = #{entity.placeProv},</if> <if test="entity.placeProvName != null">place_prov_name = #{entity.placeProvName},</if> <if test="entity.placeCity != null">place_city = #{entity.placeCity},</if> <if test="entity.placeCityName != null">place_city_name = #{entity.placeCityName},</if> <if test="entity.placeArea != null">place_area = #{entity.placeArea},</if> <if test="entity.placeAreaName != null">place_area_name = #{entity.placeAreaName},</if> <if test="entity.placeRoad != null">place_road = #{entity.placeRoad},</if> <if test="entity.placeRoadName != null">place_road_name = #{entity.placeRoadName},</if> <if test="entity.placeVillage != null">place_village = #{entity.placeVillage},</if> <if test="entity.placeVillageName != null">place_village_name = #{entity.placeVillageName},</if> <if test="entity.placeAddr != null">place_addr = #{entity.placeAddr},</if> <if test="entity.workUnit != null">work_unit = #{entity.workUnit},</if> <if test="entity.nation != null">nation = #{entity.nation},</if> <if test="entity.nationName != null">nation_name = #{entity.nationName},</if> <if test="entity.sex != null">sex = #{entity.sex},</if> <if test="entity.sexName != null">sex_name = #{entity.sexName},</if> <if test="entity.extreme != null">extreme = #{entity.extreme},</if> <if test="entity.agentRelate != null">agent_relate = #{entity.agentRelate},</if> <if test="entity.agentRelateName != null">agent_relate_name = #{entity.agentRelateName},</if> <if test="entity.agentType != null">agent_type = #{entity.agentType},</if> <if test="entity.agentTypeName != null">agent_type_name = #{entity.agentTypeName},</if> <if test="entity.personId != null">person_id = #{entity.personId},</if> <if test="entity.avatar != null">avatar = #{entity.avatar},</if> <if test="entity.job != null">job = #{entity.job},</if> <if test="entity.jobName != null">job_name = #{entity.jobName},</if> <if test="entity.birthday != null">birthday = #{entity.birthday},</if> <if test="entity.age != null">age = #{entity.age},</if> <if test="entity.agentStatus != null">agent_status = #{entity.agentStatus},</if> <if test="entity.custId != null">cust_id = #{entity.custId},</if> <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</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.partyUserId != null and terms.partyUserId !=''"> and party_user_id = #{terms.partyUserId} </if> <if test="terms.perType != null and terms.perType !=''"> and per_type = #{terms.perType} </if> <if test="terms.perTypeName != null and terms.perTypeName !=''"> and per_type_name = #{terms.perTypeName} </if> <if test="terms.perClass != null and terms.perClass !=''"> and per_class = #{terms.perClass} </if> <if test="terms.perClassName != null and terms.perClassName !=''"> and per_class_name = #{terms.perClassName} </if> <if test="terms.trueName != null and terms.trueName !=''"> and true_name = #{terms.trueName} </if> <if test="terms.mobile != null and terms.mobile !=''"> and mobile = #{terms.mobile} </if> <if test="terms.certiType != null and terms.certiType !=''"> and certi_type = #{terms.certiType} </if> <if test="terms.certiTypeName != null and terms.certiTypeName !=''"> and certi_type_name = #{terms.certiTypeName} </if> <if test="terms.certiNo != null and terms.certiNo !=''"> and certi_no = #{terms.certiNo} </if> <if test="terms.prov != null and terms.prov !=''"> and prov = #{terms.prov} </if> <if test="terms.provName != null and terms.provName !=''"> and prov_name = #{terms.provName} </if> <if test="terms.city != null and terms.city !=''"> and city = #{terms.city} </if> <if test="terms.cityName != null and terms.cityName !=''"> and city_name = #{terms.cityName} </if> <if test="terms.area != null and terms.area !=''"> and area = #{terms.area} </if> <if test="terms.areaName != null and terms.areaName !=''"> and area_name = #{terms.areaName} </if> <if test="terms.road != null and terms.road !=''"> and road = #{terms.road} </if> <if test="terms.roadName != null and terms.roadName !=''"> and road_name = #{terms.roadName} </if> <if test="terms.village != null and terms.village !=''"> and village = #{terms.village} </if> <if test="terms.villageName != null and terms.villageName !=''"> and village_name = #{terms.villageName} </if> <if test="terms.addr != null and terms.addr !=''"> and addr = #{terms.addr} </if> <if test="terms.placeProv != null and terms.placeProv !=''"> and place_prov = #{terms.placeProv} </if> <if test="terms.placeProvName != null and terms.placeProvName !=''"> and place_prov_name = #{terms.placeProvName} </if> <if test="terms.placeCity != null and terms.placeCity !=''"> and place_city = #{terms.placeCity} </if> <if test="terms.placeCityName != null and terms.placeCityName !=''"> and place_city_name = #{terms.placeCityName} </if> <if test="terms.placeArea != null and terms.placeArea !=''"> and place_area = #{terms.placeArea} </if> <if test="terms.placeAreaName != null and terms.placeAreaName !=''"> and place_area_name = #{terms.placeAreaName} </if> <if test="terms.placeRoad != null and terms.placeRoad !=''"> and place_road = #{terms.placeRoad} </if> <if test="terms.placeRoadName != null and terms.placeRoadName !=''"> and place_road_name = #{terms.placeRoadName} </if> <if test="terms.placeVillage != null and terms.placeVillage !=''"> and place_village = #{terms.placeVillage} </if> <if test="terms.placeVillageName != null and terms.placeVillageName !=''"> and place_village_name = #{terms.placeVillageName} </if> <if test="terms.placeAddr != null and terms.placeAddr !=''"> and place_addr = #{terms.placeAddr} </if> <if test="terms.workUnit != null and terms.workUnit !=''"> and work_unit = #{terms.workUnit} </if> <if test="terms.nation != null and terms.nation !=''"> and nation = #{terms.nation} </if> <if test="terms.nationName != null and terms.nationName !=''"> and nation_name = #{terms.nationName} </if> <if test="terms.sex != null and terms.sex !=''"> and sex = #{terms.sex} </if> <if test="terms.sexName != null and terms.sexName !=''"> and sex_name = #{terms.sexName} </if> <if test="terms.extreme != null and terms.extreme !=''"> and extreme = #{terms.extreme} </if> <if test="terms.agentRelate != null and terms.agentRelate !=''"> and agent_relate = #{terms.agentRelate} </if> <if test="terms.agentRelateName != null and terms.agentRelateName !=''"> and agent_relate_name = #{terms.agentRelateName} </if> <if test="terms.agentType != null and terms.agentType !=''"> and agent_type = #{terms.agentType} </if> <if test="terms.agentTypeName != null and terms.agentTypeName !=''"> and agent_type_name = #{terms.agentTypeName} </if> <if test="terms.personId != null and terms.personId !=''"> and person_id = #{terms.personId} </if> <if test="terms.avatar != null and terms.avatar !=''"> and avatar = #{terms.avatar} </if> <if test="terms.job != null and terms.job !=''"> and job = #{terms.job} </if> <if test="terms.jobName != null and terms.jobName !=''"> and job_name = #{terms.jobName} </if> <if test="terms.birthday != null and terms.birthday !=''"> and birthday = #{terms.birthday} </if> <if test="terms.age != null and terms.age !=''"> and age = #{terms.age} </if> <if test="terms.agentStatus != null and terms.agentStatus !=''"> and agent_status = #{terms.agentStatus} </if> <if test="terms.custId != null and terms.custId !=''"> and cust_id = #{terms.custId} </if> <if test="terms.deleteStatus = null and terms.deleteStatus =''"> and delete_status = 0 </if> <if test="terms.deleteStatus != null and terms.deleteStatus !=''"> and delete_status = #{terms.deleteStatus} </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="updateCasebookAgent"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookAgentTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookAgent"> 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/casebook/dao/mapper/xml/CasebookAssistInfoMapper.xml
New file @@ -0,0 +1,181 @@ <?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: dyh_casebook_assist_info * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-10-26 12:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookAssistInfoMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookAssistInfo"> <result property="id" column="id"/> <result property="caseId" column="case_id"/> <result property="processInstanceId" column="process_instance_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_casebook_assist_info</sql> <!-- 字段 --> <sql id="column-part"> id, case_id, process_instance_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.processInstanceId != null">process_instance_id = #{entity.processInstanceId},</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.processInstanceId != null and terms.processInstanceId !=''"> and process_instance_id = #{terms.processInstanceId} </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="updateCasebookAssistInfo"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookAssistInfoTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookAssistInfo"> 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/casebook/dao/mapper/xml/CasebookFileMapper.xml
New file @@ -0,0 +1,145 @@ <?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-10-27 16:16:40 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookFileMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookFile"> <result property="id" column="id"/> <result property="fileName" column="file_name"/> <result property="fileSize" column="file_size"/> <result property="userId" column="user_id"/> <result property="userName" column="user_name"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> <result property="custId" column="cust_id"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_casebook_file</sql> <!-- 字段 --> <sql id="column-part"> id, file_name, file_size, user_id, user_name, create_time, update_time, cust_id </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.fileName != null">file_name = #{entity.fileName},</if> <if test="entity.fileSize != null">file_size = #{entity.fileSize},</if> <if test="entity.userId != null">user_id = #{entity.userId},</if> <if test="entity.userName != null">user_name = #{entity.userName},</if> <if test="entity.createTime != null">create_time = #{entity.createTime},</if> <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if> <if test="entity.custId != null">cust_id = #{entity.custId}</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.fileName != null and terms.fileName !=''"> and file_name = #{terms.fileName} </if> <if test="terms.fileSize != null and terms.fileSize !=''"> and file_size = #{terms.fileSize} </if> <if test="terms.userId != null and terms.userId !=''"> and user_id = #{terms.userId} </if> <if test="terms.userName != null and terms.userName !=''"> and user_name = #{terms.userName} </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> <if test="terms.custId != null and terms.custId !=''"> and cust_id = #{terms.custId} </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateCasebookFile"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookFileTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookFile"> 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/casebook/dao/mapper/xml/CasebookInfoMapper.xml
New file @@ -0,0 +1,678 @@ <?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: dyh_casebook_info * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-10-26 12:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookInfoMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookInfo"> <result property="id" column="id"/> <result property="caseTitle" column="case_title"/> <result property="caseRef" column="case_ref"/> <result property="caseLevel" column="case_level"/> <result property="visitTime" column="visit_time"/> <result property="visitPeopleNum" column="visit_people_num"/> <result property="mediType" column="medi_type"/> <result property="mediTypeName" column="medi_type_name"/> <result property="caseTypeFirst" column="case_type_first"/> <result property="caseTypeFirstName" column="case_type_first_name"/> <result property="caseType" column="case_type"/> <result property="caseTypeName" column="case_type_name"/> <result property="occurTime" column="occur_time"/> <result property="addr" column="addr"/> <result property="lng" column="lng"/> <result property="lat" column="lat"/> <result property="wgAddr" column="wg_addr"/> <result property="wgLng" column="wg_lng"/> <result property="wgLat" column="wg_lat"/> <result property="queProv" column="que_prov"/> <result property="queProvName" column="que_prov_name"/> <result property="queCity" column="que_city"/> <result property="queCityName" column="que_city_name"/> <result property="queArea" column="que_area"/> <result property="queAreaName" column="que_area_name"/> <result property="queRoad" column="que_road"/> <result property="queRoadName" column="que_road_name"/> <result property="queVillage" column="que_village"/> <result property="queVillageName" column="que_village_name"/> <result property="peopleNum" column="people_num"/> <result property="amount" column="amount"/> <result property="crowd" column="crowd"/> <result property="crowdName" column="crowd_name"/> <result property="canal" column="canal"/> <result property="canalName" column="canal_name"/> <result property="visitWay" column="visit_way"/> <result property="visitWayName" column="visit_way_name"/> <result property="zxslStatus" column="zxsl_status"/> <result property="caseDes" column="case_des"/> <result property="caseClaim" column="case_claim"/> <result property="majorStatus" column="major_status"/> <result property="source" column="source"/> <result property="sourceName" column="source_name"/> <result property="caseNo" column="case_no"/> <result property="mediateNo" column="mediate_no"/> <result property="mediateBookNo" column="mediate_book_no"/> <result property="civilNo" column="civil_no"/> <result property="plaintiffs" column="plaintiffs"/> <result property="pagents" column="pagents"/> <result property="defendants" column="defendants"/> <result property="dagents" column="dagents"/> <result property="partyShow" column="party_show"/> <result property="wantUnitId" column="want_unit_id"/> <result property="wantUnitName" column="want_unit_name"/> <result property="wantUserId" column="want_user_id"/> <result property="wantUserName" column="want_user_name"/> <result property="inputUnitId" column="input_unit_id"/> <result property="inputUnitName" column="input_unit_name"/> <result property="inputUserId" column="input_user_id"/> <result property="inputUserName" column="input_user_name"/> <result property="inputWay" column="input_way"/> <result property="status" column="status"/> <result property="statusName" column="status_name"/> <result property="process" column="process"/> <result property="processName" column="process_name"/> <result property="infoProcess" column="info_process"/> <result property="infoProcessName" column="info_process_name"/> <result property="deleteStatus" column="delete_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_casebook_info</sql> <!-- 字段 --> <sql id="column-part"> id, case_title, case_ref, case_level, visit_time, visit_people_num, medi_type, medi_type_name, case_type_first, case_type_first_name, case_type, case_type_name, occur_time, addr, lng, lat, wg_addr, wg_lng, wg_lat, que_prov, que_prov_name, que_city, que_city_name, que_area, que_area_name, que_road, que_road_name, que_village, que_village_name, people_num, amount, crowd, crowd_name, canal, canal_name, visit_way, visit_way_name, zxsl_status, case_des, case_claim, major_status, source, source_name, case_no, mediate_no, mediate_book_no, civil_no, plaintiffs, pagents, defendants, dagents, party_show, want_unit_id, want_unit_name, want_user_id, want_user_name, input_unit_id, input_unit_name, input_user_id, input_user_name, input_way, status, status_name, process, process_name, info_process, info_process_name, delete_status, cust_id, create_time, update_time </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.caseTitle != null">case_title = #{entity.caseTitle},</if> <if test="entity.caseRef != null">case_ref = #{entity.caseRef},</if> <if test="entity.caseLevel != null">case_level = #{entity.caseLevel},</if> <if test="entity.visitTime != null">visit_time = #{entity.visitTime},</if> <if test="entity.visitPeopleNum != null">visit_people_num = #{entity.visitPeopleNum},</if> <if test="entity.mediType != null">medi_type = #{entity.mediType},</if> <if test="entity.mediTypeName != null">medi_type_name = #{entity.mediTypeName},</if> <if test="entity.caseTypeFirst != null">case_type_first = #{entity.caseTypeFirst},</if> <if test="entity.caseTypeFirstName != null">case_type_first_name = #{entity.caseTypeFirstName},</if> <if test="entity.caseType != null">case_type = #{entity.caseType},</if> <if test="entity.caseTypeName != null">case_type_name = #{entity.caseTypeName},</if> <if test="entity.occurTime != null">occur_time = #{entity.occurTime},</if> <if test="entity.addr != null">addr = #{entity.addr},</if> <if test="entity.lng != null">lng = #{entity.lng},</if> <if test="entity.lat != null">lat = #{entity.lat},</if> <if test="entity.wgAddr != null">wg_addr = #{entity.wgAddr},</if> <if test="entity.wgLng != null">wg_lng = #{entity.wgLng},</if> <if test="entity.wgLat != null">wg_lat = #{entity.wgLat},</if> <if test="entity.queProv != null">que_prov = #{entity.queProv},</if> <if test="entity.queProvName != null">que_prov_name = #{entity.queProvName},</if> <if test="entity.queCity != null">que_city = #{entity.queCity},</if> <if test="entity.queCityName != null">que_city_name = #{entity.queCityName},</if> <if test="entity.queArea != null">que_area = #{entity.queArea},</if> <if test="entity.queAreaName != null">que_area_name = #{entity.queAreaName},</if> <if test="entity.queRoad != null">que_road = #{entity.queRoad},</if> <if test="entity.queRoadName != null">que_road_name = #{entity.queRoadName},</if> <if test="entity.queVillage != null">que_village = #{entity.queVillage},</if> <if test="entity.queVillageName != null">que_village_name = #{entity.queVillageName},</if> <if test="entity.peopleNum != null">people_num = #{entity.peopleNum},</if> <if test="entity.amount != null">amount = #{entity.amount},</if> <if test="entity.crowd != null">crowd = #{entity.crowd},</if> <if test="entity.crowdName != null">crowd_name = #{entity.crowdName},</if> <if test="entity.canal != null">canal = #{entity.canal},</if> <if test="entity.canalName != null">canal_name = #{entity.canalName},</if> <if test="entity.visitWay != null">visit_way = #{entity.visitWay},</if> <if test="entity.visitWayName != null">visit_way_name = #{entity.visitWayName},</if> <if test="entity.zxslStatus != null">zxsl_status = #{entity.zxslStatus},</if> <if test="entity.caseDes != null">case_des = #{entity.caseDes},</if> <if test="entity.caseClaim != null">case_claim = #{entity.caseClaim},</if> <if test="entity.majorStatus != null">major_status = #{entity.majorStatus},</if> <if test="entity.source != null">source = #{entity.source},</if> <if test="entity.sourceName != null">source_name = #{entity.sourceName},</if> <if test="entity.caseNo != null">case_no = #{entity.caseNo},</if> <if test="entity.mediateNo != null">mediate_no = #{entity.mediateNo},</if> <if test="entity.mediateBookNo != null">mediate_book_no = #{entity.mediateBookNo},</if> <if test="entity.civilNo != null">civil_no = #{entity.civilNo},</if> <if test="entity.plaintiffs != null">plaintiffs = #{entity.plaintiffs},</if> <if test="entity.pagents != null">pagents = #{entity.pagents},</if> <if test="entity.defendants != null">defendants = #{entity.defendants},</if> <if test="entity.dagents != null">dagents = #{entity.dagents},</if> <if test="entity.partyShow != null">party_show = #{entity.partyShow},</if> <if test="entity.wantUnitId != null">want_unit_id = #{entity.wantUnitId},</if> <if test="entity.wantUnitName != null">want_unit_name = #{entity.wantUnitName},</if> <if test="entity.wantUserId != null">want_user_id = #{entity.wantUserId},</if> <if test="entity.wantUserName != null">want_user_name = #{entity.wantUserName},</if> <if test="entity.inputUnitId != null">input_unit_id = #{entity.inputUnitId},</if> <if test="entity.inputUnitName != null">input_unit_name = #{entity.inputUnitName},</if> <if test="entity.inputUserId != null">input_user_id = #{entity.inputUserId},</if> <if test="entity.inputUserName != null">input_user_name = #{entity.inputUserName},</if> <if test="entity.inputWay != null">input_way = #{entity.inputWay},</if> <if test="entity.status != null">status = #{entity.status},</if> <if test="entity.statusName != null">status_name = #{entity.statusName},</if> <if test="entity.process != null">process = #{entity.process},</if> <if test="entity.processName != null">process_name = #{entity.processName},</if> <if test="entity.infoProcess != null">info_process = #{entity.infoProcess},</if> <if test="entity.infoProcessName != null">info_process_name = #{entity.infoProcessName},</if> <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</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.caseTitle != null and terms.caseTitle !=''"> and case_title = #{terms.caseTitle} </if> <if test="terms.caseRef != null and terms.caseRef !=''"> and case_ref = #{terms.caseRef} </if> <if test="terms.caseLevel != null and terms.caseLevel !=''"> and case_level = #{terms.caseLevel} </if> <if test="terms.visitTime != null and terms.visitTime !=''"> and visit_time = #{terms.visitTime} </if> <if test="terms.visitPeopleNum != null and terms.visitPeopleNum !=''"> and visit_people_num = #{terms.visitPeopleNum} </if> <if test="terms.mediType != null and terms.mediType !=''"> and medi_type = #{terms.mediType} </if> <if test="terms.mediTypeName != null and terms.mediTypeName !=''"> and medi_type_name = #{terms.mediTypeName} </if> <if test="terms.caseTypeFirst != null and terms.caseTypeFirst !=''"> and case_type_first = #{terms.caseTypeFirst} </if> <if test="terms.caseTypeFirstName != null and terms.caseTypeFirstName !=''"> and case_type_first_name = #{terms.caseTypeFirstName} </if> <if test="terms.caseType != null and terms.caseType !=''"> and case_type = #{terms.caseType} </if> <if test="terms.caseTypeName != null and terms.caseTypeName !=''"> and case_type_name = #{terms.caseTypeName} </if> <if test="terms.occurTime != null and terms.occurTime !=''"> and occur_time = #{terms.occurTime} </if> <if test="terms.addr != null and terms.addr !=''"> and addr = #{terms.addr} </if> <if test="terms.lng != null and terms.lng !=''"> and lng = #{terms.lng} </if> <if test="terms.lat != null and terms.lat !=''"> and lat = #{terms.lat} </if> <if test="terms.wgAddr != null and terms.wgAddr !=''"> and wg_addr = #{terms.wgAddr} </if> <if test="terms.wgLng != null and terms.wgLng !=''"> and wg_lng = #{terms.wgLng} </if> <if test="terms.wgLat != null and terms.wgLat !=''"> and wg_lat = #{terms.wgLat} </if> <if test="terms.queProv != null and terms.queProv !=''"> and que_prov = #{terms.queProv} </if> <if test="terms.queProvName != null and terms.queProvName !=''"> and que_prov_name = #{terms.queProvName} </if> <if test="terms.queCity != null and terms.queCity !=''"> and que_city = #{terms.queCity} </if> <if test="terms.queCityName != null and terms.queCityName !=''"> and que_city_name = #{terms.queCityName} </if> <if test="terms.queArea != null and terms.queArea !=''"> and que_area = #{terms.queArea} </if> <if test="terms.queAreaName != null and terms.queAreaName !=''"> and que_area_name = #{terms.queAreaName} </if> <if test="terms.queRoad != null and terms.queRoad !=''"> and que_road = #{terms.queRoad} </if> <if test="terms.queRoadName != null and terms.queRoadName !=''"> and que_road_name = #{terms.queRoadName} </if> <if test="terms.queVillage != null and terms.queVillage !=''"> and que_village = #{terms.queVillage} </if> <if test="terms.queVillageName != null and terms.queVillageName !=''"> and que_village_name = #{terms.queVillageName} </if> <if test="terms.peopleNum != null and terms.peopleNum !=''"> and people_num = #{terms.peopleNum} </if> <if test="terms.amount != null and terms.amount !=''"> and amount = #{terms.amount} </if> <if test="terms.crowd != null and terms.crowd !=''"> and crowd = #{terms.crowd} </if> <if test="terms.crowdName != null and terms.crowdName !=''"> and crowd_name = #{terms.crowdName} </if> <if test="terms.canal != null and terms.canal !=''"> and canal = #{terms.canal} </if> <if test="terms.canalName != null and terms.canalName !=''"> and canal_name = #{terms.canalName} </if> <if test="terms.visitWay != null and terms.visitWay !=''"> and visit_way = #{terms.visitWay} </if> <if test="terms.visitWayName != null and terms.visitWayName !=''"> and visit_way_name = #{terms.visitWayName} </if> <if test="terms.zxslStatus != null and terms.zxslStatus !=''"> and zxsl_status = #{terms.zxslStatus} </if> <if test="terms.caseDes != null and terms.caseDes !=''"> and case_des = #{terms.caseDes} </if> <if test="terms.caseClaim != null and terms.caseClaim !=''"> and case_claim = #{terms.caseClaim} </if> <if test="terms.majorStatus != null and terms.majorStatus !=''"> and major_status = #{terms.majorStatus} </if> <if test="terms.source != null and terms.source !=''"> and source = #{terms.source} </if> <if test="terms.sourceName != null and terms.sourceName !=''"> and source_name = #{terms.sourceName} </if> <if test="terms.caseNo != null and terms.caseNo !=''"> and case_no = #{terms.caseNo} </if> <if test="terms.mediateNo != null and terms.mediateNo !=''"> and mediate_no = #{terms.mediateNo} </if> <if test="terms.mediateBookNo != null and terms.mediateBookNo !=''"> and mediate_book_no = #{terms.mediateBookNo} </if> <if test="terms.civilNo != null and terms.civilNo !=''"> and civil_no = #{terms.civilNo} </if> <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> and plaintiffs = #{terms.plaintiffs} </if> <if test="terms.pagents != null and terms.pagents !=''"> and pagents = #{terms.pagents} </if> <if test="terms.defendants != null and terms.defendants !=''"> and defendants = #{terms.defendants} </if> <if test="terms.dagents != null and terms.dagents !=''"> and dagents = #{terms.dagents} </if> <if test="terms.partyShow != null and terms.partyShow !=''"> and party_show = #{terms.partyShow} </if> <if test="terms.wantUnitId != null and terms.wantUnitId !=''"> and want_unit_id = #{terms.wantUnitId} </if> <if test="terms.wantUnitName != null and terms.wantUnitName !=''"> and want_unit_name = #{terms.wantUnitName} </if> <if test="terms.wantUserId != null and terms.wantUserId !=''"> and want_user_id = #{terms.wantUserId} </if> <if test="terms.wantUserName != null and terms.wantUserName !=''"> and want_user_name = #{terms.wantUserName} </if> <if test="terms.inputUnitId != null and terms.inputUnitId !=''"> and input_unit_id = #{terms.inputUnitId} </if> <if test="terms.inputUnitName != null and terms.inputUnitName !=''"> and input_unit_name = #{terms.inputUnitName} </if> <if test="terms.inputUserId != null and terms.inputUserId !=''"> and input_user_id = #{terms.inputUserId} </if> <if test="terms.inputUserName != null and terms.inputUserName !=''"> and input_user_name = #{terms.inputUserName} </if> <if test="terms.inputWay != null and terms.inputWay !=''"> and input_way = #{terms.inputWay} </if> <if test="terms.status != null and terms.status !=''"> and status = #{terms.status} </if> <if test="terms.statusName != null and terms.statusName !=''"> and status_name = #{terms.statusName} </if> <if test="terms.process != null and terms.process !=''"> and process = #{terms.process} </if> <if test="terms.processName != null and terms.processName !=''"> and process_name = #{terms.processName} </if> <if test="terms.infoProcess != null and terms.infoProcess !=''"> and info_process = #{terms.infoProcess} </if> <if test="terms.infoProcessName != null and terms.infoProcessName !=''"> and info_process_name = #{terms.infoProcessName} </if> <if test="terms.deleteStatus = null and terms.deleteStatus =''"> and delete_status = 0 </if> <if test="terms.deleteStatus != null and terms.deleteStatus !=''"> and delete_status = #{terms.deleteStatus} </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.occurStart != null and terms.occurStart !='' and terms.updateEnd != null and terms.updateEnd !=''"> and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.occurStart} and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd}) </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateCasebookInfo"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookInfoTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookInfo"> 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> <!-- 条件-导入草稿 --> <sql id="importDraft-where-part"> <if test="terms != null"> <if test="terms.importStart != null and terms.importStart !='' and terms.importEnd != null and terms.importEnd !=''"> and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.importStart} and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.importEnd}) </if> <if test="terms.occurStart != null and terms.occurStart !='' and terms.occurEnd != null and terms.occurEnd !=''"> and (DATE_FORMAT(t1.occur_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} and DATE_FORMAT(t1.occur_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.occurEnd}) </if> <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> and concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) like concat('%', #{terms.plaintiffs}, '%') </if> <if test="terms.defendants != null and terms.defendants !=''"> and concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) like concat('%', #{terms.defendants}, '%') </if> <if test="terms.mediator != null and terms.mediator !=''"> and t2.mediator like concat('%', #{terms.mediator}, '%') </if> <if test="terms.mediResult != null and terms.mediResult !=''"> and t1.medi_result = #{terms.mediResult} </if> <if test="terms.caseType != null and terms.caseType !=''"> and t1.case_type = #{terms.caseType} </if> <if test="terms.assistMediator != null and terms.assistMediator !=''"> and t3.assist_user_name like concat('%', #{terms.assistMediator}, '%') </if> </if> </sql> <!-- 统计-导入草稿 --> <select id="countImportDraft" resultType="java.lang.Long"> select count(DISTINCT t1.id) from dyh_casebook_info t1 left join dyh_casebook_info_unfold t2 on t1.id = t2.id left join dyh_casebook_assist_info t3 on t1.id = t3.case_id where t1.delete_status = 0 and t1.input_way = 2 and t1.input_unit_id = #{terms.inputUnitId} <include refid="importDraft-where-part"/> </select> <!-- 条件分页查询-导入草稿 --> <select id="pageImportDraft" resultType="cn.huge.module.casebook.domain.dto.CaseBookPageDTO"> select t1.id, t1.occur_time as occurTime, t1.addr, concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) as plaintiffs, concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) as defendants, concat_ws('', ifnull(t1.case_type_first_name, ''), '/' , ifnull(t1.case_type_name, '')) as caseType, t2.mediate_unit_name as mediateUnitName, t2.mediator, t3.assist_user_name as assistUserName, t2.medi_result as mediResult, t2.medi_result_name as mediResultName, t1.create_time as createTime from dyh_casebook_info t1 left join dyh_casebook_info_unfold t2 on t1.id = t2.id left join dyh_casebook_assist_info t3 on t1.id = t3.case_id where t1.delete_status = 0 and t1.input_way = 2 and t1.input_unit_id = #{terms.inputUnitId} <include refid="importDraft-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> <!-- 条件分页查询-导入草稿 --> <select id="listImportDraft" resultType="cn.huge.module.casebook.domain.dto.CaseBookPageDTO"> select t1.id, t1.occur_time as occurTime, t1.addr, concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) as plaintiffs, concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) as defendants, concat_ws('', ifnull(t1.case_type_first_name, ''), '/' , ifnull(t1.case_type_name, '')) as caseType, t2.mediate_unit_name as mediateUnitName, t2.mediator, t3.assist_user_name as assistUserName, t2.medi_result as mediResult, t2.medi_result_name as mediResultName, t1.create_time as createTime from dyh_casebook_info t1 left join dyh_casebook_info_unfold t2 on t1.id = t2.id left join dyh_casebook_assist_info t3 on t1.id = t3.case_id where t1.delete_status = 0 and t1.input_way = 2 and t1.input_unit_id = #{terms.inputUnitId} <include refid="importDraft-where-part"/> order by t1.create_time </select> <!-- 条件-导入成功 --> <sql id="importSuc-where-part"> <if test="terms != null"> <if test="terms.importStart != null and terms.importStart !='' and terms.importEnd != null and terms.importEnd !=''"> and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.importStart} and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.importEnd}) </if> <if test="terms.occurStart != null and terms.occurStart !='' and terms.occurEnd != null and terms.occurEnd !=''"> and (DATE_FORMAT(t1.occur_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} and DATE_FORMAT(t1.occur_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.occurEnd}) </if> <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> and concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) like concat('%', #{terms.plaintiffs}, '%') </if> <if test="terms.defendants != null and terms.defendants !=''"> and concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) like concat('%', #{terms.defendants}, '%') </if> <if test="terms.mediator != null and terms.mediator !=''"> and t2.mediator like concat('%', #{terms.mediator}, '%') </if> <if test="terms.mediResult != null and terms.mediResult !=''"> and t1.medi_result = #{terms.mediResult} </if> <if test="terms.caseType != null and terms.caseType !=''"> and t1.case_type = #{terms.caseType} </if> <if test="terms.assistMediator != null and terms.assistMediator !=''"> and t3.assist_user_name like concat('%', #{terms.assistMediator}, '%') </if> </if> </sql> <!-- 统计-导入成功 --> <select id="countImportSuc" resultType="java.lang.Long"> select count(DISTINCT t1.id) from dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id left join dyh_case_assist_info t3 on t1.id = t3.case_id where t1.delete_status = 0 and t1.input_way = 2 and t1.input_unit_id = #{terms.inputUnitId} <include refid="importSuc-where-part"/> </select> <!-- 条件分页查询-导入成功 --> <select id="pageImportSuc" resultType="cn.huge.module.casebook.domain.dto.CaseBookPageDTO"> select t1.id, t1.occur_time as occurTime, t1.addr, concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) as plaintiffs, concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) as defendants, concat_ws('', ifnull(t1.case_type_first_name, ''), '/' , ifnull(t1.case_type_name, '')) as caseType, t2.mediate_unit_name as mediateUnitName, t2.mediator, t3.assist_user_name as assistUserName, t2.medi_result as mediResult, t2.medi_result_name as mediResultName, t1.create_time as createTime from dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id left join dyh_case_assist_info t3 on t1.id = t3.case_id where t1.delete_status = 0 and t1.input_way = 2 and t1.input_unit_id = #{terms.inputUnitId} <include refid="importSuc-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/casebook/dao/mapper/xml/CasebookInfoUnfoldMapper.xml
New file @@ -0,0 +1,391 @@ <?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: dyh_casebook_info_unfold * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-10-26 12:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookInfoUnfoldMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookInfoUnfold"> <result property="id" column="id"/> <result property="acceptTime" column="accept_time"/> <result property="mediateUnitId" column="mediate_unit_id"/> <result property="mediateUnitName" column="mediate_unit_name"/> <result property="mediateDeptId" column="mediate_dept_id"/> <result property="mediateDeptName" column="mediate_dept_name"/> <result property="mediatorId" column="mediator_id"/> <result property="mediator" column="mediator"/> <result property="mediatorMobile" column="mediator_mobile"/> <result property="assistUnitId" column="assist_unit_id"/> <result property="assistUnitName" column="assist_unit_name"/> <result property="mediStartTime" column="medi_start_time"/> <result property="mediEndTime" column="medi_end_time"/> <result property="mediResult" column="medi_result"/> <result property="mediResultName" column="medi_result_name"/> <result property="agreeType" column="agree_type"/> <result property="agreeTypeName" column="agree_type_name"/> <result property="agreeContent" column="agree_content"/> <result property="windupContent" column="windup_content"/> <result property="mediFalse" column="medi_false"/> <result property="mediFalseName" column="medi_false_name"/> <result property="civilStatus" column="civil_status"/> <result property="courtId" column="court_id"/> <result property="courtName" column="court_name"/> <result property="closeTime" column="close_time"/> <result property="judicApply" column="judic_apply"/> <result property="judicResult" column="judic_result"/> <result property="judicResultName" column="judic_result_name"/> <result property="fileStatus" column="file_status"/> <result property="fileUserId" column="file_user_id"/> <result property="fileUserName" column="file_user_name"/> <result property="fileTime" column="file_time"/> <result property="fileYear" column="file_year"/> <result property="fileBookName" column="file_book_name"/> <result property="fileBookNo" column="file_book_no"/> <result property="fileNo" column="file_no"/> <result property="fileLimitYear" column="file_limit_year"/> <result property="fileAddr" column="file_addr"/> <result property="fileContent" column="file_content"/> <result property="fulfilSitu" column="fulfil_situ"/> <result property="fulfilSituName" column="fulfil_situ_name"/> <result property="visitUpStatus" column="visit_up_status"/> <result property="visitUpContent" column="visit_up_content"/> <result property="partyJoy" column="party_joy"/> <result property="custId" column="cust_id"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> <result property="belongUnitId" column="belong_unit_id"/> <result property="belongUnitName" column="belong_unit_name"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_casebook_info_unfold</sql> <!-- 字段 --> <sql id="column-part"> id, accept_time, mediate_unit_id, mediate_unit_name, mediate_dept_id, mediate_dept_name, mediator_id, mediator, mediator_mobile, assist_unit_id, assist_unit_name, medi_start_time, medi_end_time, medi_result, medi_result_name, agree_type, agree_type_name, agree_content, windup_content, medi_false, medi_false_name, civil_status, court_id, court_name, close_time, judic_apply, judic_result, judic_result_name, file_status, file_user_id, file_user_name, file_time, file_year, file_book_name, file_book_no, file_no, file_limit_year, file_addr, file_content, fulfil_situ, fulfil_situ_name, visit_up_status, visit_up_content, party_joy, cust_id, create_time, update_time, belong_unit_id, belong_unit_name </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.acceptTime != null">accept_time = #{entity.acceptTime},</if> <if test="entity.mediateUnitId != null">mediate_unit_id = #{entity.mediateUnitId},</if> <if test="entity.mediateUnitName != null">mediate_unit_name = #{entity.mediateUnitName},</if> <if test="entity.mediateDeptId != null">mediate_dept_id = #{entity.mediateDeptId},</if> <if test="entity.mediateDeptName != null">mediate_dept_name = #{entity.mediateDeptName},</if> <if test="entity.mediatorId != null">mediator_id = #{entity.mediatorId},</if> <if test="entity.mediator != null">mediator = #{entity.mediator},</if> <if test="entity.mediatorMobile != null">mediator_mobile = #{entity.mediatorMobile},</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.mediStartTime != null">medi_start_time = #{entity.mediStartTime},</if> <if test="entity.mediEndTime != null">medi_end_time = #{entity.mediEndTime},</if> <if test="entity.mediResult != null">medi_result = #{entity.mediResult},</if> <if test="entity.mediResultName != null">medi_result_name = #{entity.mediResultName},</if> <if test="entity.agreeType != null">agree_type = #{entity.agreeType},</if> <if test="entity.agreeTypeName != null">agree_type_name = #{entity.agreeTypeName},</if> <if test="entity.agreeContent != null">agree_content = #{entity.agreeContent},</if> <if test="entity.windupContent != null">windup_content = #{entity.windupContent},</if> <if test="entity.mediFalse != null">medi_false = #{entity.mediFalse},</if> <if test="entity.mediFalseName != null">medi_false_name = #{entity.mediFalseName},</if> <if test="entity.civilStatus != null">civil_status = #{entity.civilStatus},</if> <if test="entity.courtId != null">court_id = #{entity.courtId},</if> <if test="entity.courtName != null">court_name = #{entity.courtName},</if> <if test="entity.closeTime != null">close_time = #{entity.closeTime},</if> <if test="entity.judicApply != null">judic_apply = #{entity.judicApply},</if> <if test="entity.judicResult != null">judic_result = #{entity.judicResult},</if> <if test="entity.judicResultName != null">judic_result_name = #{entity.judicResultName},</if> <if test="entity.fileStatus != null">file_status = #{entity.fileStatus},</if> <if test="entity.fileUserId != null">file_user_id = #{entity.fileUserId},</if> <if test="entity.fileUserName != null">file_user_name = #{entity.fileUserName},</if> <if test="entity.fileTime != null">file_time = #{entity.fileTime},</if> <if test="entity.fileYear != null">file_year = #{entity.fileYear},</if> <if test="entity.fileBookName != null">file_book_name = #{entity.fileBookName},</if> <if test="entity.fileBookNo != null">file_book_no = #{entity.fileBookNo},</if> <if test="entity.fileNo != null">file_no = #{entity.fileNo},</if> <if test="entity.fileLimitYear != null">file_limit_year = #{entity.fileLimitYear},</if> <if test="entity.fileAddr != null">file_addr = #{entity.fileAddr},</if> <if test="entity.fileContent != null">file_content = #{entity.fileContent},</if> <if test="entity.fulfilSitu != null">fulfil_situ = #{entity.fulfilSitu},</if> <if test="entity.fulfilSituName != null">fulfil_situ_name = #{entity.fulfilSituName},</if> <if test="entity.visitUpStatus != null">visit_up_status = #{entity.visitUpStatus},</if> <if test="entity.visitUpContent != null">visit_up_content = #{entity.visitUpContent},</if> <if test="entity.partyJoy != null">party_joy = #{entity.partyJoy},</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> <if test="entity.belongUnitId != null">belong_unit_id = #{entity.belongUnitId},</if> <if test="entity.belongUnitName != null">belong_unit_name = #{entity.belongUnitName}</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.acceptTime != null and terms.acceptTime !=''"> and accept_time = #{terms.acceptTime} </if> <if test="terms.mediateUnitId != null and terms.mediateUnitId !=''"> and mediate_unit_id = #{terms.mediateUnitId} </if> <if test="terms.mediateUnitName != null and terms.mediateUnitName !=''"> and mediate_unit_name = #{terms.mediateUnitName} </if> <if test="terms.mediateDeptId != null and terms.mediateDeptId !=''"> and mediate_dept_id = #{terms.mediateDeptId} </if> <if test="terms.mediateDeptName != null and terms.mediateDeptName !=''"> and mediate_dept_name = #{terms.mediateDeptName} </if> <if test="terms.mediatorId != null and terms.mediatorId !=''"> and mediator_id = #{terms.mediatorId} </if> <if test="terms.mediator != null and terms.mediator !=''"> and mediator = #{terms.mediator} </if> <if test="terms.mediatorMobile != null and terms.mediatorMobile !=''"> and mediator_mobile = #{terms.mediatorMobile} </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.mediStartTime != null and terms.mediStartTime !=''"> and medi_start_time = #{terms.mediStartTime} </if> <if test="terms.mediEndTime != null and terms.mediEndTime !=''"> and medi_end_time = #{terms.mediEndTime} </if> <if test="terms.mediResult != null and terms.mediResult !=''"> and medi_result = #{terms.mediResult} </if> <if test="terms.mediResultName != null and terms.mediResultName !=''"> and medi_result_name = #{terms.mediResultName} </if> <if test="terms.agreeType != null and terms.agreeType !=''"> and agree_type = #{terms.agreeType} </if> <if test="terms.agreeTypeName != null and terms.agreeTypeName !=''"> and agree_type_name = #{terms.agreeTypeName} </if> <if test="terms.agreeContent != null and terms.agreeContent !=''"> and agree_content = #{terms.agreeContent} </if> <if test="terms.windupContent != null and terms.windupContent !=''"> and windup_content = #{terms.windupContent} </if> <if test="terms.mediFalse != null and terms.mediFalse !=''"> and medi_false = #{terms.mediFalse} </if> <if test="terms.mediFalseName != null and terms.mediFalseName !=''"> and medi_false_name = #{terms.mediFalseName} </if> <if test="terms.civilStatus != null and terms.civilStatus !=''"> and civil_status = #{terms.civilStatus} </if> <if test="terms.courtId != null and terms.courtId !=''"> and court_id = #{terms.courtId} </if> <if test="terms.courtName != null and terms.courtName !=''"> and court_name = #{terms.courtName} </if> <if test="terms.closeTime != null and terms.closeTime !=''"> and close_time = #{terms.closeTime} </if> <if test="terms.judicApply != null and terms.judicApply !=''"> and judic_apply = #{terms.judicApply} </if> <if test="terms.judicResult != null and terms.judicResult !=''"> and judic_result = #{terms.judicResult} </if> <if test="terms.judicResultName != null and terms.judicResultName !=''"> and judic_result_name = #{terms.judicResultName} </if> <if test="terms.fileStatus != null and terms.fileStatus !=''"> and file_status = #{terms.fileStatus} </if> <if test="terms.fileUserId != null and terms.fileUserId !=''"> and file_user_id = #{terms.fileUserId} </if> <if test="terms.fileUserName != null and terms.fileUserName !=''"> and file_user_name = #{terms.fileUserName} </if> <if test="terms.fileTime != null and terms.fileTime !=''"> and file_time = #{terms.fileTime} </if> <if test="terms.fileYear != null and terms.fileYear !=''"> and file_year = #{terms.fileYear} </if> <if test="terms.fileBookName != null and terms.fileBookName !=''"> and file_book_name = #{terms.fileBookName} </if> <if test="terms.fileBookNo != null and terms.fileBookNo !=''"> and file_book_no = #{terms.fileBookNo} </if> <if test="terms.fileNo != null and terms.fileNo !=''"> and file_no = #{terms.fileNo} </if> <if test="terms.fileLimitYear != null and terms.fileLimitYear !=''"> and file_limit_year = #{terms.fileLimitYear} </if> <if test="terms.fileAddr != null and terms.fileAddr !=''"> and file_addr = #{terms.fileAddr} </if> <if test="terms.fileContent != null and terms.fileContent !=''"> and file_content = #{terms.fileContent} </if> <if test="terms.fulfilSitu != null and terms.fulfilSitu !=''"> and fulfil_situ = #{terms.fulfilSitu} </if> <if test="terms.fulfilSituName != null and terms.fulfilSituName !=''"> and fulfil_situ_name = #{terms.fulfilSituName} </if> <if test="terms.visitUpStatus != null and terms.visitUpStatus !=''"> and visit_up_status = #{terms.visitUpStatus} </if> <if test="terms.visitUpContent != null and terms.visitUpContent !=''"> and visit_up_content = #{terms.visitUpContent} </if> <if test="terms.partyJoy != null and terms.partyJoy !=''"> and party_joy = #{terms.partyJoy} </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> <if test="terms.belongUnitId != null and terms.belongUnitId !=''"> and belong_unit_id = #{terms.belongUnitId} </if> <if test="terms.belongUnitName != null and terms.belongUnitName !=''"> and belong_unit_name = #{terms.belongUnitName} </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateCasebookInfoUnfold"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookInfoUnfoldTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookInfoUnfold"> 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/casebook/dao/mapper/xml/CasebookPersonMapper.xml
New file @@ -0,0 +1,436 @@ <?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: dyh_casebook_person * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-10-26 12:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.casebook.dao.mapper.CasebookPersonMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.casebook.domain.po.CasebookPerson"> <result property="id" column="id"/> <result property="caseId" column="case_id"/> <result property="partyUserId" column="party_user_id"/> <result property="perType" column="per_type"/> <result property="perTypeName" column="per_type_name"/> <result property="perClass" column="per_class"/> <result property="perClassName" column="per_class_name"/> <result property="trueName" column="true_name"/> <result property="mobile" column="mobile"/> <result property="orgaCode" column="orga_code"/> <result property="deputy" column="deputy"/> <result property="orgaType" column="orga_type"/> <result property="orgaTypeName" column="orga_type_name"/> <result property="certiType" column="certi_type"/> <result property="certiTypeName" column="certi_type_name"/> <result property="certiNo" column="certi_no"/> <result property="prov" column="prov"/> <result property="provName" column="prov_name"/> <result property="city" column="city"/> <result property="cityName" column="city_name"/> <result property="area" column="area"/> <result property="areaName" column="area_name"/> <result property="road" column="road"/> <result property="roadName" column="road_name"/> <result property="village" column="village"/> <result property="villageName" column="village_name"/> <result property="addr" column="addr"/> <result property="placeProv" column="place_prov"/> <result property="placeProvName" column="place_prov_name"/> <result property="placeCity" column="place_city"/> <result property="placeCityName" column="place_city_name"/> <result property="placeArea" column="place_area"/> <result property="placeAreaName" column="place_area_name"/> <result property="placeRoad" column="place_road"/> <result property="placeRoadName" column="place_road_name"/> <result property="placeVillage" column="place_village"/> <result property="placeVillageName" column="place_village_name"/> <result property="placeAddr" column="place_addr"/> <result property="workUnit" column="work_unit"/> <result property="nation" column="nation"/> <result property="nationName" column="nation_name"/> <result property="sex" column="sex"/> <result property="sexName" column="sex_name"/> <result property="extreme" column="extreme"/> <result property="avatar" column="avatar"/> <result property="job" column="job"/> <result property="jobName" column="job_name"/> <result property="birthday" column="birthday"/> <result property="age" column="age"/> <result property="agentStatus" column="agent_status"/> <result property="custId" column="cust_id"/> <result property="deleteStatus" column="delete_status"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> <result property="companyId" column="company_id"/> <result property="workUnitId" column="work_unit_id"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_casebook_person</sql> <!-- 字段 --> <sql id="column-part"> id, case_id, party_user_id, per_type, per_type_name, per_class, per_class_name, true_name, mobile, orga_code, deputy, orga_type, orga_type_name, certi_type, certi_type_name, certi_no, prov, prov_name, city, city_name, area, area_name, road, road_name, village, village_name, addr, place_prov, place_prov_name, place_city, place_city_name, place_area, place_area_name, place_road, place_road_name, place_village, place_village_name, place_addr, work_unit, nation, nation_name, sex, sex_name, extreme, avatar, job, job_name, birthday, age, agent_status, cust_id, delete_status, create_time, update_time, company_id, work_unit_id </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.caseId != null">case_id = #{entity.caseId},</if> <if test="entity.partyUserId != null">party_user_id = #{entity.partyUserId},</if> <if test="entity.perType != null">per_type = #{entity.perType},</if> <if test="entity.perTypeName != null">per_type_name = #{entity.perTypeName},</if> <if test="entity.perClass != null">per_class = #{entity.perClass},</if> <if test="entity.perClassName != null">per_class_name = #{entity.perClassName},</if> <if test="entity.trueName != null">true_name = #{entity.trueName},</if> <if test="entity.mobile != null">mobile = #{entity.mobile},</if> <if test="entity.orgaCode != null">orga_code = #{entity.orgaCode},</if> <if test="entity.deputy != null">deputy = #{entity.deputy},</if> <if test="entity.orgaType != null">orga_type = #{entity.orgaType},</if> <if test="entity.orgaTypeName != null">orga_type_name = #{entity.orgaTypeName},</if> <if test="entity.certiType != null">certi_type = #{entity.certiType},</if> <if test="entity.certiTypeName != null">certi_type_name = #{entity.certiTypeName},</if> <if test="entity.certiNo != null">certi_no = #{entity.certiNo},</if> <if test="entity.prov != null">prov = #{entity.prov},</if> <if test="entity.provName != null">prov_name = #{entity.provName},</if> <if test="entity.city != null">city = #{entity.city},</if> <if test="entity.cityName != null">city_name = #{entity.cityName},</if> <if test="entity.area != null">area = #{entity.area},</if> <if test="entity.areaName != null">area_name = #{entity.areaName},</if> <if test="entity.road != null">road = #{entity.road},</if> <if test="entity.roadName != null">road_name = #{entity.roadName},</if> <if test="entity.village != null">village = #{entity.village},</if> <if test="entity.villageName != null">village_name = #{entity.villageName},</if> <if test="entity.addr != null">addr = #{entity.addr},</if> <if test="entity.placeProv != null">place_prov = #{entity.placeProv},</if> <if test="entity.placeProvName != null">place_prov_name = #{entity.placeProvName},</if> <if test="entity.placeCity != null">place_city = #{entity.placeCity},</if> <if test="entity.placeCityName != null">place_city_name = #{entity.placeCityName},</if> <if test="entity.placeArea != null">place_area = #{entity.placeArea},</if> <if test="entity.placeAreaName != null">place_area_name = #{entity.placeAreaName},</if> <if test="entity.placeRoad != null">place_road = #{entity.placeRoad},</if> <if test="entity.placeRoadName != null">place_road_name = #{entity.placeRoadName},</if> <if test="entity.placeVillage != null">place_village = #{entity.placeVillage},</if> <if test="entity.placeVillageName != null">place_village_name = #{entity.placeVillageName},</if> <if test="entity.placeAddr != null">place_addr = #{entity.placeAddr},</if> <if test="entity.workUnit != null">work_unit = #{entity.workUnit},</if> <if test="entity.nation != null">nation = #{entity.nation},</if> <if test="entity.nationName != null">nation_name = #{entity.nationName},</if> <if test="entity.sex != null">sex = #{entity.sex},</if> <if test="entity.sexName != null">sex_name = #{entity.sexName},</if> <if test="entity.extreme != null">extreme = #{entity.extreme},</if> <if test="entity.avatar != null">avatar = #{entity.avatar},</if> <if test="entity.job != null">job = #{entity.job},</if> <if test="entity.jobName != null">job_name = #{entity.jobName},</if> <if test="entity.birthday != null">birthday = #{entity.birthday},</if> <if test="entity.age != null">age = #{entity.age},</if> <if test="entity.agentStatus != null">agent_status = #{entity.agentStatus},</if> <if test="entity.custId != null">cust_id = #{entity.custId},</if> <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if> <if test="entity.createTime != null">create_time = #{entity.createTime},</if> <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if> <if test="entity.companyId != null">company_id = #{entity.companyId},</if> <if test="entity.workUnitId != null">work_unit_id = #{entity.workUnitId}</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.partyUserId != null and terms.partyUserId !=''"> and party_user_id = #{terms.partyUserId} </if> <if test="terms.perType != null and terms.perType !=''"> and per_type = #{terms.perType} </if> <if test="terms.perTypeName != null and terms.perTypeName !=''"> and per_type_name = #{terms.perTypeName} </if> <if test="terms.perClass != null and terms.perClass !=''"> and per_class = #{terms.perClass} </if> <if test="terms.perClassName != null and terms.perClassName !=''"> and per_class_name = #{terms.perClassName} </if> <if test="terms.trueName != null and terms.trueName !=''"> and true_name = #{terms.trueName} </if> <if test="terms.mobile != null and terms.mobile !=''"> and mobile = #{terms.mobile} </if> <if test="terms.orgaCode != null and terms.orgaCode !=''"> and orga_code = #{terms.orgaCode} </if> <if test="terms.deputy != null and terms.deputy !=''"> and deputy = #{terms.deputy} </if> <if test="terms.orgaType != null and terms.orgaType !=''"> and orga_type = #{terms.orgaType} </if> <if test="terms.orgaTypeName != null and terms.orgaTypeName !=''"> and orga_type_name = #{terms.orgaTypeName} </if> <if test="terms.certiType != null and terms.certiType !=''"> and certi_type = #{terms.certiType} </if> <if test="terms.certiTypeName != null and terms.certiTypeName !=''"> and certi_type_name = #{terms.certiTypeName} </if> <if test="terms.certiNo != null and terms.certiNo !=''"> and certi_no = #{terms.certiNo} </if> <if test="terms.prov != null and terms.prov !=''"> and prov = #{terms.prov} </if> <if test="terms.provName != null and terms.provName !=''"> and prov_name = #{terms.provName} </if> <if test="terms.city != null and terms.city !=''"> and city = #{terms.city} </if> <if test="terms.cityName != null and terms.cityName !=''"> and city_name = #{terms.cityName} </if> <if test="terms.area != null and terms.area !=''"> and area = #{terms.area} </if> <if test="terms.areaName != null and terms.areaName !=''"> and area_name = #{terms.areaName} </if> <if test="terms.road != null and terms.road !=''"> and road = #{terms.road} </if> <if test="terms.roadName != null and terms.roadName !=''"> and road_name = #{terms.roadName} </if> <if test="terms.village != null and terms.village !=''"> and village = #{terms.village} </if> <if test="terms.villageName != null and terms.villageName !=''"> and village_name = #{terms.villageName} </if> <if test="terms.addr != null and terms.addr !=''"> and addr = #{terms.addr} </if> <if test="terms.placeProv != null and terms.placeProv !=''"> and place_prov = #{terms.placeProv} </if> <if test="terms.placeProvName != null and terms.placeProvName !=''"> and place_prov_name = #{terms.placeProvName} </if> <if test="terms.placeCity != null and terms.placeCity !=''"> and place_city = #{terms.placeCity} </if> <if test="terms.placeCityName != null and terms.placeCityName !=''"> and place_city_name = #{terms.placeCityName} </if> <if test="terms.placeArea != null and terms.placeArea !=''"> and place_area = #{terms.placeArea} </if> <if test="terms.placeAreaName != null and terms.placeAreaName !=''"> and place_area_name = #{terms.placeAreaName} </if> <if test="terms.placeRoad != null and terms.placeRoad !=''"> and place_road = #{terms.placeRoad} </if> <if test="terms.placeRoadName != null and terms.placeRoadName !=''"> and place_road_name = #{terms.placeRoadName} </if> <if test="terms.placeVillage != null and terms.placeVillage !=''"> and place_village = #{terms.placeVillage} </if> <if test="terms.placeVillageName != null and terms.placeVillageName !=''"> and place_village_name = #{terms.placeVillageName} </if> <if test="terms.placeAddr != null and terms.placeAddr !=''"> and place_addr = #{terms.placeAddr} </if> <if test="terms.workUnit != null and terms.workUnit !=''"> and work_unit = #{terms.workUnit} </if> <if test="terms.nation != null and terms.nation !=''"> and nation = #{terms.nation} </if> <if test="terms.nationName != null and terms.nationName !=''"> and nation_name = #{terms.nationName} </if> <if test="terms.sex != null and terms.sex !=''"> and sex = #{terms.sex} </if> <if test="terms.sexName != null and terms.sexName !=''"> and sex_name = #{terms.sexName} </if> <if test="terms.extreme != null and terms.extreme !=''"> and extreme = #{terms.extreme} </if> <if test="terms.avatar != null and terms.avatar !=''"> and avatar = #{terms.avatar} </if> <if test="terms.job != null and terms.job !=''"> and job = #{terms.job} </if> <if test="terms.jobName != null and terms.jobName !=''"> and job_name = #{terms.jobName} </if> <if test="terms.birthday != null and terms.birthday !=''"> and birthday = #{terms.birthday} </if> <if test="terms.age != null and terms.age !=''"> and age = #{terms.age} </if> <if test="terms.agentStatus != null and terms.agentStatus !=''"> and agent_status = #{terms.agentStatus} </if> <if test="terms.custId != null and terms.custId !=''"> and cust_id = #{terms.custId} </if> <if test="terms.deleteStatus = null and terms.deleteStatus =''"> and delete_status = 0 </if> <if test="terms.deleteStatus != null and terms.deleteStatus !=''"> and delete_status = #{terms.deleteStatus} </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> <if test="terms.companyId != null and terms.companyId !=''"> and company_id = #{terms.companyId} </if> <if test="terms.workUnitId != null and terms.workUnitId !=''"> and work_unit_id = #{terms.workUnitId} </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateCasebookPerson"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateCasebookPersonTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteCasebookPerson"> 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/casebook/domain/bo/CasebookAgentBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookAgent; /** * @title: dyh_casebook_agent业务扩展类 * @description: dyh_casebook_agent业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:21 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookAgent */ public class CasebookAgentBO extends CasebookAgent { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/bo/CasebookAssistInfoBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookAssistInfo; /** * @title: dyh_casebook_assist_info业务扩展类 * @description: dyh_casebook_assist_info业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookAssistInfo */ public class CasebookAssistInfoBO extends CasebookAssistInfo { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/bo/CasebookFileBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookFile; /** * @title: 一本账导入文件记录表业务扩展类 * @description: 一本账导入文件记录表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-27 16:16:40 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookFile */ public class CasebookFileBO extends CasebookFile { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/bo/CasebookInfoBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookInfo; /** * @title: dyh_casebook_info业务扩展类 * @description: dyh_casebook_info业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookInfo */ public class CasebookInfoBO extends CasebookInfo { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/bo/CasebookInfoUnfoldBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookInfoUnfold; /** * @title: dyh_casebook_info_unfold业务扩展类 * @description: dyh_casebook_info_unfold业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookInfoUnfold */ public class CasebookInfoUnfoldBO extends CasebookInfoUnfold { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/bo/CasebookPersonBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.casebook.domain.bo; import cn.huge.module.casebook.domain.po.CasebookPerson; /** * @title: dyh_casebook_person业务扩展类 * @description: dyh_casebook_person业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version: 1.0.0 * @see cn.huge.module.casebook.domain.po.CasebookPerson */ public class CasebookPersonBO extends CasebookPerson { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/dto/CaseBookPageDTO.java
New file @@ -0,0 +1,81 @@ package cn.huge.module.casebook.domain.dto; import cn.huge.module.cases.domain.po.CaseInfo; import lombok.Data; import java.util.Date; /** * @title: 受理任务传输对象 * @description: 受理任务传输对象 * @company: hugeinfo * @author: liyj * @time: 2022-03-11 11:43:25 * @version: 1.0.0 * @see CaseInfo */ @Data public class CaseBookPageDTO { /** * 案件编号 */ private String id; /** * 纠纷发生时间 */ private Date occurTime; /** * 纠纷发生地 */ private String addr; /** * 申请方 */ private String plaintiffs; /** * 被申请方 */ private String defendants; /** * 纠纷类型 */ private String caseType; /** * 调解员 */ private String mediator; /** * 调解组织 */ private String mediateUnitName; /** * 调解员 */ private String assistUserName; /** * 化解结果编码 */ private String mediResult; /** * 化解结果名称 */ private String mediResultName; /** * 转入时间 */ private Date createTime; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookAgent.java
New file @@ -0,0 +1,354 @@ package cn.huge.module.casebook.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: dyh_casebook_agent数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-10-26 12:31:21 * @version 1.0.0 */ @TableName(value = "dyh_casebook_agent") @Data public class CasebookAgent { /** * id */ @TableId(value = "id") private String id; /** * case_id */ @TableField(value = "case_id") private String caseId; /** * party_user_id */ @TableField(value = "party_user_id") private String partyUserId; /** * per_type */ @TableField(value = "per_type") private String perType; /** * per_type_name */ @TableField(value = "per_type_name") private String perTypeName; /** * per_class */ @TableField(value = "per_class") private String perClass; /** * per_class_name */ @TableField(value = "per_class_name") private String perClassName; /** * true_name */ @TableField(value = "true_name") private String trueName; /** * mobile */ @TableField(value = "mobile") private String mobile; /** * certi_type */ @TableField(value = "certi_type") private String certiType; /** * certi_type_name */ @TableField(value = "certi_type_name") private String certiTypeName; /** * certi_no */ @TableField(value = "certi_no") private String certiNo; /** * prov */ @TableField(value = "prov") private String prov; /** * prov_name */ @TableField(value = "prov_name") private String provName; /** * city */ @TableField(value = "city") private String city; /** * city_name */ @TableField(value = "city_name") private String cityName; /** * area */ @TableField(value = "area") private String area; /** * area_name */ @TableField(value = "area_name") private String areaName; /** * road */ @TableField(value = "road") private String road; /** * road_name */ @TableField(value = "road_name") private String roadName; /** * village */ @TableField(value = "village") private String village; /** * village_name */ @TableField(value = "village_name") private String villageName; /** * addr */ @TableField(value = "addr") private String addr; /** * place_prov */ @TableField(value = "place_prov") private String placeProv; /** * place_prov_name */ @TableField(value = "place_prov_name") private String placeProvName; /** * place_city */ @TableField(value = "place_city") private String placeCity; /** * place_city_name */ @TableField(value = "place_city_name") private String placeCityName; /** * place_area */ @TableField(value = "place_area") private String placeArea; /** * place_area_name */ @TableField(value = "place_area_name") private String placeAreaName; /** * place_road */ @TableField(value = "place_road") private String placeRoad; /** * place_road_name */ @TableField(value = "place_road_name") private String placeRoadName; /** * place_village */ @TableField(value = "place_village") private String placeVillage; /** * place_village_name */ @TableField(value = "place_village_name") private String placeVillageName; /** * place_addr */ @TableField(value = "place_addr") private String placeAddr; /** * work_unit */ @TableField(value = "work_unit") private String workUnit; /** * nation */ @TableField(value = "nation") private String nation; /** * nation_name */ @TableField(value = "nation_name") private String nationName; /** * sex */ @TableField(value = "sex") private String sex; /** * sex_name */ @TableField(value = "sex_name") private String sexName; /** * extreme */ @TableField(value = "extreme") private Integer extreme; /** * agent_relate */ @TableField(value = "agent_relate") private String agentRelate; /** * agent_relate_name */ @TableField(value = "agent_relate_name") private String agentRelateName; /** * agent_type */ @TableField(value = "agent_type") private String agentType; /** * agent_type_name */ @TableField(value = "agent_type_name") private String agentTypeName; /** * person_id */ @TableField(value = "person_id") private String personId; /** * avatar */ @TableField(value = "avatar") private String avatar; /** * job */ @TableField(value = "job") private String job; /** * job_name */ @TableField(value = "job_name") private String jobName; /** * birthday */ @TableField(value = "birthday") private String birthday; /** * age */ @TableField(value = "age") private Integer age; /** * agent_status */ @TableField(value = "agent_status") private Integer agentStatus; /** * cust_id */ @TableField(value = "cust_id") private String custId; /** * delete_status */ @TableLogic @TableField(value = "delete_status") private Integer deleteStatus; /** * create_time */ @TableField(value = "create_time") private Date createTime; /** * update_time */ @TableField(value = "update_time") private Date updateTime; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookAssistInfo.java
New file @@ -0,0 +1,107 @@ package cn.huge.module.casebook.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: dyh_casebook_assist_info数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @TableName(value = "dyh_casebook_assist_info") @Data public class CasebookAssistInfo { /** * id */ @TableId(value = "id") private String id; /** * case_id */ @TableField(value = "case_id") private String caseId; /** * process_instance_id */ @TableField(value = "process_instance_id") private String processInstanceId; /** * case_task_id */ @TableField(value = "case_task_id") private String caseTaskId; /** * apply_id */ @TableField(value = "apply_id") private String applyId; /** * assist_unit_id */ @TableField(value = "assist_unit_id") private String assistUnitId; /** * assist_unit_name */ @TableField(value = "assist_unit_name") private String assistUnitName; /** * accept_time */ @TableField(value = "accept_time") private Date acceptTime; /** * assist_user_id */ @TableField(value = "assist_user_id") private String assistUserId; /** * assist_user_name */ @TableField(value = "assist_user_name") private String assistUserName; /** * assist_status */ @TableField(value = "assist_status") private Integer assistStatus; /** * cust_id */ @TableField(value = "cust_id") private String custId; /** * create_time */ @TableField(value = "create_time") private Date createTime; /** * update_time */ @TableField(value = "update_time") private Date updateTime; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookFile.java
New file @@ -0,0 +1,71 @@ package cn.huge.module.casebook.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-10-27 16:16:40 * @version 1.0.0 */ @TableName(value = "dyh_casebook_file") @Data public class CasebookFile { /** * 记录编号 */ @TableId(value = "id") private String id; /** * 导入文件名 */ @TableField(value = "file_name") private String fileName; /** * 导入文件大小 */ @TableField(value = "file_size") private String fileSize; /** * 导入人编号 */ @TableField(value = "user_id") private String userId; /** * 导入人名称 */ @TableField(value = "user_name") private String userName; /** * 导入时间 */ @TableField(value = "create_time") private Date createTime; /** * 更新时间 */ @TableField(value = "update_time") private Date updateTime; /** * 顾客编号 */ @TableField(value = "cust_id") private String custId; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookInfo.java
New file @@ -0,0 +1,450 @@ package cn.huge.module.casebook.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: dyh_casebook_info数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @TableName(value = "dyh_casebook_info") @Data public class CasebookInfo { /** * id */ @TableId(value = "id") private String id; /** * case_title */ @TableField(value = "case_title") private String caseTitle; /** * case_ref */ @TableField(value = "case_ref") private String caseRef; /** * case_level */ @TableField(value = "case_level") private Integer caseLevel; /** * visit_time */ @TableField(value = "visit_time") private Date visitTime; /** * visit_people_num */ @TableField(value = "visit_people_num") private Integer visitPeopleNum; /** * medi_type */ @TableField(value = "medi_type") private String mediType; /** * medi_type_name */ @TableField(value = "medi_type_name") private String mediTypeName; /** * case_type_first */ @TableField(value = "case_type_first") private String caseTypeFirst; /** * case_type_first_name */ @TableField(value = "case_type_first_name") private String caseTypeFirstName; /** * case_type */ @TableField(value = "case_type") private String caseType; /** * case_type_name */ @TableField(value = "case_type_name") private String caseTypeName; /** * occur_time */ @TableField(value = "occur_time") private Date occurTime; /** * addr */ @TableField(value = "addr") private String addr; /** * lng */ @TableField(value = "lng") private String lng; /** * lat */ @TableField(value = "lat") private String lat; /** * wg_addr */ @TableField(value = "wg_addr") private String wgAddr; /** * wg_lng */ @TableField(value = "wg_lng") private String wgLng; /** * wg_lat */ @TableField(value = "wg_lat") private String wgLat; /** * que_prov */ @TableField(value = "que_prov") private String queProv; /** * que_prov_name */ @TableField(value = "que_prov_name") private String queProvName; /** * que_city */ @TableField(value = "que_city") private String queCity; /** * que_city_name */ @TableField(value = "que_city_name") private String queCityName; /** * que_area */ @TableField(value = "que_area") private String queArea; /** * que_area_name */ @TableField(value = "que_area_name") private String queAreaName; /** * que_road */ @TableField(value = "que_road") private String queRoad; /** * que_road_name */ @TableField(value = "que_road_name") private String queRoadName; /** * que_village */ @TableField(value = "que_village") private String queVillage; /** * que_village_name */ @TableField(value = "que_village_name") private String queVillageName; /** * people_num */ @TableField(value = "people_num") private Integer peopleNum; /** * amount */ @TableField(value = "amount") private Double amount; /** * crowd */ @TableField(value = "crowd") private String crowd; /** * crowd_name */ @TableField(value = "crowd_name") private String crowdName; /** * canal */ @TableField(value = "canal") private String canal; /** * canal_name */ @TableField(value = "canal_name") private String canalName; /** * visit_way */ @TableField(value = "visit_way") private String visitWay; /** * visit_way_name */ @TableField(value = "visit_way_name") private String visitWayName; /** * zxsl_status */ @TableField(value = "zxsl_status") private Integer zxslStatus; /** * case_des */ @TableField(value = "case_des") private String caseDes; /** * case_claim */ @TableField(value = "case_claim") private String caseClaim; /** * major_status */ @TableField(value = "major_status") private Integer majorStatus; /** * source */ @TableField(value = "source") private String source; /** * source_name */ @TableField(value = "source_name") private String sourceName; /** * case_no */ @TableField(value = "case_no") private String caseNo; /** * mediate_no */ @TableField(value = "mediate_no") private String mediateNo; /** * mediate_book_no */ @TableField(value = "mediate_book_no") private String mediateBookNo; /** * civil_no */ @TableField(value = "civil_no") private String civilNo; /** * plaintiffs */ @TableField(value = "plaintiffs") private String plaintiffs; /** * pagents */ @TableField(value = "pagents") private String pagents; /** * defendants */ @TableField(value = "defendants") private String defendants; /** * dagents */ @TableField(value = "dagents") private String dagents; /** * party_show */ @TableField(value = "party_show") private Integer partyShow; /** * want_unit_id */ @TableField(value = "want_unit_id") private String wantUnitId; /** * want_unit_name */ @TableField(value = "want_unit_name") private String wantUnitName; /** * want_user_id */ @TableField(value = "want_user_id") private String wantUserId; /** * want_user_name */ @TableField(value = "want_user_name") private String wantUserName; /** * input_unit_id */ @TableField(value = "input_unit_id") private String inputUnitId; /** * input_unit_name */ @TableField(value = "input_unit_name") private String inputUnitName; /** * input_user_id */ @TableField(value = "input_user_id") private String inputUserId; /** * input_user_name */ @TableField(value = "input_user_name") private String inputUserName; /** * input_way */ @TableField(value = "input_way") private Integer inputWay; /** * status */ @TableField(value = "status") private Integer status; /** * status_name */ @TableField(value = "status_name") private String statusName; /** * process */ @TableField(value = "process") private Integer process; /** * process_name */ @TableField(value = "process_name") private String processName; /** * info_process */ @TableField(value = "info_process") private Integer infoProcess; /** * info_process_name */ @TableField(value = "info_process_name") private String infoProcessName; /** * delete_status */ @TableLogic @TableField(value = "delete_status") private Integer deleteStatus; /** * cust_id */ @TableField(value = "cust_id") private String custId; /** * create_time */ @TableField(value = "create_time") private Date createTime; /** * update_time */ @TableField(value = "update_time") private Date updateTime; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookInfoUnfold.java
New file @@ -0,0 +1,317 @@ package cn.huge.module.casebook.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: dyh_casebook_info_unfold数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @TableName(value = "dyh_casebook_info_unfold") @Data public class CasebookInfoUnfold { /** * id */ @TableId(value = "id") private String id; /** * accept_time */ @TableField(value = "accept_time") private Date acceptTime; /** * mediate_unit_id */ @TableField(value = "mediate_unit_id") private String mediateUnitId; /** * mediate_unit_name */ @TableField(value = "mediate_unit_name") private String mediateUnitName; /** * mediate_dept_id */ @TableField(value = "mediate_dept_id") private String mediateDeptId; /** * mediate_dept_name */ @TableField(value = "mediate_dept_name") private String mediateDeptName; /** * mediator_id */ @TableField(value = "mediator_id") private String mediatorId; /** * mediator */ @TableField(value = "mediator") private String mediator; /** * mediator_mobile */ @TableField(value = "mediator_mobile") private String mediatorMobile; /** * assist_unit_id */ @TableField(value = "assist_unit_id") private String assistUnitId; /** * assist_unit_name */ @TableField(value = "assist_unit_name") private String assistUnitName; /** * medi_start_time */ @TableField(value = "medi_start_time") private Date mediStartTime; /** * medi_end_time */ @TableField(value = "medi_end_time") private Date mediEndTime; /** * medi_result */ @TableField(value = "medi_result") private String mediResult; /** * medi_result_name */ @TableField(value = "medi_result_name") private String mediResultName; /** * agree_type */ @TableField(value = "agree_type") private String agreeType; /** * agree_type_name */ @TableField(value = "agree_type_name") private String agreeTypeName; /** * agree_content */ @TableField(value = "agree_content") private String agreeContent; /** * windup_content */ @TableField(value = "windup_content") private String windupContent; /** * medi_false */ @TableField(value = "medi_false") private String mediFalse; /** * medi_false_name */ @TableField(value = "medi_false_name") private String mediFalseName; /** * civil_status */ @TableField(value = "civil_status") private Integer civilStatus; /** * court_id */ @TableField(value = "court_id") private String courtId; /** * court_name */ @TableField(value = "court_name") private String courtName; /** * close_time */ @TableField(value = "close_time") private Date closeTime; /** * judic_apply */ @TableField(value = "judic_apply") private Integer judicApply; /** * judic_result */ @TableField(value = "judic_result") private String judicResult; /** * judic_result_name */ @TableField(value = "judic_result_name") private String judicResultName; /** * file_status */ @TableField(value = "file_status") private Integer fileStatus; /** * file_user_id */ @TableField(value = "file_user_id") private String fileUserId; /** * file_user_name */ @TableField(value = "file_user_name") private String fileUserName; /** * file_time */ @TableField(value = "file_time") private Date fileTime; /** * file_year */ @TableField(value = "file_year") private String fileYear; /** * file_book_name */ @TableField(value = "file_book_name") private String fileBookName; /** * file_book_no */ @TableField(value = "file_book_no") private String fileBookNo; /** * file_no */ @TableField(value = "file_no") private String fileNo; /** * file_limit_year */ @TableField(value = "file_limit_year") private Integer fileLimitYear; /** * file_addr */ @TableField(value = "file_addr") private String fileAddr; /** * file_content */ @TableField(value = "file_content") private String fileContent; /** * fulfil_situ */ @TableField(value = "fulfil_situ") private String fulfilSitu; /** * fulfil_situ_name */ @TableField(value = "fulfil_situ_name") private String fulfilSituName; /** * visit_up_status */ @TableField(value = "visit_up_status") private Integer visitUpStatus; /** * visit_up_content */ @TableField(value = "visit_up_content") private String visitUpContent; /** * party_joy */ @TableField(value = "party_joy") private Integer partyJoy; /** * cust_id */ @TableField(value = "cust_id") private String custId; /** * create_time */ @TableField(value = "create_time") private Date createTime; /** * update_time */ @TableField(value = "update_time") private Date updateTime; /** * belong_unit_id */ @TableField(value = "belong_unit_id") private String belongUnitId; /** * belong_unit_name */ @TableField(value = "belong_unit_name") private String belongUnitName; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/domain/po/CasebookPerson.java
New file @@ -0,0 +1,360 @@ package cn.huge.module.casebook.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: dyh_casebook_person数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-10-26 12:31:22 * @version 1.0.0 */ @TableName(value = "dyh_casebook_person") @Data public class CasebookPerson { /** * id */ @TableId(value = "id") private String id; /** * case_id */ @TableField(value = "case_id") private String caseId; /** * party_user_id */ @TableField(value = "party_user_id") private String partyUserId; /** * per_type */ @TableField(value = "per_type") private String perType; /** * per_type_name */ @TableField(value = "per_type_name") private String perTypeName; /** * per_class */ @TableField(value = "per_class") private String perClass; /** * per_class_name */ @TableField(value = "per_class_name") private String perClassName; /** * true_name */ @TableField(value = "true_name") private String trueName; /** * mobile */ @TableField(value = "mobile") private String mobile; /** * orga_code */ @TableField(value = "orga_code") private String orgaCode; /** * deputy */ @TableField(value = "deputy") private String deputy; /** * orga_type */ @TableField(value = "orga_type") private String orgaType; /** * orga_type_name */ @TableField(value = "orga_type_name") private String orgaTypeName; /** * certi_type */ @TableField(value = "certi_type") private String certiType; /** * certi_type_name */ @TableField(value = "certi_type_name") private String certiTypeName; /** * certi_no */ @TableField(value = "certi_no") private String certiNo; /** * prov */ @TableField(value = "prov") private String prov; /** * prov_name */ @TableField(value = "prov_name") private String provName; /** * city */ @TableField(value = "city") private String city; /** * city_name */ @TableField(value = "city_name") private String cityName; /** * area */ @TableField(value = "area") private String area; /** * area_name */ @TableField(value = "area_name") private String areaName; /** * road */ @TableField(value = "road") private String road; /** * road_name */ @TableField(value = "road_name") private String roadName; /** * village */ @TableField(value = "village") private String village; /** * village_name */ @TableField(value = "village_name") private String villageName; /** * addr */ @TableField(value = "addr") private String addr; /** * place_prov */ @TableField(value = "place_prov") private String placeProv; /** * place_prov_name */ @TableField(value = "place_prov_name") private String placeProvName; /** * place_city */ @TableField(value = "place_city") private String placeCity; /** * place_city_name */ @TableField(value = "place_city_name") private String placeCityName; /** * place_area */ @TableField(value = "place_area") private String placeArea; /** * place_area_name */ @TableField(value = "place_area_name") private String placeAreaName; /** * place_road */ @TableField(value = "place_road") private String placeRoad; /** * place_road_name */ @TableField(value = "place_road_name") private String placeRoadName; /** * place_village */ @TableField(value = "place_village") private String placeVillage; /** * place_village_name */ @TableField(value = "place_village_name") private String placeVillageName; /** * place_addr */ @TableField(value = "place_addr") private String placeAddr; /** * work_unit */ @TableField(value = "work_unit") private String workUnit; /** * nation */ @TableField(value = "nation") private String nation; /** * nation_name */ @TableField(value = "nation_name") private String nationName; /** * sex */ @TableField(value = "sex") private String sex; /** * sex_name */ @TableField(value = "sex_name") private String sexName; /** * extreme */ @TableField(value = "extreme") private Integer extreme; /** * avatar */ @TableField(value = "avatar") private String avatar; /** * job */ @TableField(value = "job") private String job; /** * job_name */ @TableField(value = "job_name") private String jobName; /** * birthday */ @TableField(value = "birthday") private String birthday; /** * age */ @TableField(value = "age") private Integer age; /** * agent_status */ @TableField(value = "agent_status") private Integer agentStatus; /** * cust_id */ @TableField(value = "cust_id") private String custId; /** * delete_status */ @TableLogic @TableField(value = "delete_status") private Integer deleteStatus; /** * create_time */ @TableField(value = "create_time") private Date createTime; /** * update_time */ @TableField(value = "update_time") private Date updateTime; /** * company_id */ @TableField(value = "company_id") private String companyId; /** * work_unit_id */ @TableField(value = "work_unit_id") private String workUnitId; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookAgentService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.casebook.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.casebook.dao.mapper.CasebookAgentMapper; import cn.huge.module.casebook.domain.po.CasebookAgent; 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: dyh_casebook_agent业务逻辑处理 * @Description dyh_casebook_agent业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:21 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookAgentService extends ServiceImpl<CasebookAgentMapper, CasebookAgent>{ @Autowired private CasebookAgentMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateCasebookAgent(CasebookAgent entity){ try{ mapper.updateCasebookAgent(entity); }catch (Exception e){ log.error("[CasebookAgentService.updateCasebookAgent]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAgentService.updateCasebookAgent", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookAgentTerms(CasebookAgent entity, Map<String, Object> terms){ try{ mapper.updateCasebookAgentTerms(entity, terms); }catch (Exception e){ log.error("[CasebookAgentService.updateCasebookAgentTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAgentService.updateCasebookAgentTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookAgent(String id){ try{ mapper.deleteCasebookAgent(id); }catch (Exception e){ log.error("[CasebookAgentService.deleteCasebookAgent]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAgentService.deleteCasebookAgent", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookAgent> 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<CasebookAgent> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookAgent> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookAgent>(content, page, total); } /** * 新增或更新对象 * @param casebookAgent 实体对象 */ public void saveCasebookAgent(CasebookAgent casebookAgent){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookAgent.getId())){ casebookAgent.setId(utilsClient.getNewTimeId()); casebookAgent.setCreateTime(nowDate); } casebookAgent.setUpdateTime(nowDate); this.saveOrUpdate(casebookAgent); }catch (Exception e){ log.error("[CasebookAgentService.saveCasebookAgent]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAgentService.saveCasebookAgent", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookAssistInfoService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.casebook.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.casebook.dao.mapper.CasebookAssistInfoMapper; import cn.huge.module.casebook.domain.po.CasebookAssistInfo; 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: dyh_casebook_assist_info业务逻辑处理 * @Description dyh_casebook_assist_info业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookAssistInfoService extends ServiceImpl<CasebookAssistInfoMapper, CasebookAssistInfo>{ @Autowired private CasebookAssistInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateCasebookAssistInfo(CasebookAssistInfo entity){ try{ mapper.updateCasebookAssistInfo(entity); }catch (Exception e){ log.error("[CasebookAssistInfoService.updateCasebookAssistInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAssistInfoService.updateCasebookAssistInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookAssistInfoTerms(CasebookAssistInfo entity, Map<String, Object> terms){ try{ mapper.updateCasebookAssistInfoTerms(entity, terms); }catch (Exception e){ log.error("[CasebookAssistInfoService.updateCasebookAssistInfoTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAssistInfoService.updateCasebookAssistInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookAssistInfo(String id){ try{ mapper.deleteCasebookAssistInfo(id); }catch (Exception e){ log.error("[CasebookAssistInfoService.deleteCasebookAssistInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAssistInfoService.deleteCasebookAssistInfo", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookAssistInfo> 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<CasebookAssistInfo> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookAssistInfo> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookAssistInfo>(content, page, total); } /** * 新增或更新对象 * @param casebookAssistInfo 实体对象 */ public void saveCasebookAssistInfo(CasebookAssistInfo casebookAssistInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookAssistInfo.getId())){ casebookAssistInfo.setId(utilsClient.getNewTimeId()); casebookAssistInfo.setCreateTime(nowDate); } casebookAssistInfo.setUpdateTime(nowDate); this.saveOrUpdate(casebookAssistInfo); }catch (Exception e){ log.error("[CasebookAssistInfoService.saveCasebookAssistInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookAssistInfoService.saveCasebookAssistInfo", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookFileService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.casebook.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.casebook.dao.mapper.CasebookFileMapper; import cn.huge.module.casebook.domain.po.CasebookFile; 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-10-27 16:16:40 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookFileService extends ServiceImpl<CasebookFileMapper, CasebookFile>{ @Autowired private CasebookFileMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateCasebookFile(CasebookFile entity){ try{ mapper.updateCasebookFile(entity); }catch (Exception e){ log.error("[CasebookFileService.updateCasebookFile]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookFileService.updateCasebookFile", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookFileTerms(CasebookFile entity, Map<String, Object> terms){ try{ mapper.updateCasebookFileTerms(entity, terms); }catch (Exception e){ log.error("[CasebookFileService.updateCasebookFileTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookFileService.updateCasebookFileTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookFile(String id){ try{ mapper.deleteCasebookFile(id); }catch (Exception e){ log.error("[CasebookFileService.deleteCasebookFile]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookFileService.deleteCasebookFile", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookFile> 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<CasebookFile> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookFile> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookFile>(content, page, total); } /** * 新增或更新对象 * @param casebookFile 实体对象 */ public void saveCasebookFile(CasebookFile casebookFile){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookFile.getId())){ casebookFile.setId(utilsClient.getNewTimeId()); casebookFile.setCreateTime(nowDate); } casebookFile.setUpdateTime(nowDate); this.saveOrUpdate(casebookFile); }catch (Exception e){ log.error("[CasebookFileService.saveCasebookFile]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookFileService.saveCasebookFile", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java
New file @@ -0,0 +1,303 @@ package cn.huge.module.casebook.service; import cn.huge.base.common.constant.ReturnConsts; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.*; import cn.huge.module.casebook.domain.dto.CaseBookPageDTO; import cn.huge.module.casebook.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.casebook.dao.mapper.CasebookInfoMapper; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.sys.dto.FileInfoBaseDTO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; 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.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.*; /** * @title: dyh_casebook_info业务逻辑处理 * @Description dyh_casebook_info业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookInfoService extends ServiceImpl<CasebookInfoMapper, CasebookInfo>{ @Autowired private CasebookInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CustClientImpl custClient; @Autowired private SysClientImpl sysClient; @Autowired private CasebookPersonService casebookPersonService; @Autowired private CasebookAgentService casebookAgentService; @Autowired private CasebookAssistInfoService casebookAssistInfoService; @Autowired private CasebookFileService casebookFileService; /** * 更新对象 * @param entity 对象 */ public void updateCasebookInfo(CasebookInfo entity){ try{ mapper.updateCasebookInfo(entity); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookInfoTerms(CasebookInfo entity, Map<String, Object> terms){ try{ mapper.updateCasebookInfoTerms(entity, terms); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfoTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookInfo(String id){ try{ mapper.deleteCasebookInfo(id); }catch (Exception e){ log.error("[CasebookInfoService.deleteCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteCasebookInfo", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookInfo> 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<CasebookInfo> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookInfo> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookInfo>(content, page, total); } /** * 新增或更新对象 * @param casebookInfo 实体对象 */ public void saveCasebookInfo(CasebookInfo casebookInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookInfo.getId())){ casebookInfo.setId(utilsClient.getNewTimeId()); casebookInfo.setCreateTime(nowDate); } casebookInfo.setUpdateTime(nowDate); this.saveOrUpdate(casebookInfo); }catch (Exception e){ log.error("[CasebookInfoService.saveCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.saveCasebookInfo", e); } } /** * 条件分页查询-导入草稿 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page<CaseBookPageDTO> pageImportDraft(PageRequest page, Map<String, Object> terms){ long total = mapper.countImportDraft(terms); List<CaseBookPageDTO> content = mapper.pageImportDraft(page, terms); return new PageImpl<CaseBookPageDTO>(content, page, total); } /** * 条件分页查询-导入成功 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page<CaseBookPageDTO> pageImportSuc(PageRequest page, Map<String, Object> terms){ long total = mapper.countImportSuc(terms); List<CaseBookPageDTO> content = mapper.pageImportSuc(page, terms); return new PageImpl<CaseBookPageDTO>(content, page, total); } /** * 案件导入-导入操作-通过Excel导入 * @param fileId * @param userId * @param request * @return */ public Object inputCaseByExcel(String fileId, String userId, HttpServletRequest request){ int row = 0; int cll = 0; int countFalse = 1; int countSuccess = 3; int all = 0; try{ CtUserDTO loginUser = custClient.clientGetUser(userId); Date nowDate = DateUtils.getNowDate(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy/MM/dd"); SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年"); //当重复导入判断是否继续 String adopt = request.getParameter("adopt"); FileInfoBaseDTO fileInfo = sysClient.getFileInfoById(fileId); //判断是否近期内是否有重复导入 if(StringUtils.isBlank(adopt) && ObjectUtils.isNotEmpty(fileInfo)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStart = sdf.format(DateUtils.addDay(nowDate, -1)); Map<String, Object> caseBookFileTerms = new HashMap<>(); caseBookFileTerms.put("fileName", fileInfo.getTrueName()); caseBookFileTerms.put("fileSize", fileInfo.getSize()); caseBookFileTerms.put("userId", loginUser.getId()); caseBookFileTerms.put("createTimeStart", dateStart); List<CasebookFile> caseBookFileList = casebookFileService.listTerms(caseBookFileTerms); if(CollectionUtils.isNotEmpty(caseBookFileList)){ return ReturnFailUtils.getAesInfo(ReturnConsts.ERROR_5, "", null); } } if (countFalse != all) { CasebookFile casebookFile = new CasebookFile(); casebookFile.setFileName(fileInfo.getTrueName()); casebookFile.setFileSize(String.valueOf(fileInfo.getSize())); casebookFile.setUserId(loginUser.getId()); casebookFile.setUserName(loginUser.getTrueName()); casebookFile.setCreateTime(nowDate); casebookFile.setUpdateTime(nowDate); casebookFile.setId(utilsClient.getNewTimeId()); casebookFile.setCustId(loginUser.getCustId()); casebookFileService.save(casebookFile); } List<String> reasonList = new ArrayList<>(); String reason = "(1)序号14:纠纷受理时间数据格式错误"; reasonList.add(reason); Map<String, Object> result = new HashMap<>(); result.put("countSuccess", countSuccess); result.put("countFalse", countFalse); result.put("countFalseContent", reasonList); return ReturnSucUtils.getRepInfo(result); }catch (Exception e){ log.error("[CasebookInfoService.inputCaseByExcel]调用失败,异常信息:"+e, e); return ReturnFailUtils.getAesInfo("您导入Excel的内容不正确"); } } /** * 案件导入-删除草稿 * @param idList * @return */ public void deleteDraft(List<String> idList){ try{ QueryWrapper<CasebookInfo> caseBookQueryWrapper = new QueryWrapper<>(); caseBookQueryWrapper.in("id", idList); this.remove(caseBookQueryWrapper); QueryWrapper<CasebookAgent> casebookAgentQueryWrapper = new QueryWrapper<>(); casebookAgentQueryWrapper.in("case_id", idList); casebookAgentService.remove(casebookAgentQueryWrapper); QueryWrapper<CasebookPerson> casebookPersonQueryWrapper = new QueryWrapper<>(); casebookPersonQueryWrapper.in("case_id", idList); casebookPersonService.remove(casebookPersonQueryWrapper); QueryWrapper<CasebookAssistInfo> casebookAssistInfoQueryWrapper = new QueryWrapper<>(); casebookAssistInfoQueryWrapper.in("case_id", idList); casebookAssistInfoService.remove(casebookAssistInfoQueryWrapper); }catch (Exception e){ log.error("[CasebookInfoService.deleteDraft]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteDraft", e); } } /** * 案件导入-草稿转入正式案件 * @param idList * @return */ public void importToCase(List<String> idList, String userId){ try{ }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } /** * 案件导入-全部草稿转入正式案件 * @param terms 条件 * @return Page */ public void importToCaseAll(Map<String, Object> terms){ try{ List<CaseBookPageDTO> caseBookPageDTOList = mapper.listImportDraft(terms); for (CaseBookPageDTO caseBookPageDTO: caseBookPageDTOList){ } }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoUnfoldService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.casebook.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.casebook.dao.mapper.CasebookInfoUnfoldMapper; import cn.huge.module.casebook.domain.po.CasebookInfoUnfold; 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: dyh_casebook_info_unfold业务逻辑处理 * @Description dyh_casebook_info_unfold业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookInfoUnfoldService extends ServiceImpl<CasebookInfoUnfoldMapper, CasebookInfoUnfold>{ @Autowired private CasebookInfoUnfoldMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateCasebookInfoUnfold(CasebookInfoUnfold entity){ try{ mapper.updateCasebookInfoUnfold(entity); }catch (Exception e){ log.error("[CasebookInfoUnfoldService.updateCasebookInfoUnfold]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoUnfoldService.updateCasebookInfoUnfold", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookInfoUnfoldTerms(CasebookInfoUnfold entity, Map<String, Object> terms){ try{ mapper.updateCasebookInfoUnfoldTerms(entity, terms); }catch (Exception e){ log.error("[CasebookInfoUnfoldService.updateCasebookInfoUnfoldTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoUnfoldService.updateCasebookInfoUnfoldTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookInfoUnfold(String id){ try{ mapper.deleteCasebookInfoUnfold(id); }catch (Exception e){ log.error("[CasebookInfoUnfoldService.deleteCasebookInfoUnfold]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoUnfoldService.deleteCasebookInfoUnfold", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookInfoUnfold> 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<CasebookInfoUnfold> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookInfoUnfold> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookInfoUnfold>(content, page, total); } /** * 新增或更新对象 * @param casebookInfoUnfold 实体对象 */ public void saveCasebookInfoUnfold(CasebookInfoUnfold casebookInfoUnfold){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookInfoUnfold.getId())){ casebookInfoUnfold.setId(utilsClient.getNewTimeId()); casebookInfoUnfold.setCreateTime(nowDate); } casebookInfoUnfold.setUpdateTime(nowDate); this.saveOrUpdate(casebookInfoUnfold); }catch (Exception e){ log.error("[CasebookInfoUnfoldService.saveCasebookInfoUnfold]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoUnfoldService.saveCasebookInfoUnfold", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookPersonService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.casebook.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.casebook.dao.mapper.CasebookPersonMapper; import cn.huge.module.casebook.domain.po.CasebookPerson; 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: dyh_casebook_person业务逻辑处理 * @Description dyh_casebook_person业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookPersonService extends ServiceImpl<CasebookPersonMapper, CasebookPerson>{ @Autowired private CasebookPersonMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateCasebookPerson(CasebookPerson entity){ try{ mapper.updateCasebookPerson(entity); }catch (Exception e){ log.error("[CasebookPersonService.updateCasebookPerson]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookPersonService.updateCasebookPerson", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookPersonTerms(CasebookPerson entity, Map<String, Object> terms){ try{ mapper.updateCasebookPersonTerms(entity, terms); }catch (Exception e){ log.error("[CasebookPersonService.updateCasebookPersonTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookPersonService.updateCasebookPersonTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookPerson(String id){ try{ mapper.deleteCasebookPerson(id); }catch (Exception e){ log.error("[CasebookPersonService.deleteCasebookPerson]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookPersonService.deleteCasebookPerson", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<CasebookPerson> 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<CasebookPerson> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<CasebookPerson> content = mapper.pageTerms(page, terms); return new PageImpl<CasebookPerson>(content, page, total); } /** * 新增或更新对象 * @param casebookPerson 实体对象 */ public void saveCasebookPerson(CasebookPerson casebookPerson){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookPerson.getId())){ casebookPerson.setId(utilsClient.getNewTimeId()); casebookPerson.setCreateTime(nowDate); } casebookPerson.setUpdateTime(nowDate); this.saveOrUpdate(casebookPerson); }catch (Exception e){ log.error("[CasebookPersonService.saveCasebookPerson]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookPersonService.saveCasebookPerson", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
@@ -173,4 +173,10 @@ */ List<FrontPageListYBDTO> pageMyTaskYb(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param caseId */ void deleteByCaseId(@Param("caseId") String caseId); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -358,16 +358,59 @@ and (DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.fileStart} and DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.fileEnd}) </if> <if test="terms.queCity != null and terms.queCity !='' and terms.statistics != null"> and ((b.mediate_unit_id is not null and c.city = #{terms.queCity}) or (b.mediate_unit_id is null and a.que_city = #{terms.queCity})) <if test='terms.queCity != null and terms.queCity !="" and terms.statistics != null and terms.areaType == "1"'> and (b.mediate_unit_id is not null and c.city = #{terms.queCity} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> and c.unit_grade in <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> #{unitGrade} </foreach> </if> ) </if> <if test="terms.queArea != null and terms.queArea !='' and terms.statistics != null"> and ((b.mediate_unit_id is not null and c.area = #{terms.queArea}) or (b.mediate_unit_id is null and a.que_area = #{terms.queArea})) <if test='terms.queCity != null and terms.queCity !="" and terms.statistics != null and terms.areaType != "1"'> and ((b.mediate_unit_id is not null and c.city = #{terms.queCity} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> and c.unit_grade in <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> #{unitGrade} </foreach> </if>) or (b.mediate_unit_id is null and a.que_city = #{terms.queCity}) ) </if> <if test='terms.queArea != null and terms.queArea !="" and terms.statistics != null and terms.areaType == "2"'> and (b.mediate_unit_id is not null and c.area = #{terms.queArea} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> and c.unit_grade in <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> #{unitGrade} </foreach> </if> ) </if> <if test='terms.queArea != null and terms.queArea !="" and terms.statistics != null and terms.areaType != "2"'> and ((b.mediate_unit_id is not null and c.area = #{terms.queArea} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> and c.unit_grade in <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> #{unitGrade} </foreach> </if> ) or (b.mediate_unit_id is null and a.que_area = #{terms.queArea}) ) </if> <if test="terms.queRoad != null and terms.queRoad !='' and terms.statistics != null"> and ((b.mediate_unit_id is not null and c.road = #{terms.queRoad}) and ((b.mediate_unit_id is not null and c.road = #{terms.queRoad} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> and c.unit_grade in <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> #{unitGrade} </foreach> </if> ) or (b.mediate_unit_id is null and a.que_road = #{terms.queRoad})) </if> <if test="terms.isArea != null and terms.isArea !=''"> @@ -850,13 +893,16 @@ <!-- 统计分析(区域) --> <select id="statisticsArea" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsAreaDTO"> SELECT <if test="terms.areaType == null or terms.areaType ==''"> IF(c.area is null,a.que_area,c.area) as areaCode,IF(c.area_name is null,a.que_area_name,c.area_name) as areaName, </if> <if test='terms.areaType != null and terms.areaType =="1"'> IF(c.area is null,a.que_area,c.area) as areaCode,IF(c.area_name is null,a.que_area_name,c.area_name) as areaName, <if test='terms.areaType == null or terms.areaType =="1"'> IF(c.area is null,a.que_city,c.city) as areaCode,IF(c.city_name is null,a.que_city_name,c.city_name) as areaName, </if> <if test='terms.areaType != null and terms.areaType =="2"'> IF(c.area is null,a.que_area,c.area) as areaCode,IF(c.area_name is null,a.que_area_name,c.area_name) as areaName, </if> <if test='terms.areaType != null and terms.areaType =="3"'> IF(c.road is null,a.que_road,c.road) as areaCode,IF(c.road_name is null,a.que_road_name,c.road_name) as areaName, </if> <if test='terms.areaType != null and terms.areaType =="4"'> IF(c.road is null,a.que_road,c.road) as areaCode,IF(c.road_name is null,a.que_road_name,c.road_name) as areaName, </if> c.unit_grade as unitGrade, @@ -871,7 +917,6 @@ LEFT JOIN dyh_ct_unit c ON b.mediate_unit_id = c.id <include refid="where-part-all"/> group by areaCode </select> <!-- 统计分析(基础) --> <select id="statisticsBase" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsBaseDTO"> dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -817,4 +817,11 @@ limit #{page.offset}, #{page.size} </select> <!-- 根据编号物理删除 --> <delete id="deleteByCaseId"> delete from <include refid="table-name" /> where case_id = #{caseId} </delete> </mapper> dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -1017,22 +1017,37 @@ } //目前没有村居,所以区和街道进来都是按街道展示 String areaType = null;//兼容白云数据 String areaType = null; String childAreaType = null; List<Integer> unitGrades = new ArrayList<>(); List<Integer> childUnitGrades = new ArrayList<>(); Boolean isLast = false; if(ObjectUtils.isNotEmpty(terms.get("queRoad"))){ terms.put("areaType","2"); areaType = "2"; terms.remove("queArea"); terms.remove("queCity"); areaType = "3"; childAreaType = "4"; areaCode = terms.get("queRoad")+""; unitGrades.add(3); unitGrades.add(4); childUnitGrades.add(3); childUnitGrades.add(4); isLast = true; }else if(ObjectUtils.isNotEmpty(terms.get("queArea"))){ terms.put("areaType","2"); terms.remove("queCity"); areaType = "2"; childAreaType = "3"; areaCode = terms.get("queArea")+""; unitGrades.add(2); childUnitGrades.add(3); childUnitGrades.add(4); }else{ areaType = "1"; childAreaType = "2"; unitGrades.add(1); childUnitGrades.add(2); childUnitGrades.add(3); childUnitGrades.add(4); areaCode = ctUnitDTO.getCity(); } //基础数据统计 @@ -1047,28 +1062,47 @@ caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); //区域数据统计 List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = mapper.statisticsArea(terms); if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { caseStatisticsAreaDTOS = new ArrayList<>(); List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>(); if(!isLast){ terms.put("areaType",childAreaType); terms.put("unitGrades",childUnitGrades); caseStatisticsAreaDTOS = mapper.statisticsArea(terms); if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { caseStatisticsAreaDTOS = new ArrayList<>(); } } //本级区数据 terms.put("areaType",areaType); terms.put("unitGrades",unitGrades); List<CaseStatisticsAreaDTO> allAreas = mapper.statisticsArea(terms); CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); if (ObjectUtils.isNotEmpty(allAreas)) { allArea = allAreas.get(0); } terms.remove("unitGrades"); allArea.setAreaName("本级"); allArea.setAreaCode("1"); allArea.setAreaCode("0"); List<String> areaCodeList = new ArrayList<>(); List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); List<String> areaNames = new ArrayList<>();//为兼容白云区数据 Integer areaTotal = allArea.getCaseNum(); for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { areaNames.add(caseStatisticsAreaDTO.getAreaName()); areaList.add(caseStatisticsAreaDTO); areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); areaTotal = areaTotal + caseStatisticsAreaDTO.getCaseNum(); //本及:承办单位是本及和没有承办单位并且没有下级区域编码 if(ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode()) || unitGrades.contains(caseStatisticsAreaDTO.getUnitGrade())){ allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); }else{ areaList.add(caseStatisticsAreaDTO); areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); } // if(ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode()) || unitGrades.contains(caseStatisticsAreaDTO.getUnitGrade())){ // allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); // allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); // allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); // allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); // }else{ // areaList.add(caseStatisticsAreaDTO); // areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); // } } areaList.add(allArea); if("1".equals(areaType)){ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -3247,4 +3247,17 @@ } } /** * 根据编号物理删除 * @param caseId */ public void deleteByCaseId(String caseId){ try{ mapper.deleteByCaseId(caseId); }catch (Exception e){ log.error("[CaseTaskService.deleteByCaseId]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.deleteByCaseId", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -92,4 +92,13 @@ */ @GetMapping("/api/web/syRegion/listByParentId") ReturnBO listByParentId(@RequestParam(value = "parentId") String parentId); /** * 根据id查询附件信息 * @url {ctx}/api/client/fileInfo/getFileInfoById * @param id 条件 * @return Object */ @GetMapping("/api/client/fileInfo/getFileInfoById") ReturnBO getFileInfoById(@RequestParam(value = "id") String id); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -265,4 +265,26 @@ return queAreaDTOList; } /** * 根据id查询附件信息 * @url {ctx}/api/client/fileInfo/getFileInfoById * @param id 条件 * @return */ public FileInfoBaseDTO getFileInfoById(String id){ FileInfoBaseDTO fileInfoBaseDTO = null; try{ ReturnBO returnBo = sysClient.getFileInfoById(id); if (ReturnConsts.OK == returnBo.getCode()){ if (ObjectUtils.isNotEmpty(returnBo.getData())){ fileInfoBaseDTO = new FileInfoBaseDTO(); fileInfoBaseDTO = objectMapper.convertValue(returnBo.getData(), FileInfoBaseDTO.class); } } }catch (Exception e){ log.error("service方法[SysClientImpl.getFileInfoById]调用异常:"+e, e); } return fileInfoBaseDTO; } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java
@@ -34,4 +34,22 @@ @GetMapping("/api/client/syncCase/countEndCase") ReturnBO countEndCase(); /** * 数据割接-进行中的纠纷案件信息 * @url {ctx}/api/client/syncCase/byToGzTodoCase * @param page * @param size * @return */ @GetMapping("/api/client/syncCase/byToGzTodoCase") ReturnBO byToGzTodoCase(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size); /** * 数据割接-统计进行中的纠纷案件信息 * @url {ctx}/api/client/syncCase/countTodoCase * @return */ @GetMapping("/api/client/syncCase/countTodoCase") ReturnBO countTodoCase(); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java
@@ -44,7 +44,7 @@ /** * 数据割接-已结束的纠纷案件信息 * @url {ctx}/api/client/syncCust/byToGzCtUnit * @url {ctx}/api/client/syncCust/byToGzEndCase * @return Object */ public List<GZCaseDTO> byToGzEndCase(int page, int size){ @@ -93,4 +93,55 @@ return 0; } /** * 数据割接-进行中的纠纷案件信息 * @url {ctx}/api/client/syncCust/byToGzTodoCase * @return Object */ public List<GZCaseDTO> byToGzTodoCase(int page, int size){ List<GZCaseDTO> resultList = new ArrayList<>(); try{ ReturnBO returnBo = syncBydyhClient.byToGzTodoCase(page, size); if (ReturnConsts.OK == returnBo.getCode()){ if (ObjectUtils.isNotEmpty(returnBo.getData())){ List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData(); for (LinkedHashMap map : list) { GZCaseDTO result = JSON.parseObject(JSON.toJSONString(map), GZCaseDTO.class); resultList.add(result); } } }else{ log.error("Client外服务接口[SyncBydyhClient.byToGzTodoCase]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("SyncBydyhClient.byToGzTodoCase", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[SyncBydyhClient.byToGzTodoCase]调用异常:"+e, e); } return resultList; } /** * 数据割接-统计进行中的纠纷案件信息 * @url {ctx}/api/client/syncCust/countTodoCase * @return Object */ public int countTodoCase(){ try{ ReturnBO returnBo = syncBydyhClient.countTodoCase(); if (ReturnConsts.OK == returnBo.getCode()) { if (ObjectUtils.isNotEmpty(returnBo.getData())){ return (Integer) returnBo.getData(); }else { return 0; } } else { log.error("Client外服务接口[SyncBydyhClient.countTodoCase]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("SyncBydyhClient.countTodoCase", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[SyncBydyhClient.countTodoCase]调用异常:"+e, e); } return 0; } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java
@@ -44,4 +44,49 @@ return ReturnFailUtils.getRepInfo(); } } /** * 白云区矛盾纠纷多元化解平台数据割接-进行中的纠纷案件信息 * @url {ctx}/api/syncBydyh/byToGzTodoCase * @return Object */ @GetMapping("/byToGzTodoCase") public Object byToGzTodoCase() { try { service.byToGzTodoCase(); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 白云区矛盾纠纷多元化解平台数据割接-更新纠纷类型 * @url {ctx}/api/syncBydyh/upThirdCause * @return Object */ @GetMapping("/upThirdCause") public Object upThirdCause() { try { service.upThirdCause(); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 白云区矛盾纠纷多元化解平台数据割接-更新问题属地的村级社区 * @url {ctx}/api/syncBydyh/upThirdCause * @return Object */ @GetMapping("/upQueAddr") public Object upQueAddr() { try { service.upQueAddr(); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/web/SyCauseWebController.java
New file @@ -0,0 +1,175 @@ package cn.huge.module.syncbydyh.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.syncbydyh.domain.po.SyCause; import cn.huge.module.syncbydyh.service.SyCauseService; 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-10-21 22:18:51 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/syCause") public class SyCauseWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private SyCauseService 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 name = request.getParameter("name"); if (StringUtils.isNotBlank(name)){ terms.put("name", name); } // 层级 String level = request.getParameter("level"); if (StringUtils.isNotBlank(level)){ terms.put("level", level); } // 父级编码 String parentId = request.getParameter("parentId"); if (StringUtils.isNotBlank(parentId)){ terms.put("parentId", parentId); } // 调解类型 String issueId = request.getParameter("issueId"); if (StringUtils.isNotBlank(issueId)){ terms.put("issueId", issueId); } // 展示图标 String icon = request.getParameter("icon"); if (StringUtils.isNotBlank(icon)){ terms.put("icon", icon); } // 创建时间区间 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/syCause/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/syCause/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<SyCause> syCausePage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", syCausePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/syCause/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/syCause/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/syCause/saveSyCause * @param syCause 实体对象 * @return Object */ @PostMapping("/saveSyCause") public Object saveSyCause(@RequestBody SyCause syCause) { try { service.saveSyCause(syCause); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/SyCauseMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.syncbydyh.dao.mapper; import cn.huge.module.syncbydyh.domain.po.SyCause; 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-10-21 22:18:51 * @version 1.0.0 */ @Repository public interface SyCauseMapper extends BaseMapper<SyCause>{ /** * 更新对象 * @param entity 对象 */ void updateSyCause(@Param("entity") SyCause entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateSyCauseTerms(@Param("entity") SyCause entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteSyCause(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<SyCause> */ List<SyCause> 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<SyCause> */ List<SyCause> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/ThirdCauseMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.syncbydyh.dao.mapper; import cn.huge.module.syncbydyh.domain.po.ThirdCause; 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-10-21 22:04:49 * @version 1.0.0 */ @Repository public interface ThirdCauseMapper extends BaseMapper<ThirdCause>{ /** * 更新对象 * @param entity 对象 */ void updateThirdCause(@Param("entity") ThirdCause entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateThirdCauseTerms(@Param("entity") ThirdCause entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteThirdCause(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<ThirdCause> */ List<ThirdCause> 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<ThirdCause> */ List<ThirdCause> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/SyCauseMapper.xml
New file @@ -0,0 +1,145 @@ <?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-10-21 22:18:51 * @version 1.0.0 --> <mapper namespace="cn.huge.module.syncbydyh.dao.mapper.SyCauseMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.syncbydyh.domain.po.SyCause"> <result property="id" column="id"/> <result property="name" column="name"/> <result property="level" column="level"/> <result property="parentId" column="parent_id"/> <result property="issueId" column="issue_id"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> <result property="icon" column="icon"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_sy_cause</sql> <!-- 字段 --> <sql id="column-part"> id, name, level, parent_id, issue_id, create_time, update_time, icon </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.name != null">name = #{entity.name},</if> <if test="entity.level != null">level = #{entity.level},</if> <if test="entity.parentId != null">parent_id = #{entity.parentId},</if> <if test="entity.issueId != null">issue_id = #{entity.issueId},</if> <if test="entity.createTime != null">create_time = #{entity.createTime},</if> <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if> <if test="entity.icon != null">icon = #{entity.icon}</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.name != null and terms.name !=''"> and name = #{terms.name} </if> <if test="terms.level != null and terms.level !=''"> and level = #{terms.level} </if> <if test="terms.parentId != null and terms.parentId !=''"> and parent_id = #{terms.parentId} </if> <if test="terms.issueId != null and terms.issueId !=''"> and issue_id = #{terms.issueId} </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> <if test="terms.icon != null and terms.icon !=''"> and icon = #{terms.icon} </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateSyCause"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateSyCauseTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteSyCause"> 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/syncbydyh/dao/mapper/xml/ThirdCauseMapper.xml
New file @@ -0,0 +1,157 @@ <?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-10-21 22:04:49 * @version 1.0.0 --> <mapper namespace="cn.huge.module.syncbydyh.dao.mapper.ThirdCauseMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.syncbydyh.domain.po.ThirdCause"> <result property="id" column="id"/> <result property="thirdSysId" column="third_sys_id"/> <result property="thirdSysName" column="third_sys_name"/> <result property="thirdCode" column="third_code"/> <result property="thirdName" column="third_name"/> <result property="thirdParentCode" column="third_parent_code"/> <result property="causeCode" column="cause_code"/> <result property="level" column="level"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_th_third_cause</sql> <!-- 字段 --> <sql id="column-part"> id, third_sys_id, third_sys_name, third_code, third_name, third_parent_code, cause_code, level, create_time, update_time </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.thirdSysId != null">third_sys_id = #{entity.thirdSysId},</if> <if test="entity.thirdSysName != null">third_sys_name = #{entity.thirdSysName},</if> <if test="entity.thirdCode != null">third_code = #{entity.thirdCode},</if> <if test="entity.thirdName != null">third_name = #{entity.thirdName},</if> <if test="entity.thirdParentCode != null">third_parent_code = #{entity.thirdParentCode},</if> <if test="entity.causeCode != null">cause_code = #{entity.causeCode},</if> <if test="entity.level != null">level = #{entity.level},</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.thirdSysId != null and terms.thirdSysId !=''"> and third_sys_id = #{terms.thirdSysId} </if> <if test="terms.thirdSysName != null and terms.thirdSysName !=''"> and third_sys_name = #{terms.thirdSysName} </if> <if test="terms.thirdCode != null and terms.thirdCode !=''"> and third_code = #{terms.thirdCode} </if> <if test="terms.thirdName != null and terms.thirdName !=''"> and third_name = #{terms.thirdName} </if> <if test="terms.thirdParentCode != null and terms.thirdParentCode !=''"> and third_parent_code = #{terms.thirdParentCode} </if> <if test="terms.causeCode != null and terms.causeCode !=''"> and cause_code = #{terms.causeCode} </if> <if test="terms.level != null and terms.level !=''"> and level = #{terms.level} </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="updateThirdCause"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateThirdCauseTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteThirdCause"> 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/syncbydyh/domain/bo/SyCauseBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.syncbydyh.domain.bo; import cn.huge.module.syncbydyh.domain.po.SyCause; /** * @title: 纠纷类型信息表业务扩展类 * @description: 纠纷类型信息表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-21 22:18:51 * @version: 1.0.0 * @see cn.huge.module.syncbydyh.domain.po.SyCause */ public class SyCauseBO extends SyCause { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/ThirdCauseBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.syncbydyh.domain.bo; import cn.huge.module.syncbydyh.domain.po.ThirdCause; /** * @title: 第三方纠纷类型映射表业务扩展类 * @description: 第三方纠纷类型映射表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-10-21 22:04:49 * @version: 1.0.0 * @see cn.huge.module.syncbydyh.domain.po.ThirdCause */ public class ThirdCauseBO extends ThirdCause { } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/ByCaseTaskDTO.java
New file @@ -0,0 +1,317 @@ package cn.huge.module.syncbydyh.domain.dto; 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: 白云区矛盾纠纷多元化解平台-纠纷任务 * @company:hugeinfo * @author: liyj * @time: 2024-10-21 08:46:40 * @version 1.0.0 */ @Data public class ByCaseTaskDTO { /** * 纠纷任务编号 */ private String id; /** * 纠纷编号 */ private String caseId; /** * 系列案状态,1:正常案件,2:系列案 */ private String serieStatus; /** * 流程编号 */ private String flowId; /** * 流程实例编号 */ private String processInstanceId; /** * 当前流程任务编号 */ private String processTaskId; /** * 任务节点 */ private String taskNode; /** * 任务节点名称 */ private String taskNodeName; /** * 任务节点类型,1:首节点,2:普通节点,3:结束节点 */ private String taskNodeType; /** * 任务类型,1:正常任务,2:退回任务 */ private String taskType; /** * 经办人组织编号 */ private String handlerUnitId; /** * 经办人组织名称 */ private String handlerUnitName; /** * 经办人部门编号 */ private String handlerDeptId; /** * 经办人部门名称 */ private String handlerDeptName; /** * 经办人角色代码编号 */ private String handlerRoleCode; /** * 经办人角色名称 */ private String handlerRoleName; /** * 经办人编号 */ private String handlerUserId; /** * 经办人名称 */ private String handlerUserName; /** * 到期时间 */ private Date expireTime; /** * 任务进度,1:进行中,2:已完成 */ private String status; /** * 处理结果,1:通过,2:退回,3:终止流程 */ private String handleResult; /** * 异常原因(退回、终止流程是异常) */ private String errorCause; /** * 异常原因名称 */ private String errorCauseName; /** * 处理说明 */ private String handleContent; /** * 任务完成时间,进度为已完成才有 */ private Date finishTime; /** * 调解结果 */ private String mediResult; /** * 调解结果名称 */ private String mediResultName; /** * 履行情况,22_00008-1:未履行,22_00008-2:当场履行,22_00008-3:分期履行 */ private String fulfilSitu; /** * 履行情况名称 */ private String fulfilSituName; /** * 已达成协议 */ private String agreeContent; /** * 调解不成功原因,22_00019-1:当事人未能就调解协议达成一致,22_00019-2:当事人拒绝调解,22_00019-3:提前终止调解,22_00019-4:当事人撤销调解请求 */ private String mediFalse; /** * 调解不成功原因名称 */ private String mediFalseName; /** * 是否转诉讼案件(调解不成功才有),1:不转诉讼,2:转诉讼 */ private String civilStatus; /** * 诉讼案号 */ private String civilNo; /** * 诉讼法院编号 */ private String courtId; /** * 诉讼法院名称 */ private String courtName; /** * 民诉前调号 */ private String mediateNo; /** * 民诉前调书号 */ private String mediateBookNo; /** * 档案年度 */ private String fileYear; /** * 档案卷名 */ private String fileBookName; /** * 档案卷号 */ private String fileBookNo; /** * 档案编号 */ private String fileNo; /** * 档案保管年限,单位:年 */ private Integer fileLimitYear; /** * 档案存档位置 */ private String fileAddr; /** * 卷宗情况说明 */ private String fileContent; /** * 删除状态,1:未删除(默认值),99:已删除 */ private String deleteStatus; /** * 顾客编号 */ private String custId; /** * 创建时间 */ private Date createTime; /** * 更新时间 */ private Date updateTime; /** * 下一级处理人编号,已完成才有,冗余显示 */ private String nextUserId; /** * 下一级处理人名称,已完成才有,冗余显示 */ private String nextUserName; /** * 上一任务编号,冗余显示 */ private String lastTaskId; /** * 上一任务经办单位编号,冗余显示 */ private String lastUnitId; /** * 上一任务经办单位名称,冗余显示 */ private String lastUnitName; /** * 上一任务经办部门编号,冗余显示 */ private String lastDeptId; /** * 上一任务经办部门名称,冗余显示 */ private String lastDeptName; /** * 上一任务经办人编号,冗余显示 */ private String lastUserId; /** * 上一任务经办人名称,冗余显示 */ private String lastUserName; /** * 上一任务处理说明,冗余显示 */ private String lastContent; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java
@@ -26,4 +26,6 @@ private List<CaseTask> gzCaseTaskDTOList; private List<ByCaseTaskDTO> byCaseTaskDTOList; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/SyCause.java
New file @@ -0,0 +1,71 @@ package cn.huge.module.syncbydyh.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-10-21 22:18:51 * @version 1.0.0 */ @TableName(value = "dyh_sy_cause") @Data public class SyCause { /** * 编码 */ @TableId(value = "id") private String id; /** * 名称 */ @TableField(value = "name") private String name; /** * 层级 */ @TableField(value = "level") private Integer level; /** * 父级编码 */ @TableField(value = "parent_id") private String parentId; /** * 调解类型 */ @TableField(value = "issue_id") private String issueId; /** * 创建时间 */ @TableField(value = "create_time") private Date createTime; /** * 更新时间 */ @TableField(value = "update_time") private Date updateTime; /** * 展示图标 */ @TableField(value = "icon") private String icon; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/ThirdCause.java
New file @@ -0,0 +1,83 @@ package cn.huge.module.syncbydyh.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-10-21 22:04:49 * @version 1.0.0 */ @TableName(value = "dyh_th_third_cause") @Data public class ThirdCause { /** * 主键编号 */ @TableId(value = "id") private Integer id; /** * 第三方平台编号 */ @TableField(value = "third_sys_id") private String thirdSysId; /** * 第三方平台名称 */ @TableField(value = "third_sys_name") private String thirdSysName; /** * 第三方纠纷类型代码 */ @TableField(value = "third_code") private String thirdCode; /** * 第三方纠纷类型名称 */ @TableField(value = "third_name") private String thirdName; /** * 第三方纠纷类型父级代码 */ @TableField(value = "third_parent_code") private String thirdParentCode; /** * 本平台纠纷类型代码 */ @TableField(value = "cause_code") private String causeCode; /** * 层级 */ @TableField(value = "level") private Integer level; /** * 创建时间 */ @TableField(value = "create_time") private Date createTime; /** * 状态时间 */ @TableField(value = "update_time") private Date updateTime; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzCaseTaskService.java
New file @@ -0,0 +1,2199 @@ package cn.huge.module.syncbydyh.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.cases.consts.CaseTaskConsts; import cn.huge.module.cases.dao.mapper.CaseTaskMapper; import cn.huge.module.cases.domain.dto.*; import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.service.*; import cn.huge.module.cases.utils.TaskUsetimeUtils; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.DispClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.disp.constant.DispBaseConstsEnum; import cn.huge.module.disp.dto.CaseDispBaseDTO; import cn.huge.module.disp.dto.DispCaseBaseDTO; import cn.huge.module.flow.consts.FlowNodeEnum; import cn.huge.module.flow.consts.FlowableConsts; import cn.huge.module.flow.domain.po.FlowNode; import cn.huge.module.flow.service.FlowInfoService; import cn.huge.module.mediate.constant.*; import cn.huge.module.sys.constant.SyTimeEnum; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; 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.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; /** * @title: 纠纷任务表业务逻辑处理 * @Description 纠纷任务表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-09-06 15:50:06 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class ByToGzCaseTaskService { @Autowired private CaseTaskMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CustClientImpl custClient; @Autowired private DispClientImpl dispClient; @Autowired private FlowInfoService flowInfoService; @Autowired private CaseInfoService caseInfoService; @Autowired private SysClientImpl sysClient; @Autowired private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CaseWindupApplyService caseWindupApplyService; @Autowired private CaseAssistApplyService caseAssistApplyService; @Autowired private CaseAppearService caseAppearService; @Autowired private CaseReturnService caseReturnService; @Autowired private CaseAssistInfoService caseAssistInfoService; @Autowired private CaseDismissService caseDismissService; @Autowired private CasePersonService casePersonService; /** * 根据纠纷编号查询进行中的配合组织任务 * @param caseId * @return */ public List<CaseTask> listAssistTasking(String caseId){ // 查询配合组织的任务 QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId) .eq("status", CaseTaskConsts.TASK_STATUS_1); List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); return assistCaseTaskList; } /** * web端大厅来访登记-提交纠纷事件-通过自动调度启动工作流 * @param caseInfo */ public String webStartFlowLFDJ(CaseInfo caseInfo, DispCaseBaseDTO dispCaseBaseDTO){ try{ String caseTaskId = null; CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO); log.info(JSON.toJSONString(caseDispBaseDTO)); // 目前平台只能调度给组织 if (DispBaseConstsEnum.TARGET_TYPE_1.getIndex().equals(caseDispBaseDTO.getTargetType())) { // 目前平台只做镇街、村居级别的调度, // 启动来访登记工作流 FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId()); if (UserBaseConsts.UNIT_TYPE_101 == caseDispBaseDTO.getTargetUnitType()){ // 调度给镇街综治中心,进入第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); dfpCaseTask.setId(utilsClient.getNewTimeId()); dfpCaseTask.setCaseId(caseInfo.getId()); dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId()); dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); dfpCaseTask.setNodeType(firstFlowNode.getNodeType()); dfpCaseTask.setNodeId(firstFlowNode.getNodeId()); dfpCaseTask.setNodeName(firstFlowNode.getNodeName()); dfpCaseTask.setFlowId(firstFlowNode.getFlowId()); dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:调度目标 dfpCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId()); dfpCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName()); // 系统调度给镇街综治中心,不需要签收 dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (firstFlowNode.getExpire() != 0) { dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); } dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dfpCaseTask.setCustId(caseInfo.getCustId()); dfpCaseTask.setCreateTime(caseInfo.getCreateTime()); dfpCaseTask.setUpdateTime(caseInfo.getUpdateTime()); mapper.insert(dfpCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(caseInfo.getId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); caseTaskId = dfpCaseTask.getId(); }else { // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); dfpCaseTask.setId(utilsClient.getNewTimeId()); dfpCaseTask.setCaseId(caseInfo.getId()); dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId()); dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); dfpCaseTask.setNodeType(firstFlowNode.getNodeType()); dfpCaseTask.setNodeId(firstFlowNode.getNodeId()); dfpCaseTask.setNodeName(firstFlowNode.getNodeName()); dfpCaseTask.setFlowId(firstFlowNode.getFlowId()); dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:系统 dfpCaseTask.setCandeUnitName("系统派单"); // 调度给调解组织,不需要签收 dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (firstFlowNode.getExpire() != 0) { dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); } dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); dfpCaseTask.setHandleUnitName("系统派单"); dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName()); dfpCaseTask.setHandleTime(caseInfo.getCreateTime()); dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dfpCaseTask.setCustId(caseInfo.getCustId()); dfpCaseTask.setCreateTime(caseInfo.getCreateTime()); dfpCaseTask.setUpdateTime(caseInfo.getCreateTime()); // 计算任务耗时、是否超时、超时多少 dfpCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getCreateTime())); dfpCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime())); dfpCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime())); mapper.insert(dfpCaseTask); // 完成第1个工作流节点任务,进入第2个节点任务 FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jb_zszz, "系统派单"); // 创建第2个节点任务-调解组织待受理 CaseTask dslCaseTask = new CaseTask(); dslCaseTask.setId(utilsClient.getNewTimeId()); dslCaseTask.setCaseId(caseInfo.getId()); dslCaseTask.setFlowableId(secondFlowNode.getFlowableId()); dslCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId()); dslCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId()); dslCaseTask.setNodeType(secondFlowNode.getNodeType()); dslCaseTask.setNodeId(secondFlowNode.getNodeId()); dslCaseTask.setNodeName(secondFlowNode.getNodeName()); dslCaseTask.setFlowId(secondFlowNode.getFlowId()); dslCaseTask.setNodeShowName(secondFlowNode.getNodeShowName()); dslCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType()); // 任务所属组织:调度目标 dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId()); dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName()); // 系统调度给调解组织,需要签收 dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); dslCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex())); // 任务处理时限 if (firstFlowNode.getExpire() != 0) { dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); } dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dslCaseTask.setCustId(caseInfo.getCustId()); dslCaseTask.setCreateTime(caseInfo.getCreateTime()); dslCaseTask.setUpdateTime(caseInfo.getUpdateTime()); mapper.insert(dslCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(caseInfo.getId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_2.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_2.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); caseTaskId = dslCaseTask.getId(); } } return caseTaskId; }catch (Exception e){ log.error("[CaseTaskService.webStartFlowLFDJ]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webStartFlowLFDJ", e); } } /** * web端大厅来访登记-自行受理-启动自行受理流程 * @param caseInfo * @param loginUser */ public String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ try{ // 启动自行受理工作流,进入待受理任务节点 FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.getZxslFlow(caseInfo.getCanal()), caseInfo.getId()); // 创建并完成待受理节点任务 CaseTask dslCaseTask = new CaseTask(); dslCaseTask.setId(utilsClient.getNewTimeId()); dslCaseTask.setCaseId(caseInfo.getId()); dslCaseTask.setFlowableId(dslFlowNode.getFlowableId()); dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId()); dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId()); dslCaseTask.setNodeType(dslFlowNode.getNodeType()); dslCaseTask.setNodeId(dslFlowNode.getNodeId()); dslCaseTask.setNodeName(dslFlowNode.getNodeName()); dslCaseTask.setFlowId(dslFlowNode.getFlowId()); dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName()); dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:当前登记组织 dslCaseTask.setCandeUnitId(loginUser.getUnitId()); dslCaseTask.setCandeUnitName(loginUser.getUnitName()); // 自行受理,不需要签收 dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (dslFlowNode.getExpire() != 0) { dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire())); } dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); dslCaseTask.setHandleUnitId(loginUser.getUnitId()); dslCaseTask.setHandleUnitName(loginUser.getUnitName()); dslCaseTask.setHandleDeptId(loginUser.getDeptId()); dslCaseTask.setHandleDeptName(loginUser.getDeptName()); dslCaseTask.setHandleUserId(loginUser.getId()); dslCaseTask.setHandleUserName(loginUser.getTrueName()); dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dslCaseTask.setHandleIllust("自行受理"); dslCaseTask.setHandleTime(caseInfo.getCreateTime()); dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dslCaseTask.setCustId(caseInfo.getCustId()); dslCaseTask.setCreateTime(caseInfo.getCreateTime()); dslCaseTask.setUpdateTime(caseInfo.getCreateTime()); // 计算任务耗时、是否超时、超时多少 dslCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getCreateTime())); dslCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime())); dslCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime())); mapper.insert(dslCaseTask); // 完成待受理工作流节点任务,进入办理反馈任务节点 FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, loginUser.getId()); // 创建办理反馈节点任务 CaseTask blfkCaseTask = new CaseTask(); blfkCaseTask.setId(utilsClient.getNewTimeId()); blfkCaseTask.setCaseId(caseInfo.getId()); blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId()); blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId()); blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId()); blfkCaseTask.setNodeType(blfkFlowNode.getNodeType()); blfkCaseTask.setNodeId(blfkFlowNode.getNodeId()); blfkCaseTask.setNodeName(blfkFlowNode.getNodeName()); blfkCaseTask.setFlowId(blfkFlowNode.getFlowId()); blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName()); blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:当前登记组织 blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); blfkCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务节点,不需要签收 blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (blfkFlowNode.getExpire() != 0) { blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire())); } blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); blfkCaseTask.setCustId(caseInfo.getCustId()); blfkCaseTask.setCreateTime(caseInfo.getCreateTime()); blfkCaseTask.setUpdateTime(caseInfo.getUpdateTime()); mapper.insert(blfkCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(caseInfo.getId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); caseInfoUnfoldPO.setAcceptTime(blfkCaseTask.getCreateTime()); caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); return blfkCaseTask.getId(); }catch (Exception e){ log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); } } /** * web端任务处理-不予受理 * @param caseDismiss 不予受理表单 * @param userId 当前登录用户 */ public void webDismiss(CaseDismiss caseDismiss, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 查询当前节点任务 CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId()); // 结束当前节点任务 CaseTask caseTaskPO = new CaseTask(); caseTaskPO.setId(caseDismiss.getCaseTaskId()); caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); caseTaskPO.setHandleUnitId(loginUser.getUnitId()); caseTaskPO.setHandleUnitName(loginUser.getUnitName()); caseTaskPO.setHandleUserId(loginUser.getId()); caseTaskPO.setHandleDeptId(loginUser.getDeptId()); caseTaskPO.setHandleDeptName(loginUser.getDeptName()); caseTaskPO.setHandleUserName(loginUser.getTrueName()); caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3); caseTaskPO.setHandleContent(caseDismiss.getDisContent()); caseTaskPO.setHandleTime(nowDate); caseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 caseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(caseTaskPO.getHandleTime(), caseTask.getCreateTime())); caseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(caseTaskPO.getHandleTime(), caseTask.getExpireTime())); caseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(caseTaskPO.getHandleTime(), caseTask.getExpireTime())); mapper.updateCaseTask(caseTaskPO); // 结束当前工作流 flowInfoService.endFlow(caseTask.getProcessInstanceId()); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(caseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); // 有配合组织,也结束配合组织工作流 List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId()); for (CaseTask assistCaseTask: assistCaseTaskList){ // 完成配合组织当前节点任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); assistCaseTask.setHandleUnitId(loginUser.getUnitId()); assistCaseTask.setHandleUnitName(loginUser.getUnitName()+"(承办部门)"); assistCaseTask.setHandleDeptId(loginUser.getDeptId()); assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)"); assistCaseTask.setHandleUserId(loginUser.getId()); assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)"); assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3); assistCaseTask.setHandleTime(nowDate); assistCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime())); assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); mapper.updateCaseTask(assistCaseTask); // 结束配合组织当前工作流 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); } // 新增不予受理信息 caseDismiss.setCaseTaskTime(caseTask.getCreateTime()); caseDismiss.setDisUnitId(loginUser.getUnitId()); caseDismiss.setDisUnitName(loginUser.getUnitName()); caseDismiss.setDisUserId(loginUser.getId()); caseDismiss.setDisUserName(loginUser.getTrueName()); caseDismiss.setDisTime(nowDate); caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseDismiss.setCustId(caseTask.getCustId()); caseDismiss.setCreateTime(nowDate); caseDismiss.setUpdateTime(nowDate); caseDismissService.save(caseDismiss); }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAssign", e); } } /** * web端任务处理-交办 * @param assignTaskDTO 交办任务表单 * @param userId 当前登录用户 */ public void webAssign(AssignTaskDTO assignTaskDTO, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 查询交办的组织信息 CtUnitDTO dslUnitDTO = custClient.getUnitById(assignTaskDTO.getHandleUnitId()); // 查询当前待分派节点任务 CaseTask dfpCaseTask = mapper.selectById(assignTaskDTO.getCaseTaskId()); // 完成当前待分派节点任务 CaseTask dfpCaseTaskPO = new CaseTask(); dfpCaseTaskPO.setId(assignTaskDTO.getCaseTaskId()); dfpCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); dfpCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); dfpCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); dfpCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); dfpCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); dfpCaseTaskPO.setHandleUserId(loginUser.getId()); dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName()); dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dfpCaseTaskPO.setHandleContent(assignTaskDTO.getAssignContent()); dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName()); dfpCaseTaskPO.setHandleTime(nowDate); dfpCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 dfpCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getCreateTime())); dfpCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime())); dfpCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime())); mapper.updateCaseTask(dfpCaseTaskPO); String flowOperation = null; // 镇街综治中心待分派节点 if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ flowOperation = FlowableConsts.OPERATION_jb_zszz; } // 区综治中心待分派节点 if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ // 查询承办组织信息 if (UserBaseConsts.UNIT_GRADE_2 == dslUnitDTO.getUnitGrade()) { flowOperation = FlowableConsts.OPERATION_jb_zszz; }else { flowOperation = FlowableConsts.OPERATION_jb_zzzx; } } // 市综治中心待分派节点 if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ if (UserBaseConsts.UNIT_GRADE_1 == dslUnitDTO.getUnitGrade()) { flowOperation = FlowableConsts.OPERATION_jb_zszz; }else { flowOperation = FlowableConsts.OPERATION_jb_zzzx; } } // 完成当前待分派工作流节点任务,进入待受理任务节点 FlowNode newFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(), flowOperation, userId); // 新建待受理节点任务 CaseTask dslCaseTask = new CaseTask(); dslCaseTask.setId(utilsClient.getNewTimeId()); dslCaseTask.setCaseId(dfpCaseTask.getCaseId()); dslCaseTask.setFlowableId(newFlowNode.getFlowableId()); dslCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId()); dslCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId()); dslCaseTask.setNodeType(newFlowNode.getNodeType()); dslCaseTask.setNodeId(newFlowNode.getNodeId()); dslCaseTask.setNodeName(newFlowNode.getNodeName()); dslCaseTask.setFlowId(newFlowNode.getFlowId()); dslCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:交办的组织 dslCaseTask.setCandeUnitId(dslUnitDTO.getId()); dslCaseTask.setCandeUnitName(dslUnitDTO.getUnitName()); // 交办的待受理节点任务,需要签收 dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); dslCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex())); // 任务处理时限 if (newFlowNode.getExpire() != 0) { dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire())); } dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dslCaseTask.setCustId(dfpCaseTask.getCustId()); dslCaseTask.setCreateTime(nowDate); dslCaseTask.setUpdateTime(nowDate); mapper.insert(dslCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); // 交办配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ // 拼接配合组织编号和名称 String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). collect(Collectors.joining(BaseConsts.COMMA)); String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitName). collect(Collectors.joining(BaseConsts.COMMA)); for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ // 启动联合处置工作流 FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.GZDYH_LHCZ_V1, dfpCaseTask.getCaseId()); // 新建并完成待分派节点任务 CaseTask lhczdfpCaseTask = new CaseTask(); lhczdfpCaseTask.setId(utilsClient.getNewTimeId()); lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId()); lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId()); lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId()); lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId()); lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType()); lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId()); lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName()); lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId()); lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName()); lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); // 任务所属单位:当前操作组织 lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId()); lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName()); // 待分派节点任务,不需要签收 lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId()); lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName()); lhczdfpCaseTask.setHandleDeptId(loginUser.getDeptId()); lhczdfpCaseTask.setHandleDeptName(loginUser.getDeptName()); lhczdfpCaseTask.setHandleUserId(loginUser.getId()); lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName()); lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent()); lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName); // 任务处理时限 if (lhczdfpFlowNode.getExpire() != 0) { lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire())); } lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId()); lhczdfpCaseTask.setCreateTime(nowDate); lhczdfpCaseTask.setUpdateTime(nowDate); mapper.insert(lhczdfpCaseTask); // 完成待分派节点任务,进去待受理节点 FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, loginUser.getId()); // 创建待受理节点任务 CaseTask lhczdslCaseTask = new CaseTask(); lhczdslCaseTask.setId(utilsClient.getNewTimeId()); lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId()); lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId()); lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId()); lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId()); lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType()); lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId()); lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName()); lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId()); lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName()); lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); // 任务所属单位:交办的配合组织 lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); // 交办的待受理节点任务,需要签收 lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); // 任务处理时限 if (lhczdslFlowNode.getExpire() != 0) { lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire())); } lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId()); lhczdslCaseTask.setCreateTime(nowDate); lhczdslCaseTask.setUpdateTime(nowDate); mapper.insert(lhczdslCaseTask); // 新增联合处置信息 CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo(); caseAssistInfoPO.setId(utilsClient.getNewTimeId()); caseAssistInfoPO.setCaseId(lhczdslCaseTask.getCaseId()); caseAssistInfoPO.setProcessInstanceId(lhczdslCaseTask.getProcessInstanceId()); caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId()); caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName()); caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0); caseAssistInfoPO.setCustId(lhczdslCaseTask.getCustId()); caseAssistInfoPO.setCreateTime(nowDate); caseAssistInfoPO.setUpdateTime(nowDate); caseAssistInfoService.save(caseAssistInfoPO); } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(dslCaseTask.getCaseId()); caseInfoUnfoldPO.setAssistUnitId(assistUnitId); caseInfoUnfoldPO.setAssistUnitName(assistUnitName); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAssign", e); } } /** * web端任务处理-签收 * @param signTaskDTOList 签收任务表单 * @param userId 当前登录用户 */ public void webSign(List<SignTaskDTO> signTaskDTOList, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); for (SignTaskDTO signTaskDTO: signTaskDTOList){ CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseTaskId()); // 更新纠纷任务信息 CaseTask caseTaskPO = new CaseTask(); caseTaskPO.setId(qsCaseTask.getId()); caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); caseTaskPO.setSignTime(nowDate); caseTaskPO.setSignUserId(loginUser.getId()); caseTaskPO.setSignUserName(loginUser.getTrueName()); caseTaskPO.setHandleIllust("已签收"); caseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(caseTaskPO); // 承办组织签收才更新纠纷信息 if (CaseTaskConsts.CASE_TASK_TYPE_1 == qsCaseTask.getCaseTaskType()) { // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(qsCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } } }catch (Exception e){ log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webSign", e); } } /** * web端任务处理-受理 * @param acceptTaskDTO 受理任务表单 * @param userId 当前登录用户 */ public String webAccept(AcceptTaskDTO acceptTaskDTO, String userId, Date nowDate){ try{ // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 查询当前待受理节点任务 CaseTask dslCaseTask = mapper.selectById(acceptTaskDTO.getCaseTaskId()); // 完成当前待受理节点任务 CaseTask dslCaseTaskPO = new CaseTask(); dslCaseTaskPO.setId(acceptTaskDTO.getCaseTaskId()); dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); dslCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); dslCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); dslCaseTaskPO.setHandleUserId(loginUser.getId());; dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); dslCaseTaskPO.setHandleIllust("已受理"); dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dslCaseTaskPO.setHandleTime(nowDate); dslCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 dslCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getCreateTime())); dslCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime())); dslCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime())); mapper.updateCaseTask(dslCaseTaskPO); // 完成当前待受理工作流节点任务,机内办理反馈节点 String operation = FlowableConsts.OPERATION_sl; if (CaseTaskConsts.CASE_TASK_TYPE_2 == dslCaseTask.getCaseTaskType()) { // 配合组织受理条件改为通过 operation = FlowableConsts.OPERATION_forward; } FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), operation, userId); // 新建办理反馈节点任务 CaseTask blfkCaseTask = new CaseTask(); blfkCaseTask.setId(utilsClient.getNewTimeId()); blfkCaseTask.setCaseId(dslCaseTask.getCaseId()); blfkCaseTask.setFlowableId(newFlowNode.getFlowableId()); blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId()); blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId()); blfkCaseTask.setNodeType(newFlowNode.getNodeType()); blfkCaseTask.setNodeId(newFlowNode.getNodeId()); blfkCaseTask.setNodeName(newFlowNode.getNodeName()); blfkCaseTask.setFlowId(newFlowNode.getFlowId()); blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); blfkCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); // 任务所属单位:当前受理单位 blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); blfkCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); // 任务处理时限 if (newFlowNode.getExpire() != 0) { blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire())); } blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); blfkCaseTask.setCustId(dslCaseTask.getCustId()); blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); // 承办组织受理才更新纠纷信息 if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(blfkCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); caseInfoUnfoldPO.setAcceptTime(nowDate); 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){ log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAccept", e); } } /** * web端任务处理-结案申请 * @param caseWindupApply 结案申请表单 * @param userId 当前登录用户 */ public void webWindupApply(CaseWindupApply caseWindupApply, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 新增结案申请信息 caseWindupApply.setApplyUnitId(loginUser.getUnitId()); caseWindupApply.setApplyUnitName(loginUser.getUnitName()); caseWindupApply.setApplyUserId(loginUser.getId()); caseWindupApply.setApplyUserName(loginUser.getTrueName()); caseWindupApply.setApplyTime(nowDate); caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseWindupApply.setCreateTime(nowDate); caseWindupApply.setUpdateTime(nowDate); // 查询办理反馈节点任务 CaseTask blfkCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId()); // 完成当前办理反馈节点任务 CaseTask blfkCaseTaskPO = new CaseTask(); blfkCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); blfkCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); blfkCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); blfkCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); blfkCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); blfkCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); blfkCaseTaskPO.setHandleUserId(loginUser.getId()); blfkCaseTaskPO.setHandleUserName(loginUser.getTrueName()); blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); blfkCaseTaskPO.setHandleTime(nowDate); blfkCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 blfkCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getCreateTime())); blfkCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime())); blfkCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime())); mapper.updateCaseTask(blfkCaseTaskPO); // 完成当前待受理工作流节点任务,进入结案申请节点 FlowNode jasqFlowNode = flowInfoService.completeTask(blfkCaseTask.getFlowableId(), blfkCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); // 新建并自动完成结案申请节点任务 CaseTask jasqCaseTask = new CaseTask(); jasqCaseTask.setId(utilsClient.getNewTimeId()); jasqCaseTask.setCaseId(blfkCaseTask.getCaseId()); jasqCaseTask.setFlowableId(jasqFlowNode.getFlowableId()); jasqCaseTask.setProcessInstanceId(jasqFlowNode.getProcessInstanceId()); jasqCaseTask.setProcessTaskId(jasqFlowNode.getProcessTaskId()); jasqCaseTask.setNodeType(jasqFlowNode.getNodeType()); jasqCaseTask.setNodeId(jasqFlowNode.getNodeId()); jasqCaseTask.setNodeName(jasqFlowNode.getNodeName()); jasqCaseTask.setFlowId(jasqFlowNode.getFlowId()); jasqCaseTask.setNodeShowName(jasqFlowNode.getNodeShowName()); jasqCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:当前结案申请组织 jasqCaseTask.setCandeUnitId(loginUser.getUnitId()); jasqCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 jasqCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (jasqFlowNode.getExpire() != 0) { jasqCaseTask.setExpireTime(DateUtils.addDay(nowDate, jasqFlowNode.getExpire())); } jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jasqCaseTask.setHandleUnitId(loginUser.getUnitId()); jasqCaseTask.setHandleUnitName(loginUser.getUnitName()); jasqCaseTask.setHandleDeptId(loginUser.getDeptId()); jasqCaseTask.setHandleDeptName(loginUser.getDeptName()); jasqCaseTask.setHandleUserId(loginUser.getId()); jasqCaseTask.setHandleUserName(loginUser.getTrueName()); jasqCaseTask.setHandleContent(caseWindupApply.getWindupContent()); jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jasqCaseTask.setHandleTime(nowDate); jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jasqCaseTask.setCustId(blfkCaseTask.getCustId()); jasqCaseTask.setCreateTime(nowDate); jasqCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jasqCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getCreateTime())); jasqCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime())); jasqCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime())); mapper.insert(jasqCaseTask); // 化解成功,自动结案审核通过 if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())){ // 完成当前结案申请工作流节点任务,走结案审核任务 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); // 新建并自动完成结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); jashCaseTask.setNodeType(jashFlowNode.getNodeType()); jashCaseTask.setNodeId(jashFlowNode.getNodeId()); jashCaseTask.setNodeName(jashFlowNode.getNodeName()); jashCaseTask.setFlowId(jashFlowNode.getFlowId()); jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName()); jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jashCaseTask.setCandeUnitId(loginUser.getUnitId()); jashCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (jashFlowNode.getExpire() != 0) { jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire())); } jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(loginUser.getUnitId()); jashCaseTask.setHandleUnitName(loginUser.getUnitName()); jashCaseTask.setHandleDeptId(loginUser.getDeptId()); jashCaseTask.setHandleDeptName(loginUser.getDeptName()); jashCaseTask.setHandleUserId(loginUser.getId()); jashCaseTask.setHandleUserName(loginUser.getTrueName()); jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jashCaseTask.setCustId(jasqCaseTask.getCustId()); jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); // 计算任务耗时、是否超时、超时多少 jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime())); jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); mapper.insert(jashCaseTask); // 完成当前结案审核工作流任务,走下一个节点 FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); // 下一个节点是当事人评价节点,进入当事人评价节点任务 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ // 新建当事人评价节点任务 CaseTask dsrpjCaseTask = new CaseTask(); dsrpjCaseTask.setId(utilsClient.getNewTimeId()); dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属人:当事人 EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName()); // 受理后的节点任务,不需要签收 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); mapper.insert(dsrpjCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 下一个节点是结案归档节点,进入结案归档节点任务 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ // 创建并完成结案归档节点任务 CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(loginUser.getUnitId()); jashCaseTask.setHandleUnitName(loginUser.getUnitName()); jashCaseTask.setHandleDeptId(loginUser.getDeptId()); jashCaseTask.setHandleDeptName(loginUser.getDeptName()); jashCaseTask.setHandleUserId(loginUser.getId()); jashCaseTask.setHandleUserName(loginUser.getTrueName()); jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jagdCaseTask.setHandleTime(nowDate); jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jagdCaseTask.setCustId(jashCaseTask.getCustId()); jagdCaseTask.setCreateTime(nowDate); jagdCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime())); jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); mapper.insert(jagdCaseTask); // 完成结案归档工作流节点任务,结束流程 flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jb_zszz, loginUser.getId()); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId()); caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName()); caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId()); caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName()); caseWindupApply.setAuditTime(nowDate); caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); }else {// 化解不成功 // 完成当前结案申请工作流节点任务 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); // 判断是否自行受理 CaseInfo caseInfo = caseInfoService.getById(jasqCaseTask.getCaseId()); if (CaseBaseConsts.ZXSL_STATUS_1 == caseInfo.getZxslStatus()){ // 自行受理,自行完成结案审核节点,直接进入下一个节点 // 新建并自动完成结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); jashCaseTask.setNodeType(jashFlowNode.getNodeType()); jashCaseTask.setNodeId(jashFlowNode.getNodeId()); jashCaseTask.setNodeName(jashFlowNode.getNodeName()); jashCaseTask.setFlowId(jashFlowNode.getFlowId()); jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName()); jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jashCaseTask.setCandeUnitId(loginUser.getUnitId()); jashCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (jashFlowNode.getExpire() != 0) { jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire())); } jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(loginUser.getUnitId()); jashCaseTask.setHandleUnitName(loginUser.getUnitName()); jashCaseTask.setHandleDeptId(loginUser.getDeptId()); jashCaseTask.setHandleDeptName(loginUser.getDeptName()); jashCaseTask.setHandleUserId(loginUser.getId()); jashCaseTask.setHandleUserName(loginUser.getTrueName()); jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jashCaseTask.setCustId(jasqCaseTask.getCustId()); jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); // 计算任务耗时、是否超时、超时多少 jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime())); jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); mapper.insert(jashCaseTask); // 完成当前结案审核工作流任务,走下一个节点 FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); // 下一个节点是当事人评价节点,进入当事人评价节点任务 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ // 新建当事人评价节点任务 CaseTask dsrpjCaseTask = new CaseTask(); dsrpjCaseTask.setId(utilsClient.getNewTimeId()); dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属人:当事人 EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName()); // 受理后的节点任务,不需要签收 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); mapper.insert(dsrpjCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 下一个节点是结案归档节点,进入结案归档节点任务 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ // 创建并完成结案归档节点任务 CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jagdCaseTask.setHandleUnitId(loginUser.getUnitId()); jagdCaseTask.setHandleUnitName(loginUser.getUnitName()); jagdCaseTask.setHandleDeptId(loginUser.getDeptId()); jagdCaseTask.setHandleDeptName(loginUser.getDeptName()); jagdCaseTask.setHandleUserId(loginUser.getId()); jagdCaseTask.setHandleUserName(loginUser.getTrueName()); jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jagdCaseTask.setHandleTime(nowDate); jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jagdCaseTask.setCustId(jashCaseTask.getCustId()); jagdCaseTask.setCreateTime(nowDate); jagdCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime())); jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); mapper.insert(jagdCaseTask); // 完成结案归档工作流节点任务,结束流程 flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jb_zszz, loginUser.getId()); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId()); caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName()); caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId()); caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName()); caseWindupApply.setAuditTime(nowDate); caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); }else { // 正常流程,进入结案审核节点 // 新建结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); jashCaseTask.setNodeType(jashFlowNode.getNodeType()); jashCaseTask.setNodeId(jashFlowNode.getNodeId()); jashCaseTask.setNodeName(jashFlowNode.getNodeName()); jashCaseTask.setFlowId(jashFlowNode.getFlowId()); jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName()); jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:本级综治中心审核 CtUnitDTO zzzxCtUnitDTO = custClient.getBjZzzx(loginUser.getUnitId()); jashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId()); jashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName()); // 受理后的节点任务,不需要签收 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (jashFlowNode.getExpire() != 0) { jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire())); } jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jashCaseTask.setCustId(jasqCaseTask.getCustId()); jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); mapper.insert(jashCaseTask); // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId()); caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_5.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } } // 查询联合处置申请单,全部结束申请单 QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); caseAssistApplyQueryWrapper.eq("case_id", jasqCaseTask.getCaseId()).eq("apply_status", AuditBaseConsts.AUDIT_STATUS_0); List<CaseAssistApply> caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); for (CaseAssistApply caseAssistApply: caseAssistApplyList){ caseAssistApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_2); caseAssistApply.setUpdateTime(nowDate); caseAssistApplyService.updateCaseAssistApply(caseAssistApply); } // 查询配合组织的任务,全部结束流程 List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId()); for (CaseTask assistCaseTask: assistCaseTaskList){ // 完成配合组织当前任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); assistCaseTask.setHandleUnitId(loginUser.getUnitId()); assistCaseTask.setHandleUnitName(loginUser.getUnitName()); assistCaseTask.setHandleDeptId(loginUser.getDeptId()); assistCaseTask.setHandleDeptName(loginUser.getDeptName()); assistCaseTask.setHandleUserId(loginUser.getId()); assistCaseTask.setHandleUserName(loginUser.getTrueName()); assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); assistCaseTask.setHandleTime(nowDate); assistCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime())); assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); mapper.updateCaseTask(assistCaseTask); // 结束配合组织当前工作流任务 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webWindupApply", e); } } /** * web端任务处理-结案审核 * @param caseWindupApply 结案审核表单 * @param userId 当前登录用户 */ public void webWindupAudit(CaseWindupApply caseWindupApply, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 查询结案申请信息 CaseWindupApply oldCaseWindupApply = caseWindupApplyService.getById(caseWindupApply.getId()); // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setAuditUserId(loginUser.getId()); caseWindupApply.setAuditUserName(loginUser.getTrueName()); caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseWindupApply.setCustId(loginUser.getCustId()); caseWindupApply.setAuditTime(nowDate); caseWindupApply.setUpdateTime(nowDate); caseWindupApplyService.updateCaseWindupApply(caseWindupApply); // 查询结案审核任务 CaseTask jashCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId()); // 审核通过, if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseWindupApply.getAuditResult())){ // 完成当前结案审核节点任务 CaseTask jashCaseTaskPO = new CaseTask(); jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); jashCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); jashCaseTaskPO.setHandleUserId(loginUser.getId()); jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent()); jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jashCaseTaskPO.setHandleTime(nowDate); jashCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime())); jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime())); jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime())); mapper.updateCaseTask(jashCaseTaskPO); // 根据事项等级,判断是否要上级综治中心审核 FlowNode nextFlowNode = null; CaseInfo caseInfo = caseInfoService.getById(jashCaseTask.getCaseId()); if (CaseBaseConsts.CASE_LEVEL_1 == caseInfo.getCaseLevel()){ // 一级事件,本级+上级+上上级审核 if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){ // 完成本级综治中心审核,进入上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(jashCaseTask.getNodeId())){ // 完成上级综治中心审核,进入上上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); }else { // 完成上上级综治中心审核,审核流程结束,进入下一节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); } }else if (CaseBaseConsts.CASE_LEVEL_2 == caseInfo.getCaseLevel()){ // 二级事件,本级+上级审核 String operation = FlowableConsts.OPERATION_jash_ty; if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){ // 完成本级综治中心审核,进入上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); }else { // 完成上级综治中心审核,审核流程结束,进入下一节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); } }else { // 三级事件,自办自结,即本级综治中心审核就行,完成本级综治中心审核,审核流程结束,进入下一节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); } // 下一个节点是一级结案审核节点,进入一级结案审核节点任务 if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(nextFlowNode.getNodeId())){ // 新建结案审核节点任务 CaseTask yjJashCaseTask = new CaseTask(); yjJashCaseTask.setId(utilsClient.getNewTimeId()); yjJashCaseTask.setCaseId(jashCaseTask.getCaseId()); yjJashCaseTask.setFlowableId(nextFlowNode.getFlowableId()); yjJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); yjJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); yjJashCaseTask.setNodeType(nextFlowNode.getNodeType()); yjJashCaseTask.setNodeId(nextFlowNode.getNodeId()); yjJashCaseTask.setNodeName(nextFlowNode.getNodeName()); yjJashCaseTask.setFlowId(nextFlowNode.getFlowId()); yjJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); yjJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:上级级综治中心审核 CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); yjJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId()); yjJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName()); // 受理后的节点任务,不需要签收 yjJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { yjJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } yjJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); yjJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); yjJashCaseTask.setCustId(jashCaseTask.getCustId()); yjJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); yjJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); mapper.insert(yjJashCaseTask); // 创建新的结案申请记录 CaseWindupApply newCaseWindupApply = new CaseWindupApply(); BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply); newCaseWindupApply.setId(utilsClient.getNewTimeId()); newCaseWindupApply.setApplyTime(nowDate); newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); newCaseWindupApply.setCaseTaskId(yjJashCaseTask.getId()); newCaseWindupApply.setAuditUnitId(yjJashCaseTask.getCandeUnitId()); newCaseWindupApply.setAuditUnitName(yjJashCaseTask.getCandeUnitName()); newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); newCaseWindupApply.setCreateTime(nowDate); newCaseWindupApply.setUpdateTime(nowDate); newCaseWindupApply.setCustId(yjJashCaseTask.getCustId()); caseWindupApplyService.save(newCaseWindupApply); } // 下一个节点是二级结案审核节点,进入二级结案审核节点任务 if (FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(nextFlowNode.getNodeId())){ // 新建结案审核节点任务 CaseTask ejJashCaseTask = new CaseTask(); ejJashCaseTask.setId(utilsClient.getNewTimeId()); ejJashCaseTask.setCaseId(jashCaseTask.getCaseId()); ejJashCaseTask.setFlowableId(nextFlowNode.getFlowableId()); ejJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); ejJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); ejJashCaseTask.setNodeType(nextFlowNode.getNodeType()); ejJashCaseTask.setNodeId(nextFlowNode.getNodeId()); ejJashCaseTask.setNodeName(nextFlowNode.getNodeName()); ejJashCaseTask.setFlowId(nextFlowNode.getFlowId()); ejJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); ejJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:上级级综治中心审核 CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); ejJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId()); ejJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName()); // 受理后的节点任务,不需要签收 ejJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { ejJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } ejJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); ejJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); ejJashCaseTask.setCustId(jashCaseTask.getCustId()); ejJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); ejJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); mapper.insert(ejJashCaseTask); // 创建新的结案申请记录 CaseWindupApply newCaseWindupApply = new CaseWindupApply(); BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply); newCaseWindupApply.setId(utilsClient.getNewTimeId()); newCaseWindupApply.setApplyTime(nowDate); newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); newCaseWindupApply.setCaseTaskId(ejJashCaseTask.getId()); newCaseWindupApply.setAuditUnitId(ejJashCaseTask.getCandeUnitId()); newCaseWindupApply.setAuditUnitName(ejJashCaseTask.getCandeUnitName()); newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); newCaseWindupApply.setCreateTime(nowDate); newCaseWindupApply.setUpdateTime(nowDate); newCaseWindupApply.setCustId(ejJashCaseTask.getCustId()); caseWindupApplyService.save(newCaseWindupApply); } // 下一个节点是当事人评价节点,进入当事人评价节点任务 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ // 新建当事人评价节点任务 CaseTask dsrpjCaseTask = new CaseTask(); dsrpjCaseTask.setId(utilsClient.getNewTimeId()); dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属人:当事人 EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId()); dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName()); // 受理后的节点任务,不需要签收 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); mapper.insert(dsrpjCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 下一个节点是结案归档节点,进入结案归档节点任务 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ // 创建并完成结案归档节点任务 CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jagdCaseTask.setCandeUnitId(oldCaseWindupApply.getApplyUnitId()); jagdCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName()); // 受理后的节点任务,不需要签收 jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(loginUser.getUnitId()); jashCaseTask.setHandleUnitName(loginUser.getUnitName()); jashCaseTask.setHandleDeptId(loginUser.getDeptId()); jashCaseTask.setHandleDeptName(loginUser.getDeptName()); jashCaseTask.setHandleUserId(loginUser.getId()); jashCaseTask.setHandleUserName(loginUser.getTrueName()); jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jagdCaseTask.setHandleTime(nowDate); jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jagdCaseTask.setCustId(jashCaseTask.getCustId()); jagdCaseTask.setCreateTime(nowDate); jagdCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime())); jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); mapper.insert(jagdCaseTask); // 完成结案归档工作流节点任务,结束流程 flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jb_zszz, loginUser.getId()); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(jashCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); }else { // 审核不通过,回退办理反馈节点任务 // 完成当前结案审核节点任务 CaseTask jashCaseTaskPO = new CaseTask(); jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); jashCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); jashCaseTaskPO.setHandleUserId(loginUser.getId()); jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent()); jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); jashCaseTaskPO.setHandleTime(nowDate); jashCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime())); jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime())); jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime())); mapper.updateCaseTask(jashCaseTaskPO); // 完成当前结案审核工作流节点任务,走办理反馈节点任务 FlowNode blfkFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_bty, userId); // 新建办理反馈节点任务 CaseTask blfkCaseTask = new CaseTask(); blfkCaseTask.setId(utilsClient.getNewTimeId()); blfkCaseTask.setCaseId(jashCaseTask.getCaseId()); blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId()); blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId()); blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId()); blfkCaseTask.setNodeType(blfkFlowNode.getNodeType()); blfkCaseTask.setNodeId(blfkFlowNode.getNodeId()); blfkCaseTask.setNodeName(blfkFlowNode.getNodeName()); blfkCaseTask.setFlowId(blfkFlowNode.getFlowId()); blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName()); blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 blfkCaseTask.setCandeUnitId(oldCaseWindupApply.getApplyUnitId()); blfkCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName()); // 受理后的节点任务,不需要签收 blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); // 任务处理时限 if (blfkFlowNode.getExpire() != 0) { blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, blfkFlowNode.getExpire())); } blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); blfkCaseTask.setCustId(jashCaseTask.getCustId()); blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(blfkCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webWindupApply", e); } } /** * web端任务处理-回退申请 * @param caseReturn 回退申请表单 * @param userId 当前登录用户 */ public void webReturnApply(CaseReturn caseReturn, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 创建回退申请信息 caseReturn.setReturnUnitId(loginUser.getUnitId()); caseReturn.setReturnUnitName(loginUser.getUnitName()); caseReturn.setReturnUserId(loginUser.getId()); caseReturn.setReturnUserName(loginUser.getTrueName()); caseReturn.setReturnTime(nowDate); CtUnitDTO zzzxUnit = custClient.getParentZzzxUnit(loginUser.getUnitId()); caseReturn.setAuditUnitId(zzzxUnit.getId()); caseReturn.setAuditUnitName(zzzxUnit.getUnitName()); caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_0); caseReturn.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseReturn.setCustId(loginUser.getCustId()); caseReturn.setCreateTime(nowDate); caseReturn.setUpdateTime(nowDate); // 查询待节点任务 CaseTask thisCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); // 完成当前节点任务 CaseTask thisCaseTaskPO = new CaseTask(); thisCaseTaskPO.setId(caseReturn.getCaseTaskId()); thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); thisCaseTaskPO.setHandleUserId(loginUser.getId()); thisCaseTaskPO.setHandleUserName(loginUser.getTrueName()); thisCaseTaskPO.setHandleContent(caseReturn.getReturnContent()); thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_4); thisCaseTaskPO.setHandleTime(nowDate); thisCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime())); thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime())); thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime())); mapper.updateCaseTask(thisCaseTaskPO); // 完成当前节点工作流任务,走回退审核任务 FlowNode htshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_htsq, userId); // 新建回退审核节点任务 CaseTask htshCaseTask = new CaseTask(); htshCaseTask.setId(utilsClient.getNewTimeId()); htshCaseTask.setCaseId(thisCaseTask.getCaseId()); htshCaseTask.setFlowableId(htshFlowNode.getFlowableId()); htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId()); htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId()); htshCaseTask.setNodeType(htshFlowNode.getNodeType()); htshCaseTask.setNodeId(htshFlowNode.getNodeId()); htshCaseTask.setNodeName(htshFlowNode.getNodeName()); htshCaseTask.setFlowId(htshFlowNode.getFlowId()); htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName()); htshCaseTask.setCaseTaskType(thisCaseTask.getCaseTaskType()); // 任务所属单位:上级综治中心 htshCaseTask.setCandeUnitId(zzzxUnit.getId()); htshCaseTask.setCandeUnitName(zzzxUnit.getUnitName()); // 受理后的节点任务,不需要签收 htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (htshFlowNode.getExpire() != 0) { htshCaseTask.setExpireTime(DateUtils.addDay(nowDate, htshFlowNode.getExpire())); } htshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); htshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); htshCaseTask.setCustId(htshCaseTask.getCustId()); htshCaseTask.setCreateTime(nowDate); htshCaseTask.setUpdateTime(nowDate); mapper.insert(htshCaseTask); // 新增回退申请信息 caseReturn.setCaseTaskId(htshCaseTask.getId()); caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); caseReturnService.save(caseReturn); }catch (Exception e){ log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webReturnApply", e); } } /** * web端任务处理-回退审核 * @param caseReturn 回退审核表单 * @param userId 当前登录用户 */ public void webReturnAudit(CaseReturn caseReturn, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 更新回退申请信息 caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_1); caseReturn.setAuditUserId(loginUser.getId()); caseReturn.setAuditUserName(loginUser.getTrueName()); caseReturn.setAuditTime(nowDate); caseReturn.setUpdateTime(nowDate); caseReturnService.updateCaseReturn(caseReturn); // 查询回退审核节点任务 CaseTask htshCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); // 审核通过 if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseReturn.getAuditResult())){ // 完成当前回退审核节点任务 CaseTask htshCaseTaskPO = new CaseTask(); htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); htshCaseTaskPO.setHandleUserId(loginUser.getId()); htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); htshCaseTaskPO.setHandleTime(nowDate); htshCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime())); htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime())); htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime())); mapper.updateCaseTask(htshCaseTaskPO); // 完成当前回退审核工作流节点任务,承办组织走待分派节点任务,配合组织结束工作流流程 FlowNode nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_htsh_ty, userId); if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) { // 新建下一个节点任务 CaseTask nextCaseTask = new CaseTask(); nextCaseTask.setId(utilsClient.getNewTimeId()); nextCaseTask.setCaseId(htshCaseTask.getCaseId()); nextCaseTask.setFlowableId(nextFlowNode.getFlowableId()); nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); nextCaseTask.setNodeType(nextFlowNode.getNodeType()); nextCaseTask.setNodeId(nextFlowNode.getNodeId()); nextCaseTask.setNodeName(nextFlowNode.getNodeName()); nextCaseTask.setFlowId(nextFlowNode.getFlowId()); nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); // 任务所属单位:回退审核操作组织 nextCaseTask.setCandeUnitId(loginUser.getUnitId()); nextCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); nextCaseTask.setCustId(nextCaseTask.getCustId()); nextCaseTask.setCreateTime(nowDate); nextCaseTask.setUpdateTime(nowDate); mapper.insert(nextCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(htshCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); // 有配合组织,结束配合组织工作流程 List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId()); for (CaseTask assistCaseTask: assistCaseTaskList){ // 完成配合组织当前任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); assistCaseTask.setHandleUnitId(loginUser.getUnitId()); assistCaseTask.setHandleUnitName(loginUser.getUnitName()+"(承办部门)"); assistCaseTask.setHandleDeptId(loginUser.getDeptId()); assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)"); assistCaseTask.setHandleUserId(loginUser.getId()); assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)"); assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); assistCaseTask.setHandleTime(nowDate); assistCaseTask.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime())); assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime())); mapper.updateCaseTask(assistCaseTask); // 结束配合组织当前工作流任务 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); // 更新联合处置信息 UpdateWrapper<CaseAssistInfo> caseAssistInfoUpdateWrapper = new UpdateWrapper<>(); caseAssistInfoUpdateWrapper.eq("case_id", htshCaseTask.getCaseId()) .eq("process_instance_id", assistCaseTask.getProcessInstanceId()) .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2); caseAssistInfoService.update(caseAssistInfoUpdateWrapper); } }else { // 更新联合处置信息 QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId()) .eq("assist_unit_id", htshCaseTask.getCandeUnitId()) .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); if (ObjectUtils.isNotEmpty(caseAssistInfo)){ caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); } } }else { // 审核不通过 // 完成当前回退审核节点任务 CaseTask htshCaseTaskPO = new CaseTask(); htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); htshCaseTaskPO.setHandleUserId(loginUser.getId()); htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); htshCaseTaskPO.setHandleTime(nowDate); htshCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime())); htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime())); htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime())); mapper.updateCaseTask(htshCaseTaskPO); // 查询回退申请信息 CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId()); // 查询回退申请组织信息 CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId()); FlowNode nextFlowNode = null; if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){ // 区级组织回退,完成当前回退审核节点任务,进入下一个节点 nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_htsh_bty_qj, userId); }else if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){ // 市级组织回退,完成当前回退审核节点任务,进入下一个节点 nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_htsh_bty_sj, userId); }else { // 完成当前回退审核节点任务,进入下一个节点 nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_htsh_bty, userId); } // 新建下一个节点任务 CaseTask nextCaseTask = new CaseTask(); nextCaseTask.setId(utilsClient.getNewTimeId()); nextCaseTask.setCaseId(htshCaseTask.getCaseId()); nextCaseTask.setFlowableId(nextFlowNode.getFlowableId()); nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); nextCaseTask.setNodeType(nextFlowNode.getNodeType()); nextCaseTask.setNodeId(nextFlowNode.getNodeId()); nextCaseTask.setNodeName(nextFlowNode.getNodeName()); nextCaseTask.setFlowId(nextFlowNode.getFlowId()); nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); // 任务所属组织:回退申请组织 nextCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId()); nextCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName()); // 受理后的节点任务,不需要签收 nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (nextFlowNode.getExpire() != 0) { nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); } nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); nextCaseTask.setCustId(htshCaseTask.getCustId()); nextCaseTask.setCreateTime(nowDate); nextCaseTask.setUpdateTime(nowDate); mapper.insert(nextCaseTask); } }catch (Exception e){ log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webReturnAudit", e); } } /** * web端任务处理-上报 * @param caseAppear 上报表单 * @param userId 当前登录用户 */ public void webAppearApply(CaseAppear caseAppear, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 创建上报信息 caseAppear.setAppearUnitId(loginUser.getUnitId()); caseAppear.setAppearUnitName(loginUser.getUnitName()); caseAppear.setAppearUserId(loginUser.getId()); caseAppear.setAppearUserName(loginUser.getTrueName()); caseAppear.setAppearTime(nowDate); caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); caseAppear.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseAppear.setCustId(loginUser.getCustId()); caseAppear.setCreateTime(nowDate); caseAppear.setUpdateTime(nowDate); // 查询当前节点任务 CaseTask thisCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); // 完成当前当前节点任务 CaseTask thisCaseTaskPO = new CaseTask(); thisCaseTaskPO.setId(caseAppear.getCaseTaskId()); thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); thisCaseTaskPO.setHandleUserId(loginUser.getId()); thisCaseTaskPO.setHandleUserName(loginUser.getTrueName()); thisCaseTaskPO.setHandleContent(caseAppear.getAppearContent()); thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_5); thisCaseTaskPO.setHandleTime(nowDate); thisCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime())); thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime())); thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime())); mapper.updateCaseTask(thisCaseTaskPO); // 完成当前待受理工作流节点任务,走上报审核任务 FlowNode sbshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_sb, userId); // 新建上报审核任务 CaseTask sbshCaseTask = new CaseTask(); sbshCaseTask.setId(utilsClient.getNewTimeId()); sbshCaseTask.setCaseId(thisCaseTask.getCaseId()); sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId()); sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId()); sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId()); sbshCaseTask.setNodeType(sbshFlowNode.getNodeType()); sbshCaseTask.setNodeId(sbshFlowNode.getNodeId()); sbshCaseTask.setNodeName(sbshFlowNode.getNodeName()); sbshCaseTask.setFlowId(sbshFlowNode.getFlowId()); sbshCaseTask.setNodeShowName(sbshFlowNode.getNodeShowName()); sbshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位,上报审核组织 sbshCaseTask.setCandeUnitId(caseAppear.getAuditUnitId()); sbshCaseTask.setCandeUnitName(caseAppear.getAuditUnitName()); // 受理后的节点任务,不需要签收 sbshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 if (sbshFlowNode.getExpire() != 0) { sbshCaseTask.setExpireTime(DateUtils.addDay(nowDate, sbshFlowNode.getExpire())); } sbshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); sbshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); sbshCaseTask.setCustId(sbshCaseTask.getCustId()); sbshCaseTask.setCreateTime(nowDate); sbshCaseTask.setUpdateTime(nowDate); mapper.insert(sbshCaseTask); // 新增上报申请信息 caseAppear.setCaseTaskId(sbshCaseTask.getId()); caseAppearService.save(caseAppear); }catch (Exception e){ log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAppearApply", e); } } /** * web端任务处理-上报审核 * @param caseAppear 上报审核表单 * @param userId 当前登录用户 */ public void webAppearAudit(CaseAppear caseAppear, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); // 更新上报信息 caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseAppear.setAuditUserId(loginUser.getId()); caseAppear.setAuditUserName(loginUser.getTrueName()); caseAppear.setAuditTime(nowDate); caseAppear.setUpdateTime(nowDate); caseAppearService.updateCaseAppear(caseAppear); // 查询上报审核节点任务 CaseTask sbshCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); // 审核通过 if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAppear.getAuditResult())){ // 完成当前上报审核节点任务 CaseTask sbshCaseTaskPO = new CaseTask(); sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); sbshCaseTaskPO.setHandleUserId(loginUser.getId()); sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); sbshCaseTaskPO.setHandleTime(nowDate); sbshCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime())); sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime())); sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime())); mapper.updateCaseTask(sbshCaseTaskPO); // 完成当前上报审核任务,走待分派任务 FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_sbsh_ty, userId); // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:上报审核组织 dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的节点任务,不需要签收 dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); // 任务处理时限 if (dfpFlowNode.getExpire() != 0) { dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); } dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dfphCaseTask.setCustId(dfphCaseTask.getCustId()); dfphCaseTask.setCreateTime(nowDate); dfphCaseTask.setUpdateTime(nowDate); mapper.insert(dfphCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(sbshCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); }else { // 审核不通过 // 完成当前上报审核任务 CaseTask sbshCaseTaskPO = new CaseTask(); sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId()); sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName()); sbshCaseTaskPO.setHandleUserId(loginUser.getId()); sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); sbshCaseTaskPO.setHandleTime(nowDate); sbshCaseTaskPO.setUpdateTime(nowDate); // 计算任务耗时、是否超时、超时多少 sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime())); sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime())); sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime())); mapper.updateCaseTask(sbshCaseTaskPO); // 完成当前上报审核任务,走待分派任务 FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_sbsh_bty, userId); // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:上报申请组织 CaseAppear caseAppearBO = caseAppearService.getById(caseAppear.getId()); dfphCaseTask.setCandeUnitId(caseAppearBO.getAppearUnitId()); dfphCaseTask.setCandeUnitName(caseAppearBO.getAppearUnitName()); // 受理后的节点任务,不需要签收 dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); // 任务处理时限 if (dfpFlowNode.getExpire() != 0) { dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); } dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dfphCaseTask.setCustId(dfphCaseTask.getCustId()); dfphCaseTask.setCreateTime(nowDate); dfphCaseTask.setUpdateTime(nowDate); mapper.insert(dfphCaseTask); } }catch (Exception e){ log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAppearAudit", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){ return mapper.listIdByTerms(terms); } /** * web端-工作台-已办事项 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){ try { long total = mapper.countMyTaskYb(terms); List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms); return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total); }catch (Exception e) { log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e); throw new ServiceException("CaseTaskService.pageMyTaskYb", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java
@@ -1,27 +1,36 @@ package cn.huge.module.syncbydyh.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.module.cases.domain.po.CaseAgent; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.domain.po.CasePerson; import cn.huge.module.cases.domain.po.CaseTask; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.cases.domain.dto.AcceptTaskDTO; import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.service.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.disp.dto.DispCaseBaseDTO; import cn.huge.module.syncbydyh.client.api.impl.SyncBydyhClientImpl; import cn.huge.module.syncbydyh.domain.dto.ByCaseTaskDTO; import cn.huge.module.syncbydyh.domain.dto.GZCaseDTO; import cn.huge.module.syncbydyh.domain.po.SyCause; import cn.huge.module.syncbydyh.domain.po.ThirdCause; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * @title: 白云数据割接为广州数据的业务逻辑处理 * @Description 白云数据割接为广州数据的业务逻辑处理 * @title: 白云区矛盾纠纷多元化解平台数据割接-公共逻辑处理 * @Description 白云区矛盾纠纷多元化解平台数据割接-公共逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-19 20:04:19 @@ -43,49 +52,67 @@ private CaseAgentService caseAgentService; @Autowired private CaseTaskService caseTaskService; @Autowired private ThirdCauseService thirdCauseService; @Autowired private SyCauseService syCauseService; @Autowired private CustClientImpl custClient; @Autowired private ByToGzCaseTaskService byToGzCaseTaskService; /** * 白云区矛盾纠纷多元化解平台数据割接-已结束的纠纷案件信息 */ public void byToGzEndCase(){ try{ List<CaseInfo> errorCaseList = new ArrayList<>(); int operSize = 100; // int endCaseCount = 1000; int endCaseCount = syncBydyhClient.countEndCase(); if (endCaseCount > 0) { int allPage = (endCaseCount/operSize); // int allPage = 1; // int allPage = (endCaseCount/operSize); int allPage = 20; for (int operPage=1; operPage<=allPage; operPage++) { try{ List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzEndCase(operPage, operSize); for (GZCaseDTO byToGzDTO: byToGzDTOList){ caseInfoService.saveOrUpdate(byToGzDTO.getGzCaseInfoDTO()); List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzEndCase(operPage, operSize); for (GZCaseDTO byToGzDTO: byToGzDTOList){ // 新增案件信息 CaseInfo caseInfo = byToGzDTO.getGzCaseInfoDTO(); try { if (caseInfo.getCaseClaim().length() > 200) { caseInfo.setCaseClaim("详见申请材料"); } if (caseInfo.getCaseDes().length() > 200) { caseInfo.setCaseDes("详见申请材料"); } caseInfoService.saveOrUpdate(caseInfo); // 新增案件扩展信息 caseInfoUnfoldService.saveOrUpdate(byToGzDTO.getGzCaseInfoUnfoldDTO()); // 新增当事人信息 List<CasePerson> casePersonList = byToGzDTO.getGzCasePersonDTOList(); if (CollectionUtils.isNotEmpty(casePersonList)) { for (CasePerson casePerson : casePersonList) { casePersonService.saveOrUpdate(casePerson); } } // 新增当事人代理人信息 List<CaseAgent> caseAgentList = byToGzDTO.getGzCaseAgentDTOList(); if (CollectionUtils.isNotEmpty(caseAgentList)) { for (CaseAgent caseAgent : caseAgentList) { caseAgentService.saveOrUpdate(caseAgent); } } // 新增纠纷任务信息 List<CaseTask> caseTaskList = byToGzDTO.getGzCaseTaskDTOList(); if (CollectionUtils.isNotEmpty(caseTaskList)) { for (CaseTask caseTask : caseTaskList) { caseTaskService.saveOrUpdate(caseTask); } } }catch (Exception e){ log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e); errorCaseList.add(byToGzDTO.getGzCaseInfoDTO()); } }catch (Exception e){ log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e); } } } @@ -94,4 +121,156 @@ throw new ServiceException("ByToGzService.byToGzEndCase", e); } } /** * 白云区矛盾纠纷多元化解平台数据割接-进行中的纠纷案件信息 */ public void byToGzTodoCase(){ try{ int operSize = 100; int endCaseCount = syncBydyhClient.countTodoCase(); if (endCaseCount > 0) { int allPage = (endCaseCount/operSize); for (int operPage=1; operPage<=allPage; operPage++) { List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzTodoCase(operPage, operSize); for (GZCaseDTO byToGzDTO: byToGzDTOList){ try { // 新增案件信息 CaseInfo caseInfo = byToGzDTO.getGzCaseInfoDTO(); if (caseInfo.getCaseClaim().length() > 200) { caseInfo.setCaseClaim("详见申请材料"); } if (caseInfo.getCaseDes().length() > 200) { caseInfo.setCaseDes("详见申请材料"); } caseInfoService.saveOrUpdate(caseInfo); // 新增案件扩展信息 CaseInfoUnfold caseInfoUnfold = byToGzDTO.getGzCaseInfoUnfoldDTO(); caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold); // 新增当事人信息 List<CasePerson> casePersonList = byToGzDTO.getGzCasePersonDTOList(); if (CollectionUtils.isNotEmpty(casePersonList)) { for (CasePerson casePerson : casePersonList) { casePersonService.saveOrUpdate(casePerson); } } // 新增当事人代理人信息 List<CaseAgent> caseAgentList = byToGzDTO.getGzCaseAgentDTOList(); if (CollectionUtils.isNotEmpty(caseAgentList)) { for (CaseAgent caseAgent : caseAgentList) { caseAgentService.saveOrUpdate(caseAgent); } } // 启动流程 caseTaskService.deleteByCaseId(caseInfo.getId()); if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId()) && StringUtils.isNotEmpty(caseInfo.getWantUnitId()) && caseInfo.getWantUnitId().equals(caseInfoUnfold.getMediateUnitId())) { CtUserDTO ctUserDTO = custClient.clientGetUserAll(caseInfo.getInputUserId()); byToGzCaseTaskService.webStartFlowZXSL(caseInfo, ctUserDTO); } else { DispCaseBaseDTO dispCaseBaseDTO = new DispCaseBaseDTO(); BeanUtils.copyProperties(caseInfo, dispCaseBaseDTO); dispCaseBaseDTO.setWantUserId(null); dispCaseBaseDTO.setWantUserName(null); if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId())) { dispCaseBaseDTO.setWantUnitId(caseInfoUnfold.getMediateUnitId()); dispCaseBaseDTO.setWantUnitName(caseInfoUnfold.getMediateUnitName()); String dslCaseTaskId = byToGzCaseTaskService.webStartFlowLFDJ(caseInfo, dispCaseBaseDTO); List<ByCaseTaskDTO> byCaseTaskDTOList = byToGzDTO.getByCaseTaskDTOList(); if (CollectionUtils.isNotEmpty(byCaseTaskDTOList)) { for (ByCaseTaskDTO byCaseTaskDTO : byCaseTaskDTOList) { if ("F22_00019-2".equals(byCaseTaskDTO.getTaskNode())) { AcceptTaskDTO acceptTaskDTO = new AcceptTaskDTO(); acceptTaskDTO.setCaseTaskId(dslCaseTaskId); try { byToGzCaseTaskService.webAccept(acceptTaskDTO, byCaseTaskDTO.getHandlerUserId(), byCaseTaskDTO.getCreateTime()); } catch (Exception e) { log.error(e.getMessage(), e); } } } } } else { byToGzCaseTaskService.webStartFlowLFDJ(caseInfo, dispCaseBaseDTO); } } }catch (Exception e){ log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e); } } } } }catch (Exception e){ log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e); throw new ServiceException("ByToGzService.byToGzEndCase", e); } } /** * 白云区矛盾纠纷多元化解平台数据割接-更新纠纷类型 */ public void upThirdCause(){ try{ List<CaseInfo> caseInfoList = caseInfoService.list(); QueryWrapper<ThirdCause> thirdCauseQueryWrapper = new QueryWrapper<>(); for (CaseInfo caseInfo: caseInfoList){ thirdCauseQueryWrapper.clear(); thirdCauseQueryWrapper.eq("third_code", caseInfo.getCaseType()); ThirdCause thirdCause = thirdCauseService.getOne(thirdCauseQueryWrapper); if (ObjectUtils.isNotEmpty(thirdCause)){ SyCause syCause = syCauseService.getById(thirdCause.getCauseCode()); if (ObjectUtils.isNotEmpty(syCause)){ // 查询父级 SyCause syCausePanrent = syCauseService.getById(syCause.getParentId()); if (ObjectUtils.isNotEmpty(syCausePanrent)){ try{ CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(caseInfo.getId()); caseInfoPO.setCaseType(syCause.getId()); caseInfoPO.setCaseTypeName(syCause.getName()); caseInfoPO.setCaseTypeFirst(syCausePanrent.getId()); caseInfoPO.setCaseTypeFirstName(syCausePanrent.getName()); caseInfoService.updateCaseInfo(caseInfoPO); }catch (Exception e){ log.error("[ByToGzService.upThirdCause]调用失败,异常信息:"+e, e); } } } } } }catch (Exception e){ log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e); throw new ServiceException("ByToGzService.byToGzEndCase", e); } } /** * 白云区矛盾纠纷多元化解平台数据割接-更新问题属地的村级社区 */ public void upQueAddr(){ try{ List<CaseInfoUnfold> caseInfoUnfoldList = caseInfoUnfoldService.list(); for (CaseInfoUnfold caseInfoUnfold: caseInfoUnfoldList){ if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId())) { CtUnitDTO ctUnitDTO = custClient.getUnitById(caseInfoUnfold.getMediateUnitId()); if (ObjectUtils.isNotEmpty(ctUnitDTO)){ if (StringUtils.isNotEmpty(ctUnitDTO.getVillage())) { CaseInfo caseInfo = new CaseInfo(); caseInfo.setId(caseInfoUnfold.getId()); caseInfo.setQueVillage(ctUnitDTO.getVillage()); caseInfo.setQueVillageName(ctUnitDTO.getVillageName()); caseInfoService.updateCaseInfo(caseInfo); } } } } }catch (Exception e){ log.error("[ByToGzService.upQueAddr]调用失败,异常信息:"+e, e); throw new ServiceException("ByToGzService.upQueAddr", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/SyCauseService.java
New file @@ -0,0 +1,133 @@ package cn.huge.module.syncbydyh.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.syncbydyh.dao.mapper.SyCauseMapper; import cn.huge.module.syncbydyh.domain.po.SyCause; 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-10-21 22:18:51 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class SyCauseService extends ServiceImpl<SyCauseMapper, SyCause>{ @Autowired private SyCauseMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateSyCause(SyCause entity){ try{ mapper.updateSyCause(entity); }catch (Exception e){ log.error("[SyCauseService.updateSyCause]调用失败,异常信息:"+e, e); throw new ServiceException("SyCauseService.updateSyCause", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateSyCauseTerms(SyCause entity, Map<String, Object> terms){ try{ mapper.updateSyCauseTerms(entity, terms); }catch (Exception e){ log.error("[SyCauseService.updateSyCauseTerms]调用失败,异常信息:"+e, e); throw new ServiceException("SyCauseService.updateSyCauseTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteSyCause(String id){ try{ mapper.deleteSyCause(id); }catch (Exception e){ log.error("[SyCauseService.deleteSyCause]调用失败,异常信息:"+e, e); throw new ServiceException("SyCauseService.deleteSyCause", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<SyCause> 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<SyCause> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<SyCause> content = mapper.pageTerms(page, terms); return new PageImpl<SyCause>(content, page, total); } /** * 新增或更新对象 * @param syCause 实体对象 */ public void saveSyCause(SyCause syCause){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(syCause.getId())){ syCause.setId(utilsClient.getNewTimeId()); syCause.setCreateTime(nowDate); } syCause.setUpdateTime(nowDate); this.saveOrUpdate(syCause); }catch (Exception e){ log.error("[SyCauseService.saveSyCause]调用失败,异常信息:"+e, e); throw new ServiceException("SyCauseService.saveSyCause", e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ThirdCauseService.java
New file @@ -0,0 +1,113 @@ package cn.huge.module.syncbydyh.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.syncbydyh.dao.mapper.ThirdCauseMapper; import cn.huge.module.syncbydyh.domain.po.ThirdCause; 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-10-21 22:04:49 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class ThirdCauseService extends ServiceImpl<ThirdCauseMapper, ThirdCause>{ @Autowired private ThirdCauseMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateThirdCause(ThirdCause entity){ try{ mapper.updateThirdCause(entity); }catch (Exception e){ log.error("[ThirdCauseService.updateThirdCause]调用失败,异常信息:"+e, e); throw new ServiceException("ThirdCauseService.updateThirdCause", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateThirdCauseTerms(ThirdCause entity, Map<String, Object> terms){ try{ mapper.updateThirdCauseTerms(entity, terms); }catch (Exception e){ log.error("[ThirdCauseService.updateThirdCauseTerms]调用失败,异常信息:"+e, e); throw new ServiceException("ThirdCauseService.updateThirdCauseTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteThirdCause(String id){ try{ mapper.deleteThirdCause(id); }catch (Exception e){ log.error("[ThirdCauseService.deleteThirdCause]调用失败,异常信息:"+e, e); throw new ServiceException("ThirdCauseService.deleteThirdCause", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<ThirdCause> 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<ThirdCause> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<ThirdCause> content = mapper.pageTerms(page, terms); return new PageImpl<ThirdCause>(content, page, total); } } dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java
@@ -45,7 +45,7 @@ public Object countEndCase() { try { Map<String, Object> terms = Maps.newHashMap(); terms.put("EndProcess", "EndProcess"); terms.put("endProcess", "endProcess"); return ReturnSucUtils.getRepInfo(caseInfoService.countTerms(terms)); } catch (Exception e) { log.error("[SyncCustController.countEndCase]请求失败,异常信息:"+e, e); @@ -71,4 +71,39 @@ } } /** * 数据割接-统计进行中的纠纷案件信息 * @url {ctx}/api/client/syncCase/countTodoCase * @return */ @GetMapping("/countTodoCase") public Object countTodoCase() { try { Map<String, Object> terms = Maps.newHashMap(); terms.put("todoProcess", "todoProcess"); return ReturnSucUtils.getRepInfo(caseInfoService.countTerms(terms)); } catch (Exception e) { log.error("[SyncCustController.countTodoCase]请求失败,异常信息:"+e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * 数据割接-进行中的纠纷案件信息 * @url {ctx}/api/client/syncCase/byToGzTodoCase * @param page * @param size * @return */ @GetMapping("/byToGzTodoCase") public Object byToGzTodoCase(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { try { List<GZCaseDTO> gzCaseDTOList = caseInfoService.byToGzTodoCase(page, size); return ReturnSucUtils.getRepInfo(gzCaseDTOList); } catch (Exception e) { log.error("[SyncCustController.byToGzTodoCase]请求失败,异常信息:"+e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } } dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml
@@ -670,9 +670,12 @@ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd}) </if> <if test="terms.EndProcess != null and terms.EndProcess !=''"> <if test="terms.endProcess != null and terms.endProcess !=''"> and process in ('22_00006-4', '22_00006-5', '22_00006-6', '22_00006-7') </if> <if test="terms.todoProcess != null and terms.todoProcess !=''"> and process in ('22_00006-1', '22_00006-2', '22_00006-3') </if> </where> </if> </sql> dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java
@@ -1,5 +1,6 @@ package cn.huge.module.bycase.domain.dto; import cn.huge.module.bycase.domain.po.CaseTask; import lombok.Data; import java.util.List; @@ -25,4 +26,6 @@ private List<GZCaseTaskDTO> gzCaseTaskDTOList; private List<CaseTask> byCaseTaskDTOList; } dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java
@@ -133,7 +133,7 @@ public List<GZCaseDTO> byToGzEndCase(int page, int size){ List<GZCaseDTO> gzCaseDTOList = new ArrayList<>(); Map<String, Object> terms = Maps.newHashMap(); terms.put("EndProcess", "EndProcess"); terms.put("endProcess", "endProcess"); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms); @@ -445,7 +445,7 @@ } // 结案归档节点 if (ByFlowNodeEnum.FLOW_NODE_4.getIndex().equals(caseTask.getTaskNode()) || ByFlowNodeEnum.FLOW_NODE_5.getIndex().equals(caseTask.getTaskNode()) ){ || ByFlowNodeEnum.FLOW_NODE_5.getIndex().equals(caseTask.getTaskNode())){ gzCaseTaskDTO.setNodeId(GZFlowNodeEnum.FLOW_NODE_JAGD.getIndex()); gzCaseTaskDTO.setNodeName(GZFlowNodeEnum.FLOW_NODE_JAGD.getDes()); gzCaseTaskDTO.setNodeShowName("结案归档"); @@ -462,7 +462,7 @@ gzCaseTaskDTO.setCandeUserId(caseTask.getHandlerUserId()); gzCaseTaskDTO.setCandeUserName(caseTask.getHandlerUserName()); // 任务处理 if ("2".equals(caseTask.getStatus())) { if ("2".equals(caseTask.getStatus())){ gzCaseTaskDTO.setStatus(GZCaseTaskConsts.TASK_STATUS_2); }else { gzCaseTaskDTO.setStatus(GZCaseTaskConsts.TASK_STATUS_1); @@ -502,4 +502,282 @@ return gzCaseDTOList; } /** * 数据割接-进行中的纠纷案件信息 * @return */ public List<GZCaseDTO> byToGzTodoCase(int page, int size){ List<GZCaseDTO> gzCaseDTOList = new ArrayList<>(); Map<String, Object> terms = Maps.newHashMap(); terms.put("todoProcess", "todoProcess"); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms); for (CaseInfo caseInfo: caseInfoPage){ if ("2105191835025741".equals(caseInfo.getWantUnitId()) || "2105191835025741".equals(caseInfo.getMediateUnitId())){ log.info("过滤演示案件"); }else { GZCaseDTO gzCaseDTO = new GZCaseDTO(); // 封装案件信息 GZCaseInfoDTO gzCaseInfoDTO = new GZCaseInfoDTO(); BeanUtils.copyProperties(caseInfo, gzCaseInfoDTO); // 生成事项编号 gzCaseInfoDTO.setCaseRef(utilsClient.createCaseRef()); // 都是3级事件 gzCaseInfoDTO.setCaseLevel(CaseBaseConsts.CASE_LEVEL_3); // 映射来访时间 gzCaseInfoDTO.setVisitTime(caseInfo.getAcceptTime()); // 映射来访人数 gzCaseInfoDTO.setVisitPeopleNum(caseInfo.getPeopleNum()); // 映射纠纷类型 // gzCaseInfoDTO.setCaseTypeFirst(); // gzCaseInfoDTO.setCaseTypeFirstName(); // gzCaseInfoDTO.setCaseType(); // gzCaseInfoDTO.setCaseTypeName(); // 映射问题属地 gzCaseInfoDTO.setQueProv(GzRegionEnum.PROV_1.getIndex()); gzCaseInfoDTO.setQueProvName(GzRegionEnum.PROV_1.getDes()); gzCaseInfoDTO.setQueCity(GzRegionEnum.CITY_1.getIndex()); gzCaseInfoDTO.setQueCityName(GzRegionEnum.CITY_1.getDes()); gzCaseInfoDTO.setQueArea(GzRegionEnum.AREA_7.getIndex()); gzCaseInfoDTO.setQueAreaName(GzRegionEnum.AREA_7.getDes()); if (StringUtils.isNotEmpty(caseInfo.getRoad())) { if (ByRegionEnum.getGZRegion(caseInfo.getRoad()) != null) { gzCaseInfoDTO.setQueRoad(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getIndex()); gzCaseInfoDTO.setQueRoadName(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getDes()); } } gzCaseInfoDTO.setQueVillage(null); gzCaseInfoDTO.setQueVillageName(null); if ("2".equals(caseInfo.getInputWay())) { gzCaseInfoDTO.setInputWay(2); } else { gzCaseInfoDTO.setInputWay(1); } // 映射事项来源、来访形式 if (ByCaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) { if (caseInfo.getMediateUnitId().equals(caseInfo.getInputUnitId())) { // 事项来源 gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); // 来访形式 gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex()); gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes()); } else { // 事项来源 gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); // 来访形式 gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex()); gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes()); } } else if (ByCaseConstsEnum.CASE_CANAL_2.getIndex().equals(caseInfo.getCanal())) { // 事项来源 gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); // 来访形式 gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex()); gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes()); } // 映射是否自行受理 gzCaseInfoDTO.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_0); // 是否重大矛盾纠纷 gzCaseInfoDTO.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_0); // 映射事项状态、事项进度、对外展示事项进度 if (ByCaseConstsEnum.CASE_PROCESS_1.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_2.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_3.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_5.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_6.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } else if (ByCaseConstsEnum.CASE_PROCESS_7.getIndex().equals(caseInfo.getProcess())) { // 事项状态 gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes()); // 事项进度 gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex()); gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes()); // 对外展示事项进度 gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex()); gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes()); } // 映射小程序是否可见 gzCaseInfoDTO.setPartyShow(CaseBaseConsts.PARTY_SHOW_1); // 映射删除状态 if (ByBaseConsts.DELETE_STATUS_99.equals(caseInfo.getDeleteStatus())) { gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1); } else { gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0); } gzCaseDTO.setGzCaseInfoDTO(gzCaseInfoDTO); // 封装案件扩展信息 GZCaseInfoUnfoldDTO gzCaseInfoUnfoldDTO = new GZCaseInfoUnfoldDTO(); BeanUtils.copyProperties(caseInfo, gzCaseInfoUnfoldDTO); // 映射调解结果名称 gzCaseInfoUnfoldDTO.setMediResultName(MediResultBaseConstsEnum.getDes(caseInfo.getMediResult())); // 映射达成协议类型 if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) { // 调解成功 if (ByCaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseInfo.getMediResult())) { if (StringUtils.isNotEmpty(caseInfo.getAgreeContent())) { gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_1.getIndex()); gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_1.getDes()); } else { gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_2.getIndex()); gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_2.getDes()); } } } // 映射结案意见 gzCaseInfoUnfoldDTO.setWindupContent(caseInfo.getMediContent()); // 映射是否转诉讼案件 if (ByCaseConsts.CIVIL_STATUS_2 == caseInfo.getCivilStatus()) { gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_1); } else { gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_0); } // 映射办结时间 if (ObjectUtils.isNotEmpty(caseInfo.getFileTime())) { gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getFileTime()); } else if (ObjectUtils.isNotEmpty(caseInfo.getMediEndTime())) { gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getMediEndTime()); } else { gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getUpdateTime()); } // 映射是否申请司法确认 if (ByCaseConsts.JUDIC_APPLY_2 == caseInfo.getCivilStatus()) { gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_1); } else { gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_0); } // 映射是否已归档 if (ByCaseConsts.FILE_STATUS_2 == caseInfo.getCivilStatus()) { gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_1); } else { gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_0); } // 映射是否已回访 if (ByCaseConsts.VISIT_STATUS_2 == caseInfo.getCivilStatus()) { gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_1); } else { gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_0); } // 映射当事人是否满意 if (ByCaseConsts.PARTY_JOY_2 == caseInfo.getCivilStatus()) { gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_1); } else { gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_0); } gzCaseDTO.setGzCaseInfoUnfoldDTO(gzCaseInfoUnfoldDTO); // 封装当事人信息 QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>(); casePersonQueryWrapper.eq("case_id", caseInfo.getId()); List<CasePerson> casePersonList = casePersonService.list(casePersonQueryWrapper); if (CollectionUtils.isNotEmpty(casePersonList)) { List<GZCasePersonDTO> gzCasePersonDTOList = new ArrayList<>(); for (CasePerson casePerson : casePersonList) { GZCasePersonDTO gzCasePersonDTO = new GZCasePersonDTO(); BeanUtils.copyProperties(casePerson, gzCasePersonDTO); // 映射是否有个人极端倾向 gzCasePersonDTO.setExtreme(CaseBaseConsts.EXTREME_0); // 映射删除状态 if (ByBaseConsts.DELETE_STATUS_99.equals(casePerson.getDeleteStatus())) { gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1); } else { gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0); } gzCasePersonDTOList.add(gzCasePersonDTO); } gzCaseDTO.setGzCasePersonDTOList(gzCasePersonDTOList); } // 封装当事人代理人信息 QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>(); caseAgentQueryWrapper.eq("case_id", caseInfo.getId()); List<CaseAgent> caseAgentList = caseAgentService.list(caseAgentQueryWrapper); if (CollectionUtils.isNotEmpty(caseAgentList)) { List<GZCaseAgentDTO> gzCaseAgentDTOList = new ArrayList<>(); for (CaseAgent caseAgent : caseAgentList) { GZCaseAgentDTO gzCaseAgentDTO = new GZCaseAgentDTO(); BeanUtils.copyProperties(caseAgent, gzCaseAgentDTO); // 映射是否有个人极端倾向 gzCaseAgentDTO.setExtreme(CaseBaseConsts.EXTREME_0); // 映射删除状态 if (ByBaseConsts.DELETE_STATUS_99.equals(caseAgent.getDeleteStatus())) { gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1); } else { gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0); } gzCaseAgentDTOList.add(gzCaseAgentDTO); } gzCaseDTO.setGzCaseAgentDTOList(gzCaseAgentDTOList); } // 封装案件任务信息 QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); caseTaskQueryWrapper.eq("case_id", caseInfo.getId()).orderByAsc("create_time"); List<CaseTask> caseTaskList = caseTaskService.list(caseTaskQueryWrapper); gzCaseDTO.setByCaseTaskDTOList(caseTaskList); gzCaseDTOList.add(gzCaseDTO); } } return gzCaseDTOList; } } dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
@@ -1,11 +1,15 @@ package cn.huge.module.file.controller.client; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.file.domain.po.FileInfo; import cn.huge.module.file.service.FileInfoService; import cn.huge.module.sys.dto.FileInfoBaseDTO; import io.lettuce.core.dynamic.annotation.Param; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -59,4 +63,23 @@ return ReturnFailUtils.getRepInfo(); } } /** * 根据id查询 * @url {ctx}/api/client/fileInfo/getFileInfoById * @return Object */ @GetMapping("/getFileInfoById") public Object getFileInfoById(@RequestParam(value = "id") String id) { try { FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO(); FileInfo fileInfo = service.getById(id); if (ObjectUtils.isNotEmpty(fileInfo)){ BeanUtils.copyProperties(fileInfo, fileInfoBaseDTO); } return ReturnSucUtils.getRepInfo(fileInfoBaseDTO); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }