forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-11 b6fa58652c12f0c61409cc44dfd8ad78f821b6c6
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,10 @@
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;
@@ -553,9 +553,16 @@
            caseInfo.setUpdateTime(nowDate);
            caseInfo.setVisitTime(nowDate);
            caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
            //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 (caseInfo.getQueProvName() == null) {
            if (ObjectUtils.isEmpty(caseInfo.getQueProv())) {
                caseInfo.setQueProv("19");
                caseInfo.setQueProvName("广东");
                caseInfo.setQueCity("1601");
@@ -565,6 +572,16 @@
                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);
@@ -576,10 +593,6 @@
            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);
            // 启动工作流-自动调度流程
@@ -592,6 +605,36 @@
    }
    /**
     * 生成调解案件标题
     * @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();
    }
    /**
     * pc端-常规登记-保存正式案件-保存人员信息
     * @param registerSaveDTO 纠纷信息
     * @param plaintiffs 申请人