From 6c2a01f6bc53b27805dbd514ac7ea83b58af2323 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Tue, 10 Sep 2024 20:34:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 107 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 89 insertions(+), 18 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 da5f4a4..46f624f 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
@@ -1,9 +1,7 @@
package cn.huge.module.cases.service;
import cn.huge.base.common.exception.ServiceException;
-import cn.huge.base.common.utils.DateUtils;
-import cn.huge.base.common.utils.IdUtils;
-import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.base.common.utils.*;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.po.CaseAgent;
@@ -20,8 +18,11 @@
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
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;
import org.apache.commons.collections.CollectionUtils;
@@ -197,8 +198,10 @@
caseInfo.setDagents(dagents.toString());
caseInfo.setCaseRef(utilsClient.createCaseRef());
caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex());
- caseInfo.setCaseDes(CaseBaseConstsEnum.CASE_CANAL_1.getDes());
- //todo case_title生成、经纬度转换、来访形式
+ caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes());
+ caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex());
+ caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.getDes());
+ //todo case_title生成、经纬度转换
if(0 == registerSaveDTO.getOperateType()){
caseInfo.setInputUnitId(loginUser.getUnitId());
caseInfo.setInputUnitName(loginUser.getUnitName());
@@ -272,13 +275,13 @@
//绑定当事人小程序
this.setPartyUserId(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);
@@ -306,12 +309,12 @@
caseAgent.setUpdateTime(now);
//绑定当事人小程序
this.setPartyUserId(caseAgent);
- if(CaseBaseConstsEnum.PERSON_TYPE_3.equals(caseAgent.getPerType())) {
+ 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.equals(caseAgent.getPerType())) {
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())) {
if (StringUtils.isNotEmpty(dagents.toString())) {
dagents.append(BaseConsts.COMMA);
}
@@ -534,7 +537,6 @@
StringBuffer defendants = new StringBuffer();
StringBuffer pagents = new StringBuffer();
StringBuffer dagents = new StringBuffer();
- int peopleNum = 0;
CaseInfo caseInfo = new CaseInfo();
CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
@@ -551,29 +553,85 @@
caseInfo.setUpdateTime(nowDate);
caseInfo.setVisitTime(nowDate);
caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- caseInfo.setProcess(1);
- caseInfo.setProcessName("来访登记");
- //todo case_ref生成、case_title生成
+ //坐标转换
+ 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);
// 常规登记-保存当事人
- peopleNum += this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser);
- caseInfo.setPeopleNum(peopleNum);
+ this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser);
caseInfo.setPlaintiffs(plaintiffs.toString());
caseInfo.setPagents(pagents.toString());
caseInfo.setDefendants(defendants.toString());
caseInfo.setDagents(dagents.toString());
- //todo 流程接口修改status、status_name、process、process_name
-
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);
}
+ }
+
+ /**
+ * 生成调解案件标题
+ * @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();
}
/**
@@ -669,14 +727,18 @@
* @return Page
*/
public Page<CaseInfoWeChatDTO> pageQueryWechat(String userId, PageRequest page, Map<String, Object> terms){
+ PaUserDTO loginUser = custClient.paclientGetUser(userId);
List<CaseInfoWeChatDTO> list = new ArrayList<>();
String personType = terms.get("personType")+"";
if(ObjectUtils.isEmpty(personType)){
throw new RuntimeException("请选择人员类型");
}
+ if(ObjectUtils.isEmpty(loginUser.getIdcard())){
+ return new PageImpl<CaseInfoWeChatDTO>(list, page, 0);
+ }
QueryWrapper<CasePerson> personWrapper = new QueryWrapper<>();
personWrapper.select("case_id");
- personWrapper.eq("party_user_id", userId);
+ personWrapper.eq("certi_no", loginUser.getIdcard());
if("1".equals(personType)){
personWrapper.eq("per_type",CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
}else {
@@ -696,6 +758,15 @@
BeanUtils.copyProperties(caseInfo, caseInfoWeChatDTO);
caseInfoWeChatDTO.setProcessStatus(caseInfo.getInfoProcess());
caseInfoWeChatDTO.setProcessStatusName(caseInfo.getInfoProcessName());
+ //扩展信息
+ CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseInfo.getId());
+ if(ObjectUtils.isNotEmpty(caseInfoUnfold)){
+ caseInfoWeChatDTO.setMediResult(caseInfoUnfold.getMediResult());
+ caseInfoWeChatDTO.setMediResultName(caseInfoUnfold.getMediResultName());
+ caseInfoWeChatDTO.setMediateDeptId(caseInfoUnfold.getMediateDeptId());
+ caseInfoWeChatDTO.setMediateDeptName(caseInfoUnfold.getMediateDeptName());
+ }
+
QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>();
personWrapper1.eq("case_id", caseInfo.getId());
List<CasePerson> casePersonList1 = personService.list(personWrapper1);
--
Gitblit v1.8.0