From ab555253a4e8c07342bf25ee8779010745f69f16 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Wed, 18 Sep 2024 10:44:42 +0800
Subject: [PATCH] 1、联合处置流程优化3
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java | 5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java | 2
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 124 ++++++++++++++++++++++++++----
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java | 44 ++++++++--
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java | 11 ++
5 files changed, 154 insertions(+), 32 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
index 61c899e..192fc26 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
@@ -389,9 +389,10 @@
* @return Object
*/
@GetMapping("/choosePrincipal")
- public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "userId") String userId) {
+ public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "caseTaskId") String caseTaskId,
+ @RequestParam(value = "userId") String userId) {
try {
- service.choosePrincipal(caseId, userId);
+ service.choosePrincipal(caseId, caseTaskId, userId);
return ReturnSucUtils.getRepInfo();
} catch (Exception e) {
return ReturnFailUtils.getRepInfo(e.getMessage());
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
index 28bd646..26844d0 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistInfoService.java
@@ -143,4 +143,15 @@
return caseAssistInfo;
}
+ /**
+ * 根据案件编号查询
+ * @param caseId
+ * @return
+ */
+ public List<CaseAssistInfo> listByCaseId(String caseId){
+ QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+ caseAssistInfoQueryWrapper.eq("case_id", caseId);
+ return mapper.selectList(caseAssistInfoQueryWrapper);
+ }
+
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
index d9cb6d9..5d61d90 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -169,8 +169,8 @@
*/
public Map<String, Object> getFeedbackInfo(String caseId, String caseTaskId, String userId){
Map<String, Object> result = Maps.newHashMap();
- CaseTask caseTask = caseTaskService.getById(caseTaskId);
CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
+ CaseTask caseTask = caseTaskService.getById(caseTaskId);
// 承办部门查询扩展表
if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
if (ObjectUtils.isNotEmpty(caseInfoUnfold)) {
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
index 1852d1a..24c7c05 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
@@ -4,8 +4,11 @@
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.cases.domain.dto.TransactResultDTO;
+import cn.huge.module.cases.domain.po.CaseAssistInfo;
+import cn.huge.module.cases.domain.po.CaseTask;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -62,6 +65,12 @@
@Autowired
private SysClientImpl sysClient;
+
+ @Autowired
+ private CaseTaskService caseTaskService;
+
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -155,19 +164,34 @@
/**
* PC端-选择经办人
- * @param caseId 对象
+ * @param caseId 纠纷编号
+ * @param caseTaskId 办理反馈任务编号
* @param userId 条件
*/
- public void choosePrincipal(String caseId, String userId){
+ public void choosePrincipal(String caseId, String caseTaskId, String userId){
try{
- // 获取当前登录用户
- CtUserDTO loginUser = custClient.clientGetUserAll(userId);
- CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
- CaseInfoUnfold.setId(caseId);
- CaseInfoUnfold.setMediatorId(loginUser.getId());
- CaseInfoUnfold.setMediator(loginUser.getTrueName());
- CaseInfoUnfold.setMediatorMobile(loginUser.getMobile());
- mapper.updateCaseInfoUnfold(CaseInfoUnfold);
+ Date nowDate = DateUtils.getNowDate();
+ // 获取经办人信息
+ CtUserDTO ctUserDTO = custClient.clientGetUser(userId);
+ CaseTask caseTask = caseTaskService.getById(caseTaskId);
+ // 承办部门,更新扩展表
+ if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+ CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
+ CaseInfoUnfold.setId(caseId);
+ CaseInfoUnfold.setMediatorId(ctUserDTO.getId());
+ CaseInfoUnfold.setMediator(ctUserDTO.getTrueName());
+ CaseInfoUnfold.setMediatorMobile(ctUserDTO.getMobile());
+ CaseInfoUnfold.setUpdateTime(nowDate);
+ mapper.updateCaseInfoUnfold(CaseInfoUnfold);
+ }else {
+ // 配合部门,更新联合处置信息表
+ CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
+ caseAssistInfo.setAssistUserId(ctUserDTO.getId());
+ caseAssistInfo.setAssistUserName(ctUserDTO.getTrueName());
+ caseAssistInfo.setUpdateTime(nowDate);
+ caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
+
+ }
}catch (Exception e){
log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index 8099665..068cffb 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -518,32 +518,118 @@
result.put("handleCaseFlowList", handleCaseFlowList);
// 查询配合组织流程
- CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
- if (StringUtils.isNotEmpty(caseInfoUnfold.getAssistUnitId())){
+ List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId);
+ if (CollectionUtils.isNotEmpty(caseAssistInfoList)){
LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
- String[] unitIdList = caseInfoUnfold.getAssistUnitId().split(BaseConsts.COMMA);
- String[] unitNameList = caseInfoUnfold.getAssistUnitName().split(BaseConsts.COMMA);
- for (int i=0; i<unitIdList.length; i++){
- String unitId = unitIdList[i];
- String unitName = unitNameList[i];
+ for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
- webAssistCaseFlowDTO.setUnitId(unitId);
- webAssistCaseFlowDTO.setUnitName(unitName);
- i ++;
+ webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUserId());
+ webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUserName());
LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
caseTaskQueryWrapper.clear();
- caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", unitId)
+ caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUserId())
.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
for (CaseTask caseTask: assistCaseTaskList){
- WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
- webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
- webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
- webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
- webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
- webCaseFlowDTO.setTaskType(caseTask.getTaskType());
- webCaseFlowDTO.setStatus(caseTask.getStatus());
- caseFlowList.add(webCaseFlowDTO);
+ // 已结束节点
+ if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
+ // 待受理并已签收的正常任务节点,需要加多一个签收节点
+ if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
+ if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+ WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+ slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+ slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+ slWebCaseFlowDTO.setHandleNotes("已签收");
+ slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ slWebCaseFlowDTO.setStatus(caseTask.getStatus());
+ caseFlowList.add(slWebCaseFlowDTO);
+ }
+ }
+ // 普通节点
+ WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+ webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+ webCaseFlowDTO.setStatus(caseTask.getStatus());
+ webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
+ webCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ // 回退申请节点
+ if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
+ webCaseFlowDTO.setNodeShowName("事件回退");
+ CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
+ if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
+ webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
+ }else {
+ webCaseFlowDTO.setHandleNotes("回退理由:-");
+
+ }
+ }
+ // 上报申请节点
+ if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
+ webCaseFlowDTO.setNodeShowName("事件上报");
+ CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
+ if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
+ webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent());
+ }else {
+ webCaseFlowDTO.setHandleNotes("上报意见:-" );
+ }
+ }
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ }
+ // 审核节点要判断通过/不通过
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
+ || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
+ // 处理不通过,任务类型就是回退
+ if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+ webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
+ webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
+ webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
+ }else{
+ // 处理通过
+ webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+ webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+ }
+ // 临时加上
+ webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName());
+ }
+ // 结案申请,需要展示化解结果
+ if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){
+ CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId());
+ if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
+ webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult());
+ webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName());
+ // 临时加上
+ webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
+ }
+ }
+ caseFlowList.add(webCaseFlowDTO);
+ }else {
+ // 进行中的节点
+ WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setStatus(caseTask.getStatus());
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+ }
+ caseFlowList.add(webCaseFlowDTO);
+ }
}
webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
assistCaseFlowList.add(webAssistCaseFlowDTO);
--
Gitblit v1.8.0