package cn.huge.module.casebook.service; import cn.huge.base.common.constant.ReturnConsts; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.*; import cn.huge.module.casebook.consts.ByCaseConstsEnum; import cn.huge.module.casebook.consts.ByCaseTypeEnum; import cn.huge.module.casebook.domain.dto.CaseBookPageDTO; import cn.huge.module.casebook.domain.dto.CaseImpErrorDTO; import cn.huge.module.casebook.domain.po.*; import cn.huge.module.cases.consts.CaseTaskConsts; import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.domain.vo.GenerateQrCodeRequestVo; import cn.huge.module.cases.service.*; import cn.huge.module.cases.utils.TaskUsetimeUtils; 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.casebook.dao.mapper.CasebookInfoMapper; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.flow.consts.FlowNodeEnum; import cn.huge.module.ftp.utils.FtpUtils; import cn.huge.module.mediate.constant.*; import cn.huge.module.sy.service.SyHolidayService; import cn.huge.module.syncbydyh.domain.po.SyCause; import cn.huge.module.syncbydyh.domain.po.ThirdCause; import cn.huge.module.syncbydyh.service.SyCauseService; import cn.huge.module.syncbydyh.service.ThirdCauseService; import cn.huge.module.sys.dto.FileInfoBaseDTO; import cn.huge.module.sys.dto.QueAddrBaseDTO; import cn.huge.module.utils.TimeUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; 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.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.*; /** * @title: dyh_casebook_info业务逻辑处理 * @Description dyh_casebook_info业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookInfoService extends ServiceImpl{ @Autowired private CasebookInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CustClientImpl custClient; @Autowired private SysClientImpl sysClient; @Autowired private CasebookInfoUnfoldService casebookInfoUnfoldService; @Autowired private CasebookPersonService casebookPersonService; @Autowired private CasebookAgentService casebookAgentService; @Autowired private CasebookMediatorService casebookMediatorService; @Autowired private CasebookFileService casebookFileService; @Autowired private ThirdCauseService thirdCauseService; @Autowired private SyCauseService syCauseService; @Autowired private CaseInfoService caseInfoService; @Autowired private CasePersonService casePersonService; @Autowired private CaseMediatorService caseMediatorService; @Autowired private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CaseTaskService caseTaskService; @Autowired private CaseWindupApplyService caseWindupApplyService; @Autowired private SyHolidayService syHolidayService; /** * 更新对象 * @param entity 对象 */ public void updateCasebookInfo(CasebookInfo entity){ try{ mapper.updateCasebookInfo(entity); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookInfoTerms(CasebookInfo entity, Map terms){ try{ mapper.updateCasebookInfoTerms(entity, terms); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfoTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookInfo(String id){ try{ mapper.deleteCasebookInfo(id); }catch (Exception e){ log.error("[CasebookInfoService.deleteCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteCasebookInfo", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(content, page, total); } /** * 新增或更新对象 * @param casebookInfo 实体对象 */ public void saveCasebookInfo(CasebookInfo casebookInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookInfo.getId())){ casebookInfo.setId(utilsClient.getNewTimeId()); casebookInfo.setCreateTime(nowDate); } casebookInfo.setUpdateTime(nowDate); this.saveOrUpdate(casebookInfo); }catch (Exception e){ log.error("[CasebookInfoService.saveCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.saveCasebookInfo", e); } } /** * 根据名称查询用户 * @param userName * @return */ public CtUserDTO getUserByName(String userName, String unitId){ List ctUserDTOList = mapper.listUserByName(userName, unitId); if (CollectionUtils.isNotEmpty(ctUserDTOList)){ return ctUserDTOList.get(0); }else { return null; } } /** * 条件分页查询-导入草稿 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageImportDraft(PageRequest page, Map terms){ long total = mapper.countImportDraft(terms); List content = mapper.pageImportDraft(page, terms); for (CaseBookPageDTO caseBookPageDTO: content){ // 查询协助调解员 QueryWrapper mediatorQueryWrapper = new QueryWrapper<>(); mediatorQueryWrapper.select("mediator_name") .eq("case_id", caseBookPageDTO.getId()) .eq("mediator_type", CaseBaseConsts.MEDIATOR_TYPE_1); List casebookMediatorList = casebookMediatorService.list(mediatorQueryWrapper); if (CollectionUtils.isNotEmpty(casebookMediatorList)){ StringBuffer mediatorName = new StringBuffer(); for (CasebookMediator casebookMediator: casebookMediatorList){ if (StringUtils.isNotBlank(mediatorName.toString())){ mediatorName.append(","); } mediatorName.append(casebookMediator.getMediatorName()); } caseBookPageDTO.setAssistMediator(mediatorName.toString()); } } return new PageImpl(content, page, total); } /** * 条件分页查询-导入成功 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageImportSuc(PageRequest page, Map terms){ long total = mapper.countImportSuc(terms); List content = mapper.pageImportSuc(page, terms); for (CaseBookPageDTO caseBookPageDTO: content){ // 查询协助调解员 QueryWrapper mediatorQueryWrapper = new QueryWrapper<>(); mediatorQueryWrapper.select("mediator_name") .eq("case_id", caseBookPageDTO.getId()) .eq("mediator_type", CaseBaseConsts.MEDIATOR_TYPE_1); List caseMediatorList = caseMediatorService.list(mediatorQueryWrapper); if (CollectionUtils.isNotEmpty(caseMediatorList)){ StringBuffer mediatorName = new StringBuffer(); for (CaseMediator caseMediator: caseMediatorList){ if (StringUtils.isNotBlank(mediatorName.toString())){ mediatorName.append(","); } mediatorName.append(caseMediator.getMediatorName()); } caseBookPageDTO.setAssistMediator(mediatorName.toString()); } } return new PageImpl(content, page, total); } /** * 案件导入-导入操作-通过Excel导入 * @param fileId * @param userId * @param request * @return */ public Object inputCaseByExcel(String fileId, String userId, HttpServletRequest request){ int row = 0; int cll = 0; int countFalse = 0; int countSuccess = 0; int all = 0; Date nowDate = DateUtils.getNowDate(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy/MM/dd"); SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年"); try{ CtUserDTO loginUser = custClient.clientGetUser(userId); Date checkDate = TimeUtils.after(nowDate, 1); // 获取上传文件 FileInfoBaseDTO fileInfo = sysClient.getFileInfoById(fileId); // 判断是否Excel表格 String fileSuffix = fileInfo.getSuffix(); if (".xls".equals(fileSuffix) || ".xlsx".equals(fileSuffix) || "xls".equals(fileSuffix) || "xlsx".equals(fileSuffix)) { // 判断重复导入判断是否继续,不为空继续 String adopt = request.getParameter("adopt"); // 判断是否近期内是否有重复导入 if(StringUtils.isBlank(adopt) && ObjectUtils.isNotEmpty(fileInfo)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStart = sdf.format(DateUtils.addDay(nowDate, -1)); Map caseBookFileTerms = new HashMap<>(); caseBookFileTerms.put("fileName", fileInfo.getTrueName()); caseBookFileTerms.put("fileSize", fileInfo.getSize()); caseBookFileTerms.put("userId", loginUser.getId()); caseBookFileTerms.put("createTimeStart", dateStart); List caseBookFileList = casebookFileService.listTerms(caseBookFileTerms); if(CollectionUtils.isNotEmpty(caseBookFileList)){ return ReturnFailUtils.getAesInfo(ReturnConsts.ERROR_5, "", null); } } // 解析Excel表格 Workbook wb = null; // 直接读取ftp方式 FtpUtils ftpUtil = new FtpUtils(); InputStream inputStream = ftpUtil.retrieveFileStream(fileInfo.getFullPath()); // 获取api操作对象 if (".xls".equals(fileSuffix)) { wb = new HSSFWorkbook(inputStream); } else { wb = new XSSFWorkbook(inputStream); } // 得到第一个shell Sheet sheet = wb.getSheetAt(0); // 得到Excel的行数 int totalRows = sheet.getPhysicalNumberOfRows(); // 报错信息集合 List reasonList = new ArrayList<>(); // 循环获取每行每列数据 for (int r = 3; r < totalRows; r++) { boolean ImpSuccess = true; List casebookPersonList = new ArrayList<>(); List casebookMediatorList = new ArrayList<>(); try { row = r; cll = 0; String info = this.transform(sheet, r, 0); if (info.indexOf("填表") != -1) { break; } String unit = this.transform(sheet, r, 1); if (StringUtils.isBlank(unit)){ break; } all++; //每行错误信息 List caseImpErrorDTOList = new ArrayList<>(); // 导入纠纷信息 CasebookInfo casebookInfo = new CasebookInfo(); casebookInfo.setId(utilsClient.getNewTimeId()); // 都是3级事件 casebookInfo.setCaseLevel(CaseBaseConsts.CASE_LEVEL_3); // 来访人数 casebookInfo.setVisitPeopleNum(1); // 事项来源 casebookInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); casebookInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); // 来访形式 casebookInfo.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(casebookInfo.getCanal()).getIndex()); casebookInfo.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(casebookInfo.getCanal()).getDes()); // 映射是否自行受理 casebookInfo.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_1); // 是否重大矛盾纠纷 casebookInfo.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_0); // 其他字段 casebookInfo.setInputUnitId(loginUser.getUnitId()); casebookInfo.setInputUnitName(loginUser.getUnitName()); casebookInfo.setInputUserId(loginUser.getId()); casebookInfo.setInputUserName(loginUser.getTrueName()); casebookInfo.setInputWay(CaseBaseConsts.INPUT_WAY_2); // 事项状态 casebookInfo.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); casebookInfo.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); // 事项进度 casebookInfo.setProcess(CaseProcessBaseConstsEnum.getByStatus(casebookInfo.getStatus()).getIndex()); casebookInfo.setProcessName(CaseProcessBaseConstsEnum.getByStatus(casebookInfo.getStatus()).getDes()); // 对外展示事项进度 casebookInfo.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(casebookInfo.getProcess()).getIndex()); casebookInfo.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(casebookInfo.getProcess()).getDes()); // 小程序是否可见 casebookInfo.setPartyShow(CaseBaseConsts.PARTY_SHOW_0); // 意向 casebookInfo.setWantUnitId(loginUser.getUnitId()); casebookInfo.setWantUnitName(loginUser.getUnitName()); casebookInfo.setCustId(loginUser.getCustId()); casebookInfo.setCreateTime(nowDate); casebookInfo.setUpdateTime(nowDate); // 导入纠纷信息扩展表 CasebookInfoUnfold casebookInfoUnfold = new CasebookInfoUnfold(); casebookInfoUnfold.setId(casebookInfo.getId()); // 实际调解组织 casebookInfoUnfold.setMediateUnitId(loginUser.getUnitId()); casebookInfoUnfold.setMediateUnitName(loginUser.getUnitName()); casebookInfoUnfold.setMediateDeptId(loginUser.getDeptId()); casebookInfoUnfold.setMediateDeptName(loginUser.getDeptName()); casebookInfoUnfold.setBelongUnitId(loginUser.getUnitId()); casebookInfoUnfold.setBelongUnitName(loginUser.getUnitName()); casebookInfoUnfold.setCustId(loginUser.getCustId()); casebookInfoUnfold.setCreateTime(nowDate); casebookInfoUnfold.setUpdateTime(nowDate); //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO14 = new CaseImpErrorDTO(); caseImpErrorDTO14.setColumn(14); // 纠纷受理时间、调解开始时间 try { cll = 14; Cell cell14 = sheet.getRow(r).getCell(14); if (cell14.getCellType() == CellType.NUMERIC) { Date acceptTime = this.transform1(sheet, r, 14); if(acceptTime.after(checkDate)){ caseImpErrorDTO14.setError("请填写正确的日期"); caseImpErrorDTOList.add(caseImpErrorDTO14); } casebookInfo.setVisitTime(acceptTime); casebookInfoUnfold.setAcceptTime(casebookInfo.getVisitTime()); casebookInfoUnfold.setMediStartTime(casebookInfo.getVisitTime()); } else { String acceptTime = this.transform(sheet, r, 14); if (StringUtils.isNotEmpty(acceptTime) && !"无".equals(acceptTime)){ if (acceptTime.indexOf("-") != -1) { casebookInfo.setVisitTime(sdf1.parse(acceptTime)); casebookInfoUnfold.setAcceptTime(casebookInfo.getVisitTime()); casebookInfoUnfold.setMediStartTime(casebookInfo.getVisitTime()); } if (acceptTime.indexOf("年") != -1) { casebookInfo.setVisitTime(sdf2.parse(acceptTime)); casebookInfoUnfold.setAcceptTime(casebookInfo.getVisitTime()); casebookInfoUnfold.setMediStartTime(casebookInfo.getVisitTime()); } if (acceptTime.indexOf("/") != -1) { casebookInfo.setVisitTime(sdf3.parse(acceptTime)); casebookInfoUnfold.setAcceptTime(casebookInfo.getVisitTime()); casebookInfoUnfold.setMediStartTime(casebookInfo.getVisitTime()); } if (acceptTime.indexOf(".") != -1) { casebookInfo.setVisitTime(sdf5.parse(acceptTime)); casebookInfoUnfold.setAcceptTime(casebookInfo.getVisitTime()); casebookInfoUnfold.setMediStartTime(casebookInfo.getVisitTime()); } if(ObjectUtils.isNotEmpty(casebookInfo.getVisitTime())){ if(casebookInfo.getVisitTime().after(checkDate)){ caseImpErrorDTO14.setError("请填写正确的日期"); caseImpErrorDTOList.add(caseImpErrorDTO14); } } } else { casebookInfoUnfold.setMediStartTime(nowDate); } } }catch (Exception e){ caseImpErrorDTO14.setError("纠纷受理时间数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO14); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO13 = new CaseImpErrorDTO(); caseImpErrorDTO13.setColumn(13); // 纠纷发生时间 try { cll = 13; Cell cell13 = sheet.getRow(r).getCell(13); if (cell13.getCellType() == CellType.NUMERIC) { Date occurTime = this.transform1(sheet, r, 13); //校验日期 if(occurTime.after(checkDate)){ caseImpErrorDTO13.setError("请填写正确的日期"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO13); } casebookInfo.setOccurTime(occurTime); } else { String occurTime = this.transform(sheet, r, 13); if (StringUtils.isNotEmpty(occurTime) && !"无".equals(occurTime)) { if (occurTime.indexOf("-") != -1) { casebookInfo.setOccurTime(sdf1.parse(occurTime)); } if (occurTime.indexOf("年") != -1) { casebookInfo.setOccurTime(sdf2.parse(occurTime)); } if (occurTime.indexOf("/") != -1) { casebookInfo.setOccurTime(sdf3.parse(occurTime)); } if(occurTime.indexOf(".") != -1){ casebookInfo.setOccurTime(sdf5.parse(occurTime)); } if(ObjectUtils.isNotEmpty(casebookInfo.getOccurTime())){ if(casebookInfo.getOccurTime().after(checkDate)){ caseImpErrorDTO13.setError("请填写正确的日期"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO13); } } } } }catch (Exception e){ caseImpErrorDTO13.setError("纠纷发生时间数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO13); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO6 = new CaseImpErrorDTO(); caseImpErrorDTO6.setColumn(6); // 纠纷类型名称、代码 try { cll = 6; String caseTypeName = this.transform(sheet, r, 6); caseTypeName = caseTypeName.replaceAll("\n", ""); if(caseTypeName.equals("婚姻家庭纠纷")){ caseTypeName = ByCaseTypeEnum.CASE_TYPE_5.getDes(); }else if(caseTypeName.equals("其他纠纷")){ caseTypeName = ByCaseTypeEnum.CASE_TYPE_17.getDes(); }else if(caseTypeName.equals("征地拆迁纠纷")){ caseTypeName = ByCaseTypeEnum.CASE_TYPE_16.getDes(); } String caseType = ByCaseTypeEnum.getIndex(caseTypeName); if(StringUtils.isBlank(caseType)){ caseImpErrorDTO6.setError("纠纷分类类型不正确"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO6); } QueryWrapper thirdCauseQueryWrapper = new QueryWrapper<>(); thirdCauseQueryWrapper.clear(); thirdCauseQueryWrapper.eq("third_code", caseType); ThirdCause thirdCause = thirdCauseService.getOne(thirdCauseQueryWrapper); if (ObjectUtils.isEmpty(thirdCause)){ caseImpErrorDTO6.setError("纠纷分类数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO6); } SyCause syCause = syCauseService.getById(thirdCause.getCauseCode()); if (ObjectUtils.isEmpty(syCause)){ caseImpErrorDTO6.setError("纠纷分类数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO6); } SyCause syCausePanrent = syCauseService.getById(syCause.getParentId()); if (ObjectUtils.isEmpty(syCausePanrent)){ caseImpErrorDTO6.setError("纠纷分类数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO6); } casebookInfo.setCaseType(syCause.getId()); casebookInfo.setCaseTypeName(syCause.getName()); casebookInfo.setCaseTypeFirst(syCausePanrent.getId()); casebookInfo.setCaseTypeFirstName(syCausePanrent.getName()); casebookInfo.setOldCaseType(caseType); casebookInfo.setOldCaseTypeName(caseTypeName); }catch (Exception e){ caseImpErrorDTO6.setError("纠纷分类数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO6); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO17 = new CaseImpErrorDTO(); caseImpErrorDTO17.setColumn(17); // 纠纷来源名称、代码 try { cll = 17; String sourceName = this.transform(sheet, r, 17); if(sourceName.equals("依法申请调解")){ sourceName = ByCaseConstsEnum.CASE_SOURCE_2.getDes(); } casebookInfo.setSource(ByCaseConstsEnum.getIndex(sourceName)); if(StringUtils.isBlank(ByCaseConstsEnum.getIndex(sourceName))){ caseImpErrorDTO17.setError("纠纷来源类型不正确"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO17); } casebookInfo.setSourceName(sourceName); }catch (Exception e){ caseImpErrorDTO17.setError("纠纷来源数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO17); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO16 = new CaseImpErrorDTO(); caseImpErrorDTO16.setColumn(16); // 涉及人数 try { cll = 16; String peopleNum = this.transform(sheet, r, 16); if (cn.huge.base.common.utils.StringUtils.isInteger(peopleNum)) { casebookInfo.setPeopleNum(Integer.valueOf(peopleNum)); } }catch (Exception e){ caseImpErrorDTO16.setError("涉及人数数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO16); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO15 = new CaseImpErrorDTO(); caseImpErrorDTO15.setColumn(15); // 涉及金额 try { cll = 15; String amount = this.transform(sheet, r, 15); if("无".equals(amount)){ casebookInfo.setAmount(0.0); }else if (cn.huge.base.common.utils.StringUtils.isDouble(amount)) { log.info("xsdamount:{}",amount); casebookInfo.setAmount(Double.valueOf(amount)); } }catch (Exception e){ caseImpErrorDTO15.setError("涉及金额数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO15); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO11 = new CaseImpErrorDTO(); caseImpErrorDTO11.setColumn(11); // 纠纷发生地 try { cll = 11; String villageName = this.transform(sheet, r, 11); if(!"无".equals(villageName)){ // 根据地址查询问题属地 QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiAddr(villageName); log.info("xsdqueAddrBaseDTO:{}", queAddrBaseDTO); casebookInfo.setQueProv(queAddrBaseDTO.getQueProv()); casebookInfo.setQueProvName(queAddrBaseDTO.getQueProvName()); casebookInfo.setQueCity(queAddrBaseDTO.getQueCity()); casebookInfo.setQueCityName(queAddrBaseDTO.getQueCityName()); casebookInfo.setQueArea(queAddrBaseDTO.getQueArea()); casebookInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName()); casebookInfo.setQueRoad(queAddrBaseDTO.getQueRoad()); casebookInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName()); } }catch (Exception e){ caseImpErrorDTO11.setError("纠纷发生地数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO11); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO12 = new CaseImpErrorDTO(); caseImpErrorDTO12.setColumn(12); // 纠纷发生地详细地址 try { cll = 12; String addr = this.transform(sheet, r, 12); if(!"无".equals(addr)){ casebookInfo.setAddr(addr); } }catch (Exception e){ caseImpErrorDTO12.setError("纠纷发生地详细地址数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO12); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO9 = new CaseImpErrorDTO(); caseImpErrorDTO9.setColumn(9); // 纠纷描述 try { cll = 9; casebookInfo.setCaseDes(this.transform(sheet, r, 9)); }catch (Exception e){ caseImpErrorDTO9.setError("纠纷描述数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO9); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO10 = new CaseImpErrorDTO(); caseImpErrorDTO10.setColumn(10); // 调解请求 try { cll = 10; casebookInfo.setCaseClaim(this.transform(sheet, r, 10)); }catch (Exception e){ caseImpErrorDTO10.setError("调解请求数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO10); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO7 = new CaseImpErrorDTO(); caseImpErrorDTO7.setColumn(7); // 当事人申请人名称,多个用,隔开 try { cll = 7; String plaintiffs = this.transform(sheet, r, 7); StringBuffer pSb = new StringBuffer(); if (StringUtils.isNotEmpty(plaintiffs) && !"无".equals(plaintiffs)) { if (plaintiffs.indexOf(BaseConsts.COMMA) != -1 || plaintiffs.indexOf(BaseConsts.COMMA_ZW) != -1 || plaintiffs.indexOf(BaseConsts.DUN) != -1 || plaintiffs.indexOf(BaseConsts.SHU) != -1) { String[] plaintiffList = plaintiffs.replace(BaseConsts.COMMA_ZW, BaseConsts.COMMA). replace(BaseConsts.DUN, BaseConsts.COMMA).replace(BaseConsts.SHU, BaseConsts.COMMA).split(BaseConsts.COMMA); for (String plaintiff : plaintiffList) { CasebookPerson casebookPerson = new CasebookPerson(); casebookPerson.setId(utilsClient.getNewTimeId()); casebookPerson.setCaseId(casebookInfo.getId()); casebookPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex()); casebookPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes()); if (plaintiff.indexOf(BaseConsts.HENG_ZW) != -1 || plaintiff.indexOf(BaseConsts.HENG_YW) != -1 || plaintiff.indexOf(BaseConsts.JIN) != -1) { String[] nameMobileCertiNo = plaintiff.replace(BaseConsts.HENG_ZW, BaseConsts.HENG_YW). replace(BaseConsts.JIN, BaseConsts.HENG_YW).split(BaseConsts.HENG_YW); String trueName = nameMobileCertiNo[0]; if(!trueName.matches("^[0-9]+$")){ if (trueName.length() <= 4) { casebookPerson.setTrueName(trueName); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (trueName.indexOf(BaseConsts.ZKH_YW) != -1 || trueName.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = trueName.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(trueName); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } if (nameMobileCertiNo.length > 1) { if (nameMobileCertiNo[1].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[1].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[1]); } } else { if (nameMobileCertiNo[1].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[1]); } } } } if (nameMobileCertiNo.length > 2) { if (nameMobileCertiNo[2].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[2].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[2]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[2]); } } } } }else { caseImpErrorDTO7.setError("申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO7); } } else { if(!plaintiff.matches("^[0-9]+$")) { if (plaintiff.length() <= 4) { casebookPerson.setTrueName(plaintiff); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (plaintiff.indexOf(BaseConsts.ZKH_YW) != -1 || plaintiff.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = plaintiff.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(plaintiff); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } }else{ caseImpErrorDTO7.setError("申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO7); } } casebookPerson.setCreateTime(casebookInfo.getCreateTime()); casebookPerson.setUpdateTime(casebookInfo.getUpdateTime()); casebookPerson.setCustId(casebookInfo.getCustId()); casebookPersonList.add(casebookPerson); // 拼接当事人名称 if (StringUtils.isNotEmpty(pSb.toString())) { pSb.append(BaseConsts.COMMA); } pSb.append(casebookPerson.getTrueName()); } } else { CasebookPerson casebookPerson = new CasebookPerson(); casebookPerson.setId(utilsClient.getNewTimeId()); casebookPerson.setCaseId(casebookInfo.getId()); casebookPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex()); casebookPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes()); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); if (plaintiffs.indexOf(BaseConsts.HENG_ZW) != -1 || plaintiffs.indexOf(BaseConsts.HENG_YW) != -1 || plaintiffs.indexOf(BaseConsts.JIN) != -1) { String[] nameMobileCertiNo = plaintiffs.replace(BaseConsts.HENG_ZW, BaseConsts.HENG_YW). replace(BaseConsts.JIN, BaseConsts.HENG_YW).split(BaseConsts.HENG_YW); String trueName = nameMobileCertiNo[0]; if(!trueName.matches("^[0-9]+$")) { if (trueName.length() <= 4) { casebookPerson.setTrueName(trueName); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (trueName.indexOf(BaseConsts.ZKH_YW) != -1 || trueName.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = trueName.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(trueName); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } if (nameMobileCertiNo.length > 1) { if (nameMobileCertiNo[1].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[1].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[1]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[1]); } } } } if (nameMobileCertiNo.length > 2) { if (nameMobileCertiNo[2].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[2].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[2]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[2]); } } } } }else{ caseImpErrorDTO7.setError("申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO7); } } else { if(!plaintiffs.matches("^[0-9]+$")){ if (plaintiffs.length() <= 4) { casebookPerson.setTrueName(plaintiffs); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (plaintiffs.indexOf(BaseConsts.ZKH_YW) != -1 || plaintiffs.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = plaintiffs.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(plaintiffs); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } }else { caseImpErrorDTO7.setError("申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO7); } } casebookPerson.setCreateTime(casebookInfo.getCreateTime()); casebookPerson.setUpdateTime(casebookInfo.getUpdateTime()); casebookPerson.setCustId(casebookInfo.getCustId()); casebookPersonList.add(casebookPerson); // 拼接当事人名称 if (StringUtils.isNotEmpty(pSb.toString())) { pSb.append(BaseConsts.COMMA); } pSb.append(casebookPerson.getTrueName()); } } casebookInfo.setPlaintiffs(pSb.toString()); }catch (Exception e){ caseImpErrorDTO7.setError("申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO7); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO8 = new CaseImpErrorDTO(); caseImpErrorDTO8.setColumn(8); // 当事人被申请人名称,多个用,隔开 try{ cll = 8; String defendants = this.transform(sheet, r, 8); StringBuffer dSb = new StringBuffer(); if (StringUtils.isNotEmpty(defendants) && !"无".equals(defendants)) { if (defendants.indexOf(BaseConsts.COMMA) != -1 || defendants.indexOf(BaseConsts.COMMA_ZW) != -1 || defendants.indexOf(BaseConsts.DUN) != -1 || defendants.indexOf(BaseConsts.SHU) != -1) { String[] defendantList = defendants.replace(BaseConsts.COMMA_ZW, BaseConsts.COMMA). replace(BaseConsts.DUN, BaseConsts.COMMA).replace(BaseConsts.SHU, BaseConsts.COMMA).split(BaseConsts.COMMA); for (String defendant : defendantList) { CasebookPerson casebookPerson = new CasebookPerson(); casebookPerson.setId(utilsClient.getNewTimeId()); casebookPerson.setCaseId(casebookInfo.getId()); casebookPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex()); casebookPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes()); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); if (defendant.indexOf(BaseConsts.HENG_ZW) != -1 || defendant.indexOf(BaseConsts.HENG_YW) != -1 || defendant.indexOf(BaseConsts.JIN) != -1) { String[] nameMobileCertiNo = defendant.replace(BaseConsts.HENG_ZW, BaseConsts.HENG_YW). replace(BaseConsts.JIN, BaseConsts.HENG_YW).split(BaseConsts.HENG_YW); String trueName = nameMobileCertiNo[0]; if(!trueName.matches("^[0-9]+$")) { if (trueName.length() <= 4) { casebookPerson.setTrueName(trueName); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (trueName.indexOf(BaseConsts.ZKH_YW) != -1 || trueName.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = trueName.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(trueName); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } if (nameMobileCertiNo.length > 1) { if (nameMobileCertiNo[1].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[1].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[1]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[1]); } } } } if (nameMobileCertiNo.length > 2) { if (nameMobileCertiNo[2].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[2].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[2]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[2]); } } } } }else{ caseImpErrorDTO8.setError("被申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO8); } } else { if(!defendants.matches("^[0-9]+$")){ casebookPerson.setTrueName(defendant); }else{ caseImpErrorDTO8.setError("被申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO8); } } casebookPerson.setCreateTime(casebookInfo.getCreateTime()); casebookPerson.setUpdateTime(casebookInfo.getUpdateTime()); casebookPerson.setCustId(casebookInfo.getCustId()); casebookPersonList.add(casebookPerson); // 拼接当事人名称 if (StringUtils.isNotEmpty(dSb.toString())) { dSb.append(BaseConsts.COMMA); } dSb.append(casebookPerson.getTrueName()); } } else { CasebookPerson casebookPerson = new CasebookPerson(); casebookPerson.setId(utilsClient.getNewTimeId()); casebookPerson.setCaseId(casebookInfo.getId()); casebookPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex()); casebookPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes()); if (defendants.indexOf(BaseConsts.HENG_ZW) != -1 || defendants.indexOf(BaseConsts.HENG_YW) != -1 || defendants.indexOf(BaseConsts.JIN) != -1) { String[] nameMobileCertiNo = defendants.replace(BaseConsts.HENG_ZW, BaseConsts.HENG_YW). replace(BaseConsts.JIN, BaseConsts.HENG_YW).split(BaseConsts.HENG_YW); String trueName = nameMobileCertiNo[0]; if(!trueName.matches("^[0-9]+$")) { if (trueName.length() <= 4) { casebookPerson.setTrueName(trueName); casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_1.getDes()); } else { if (trueName.indexOf(BaseConsts.ZKH_YW) != -1 || trueName.indexOf(BaseConsts.ZKH_ZW) != -1) { String[] trueNames = trueName.replace(BaseConsts.ZKH_YW, BaseConsts.COMMA).replace(BaseConsts.ZKH_ZW, BaseConsts.COMMA).split(BaseConsts.COMMA); casebookPerson.setTrueName(trueNames[0]); casebookPerson.setDeputy(trueNames[1].replace(BaseConsts.YKH_YW, "").replace(BaseConsts.YKH_ZW, "")); } else { casebookPerson.setTrueName(trueName); } casebookPerson.setPerClass(CaseBaseConstsEnum.PERSON_CLASS_2.getIndex()); casebookPerson.setPerClassName(CaseBaseConstsEnum.PERSON_CLASS_2.getDes()); } if (nameMobileCertiNo.length > 1) { if (nameMobileCertiNo[1].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[1].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[1]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[1]); } } } } if (nameMobileCertiNo.length > 2) { if (nameMobileCertiNo[2].length() <= 11) { casebookPerson.setMobile(nameMobileCertiNo[1]); } else { if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casebookPerson.getPerClass())) { if (nameMobileCertiNo[2].indexOf("当事人未提供") != -1) { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getIndex()); casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_17.getDes()); } else { casebookPerson.setCertiType(CaseBaseConstsEnum.CARD_TYPE_1.getIndex()); casebookPerson.setCertiTypeName(CaseBaseConstsEnum.CARD_TYPE_1.getDes()); casebookPerson.setCertiNo(nameMobileCertiNo[2]); } } else { if (nameMobileCertiNo[2].indexOf("当事人未提供") == -1) { casebookPerson.setOrgaCode(nameMobileCertiNo[2]); } } } } }else{ caseImpErrorDTO8.setError("被申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO8); } } else { if(!defendants.matches("^[0-9]+$")) { casebookPerson.setTrueName(defendants); }else{ caseImpErrorDTO8.setError("被申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO8); } } casebookPerson.setCreateTime(casebookInfo.getCreateTime()); casebookPerson.setUpdateTime(casebookInfo.getUpdateTime()); casebookPerson.setCustId(casebookInfo.getCustId()); casebookPersonList.add(casebookPerson); // 拼接当事人名称 if (StringUtils.isNotEmpty(dSb.toString())) { dSb.append(BaseConsts.COMMA); } dSb.append(casebookPerson.getTrueName()); } } casebookInfo.setDefendants(dSb.toString()); }catch (Exception e){ caseImpErrorDTO8.setError("被申请人数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO8); } // 案件标题 casebookInfo.setCaseTitle(this.createCaseTitle(casebookInfo.getPlaintiffs(), casebookInfo.getDefendants(), casebookInfo.getCaseTypeName())); //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO4 = new CaseImpErrorDTO(); caseImpErrorDTO4.setColumn(4); // 意向调解员、实际调解员 try { cll = 4; String mediator = this.transform(sheet, r, 4); CtUserDTO ctUserDTO = null; if (StringUtils.isNotEmpty(mediator)) { ctUserDTO = this.getUserByName(mediator, loginUser.getUnitId()); if (ObjectUtils.isNotEmpty(ctUserDTO)) { casebookInfo.setWantUserId(ctUserDTO.getId()); casebookInfo.setWantUserName(ctUserDTO.getTrueName()); casebookInfoUnfold.setMediator(ctUserDTO.getTrueName()); casebookInfoUnfold.setMediatorId(ctUserDTO.getId()); casebookInfoUnfold.setMediatorMobile(ctUserDTO.getMobile()); // 保存调解员信息 CasebookMediator casebookMediator = new CasebookMediator(); casebookMediator.setId(utilsClient.getNewTimeId()); casebookMediator.setCaseId(casebookInfo.getId()); casebookMediator.setMediatorType(CaseBaseConsts.MEDIATOR_TYPE_0); casebookMediator.setMediatorId(ctUserDTO.getId()); casebookMediator.setMediatorName(ctUserDTO.getTrueName()); casebookMediator.setUnitId(ctUserDTO.getUnitId()); casebookMediator.setUnitName(ctUserDTO.getUnitName()); casebookMediator.setCreateTime(casebookInfo.getCreateTime()); casebookMediator.setUpdateTime(casebookInfo.getUpdateTime()); casebookMediatorList.add(casebookMediator); } else { caseImpErrorDTO4.setError("调解员"+mediator+"不存在"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO4); } } }catch (Exception e){ caseImpErrorDTO4.setError("调解员数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO4); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO21 = new CaseImpErrorDTO(); caseImpErrorDTO21.setColumn(21); // 调解结束时间 try{ cll = 21; Cell cell21 = sheet.getRow(r).getCell(21); if (cell21.getCellType() == CellType.NUMERIC) { Date mediEndTime = this.transform1(sheet, r, 21); casebookInfoUnfold.setMediEndTime(mediEndTime); casebookInfoUnfold.setCloseTime(mediEndTime); //校验日期 if(mediEndTime.after(checkDate)){ caseImpErrorDTO21.setError("请填写正确的日期"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO21); } } else { String mediEndTime = this.transform(sheet, r, 21); if (StringUtils.isNotEmpty(mediEndTime) && !"无".equals(mediEndTime)){ if (mediEndTime.indexOf("-") != -1) { casebookInfoUnfold.setMediEndTime(sdf1.parse(mediEndTime)); casebookInfoUnfold.setCloseTime(sdf1.parse(mediEndTime)); } if (mediEndTime.indexOf("年") != -1) { casebookInfoUnfold.setMediEndTime(sdf2.parse(mediEndTime)); casebookInfoUnfold.setCloseTime(sdf1.parse(mediEndTime)); } if (mediEndTime.indexOf("/") != -1) { casebookInfoUnfold.setMediEndTime(sdf3.parse(mediEndTime)); casebookInfoUnfold.setCloseTime(sdf1.parse(mediEndTime)); } if (mediEndTime.indexOf(".") != -1) { casebookInfoUnfold.setMediEndTime(sdf5.parse(mediEndTime)); casebookInfoUnfold.setCloseTime(sdf1.parse(mediEndTime)); } if(ObjectUtils.isNotEmpty(casebookInfoUnfold.getMediEndTime())){ if(casebookInfoUnfold.getMediEndTime().after(checkDate)){ caseImpErrorDTO21.setError("请填写正确的日期"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO21); } } } } }catch (Exception e){ caseImpErrorDTO21.setError("化解时间数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO21); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO18 = new CaseImpErrorDTO(); caseImpErrorDTO18.setColumn(18); // 调解结果编码、名称 try{ cll = 18; String mediResultName = this.transform(sheet, r, 18); if (StringUtils.isNotEmpty(mediResultName)) { if(mediResultName.indexOf("成功") != -1){ mediResultName = "化解成功"; }else if((mediResultName.indexOf("不成功") != -1) || (mediResultName.indexOf("失败") != -1)){ mediResultName = "化解不成功"; } if(StringUtils.isBlank(MediResultBaseConstsEnum.getIndex(mediResultName))){ caseImpErrorDTO18.setError("调解结果类型不正确"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO18); } casebookInfoUnfold.setMediResult(MediResultBaseConstsEnum.getIndex(mediResultName)); casebookInfoUnfold.setMediResultName(mediResultName); } }catch (Exception e){ caseImpErrorDTO18.setError("调解结果数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO18); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO19 = new CaseImpErrorDTO(); caseImpErrorDTO18.setColumn(19); // 达成协议 try{ cll = 19; String agreeContent = this.transform(sheet, r, 19); if(!"无".equals(agreeContent)){ casebookInfoUnfold.setAgreeContent(agreeContent); casebookInfoUnfold.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_1.getIndex()); casebookInfoUnfold.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_1.getDes()); } }catch (Exception e){ caseImpErrorDTO19.setError("协议数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO19); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO27 = new CaseImpErrorDTO(); caseImpErrorDTO27.setColumn(27); // 调解备注 try{ cll = 27; String mediContent = this.transform(sheet, r, 27); if(!"无".equals(mediContent)){ casebookInfoUnfold.setWindupContent(mediContent); } }catch (Exception e){ caseImpErrorDTO27.setError("案件备注数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO27); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO26 = new CaseImpErrorDTO(); caseImpErrorDTO26.setColumn(26); // 是否重大矛盾纠纷 try{ cll = 26; String majorStatus = this.transform(sheet, r, 26); if("是".equals(majorStatus)){ casebookInfo.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_1); }else { casebookInfo.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_0); } }catch (Exception e){ caseImpErrorDTO26.setError("是否重大矛盾纠纷数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO26); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO22 = new CaseImpErrorDTO(); caseImpErrorDTO22.setColumn(22); // 是否转诉讼案件 try{ cll = 22; String civilStatusName = this.transform(sheet, r, 22); if (StringUtils.isNotEmpty(civilStatusName)) { if ("是".equals(civilStatusName)) { casebookInfoUnfold.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_1); } else { casebookInfoUnfold.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_0); } } }catch (Exception e){ caseImpErrorDTO22.setError("是否通过平台转诉讼数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO22); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO23 = new CaseImpErrorDTO(); caseImpErrorDTO23.setColumn(23); // 是否申请司法确认 try{ cll = 23; String judicApplyName = this.transform(sheet, r, 23); if (StringUtils.isNotEmpty(judicApplyName)) { casebookInfoUnfold.setJudicApply(CaseBaseConsts.JUDIC_APPLY_0); // if ("是".equals(judicApplyName)) { // casebookInfoUnfold.setJudicApply(CaseBaseConsts.JUDIC_APPLY_1); // casebookInfoUnfold.setJudicResult(JudicBaseConstsEnum.JUDIC_RESULT_1.getIndex()); // casebookInfoUnfold.setJudicResultName(JudicBaseConstsEnum.JUDIC_RESULT_1.getDes()); // } else { // casebookInfoUnfold.setJudicApply(CaseBaseConsts.JUDIC_APPLY_0); // } } }catch (Exception e){ caseImpErrorDTO23.setError("是否申请司法确认数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO23); } casebookInfoUnfold.setFileStatus(CaseBaseConsts.FILE_STATUS_1); casebookInfoUnfold.setFileUserId(loginUser.getId()); casebookInfoUnfold.setFileUserName(loginUser.getTrueName()); casebookInfoUnfold.setFileTime(casebookInfoUnfold.getMediEndTime()); casebookInfoUnfold.setFileYear(sdf4.format(nowDate)); //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO20 = new CaseImpErrorDTO(); caseImpErrorDTO20.setColumn(20); // 履行情况 try{ cll = 20; String fulfilSituName = this.transform(sheet, r, 20); if(fulfilSituName.equals("现场履行")){ fulfilSituName = ByCaseConstsEnum.FULFIL_STATUS_2.getDes(); }; if (StringUtils.isNotEmpty(fulfilSituName) && !"无".equals(fulfilSituName)) { casebookInfoUnfold.setFulfilSituName(fulfilSituName); if(StringUtils.isBlank(ByCaseConstsEnum.getIndex(fulfilSituName))){ caseImpErrorDTO20.setError("履行情况类型不正确"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO20); } casebookInfoUnfold.setFulfilSitu(ByCaseConstsEnum.getIndex(fulfilSituName)); } }catch (Exception e){ caseImpErrorDTO20.setError("履行情况数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO20); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO24 = new CaseImpErrorDTO(); caseImpErrorDTO24.setColumn(24); // 回访情况、回访状态 try{ cll = 24; String visitContent = this.transform(sheet, r, 24); if (StringUtils.isNotEmpty(visitContent)) { casebookInfoUnfold.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_1); casebookInfoUnfold.setVisitUpContent(visitContent); } }catch (Exception e){ caseImpErrorDTO24.setError("回访情况数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO24); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO25 = new CaseImpErrorDTO(); caseImpErrorDTO25.setColumn(25); // 当事人是否满意 try { cll = 25; String partyJoyName = this.transform(sheet, r, 25); if (StringUtils.isNotEmpty(partyJoyName)) { if ("是".equals(partyJoyName)) { casebookInfoUnfold.setPartyJoy(CaseBaseConsts.PARTY_JOY_1); } else { casebookInfoUnfold.setPartyJoy(CaseBaseConsts.PARTY_JOY_0); } } }catch (Exception e){ caseImpErrorDTO25.setError("回访情况数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO25); } //创建错误信息对象 CaseImpErrorDTO caseImpErrorDTO5 = new CaseImpErrorDTO(); caseImpErrorDTO5.setColumn(5); // 导入协助调解员信息 try { cll = 5; String assMediatorNameStr = this.transform(sheet, r, 5); if (StringUtils.isNotEmpty(assMediatorNameStr) && !"无".equals(assMediatorNameStr)) { StringBuffer assistUnitId = new StringBuffer(); StringBuffer assistUnitName = new StringBuffer(); String[] assMediatorNames = assMediatorNameStr.replace(BaseConsts.COMMA_ZW, BaseConsts.COMMA). replace(BaseConsts.DUN, BaseConsts.COMMA).split(BaseConsts.COMMA); for (String assMediatorName : assMediatorNames) { CtUserDTO assUserDTO = this.getUserByName(assMediatorName, loginUser.getUnitId()); CasebookMediator casebookMediator = new CasebookMediator(); if (ObjectUtils.isNotEmpty(assUserDTO)) { casebookMediator.setId(utilsClient.getNewTimeId()); casebookMediator.setCaseId(casebookInfo.getId()); casebookMediator.setMediatorType(CaseBaseConsts.MEDIATOR_TYPE_1); casebookMediator.setMediatorId(assUserDTO.getId()); casebookMediator.setMediatorName(assUserDTO.getTrueName()); casebookMediator.setUnitId(assUserDTO.getUnitId()); casebookMediator.setUnitName(assUserDTO.getUnitName()); casebookMediator.setCreateTime(casebookInfo.getCreateTime()); casebookMediator.setUpdateTime(casebookInfo.getUpdateTime()); casebookMediatorList.add(casebookMediator); if (assistUnitId.length() > 0){ assistUnitId.append(BaseConsts.COMMA).append(assUserDTO.getUnitId()); assistUnitName.append(BaseConsts.COMMA).append(assUserDTO.getUnitName()); }else { assistUnitId.append(assUserDTO.getUnitId()); assistUnitName.append(assUserDTO.getUnitName()); } } else { caseImpErrorDTO25.setError("协助调解员"+assMediatorName+"不存在"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO25); } } } }catch (Exception e){ caseImpErrorDTO25.setError("协助调解员数据格式错误"); ImpSuccess = false; caseImpErrorDTOList.add(caseImpErrorDTO25); } Map result = new HashMap<>(); result.put("row", all); String reason = new String(); int index = 1; for(CaseImpErrorDTO caseImpErrorDTO :caseImpErrorDTOList){ if(StringUtils.isNotBlank(reason)){ reason = reason +" /"+"序号"+caseImpErrorDTO.getColumn()+":"+caseImpErrorDTO.getError(); }else{ reason = "(" + all + ")" + "序号" + caseImpErrorDTO.getColumn() + ":" + caseImpErrorDTO.getError(); } if(index == caseImpErrorDTOList.size()){ reasonList.add(reason); } index++; } if(ImpSuccess){ this.save(casebookInfo); casebookInfoUnfoldService.save(casebookInfoUnfold); casebookPersonService.saveBatch(casebookPersonList); casebookMediatorService.saveBatch(casebookMediatorList); countSuccess++; }else{ throw new Exception(); } } catch (Exception e) { log.error(e.getMessage(), e); countFalse++; } } // 实例化数据库 if (countFalse != all) { CasebookFile casebookFile = new CasebookFile(); casebookFile.setFileName(fileInfo.getTrueName()); casebookFile.setFileSize(String.valueOf(fileInfo.getSize())); casebookFile.setUserId(loginUser.getId()); casebookFile.setUserName(loginUser.getTrueName()); casebookFile.setCreateTime(nowDate); casebookFile.setUpdateTime(nowDate); casebookFile.setId(utilsClient.getNewTimeId()); casebookFile.setCustId(loginUser.getCustId()); casebookFileService.save(casebookFile); } // 封装返回数据 Map result = new HashMap<>(); result.put("countSuccess", countSuccess); result.put("countFalse", countFalse); result.put("countFalseContent", reasonList); return ReturnSucUtils.getRepInfo(result); }else{ return ReturnFailUtils.getAesInfo("上传文件格式不正确", null); } }catch (Exception e){ log.error("[CasebookInfoService.inputCaseByExcel]调用失败,异常信息:"+e, e); return ReturnFailUtils.getAesInfo("您导入Excel的内容不正确"); } } /** * 获取单元格数据 * @param sheet * @param r * @param c * @return */ public String transform(Sheet sheet, int r, int c){ if (ObjectUtils.isNotEmpty(sheet)) { Cell cell = sheet.getRow(r).getCell(c); if (ObjectUtils.isNotEmpty(cell)) { cell.setCellType(CellType.STRING); String val = cell.getStringCellValue(); return val.replace(" ", ""); }else { return null; } }else { return null; } } /** * 获取单元格数据 * @param sheet * @param r * @param c * @return */ public Date transform1(Sheet sheet, int r, int c){ if (ObjectUtils.isNotEmpty(sheet)) { Cell cell = sheet.getRow(r).getCell(c); if (ObjectUtils.isNotEmpty(cell)) { Date val = cell.getDateCellValue(); return val; }else { return null; } }else { return null; } } /** * 生成调解案件标题 * @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(); } /** * 案件导入-删除草稿 * @param idList * @return */ public void deleteDraft(List idList){ try{ QueryWrapper caseBookQueryWrapper = new QueryWrapper<>(); caseBookQueryWrapper.in("id", idList); this.remove(caseBookQueryWrapper); QueryWrapper casebookAgentQueryWrapper = new QueryWrapper<>(); casebookAgentQueryWrapper.in("case_id", idList); casebookAgentService.remove(casebookAgentQueryWrapper); QueryWrapper casebookPersonQueryWrapper = new QueryWrapper<>(); casebookPersonQueryWrapper.in("case_id", idList); casebookPersonService.remove(casebookPersonQueryWrapper); QueryWrapper casebookMediatorQueryWrapper = new QueryWrapper<>(); casebookMediatorQueryWrapper.in("case_id", idList); casebookMediatorService.remove(casebookMediatorQueryWrapper); }catch (Exception e){ log.error("[CasebookInfoService.deleteDraft]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteDraft", e); } } /** * 案件导入-草稿转入正式案件 * @param idList * @return */ public void importToCase(List idList, String userId){ try{ // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); Date nowDate = DateUtils.getNowDate(); // 查询纠纷信息 QueryWrapper caseBookQueryWrapper = new QueryWrapper<>(); caseBookQueryWrapper.in("id", idList); List casebookInfoList = this.list(caseBookQueryWrapper); List caseInfoList = new ArrayList<>(); List caseInfoUnfoldList = new ArrayList<>(); // 当事人信息集合 List casebookPersonList = new ArrayList<>(); for(CasebookInfo casebookInfo: casebookInfoList){ // 保存纠纷信息扩展表 CasebookInfoUnfold casebookInfoUnfold = casebookInfoUnfoldService.getById(casebookInfo.getId()); CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); BeanUtils.copyProperties(casebookInfoUnfold, caseInfoUnfold); caseInfoUnfold.setCreateTime(nowDate); caseInfoUnfold.setUpdateTime(nowDate); caseInfoUnfoldList.add(caseInfoUnfold); // 查询调解员 CtUserDTO ctUserDTO = null; ctUserDTO = this.getUserByName(casebookInfoUnfold.getMediator(), loginUser.getUnitId()); // 保存所有案件 CaseInfo caseInfo = new CaseInfo(); BeanUtils.copyProperties(casebookInfo, caseInfo); // 生成事项编号 CtUnitDTO ctUnitDTO = custClient.getUnitById(casebookInfoUnfold.getMediateUnitId()); GenerateQrCodeRequestVo generateQrCodeRequestVo = new GenerateQrCodeRequestVo(); generateQrCodeRequestVo.setId(caseInfo.getId()); generateQrCodeRequestVo.setBusinessSource("02"); generateQrCodeRequestVo.setGenerateUnifiedCode(true); generateQrCodeRequestVo.setInfoSource("03"); String area = caseInfoService.formatGridCode(ctUnitDTO.getArea()); generateQrCodeRequestVo.setGridCode(area); caseInfo.setCaseRef(sysClient.getCaseRefByGenerateQrCode(generateQrCodeRequestVo)); // 生成调解案号 caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); caseInfo.setCreateTime(nowDate); caseInfo.setUpdateTime(nowDate); caseInfoList.add(caseInfo); // 保存所有当事人 QueryWrapper casebookPersonQueryWrapper = new QueryWrapper<>(); casebookPersonQueryWrapper.eq("case_id", casebookInfo.getId()); List casePersonBookList = casebookPersonService.list(casebookPersonQueryWrapper); casebookPersonList.addAll(casePersonBookList); // 创建并完成待受理节点任务 CaseTask dslCaseTask = new CaseTask(); dslCaseTask.setId(utilsClient.getNewTimeId()); dslCaseTask.setCaseId(caseInfo.getId()); dslCaseTask.setNodeType(1); dslCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_DSL.getIndex()); dslCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_DSL.getDes()); dslCaseTask.setNodeShowName("事件流转"); dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:当前登记组织 dslCaseTask.setCandeUnitId(ctUserDTO.getUnitId()); dslCaseTask.setCandeUnitName(ctUserDTO.getUnitName()); // 自行受理,已读 dslCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_1); dslCaseTask.setReadTime(caseInfo.getVisitTime()); // 任务处理时限-24小时 dslCaseTask.setExpireTime(syHolidayService.getExpiryDay(caseInfo.getVisitTime(), 1)); dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); dslCaseTask.setHandleUnitId(ctUserDTO.getUnitId()); dslCaseTask.setHandleUnitName(ctUserDTO.getUnitName()); dslCaseTask.setHandleDeptId(ctUserDTO.getDeptId()); dslCaseTask.setHandleDeptName(ctUserDTO.getDeptName()); dslCaseTask.setHandleUserId(ctUserDTO.getId()); dslCaseTask.setHandleUserName(ctUserDTO.getTrueName()); dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dslCaseTask.setHandleTime(caseInfo.getVisitTime()); dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dslCaseTask.setCustId(caseInfo.getCustId()); dslCaseTask.setCreateTime(caseInfo.getVisitTime()); dslCaseTask.setUpdateTime(caseInfo.getVisitTime()); // 计算任务耗时、是否超时、超时多少 dslCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getCreateTime())); dslCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime())); dslCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime())); caseTaskService.save(dslCaseTask); // 创建办理反馈节点任务 CaseTask blfkCaseTask = new CaseTask(); blfkCaseTask.setId(utilsClient.getNewTimeId()); blfkCaseTask.setCaseId(caseInfo.getId()); blfkCaseTask.setNodeType(2); blfkCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); blfkCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getDes()); blfkCaseTask.setNodeShowName("办理反馈"); blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属组织:当前登记组织 blfkCaseTask.setCandeUnitId(ctUserDTO.getUnitId()); blfkCaseTask.setCandeUnitName(ctUserDTO.getUnitName()); // 已读 blfkCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_1); blfkCaseTask.setReadTime(caseInfoUnfold.getMediStartTime()); // 任务处理时限-24小时 blfkCaseTask.setExpireTime(syHolidayService.getExpiryDay(caseInfoUnfold.getMediStartTime(), 1)); blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); blfkCaseTask.setHandleUnitId(ctUserDTO.getUnitId()); blfkCaseTask.setHandleUnitName(ctUserDTO.getUnitName()); blfkCaseTask.setHandleDeptId(ctUserDTO.getDeptId()); blfkCaseTask.setHandleDeptName(ctUserDTO.getDeptName()); blfkCaseTask.setHandleUserId(ctUserDTO.getId()); blfkCaseTask.setHandleUserName(ctUserDTO.getTrueName()); blfkCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); blfkCaseTask.setHandleTime(caseInfoUnfold.getMediStartTime()); blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); blfkCaseTask.setCustId(caseInfo.getCustId()); blfkCaseTask.setCreateTime(caseInfoUnfold.getMediStartTime()); blfkCaseTask.setUpdateTime(caseInfoUnfold.getMediStartTime()); // 计算任务耗时、是否超时、超时多少 blfkCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(blfkCaseTask.getHandleTime(), blfkCaseTask.getCreateTime())); blfkCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(blfkCaseTask.getHandleTime(), blfkCaseTask.getExpireTime())); blfkCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(blfkCaseTask.getHandleTime(), blfkCaseTask.getExpireTime())); caseTaskService.save(blfkCaseTask); // 创建并完成结案申请节点任务 CaseTask jasqCaseTask = new CaseTask(); jasqCaseTask.setId(utilsClient.getNewTimeId()); jasqCaseTask.setCaseId(blfkCaseTask.getCaseId()); jasqCaseTask.setNodeType(2); jasqCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_JASQ.getIndex()); jasqCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_JASQ.getDes()); jasqCaseTask.setNodeShowName("结案申请"); jasqCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:当前结案申请组织 jasqCaseTask.setCandeUnitId(ctUserDTO.getUnitId()); jasqCaseTask.setCandeUnitName(ctUserDTO.getUnitName()); // 受理后的节点任务,已读 jasqCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_1); jasqCaseTask.setReadTime(caseInfoUnfold.getMediEndTime()); // 任务处理时限-24小时 jasqCaseTask.setExpireTime(syHolidayService.getExpiryDay(caseInfoUnfold.getMediEndTime(), 1)); jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jasqCaseTask.setHandleUnitId(ctUserDTO.getUnitId()); jasqCaseTask.setHandleUnitName(ctUserDTO.getUnitName()); jasqCaseTask.setHandleDeptId(ctUserDTO.getDeptId()); jasqCaseTask.setHandleDeptName(ctUserDTO.getDeptName()); jasqCaseTask.setHandleUserId(ctUserDTO.getId()); jasqCaseTask.setHandleUserName(ctUserDTO.getTrueName()); jasqCaseTask.setHandleContent(caseInfoUnfold.getWindupContent()); jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jasqCaseTask.setHandleTime(caseInfoUnfold.getMediEndTime()); jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jasqCaseTask.setCustId(blfkCaseTask.getCustId()); jasqCaseTask.setCreateTime(caseInfoUnfold.getMediEndTime()); jasqCaseTask.setUpdateTime(caseInfoUnfold.getMediEndTime()); // 计算任务耗时、是否超时、超时多少 jasqCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getCreateTime())); jasqCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime())); jasqCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime())); caseTaskService.save(jasqCaseTask); // 新建并自动完成结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); jashCaseTask.setNodeType(2); jashCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_JASH.getIndex()); jashCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_JASH.getDes()); jashCaseTask.setNodeShowName("结案审核"); jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jashCaseTask.setCandeUnitId(ctUserDTO.getUnitId()); jashCaseTask.setCandeUnitName(ctUserDTO.getUnitName()); // 受理后的节点任务,已读 jashCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_1); jasqCaseTask.setReadTime(caseInfoUnfold.getMediEndTime()); // 任务处理时限-24 jashCaseTask.setExpireTime(syHolidayService.getExpiryDay(caseInfoUnfold.getMediEndTime(), 24)); jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(ctUserDTO.getUnitId()); jashCaseTask.setHandleUnitName(ctUserDTO.getUnitName()); jashCaseTask.setHandleDeptId(ctUserDTO.getDeptId()); jashCaseTask.setHandleDeptName(ctUserDTO.getDeptName()); jashCaseTask.setHandleUserId(ctUserDTO.getId()); jashCaseTask.setHandleUserName(ctUserDTO.getTrueName()); jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jashCaseTask.setHandleTime(caseInfoUnfold.getMediEndTime()); jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jashCaseTask.setCustId(jasqCaseTask.getCustId()); jashCaseTask.setCreateTime(caseInfoUnfold.getMediEndTime()); jashCaseTask.setUpdateTime(caseInfoUnfold.getMediEndTime()); // 计算任务耗时、是否超时、超时多少 jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime())); jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime())); caseTaskService.save(jashCaseTask); // 创建结案申请 CaseWindupApply caseWindupApply = new CaseWindupApply(); caseWindupApply.setId(utilsClient.getNewTimeId()); caseWindupApply.setCaseId(caseInfo.getId()); caseWindupApply.setApplyUnitId(ctUserDTO.getUnitId()); caseWindupApply.setApplyUnitName(ctUserDTO.getUnitName()); caseWindupApply.setApplyUserId(ctUserDTO.getId()); caseWindupApply.setApplyUserName(ctUserDTO.getTrueName()); caseWindupApply.setApplyTime(caseInfoUnfold.getMediEndTime()); caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setMediResult(caseInfoUnfold.getMediResult()); caseWindupApply.setMediResultName(caseInfoUnfold.getMediResultName()); caseWindupApply.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_1.getIndex()); caseWindupApply.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_1.getDes()); caseWindupApply.setAgreeContent(caseInfoUnfold.getAgreeContent()); caseWindupApply.setWindupContent(caseInfoUnfold.getWindupContent()); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); caseWindupApply.setAuditUnitId(ctUserDTO.getUnitId()); caseWindupApply.setAuditUnitName(ctUserDTO.getUnitName()); caseWindupApply.setAuditUserId(ctUserDTO.getId()); caseWindupApply.setAuditUserName(ctUserDTO.getTrueName()); caseWindupApply.setAuditTime(caseInfoUnfold.getMediEndTime()); caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseWindupApply.setCustId(jasqCaseTask.getCustId()); caseWindupApply.setCreateTime(caseInfoUnfold.getMediEndTime()); caseWindupApply.setUpdateTime(caseInfoUnfold.getMediEndTime()); // 计算任务耗时、是否超时、超时多少 caseWindupApply.setUsetimeHour(jashCaseTask.getUsetimeHour()); caseWindupApply.setOvertimeStatus(jashCaseTask.getOvertimeStatus()); caseWindupApply.setOvertimeHour(jashCaseTask.getOvertimeHour()); caseWindupApplyService.save(caseWindupApply); // 创建并完成结案归档节点任务 CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); jagdCaseTask.setNodeType(3); jagdCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_JAGD.getIndex()); jagdCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_JAGD.getDes()); jagdCaseTask.setNodeShowName("结案归档"); jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请操作组织 jagdCaseTask.setCandeUnitId(ctUserDTO.getUnitId()); jagdCaseTask.setCandeUnitName(ctUserDTO.getUnitName()); // 受理后的节点任务,已读 jagdCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_1); jagdCaseTask.setReadTime(caseInfoUnfold.getMediEndTime()); // 任务处理时限-24 jagdCaseTask.setExpireTime(syHolidayService.getExpiryDay(caseInfoUnfold.getMediEndTime(), 12)); jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); jashCaseTask.setHandleUnitId(ctUserDTO.getUnitId()); jashCaseTask.setHandleUnitName(ctUserDTO.getUnitName()); jashCaseTask.setHandleDeptId(ctUserDTO.getDeptId()); jashCaseTask.setHandleDeptName(ctUserDTO.getDeptName()); jashCaseTask.setHandleUserId(ctUserDTO.getId()); jashCaseTask.setHandleUserName(ctUserDTO.getTrueName()); jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); jagdCaseTask.setHandleTime(caseInfoUnfold.getMediEndTime()); jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); jagdCaseTask.setCustId(jashCaseTask.getCustId()); jagdCaseTask.setCreateTime(caseInfoUnfold.getMediEndTime()); jagdCaseTask.setUpdateTime(caseInfoUnfold.getMediEndTime()); // 计算任务耗时、是否超时、超时多少 jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime())); jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime())); caseTaskService.save(jagdCaseTask); } //保存所有协助调解员 QueryWrapper casebookMediatorQueryWrapper = new QueryWrapper<>(); casebookMediatorQueryWrapper.in("case_id", idList); List casebookMediatorList = casebookMediatorService.list(casebookMediatorQueryWrapper); List caseMediatorList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(casebookMediatorList)){ for(CasebookMediator casebookMediator: casebookMediatorList){ CaseMediator caseMediator = new CaseMediator(); BeanUtils.copyProperties(casebookMediator, caseMediator); caseMediator.setCreateTime(nowDate); caseMediator.setUpdateTime(nowDate); caseMediatorList.add(caseMediator); } } List casePersonList= new ArrayList<>(); if(CollectionUtils.isNotEmpty(casebookPersonList)){ for(CasebookPerson casebookPerson: casebookPersonList){ CasePerson casePerson = new CasePerson(); BeanUtils.copyProperties(casebookPerson, casePerson); casePerson.setCreateTime(nowDate); casePerson.setUpdateTime(nowDate); casePersonList.add(casePerson); } } // 保存纠纷信息 caseInfoService.saveBatch(caseInfoList); // 保存纠纷扩展信息 caseInfoUnfoldService.saveBatch(caseInfoUnfoldList); // 保存当事人信息 if(CollectionUtils.isNotEmpty(casePersonList)){ casePersonService.saveBatch(casePersonList); } // 保存协助调解员信息 if(CollectionUtils.isNotEmpty(caseMediatorList)){ caseMediatorService.saveBatch(caseMediatorList); } // 删除导入草稿 if(CollectionUtils.isNotEmpty(casebookPersonList)){ QueryWrapper casebookPersonQueryWrapper = new QueryWrapper<>(); casebookPersonQueryWrapper.in("case_id", idList); casebookPersonService.remove(casebookPersonQueryWrapper); } if(CollectionUtils.isNotEmpty(casebookMediatorList)){ QueryWrapper casebookMediatorQueryWrapper1 = new QueryWrapper<>(); casebookMediatorQueryWrapper1.in("case_id", idList); casebookMediatorService.remove(casebookMediatorQueryWrapper1); } this.removeByIds(idList); casebookInfoUnfoldService.removeByIds(idList); }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } /** * 案件导入-全部草稿转入正式案件 * @param terms 条件 * @return Page */ public void importToCaseAll(Map terms, String userId){ try{ List caseBookPageDTOList = mapper.listImportDraft(terms); List idList = new ArrayList<>(); for (CaseBookPageDTO caseBookPageDTO: caseBookPageDTOList){ idList.add(caseBookPageDTO.getId()); } this.importToCase(idList, userId); }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } }