From c06b2f5b2aa6d8910664b30ab4f74ff3895ebbeb Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Fri, 20 Sep 2024 10:27:45 +0800
Subject: [PATCH] Merge branch 'master' into gzdyh_test
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 100 insertions(+), 14 deletions(-)
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 bccd552..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
@@ -3,24 +3,36 @@
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.cases.domain.po.CaseInfo;
+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;
import cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
+import cn.huge.module.mediate.constant.CaseBaseConsts;
+import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
+import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
+import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
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.HashMap;
import java.util.List;
@@ -47,6 +59,18 @@
@Autowired
private CustClientImpl custClient;
+
+ @Autowired
+ private CaseAssistApplyService assistApplyService;
+
+ @Autowired
+ private SysClientImpl sysClient;
+
+ @Autowired
+ private CaseTaskService caseTaskService;
+
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -140,23 +164,85 @@
/**
* 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.setMediatorId(loginUser.getId());
- CaseInfoUnfold.setMediator(loginUser.getTrueName());
- CaseInfoUnfold.setMediatorMobile(loginUser.getMobile());
- Map<String, Object> terms = new HashMap<>();
- terms.put("case_id", caseId);
- mapper.updateCaseInfoUnfoldTerms(CaseInfoUnfold, terms);
+ 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);
}
}
+
+ /**
+ * PC端-删除经办人
+ * @param caseId 对象
+ */
+ public void deletePrincipal(String caseId){
+ try{
+ mapper.deletePrincipal(caseId);
+ }catch (Exception e){
+ log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
+ }
+ }
+
+ public TransactResultDTO getTransactResult(String caseId){
+ try {
+ //查询办理结果信息
+ CaseInfoUnfold caseInfoUnfold = this.getById(caseId);
+ if(StringUtils.isNotBlank(caseInfoUnfold.getMediResult())) {
+ TransactResultDTO transactResultDTO = new TransactResultDTO();
+ BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO);
+ if (ObjectUtils.isNotEmpty(transactResultDTO)) {
+ QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
+ caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1)
+ .eq("audit_result", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+ CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper);
+
+ if (ObjectUtils.isNotEmpty(caseAssistApply)) {
+ transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName());
+ }
+ }
+ Map<String, Object> terms = new HashMap<>();
+ terms.put("mainId", caseId);
+ terms.put("types", "'" + FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex() + "'");
+ List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
+ if (ObjectUtils.isNotEmpty(fileIdInfoBaseDTOList)) {
+ transactResultDTO.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
+ }
+ return transactResultDTO;
+ }else {
+ return null;
+ }
+ }catch (Exception e){
+ log.error("[CaseInfoUnfoldService.getTransactResult]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseInfoUnfoldService.getTransactResult", e);
+ }
+ }
+
}
--
Gitblit v1.8.0