| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | //绑定当事人小程序 |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | |
| | | StringBuffer defendants = new StringBuffer(); |
| | | StringBuffer pagents = new StringBuffer(); |
| | | StringBuffer dagents = new StringBuffer(); |
| | | int peopleNum = 0; |
| | | |
| | | CaseInfo caseInfo = new CaseInfo(); |
| | | CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); |
| | |
| | | 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()); |
| | |
| | | * @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 { |
| | |
| | | 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); |