From 6f4ed9dbb428374e5513fbf88aae1377fd423a51 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Sat, 14 Sep 2024 15:19:52 +0800
Subject: [PATCH] 综合查询
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 245 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 170 insertions(+), 75 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index c5abb2e..448b8ac 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -14,12 +14,13 @@
import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.cust.dto.PaUserDTO;
-import cn.huge.module.mediate.constant.CaseBaseConsts;
-import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
+import cn.huge.module.mediate.constant.*;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.service.CasedraftInfoService;
+import cn.huge.module.mediate.constant.CaseProcessBaseConstsEnum;
import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.QueAddrBaseDTO;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -77,6 +78,10 @@
@Autowired
private CaseTaskService caseTaskService;
+ @Autowired
+ private CaseEvaluateService caseEvaluateService;
+
+
/**
* 更新对象
* @param entity 对象
@@ -87,6 +92,20 @@
}catch (Exception e){
log.error("[CaseInfoService.updateCaseInfo]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseInfoService.updateCaseInfo", e);
+ }
+ }
+
+ /**
+ * 批量更新对象
+ * @param entity 对象
+ * @param caseIdList
+ */
+ public void updateCaseInfoList(CaseInfo entity, List<String> caseIdList){
+ try{
+ mapper.updateCaseInfoList(entity, caseIdList);
+ }catch (Exception e){
+ log.error("[CaseInfoService.updateCaseInfoList]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseInfoService.updateCaseInfoList", e);
}
}
@@ -522,77 +541,132 @@
* @return String 纠纷编号
*/
public String caseRegisterWechat(RegisterSaveDTO registerSaveDTO, String userId){
- try {
- // 获取当前登录用户
- PaUserDTO loginUser = custClient.paclientGetUser(userId);
- if(ObjectUtils.isEmpty(registerSaveDTO.getCustId())){
- registerSaveDTO.setCustId(loginUser.getCustId());
- }
+ // 获取当前登录用户
+ PaUserDTO loginUser = custClient.paclientGetUser(userId);
+ if(ObjectUtils.isEmpty(registerSaveDTO.getCustId())){
+ registerSaveDTO.setCustId(loginUser.getCustId());
+ }
- Date nowDate = DateUtils.getNowDate();
- registerSaveDTO.setUpdateTime(nowDate);
- StringBuffer plaintiffs = new StringBuffer();
- StringBuffer defendants = new StringBuffer();
- StringBuffer pagents = new StringBuffer();
- StringBuffer dagents = new StringBuffer();
+ Date nowDate = DateUtils.getNowDate();
+ registerSaveDTO.setUpdateTime(nowDate);
- CaseInfo caseInfo = new CaseInfo();
- CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
- BeanUtils.copyProperties(registerSaveDTO, caseInfo);
- if(ObjectUtils.isEmpty(caseInfo.getId())){
- caseInfo.setId(utilsClient.getNewTimeCaseId());
- }
+ CaseInfo caseInfo = new CaseInfo();
+ CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
+ BeanUtils.copyProperties(registerSaveDTO, caseInfo);
+ if(ObjectUtils.isEmpty(caseInfo.getId())){
+ caseInfo.setId(utilsClient.getNewTimeCaseId());
+ }
// caseInfo.setInputUnitId(loginUser.getUnitId());
// caseInfo.setInputUnitName(loginUser.getUnitName());
- caseInfo.setInputUserId(loginUser.getId());
- caseInfo.setInputUserName(loginUser.getTrueName());
- caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
- caseInfo.setCreateTime(nowDate);
- caseInfo.setUpdateTime(nowDate);
- caseInfo.setVisitTime(nowDate);
- caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- //坐标转换
- if(ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())){
- PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(caseInfo.getLng()), Double.valueOf(caseInfo.getLat()));
- caseInfo.setLat(pointXY.getLat()+"");
- caseInfo.setLng(pointXY.getLon()+"");
- }
- //todo case_ref生成、case_title生成
- // 为了演示先兼容小程序没属地问题,写死属地
- if (caseInfo.getQueProvName() == null) {
- caseInfo.setQueProv("19");
- caseInfo.setQueProvName("广东");
- caseInfo.setQueCity("1601");
- caseInfo.setQueCityName("广州市");
- caseInfo.setQueArea("50258");
- caseInfo.setQueAreaName("白云区");
- caseInfo.setQueRoad("62857");
- caseInfo.setQueRoadName("新市街道");
-
- }
- caseInfoUnfold.setId(caseInfo.getId());
- caseInfoUnfold.setCreateTime(nowDate);
- caseInfoUnfold.setUpdateTime(nowDate);
-
- // 常规登记-保存当事人
- this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser);
- caseInfo.setPlaintiffs(plaintiffs.toString());
- caseInfo.setPagents(pagents.toString());
- caseInfo.setDefendants(defendants.toString());
- caseInfo.setDagents(dagents.toString());
- caseInfo.setInfoProcess(1);
- caseInfo.setInfoProcessName("待受理");
- caseInfo.setProcess(1);
- caseInfo.setProcessName("来访登记");
- this.saveOrUpdate(caseInfo);
-
- // 启动工作流-自动调度流程
- caseTaskService.webStartFlowLFDJ(caseInfo);
- return registerSaveDTO.getId();
- }catch (Exception e){
- log.error("service方法[CaseInfoService.caseRegisterWechat]调用异常:"+e, e);
- throw new ServiceException("CaseInfoService.caseRegisterWechat", e);
+ caseInfo.setInputUserId(loginUser.getId());
+ caseInfo.setInputUserName(loginUser.getTrueName());
+ caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
+ caseInfo.setCreateTime(nowDate);
+ caseInfo.setUpdateTime(nowDate);
+ caseInfo.setVisitTime(nowDate);
+ caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ //坐标转换
+ if(ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())){
+ PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(caseInfo.getLng()), Double.valueOf(caseInfo.getLat()));
+ caseInfo.setLat(pointXY.getLat()+"");
+ caseInfo.setLng(pointXY.getLon()+"");
}
+ //todo case_title生成
+ caseInfo.setCaseRef(utilsClient.createCaseRef());
+
+ // 为了演示先兼容小程序没属地问题,写死属地
+ if (ObjectUtils.isEmpty(caseInfo.getQueProv())) {
+// caseInfo.setQueProv("19");
+// caseInfo.setQueProvName("广东");
+// caseInfo.setQueCity("1601");
+// caseInfo.setQueCityName("广州市");
+// caseInfo.setQueArea("50258");
+// caseInfo.setQueAreaName("白云区");
+// caseInfo.setQueRoad("62857");
+// caseInfo.setQueRoadName("新市街道");
+
+ // 根据经纬度查询问题属地
+ QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat());
+ caseInfo.setQueProv(queAddrBaseDTO.getQueProv());
+ caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName());
+ caseInfo.setQueCity(queAddrBaseDTO.getQueCity());
+ caseInfo.setQueCityName(queAddrBaseDTO.getQueCityName());
+ caseInfo.setQueArea(queAddrBaseDTO.getQueArea());
+ caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName());
+ caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad());
+ caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName());
+ }
+ caseInfoUnfold.setId(caseInfo.getId());
+ caseInfoUnfold.setCreateTime(nowDate);
+ caseInfoUnfold.setUpdateTime(nowDate);
+
+ StringBuffer plaintiffs = new StringBuffer();
+ StringBuffer defendants = new StringBuffer();
+ StringBuffer pagents = new StringBuffer();
+ StringBuffer dagents = new StringBuffer();
+ // 常规登记-保存当事人
+ int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser);
+ caseInfo.setVisitPeopleNum(peopleNum);
+ caseInfo.setPlaintiffs(plaintiffs.toString());
+ caseInfo.setPagents(pagents.toString());
+ caseInfo.setDefendants(defendants.toString());
+ caseInfo.setDagents(dagents.toString());
+
+ //todo case_title生成
+// caseInfo.setCaseTitle(this.createCaseTitle(plaintiffs.toString(), defendants.toString(), caseInfo.getCaseTypeName()));
+
+ caseInfo.setInfoProcess(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getIndex());
+ caseInfo.setInfoProcessName(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getDes());
+ caseInfo.setProcess(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getIndex());
+ caseInfo.setProcessName(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getDes());
+ caseInfo.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
+ caseInfo.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
+ caseInfo.setCaseLevel(3);
+ caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex());
+ caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes());
+
+ caseInfo.setCaseRef(utilsClient.createCaseRef());
+ caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_2.getIndex());
+ caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_2.getDes());
+ // 临时加上一级纠纷类型
+ caseInfo.setCaseTypeFirst("24_01-2");
+ caseInfo.setCaseTypeFirstName("劳动社保");
+ this.saveOrUpdate(caseInfo);
+
+ caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold);
+ // 启动工作流-自动调度流程
+ caseTaskService.webStartFlowLFDJ(caseInfo);
+ return registerSaveDTO.getId();
+ }
+
+ /**
+ * 生成调解案件标题
+ * @param plaintiffs 申请人
+ * @param defendants 被申请人
+ * @param caseTypeName 纠纷类型
+ * @return String
+ */
+ public String createCaseTitle(String plaintiffs, String defendants, String caseTypeName){
+ StringBuffer caseTitle = new StringBuffer();
+ if (plaintiffs.indexOf(BaseConsts.COMMA) != -1){
+ caseTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]).append("等");
+ }else {
+ caseTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]);
+ }
+ if (StringUtils.isNotEmpty(defendants)) {
+ caseTitle.append("和");
+ if (defendants.indexOf(BaseConsts.COMMA) != -1) {
+ caseTitle.append(defendants.split(BaseConsts.COMMA)[0]).append("等");
+ } else {
+ caseTitle.append(defendants.split(BaseConsts.COMMA)[0]);
+ }
+ }
+ caseTitle.append("的");
+ if (StringUtils.isNotEmpty(caseTypeName)){
+ caseTitle.append(caseTypeName);
+ }
+ caseTitle.append("案件");
+ return caseTitle.toString();
}
/**
@@ -621,13 +695,13 @@
personService.saveOrUpdate(casePerson);
//添加申请方和被申请方人名组合
- if(CaseBaseConstsEnum.PERSON_TYPE_1.equals(casePerson.getPerType())){
+ if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
//申请方
if (StringUtils.isNotEmpty(plaintiffs.toString())) {
plaintiffs.append(BaseConsts.COMMA);
}
plaintiffs.append(casePerson.getTrueName());
- }else if(CaseBaseConstsEnum.PERSON_TYPE_2.equals(casePerson.getPerType())){
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
//被申请方
if (StringUtils.isNotEmpty(defendants.toString())) {
defendants.append(BaseConsts.COMMA);
@@ -649,16 +723,22 @@
caseAgent.setCreateTime(registerSaveDTO.getUpdateTime());
caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime());
agentService.saveOrUpdate(caseAgent);
-
- if (StringUtils.isNotEmpty(pagents.toString())) {
- pagents.append(BaseConsts.COMMA);
+ if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())){
+ if (StringUtils.isNotEmpty(pagents.toString())) {
+ pagents.append(BaseConsts.COMMA);
+ }
+ pagents.append(caseAgent.getTrueName());
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())){
+ if (StringUtils.isNotEmpty(dagents.toString())) {
+ dagents.append(BaseConsts.COMMA);
+ }
+ dagents.append(caseAgent.getTrueName());
}
- pagents.append(caseAgent.getTrueName());
+
}
//todo 绑定当事人小程序
}
}
-
return peopleNum;
}
@@ -726,6 +806,9 @@
caseInfoWeChatDTO.setMediResultName(caseInfoUnfold.getMediResultName());
caseInfoWeChatDTO.setMediateDeptId(caseInfoUnfold.getMediateDeptId());
caseInfoWeChatDTO.setMediateDeptName(caseInfoUnfold.getMediateDeptName());
+ caseInfoWeChatDTO.setAgreeType(caseInfoUnfold.getAgreeType());
+ caseInfoWeChatDTO.setAgreeTypeName(caseInfoUnfold.getAgreeTypeName());
+ caseInfoWeChatDTO.setAgreeContent(caseInfoUnfold.getAgreeContent());
}
QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>();
@@ -746,6 +829,18 @@
}
caseInfoWeChatDTO.setDefendantList(defendantList);
caseInfoWeChatDTO.setPlaintiffList(plaintiffList);
+ //评价信息
+ Map<String, Object> evaluateTerms = new HashMap<>();
+ evaluateTerms.put("caseId", caseInfo.getId());
+ evaluateTerms.put("deleteStatus", BaseConsts.DELETE_STATUS_0);
+ evaluateTerms.put("evaluateUserId", loginUser.getId());
+ long evaluateCount = caseEvaluateService.countTerms(evaluateTerms);
+ if(evaluateCount > 0){
+ caseInfoWeChatDTO.setIsEvaluate("1");
+ }else{
+ caseInfoWeChatDTO.setIsEvaluate("0");
+ }
+
list.add(caseInfoWeChatDTO);
}
}
--
Gitblit v1.8.0