package cn.huge.module.judic.service; import cn.huge.base.common.bo.PageBO; 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.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.domain.po.CaseInfoUnfold; import cn.huge.module.cases.service.CaseInfoService; import cn.huge.module.cases.service.CaseInfoUnfoldService; import cn.huge.module.cases.service.CaseTaskService; 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.constant.BaseConsts; import cn.huge.module.cust.constant.RoleBaseEnum; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.judic.dao.mapper.JudicAssistMapper; import cn.huge.module.judic.dao.mapper.JudicInfoMapper; import cn.huge.module.judic.dao.mapper.JudicTaskMapper; import cn.huge.module.judic.domain.dto.*; import cn.huge.module.judic.domain.po.JudicAssist; import cn.huge.module.judic.domain.po.JudicInfo; import cn.huge.module.judic.domain.po.JudicTask; import cn.huge.module.mediate.constant.JudicBaseConsts; import cn.huge.module.mediate.constant.JudicBaseConstsEnum; import cn.huge.module.mediate.constant.TaskBaseConstsEnum; import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum; import cn.huge.module.sys.constant.FlowBaseConsts; import cn.huge.module.sys.constant.FlowNodeBaseEnum; import cn.huge.module.sys.dto.*; import com.aspose.words.net.System.Data.DataException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.jni.FileInfo; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.unit.DataUnit; import java.util.*; import java.util.stream.Collectors; /** * @title: 司法确认信息表业务逻辑处理 * @Description JPA的单表数据查询以由BaseService完成 * @company hugeinfo * @author liyj * @Time 2022-04-18 10:40:03 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class JudicInfoService extends ServiceImpl{ @Autowired private JudicInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private SysClientImpl sysClient; @Autowired private CaseInfoService caseInfoService; @Autowired private CaseTaskService caseTaskService; @Autowired private JudicTaskService judicTaskService; @Autowired private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CustClientImpl custClient; @Autowired private JudicTaskMapper judicTaskMapper; @Autowired private JudicAssistMapper judicAssistMapper; /** * 更新对象 * @param entity 对象 */ public void updateJudicInfo(JudicInfo entity){ try{ mapper.updateJudicInfo(entity); }catch (Exception e){ log.error("service方法[JudicInfoService.updateJudicInfo]调用异常:"+e, e); throw new ServiceException("JudicInfoService.updateJudicInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateJudicInfoTerms(JudicInfo entity, Map terms){ try{ mapper.updateJudicInfoTerms(entity, terms); }catch (Exception e){ log.error("service方法[JudicInfoService.updateJudicInfoTerms]调用异常:"+e, e); throw new ServiceException("JudicInfoService.updateJudicInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteJudicInfo(String id){ try{ mapper.deleteJudicInfo(id); }catch (Exception e){ log.error("service方法[JudicInfoService.deleteJudicInfo]调用异常:"+e, e); throw new ServiceException("JudicInfoService.deleteJudicInfo", 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 judicInfo 实体对象 */ public void saveJudicInfo(JudicInfo judicInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(judicInfo.getId())){ judicInfo.setId(utilsClient.getNewTimeJudicId()); judicInfo.setCreateTime(nowDate); } judicInfo.setUpdateTime(nowDate); this.saveOrUpdate(judicInfo); }catch (Exception e){ log.error("service方法[JudicInfoService.saveJudicInfo]调用异常:"+e, e); throw new ServiceException("JudicInfoService.saveJudicInfo", e); } } /** * 根据纠纷编号查询 * @param caseId 纠纷编号 * @return JudicInfo */ public JudicInfo getByCaseId(String caseId){ QueryWrapper judicInfoQueryWrapper = new QueryWrapper<>(); judicInfoQueryWrapper.eq("case_id", caseId); return mapper.selectOne(judicInfoQueryWrapper); } /** * pc端司法确认-查询调解组织司法确认申请列表各种状态数量 * @param terms 条件 * @return long */ public Map countUnitApplyByStatus(Map terms){ return mapper.countUnitApplyByStatus(terms); } /** * pc端司法确认-调解组织申请-查询平台内调解成功案件 * @param page 分页对象 * @param terms 条件 * @return Page */ public PageBO pageSuccessCase(PageRequest page, Map terms){ long total = mapper.countSuccessCaseTerms(terms); List content = mapper.pageSuccessCaseTerms(page, terms); if(ObjectUtils.isNotEmpty(content)){ for (CaseJudicPageDTO caseJudicPageDTO : content) { if(ObjectUtils.isNotEmpty(caseJudicPageDTO.getCaseTypeFirstName())){ caseJudicPageDTO.setCaseTypeName(caseJudicPageDTO.getCaseTypeFirstName()+"/"+caseJudicPageDTO.getCaseTypeName()); } } } PageBO pageBo = new PageBO<>(page.getPageNumber(), page.getPageSize(), total, content); CaseJudicPageTotalDTO caseJudicPageTotalDTO = new CaseJudicPageTotalDTO(); terms.put("judicApply", "0"); long unApplyNum = mapper.countSuccessCaseTerms(terms); caseJudicPageTotalDTO.setUnApplyNum(unApplyNum); terms.put("judicApply", "1"); long applyNum = mapper.countSuccessCaseTerms(terms); caseJudicPageTotalDTO.setApplyNum(applyNum); pageBo.setTotalData(caseJudicPageTotalDTO); return pageBo; } /** * pc端司法确认-获取申请材料 * @param caseId 纠纷编号 * @return List */ public List listApplyFIle(String caseId){ List applyFileList = new ArrayList<>(); Map term = new HashMap<>(); term.put("mainId", caseId); List fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term); List fileAllList = new ArrayList<>(); if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTOS)){ for (FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO : fileIdTypeInfoBaseDTOS) { if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTO.getFileList())){ fileAllList.addAll(fileIdTypeInfoBaseDTO.getFileList()); } } } // 数组处理-某一类型没有的附件给上默认数组 Boolean xysFlag = true; Boolean sqsFlag = true; Boolean zmFlag = true; Boolean qtFlag = true; Boolean spFlag = true; for (FileTypeInfoBaseDTO fileTypeInfoBaseDTO: fileAllList){ if (FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ xysFlag = false; applyFileList.add(fileTypeInfoBaseDTO); continue; } if (FileOwnerTypeBaseEnum.OWNER_TYPE_402.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ sqsFlag = false; applyFileList.add(fileTypeInfoBaseDTO); continue; } if (FileOwnerTypeBaseEnum.OWNER_TYPE_403.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ zmFlag = false; applyFileList.add(fileTypeInfoBaseDTO); continue; } if (FileOwnerTypeBaseEnum.OWNER_TYPE_108.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ qtFlag = false; applyFileList.add(fileTypeInfoBaseDTO); continue; } if (FileOwnerTypeBaseEnum.OWNER_TYPE_411.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ spFlag = false; applyFileList.add(fileTypeInfoBaseDTO); continue; } } if (xysFlag){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex()); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getDes()); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); applyFileList.add(fileTypeInfoBaseDTO); } if (sqsFlag){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_402.getIndex()); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.OWNER_TYPE_402.getDes()); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); applyFileList.add(fileTypeInfoBaseDTO); } if (zmFlag){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_403.getIndex()); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.OWNER_TYPE_403.getDes()); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); applyFileList.add(fileTypeInfoBaseDTO); } if (qtFlag){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_108.getIndex()); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.OWNER_TYPE_108.getDes()); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); applyFileList.add(fileTypeInfoBaseDTO); } if (spFlag){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_411.getIndex()); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.OWNER_TYPE_411.getDes()); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); applyFileList.add(fileTypeInfoBaseDTO); } return applyFileList; } /** * pc端司法确认-调解组织申请-提交/退回修改司法确认申请 * @param loginUser 当前登录用户 * @param unitApplySaveDTO 司法确认申请对象 * @return Page */ public void unitApplyJudic(CtUserDTO loginUser, UnitApplySaveDTO unitApplySaveDTO){ try{ Date nowDate = DateUtils.getNowDate(); JudicTask judicTask = new JudicTask(); judicTask.setId(utilsClient.getNewTimeId()); // 新建司法确认申请信息 JudicInfo judicInfo = new JudicInfo(); judicInfo.setId(unitApplySaveDTO.getId()); CaseInfo caseInfoVO = caseInfoService.listBySerieNo(unitApplySaveDTO.getCaseId()); if(ObjectUtils.isNotEmpty(caseInfoVO)){ judicInfo.setJudicTitle(this.createJudicTitle(caseInfoVO.getPlaintiffs(), caseInfoVO.getDefendants(), null, caseInfoVO.getCaseTypeName())); }else{ judicInfo.setJudicTitle(this.createJudicTitle(unitApplySaveDTO.getPlaintiffs(), unitApplySaveDTO.getDefendants(), null, unitApplySaveDTO.getCaseTypeName())); } judicInfo.setCaseId(unitApplySaveDTO.getCaseId()); judicInfo.setApplyCanal(JudicBaseConstsEnum.JUDIC_CANNAL_1.getIndex()); judicInfo.setApplyCanalName(JudicBaseConstsEnum.JUDIC_CANNAL_1.getDes()); judicInfo.setApplyTime(nowDate); judicInfo.setApplyUnitId(loginUser.getUnitId()); judicInfo.setApplyUnitName(loginUser.getUnitName()); judicInfo.setApplyUserId(loginUser.getId()); judicInfo.setApplyUserName(loginUser.getTrueName()); judicInfo.setApplyContent(unitApplySaveDTO.getApplyContent()); judicInfo.setAuditTag(JudicBaseConsts.AUDIT_TAG_1); judicInfo.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_0.getIndex()); judicInfo.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_0.getDes()); judicInfo.setAuditTaskId(judicTask.getId()); judicInfo.setCourtId(unitApplySaveDTO.getCourtId()); judicInfo.setCourtName(unitApplySaveDTO.getCourtName()); judicInfo.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); judicInfo.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_3.getDes()); judicInfo.setCustId(loginUser.getCustId()); judicInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0+""); judicInfo.setJudicNo(utilsClient.createJudicNo(loginUser.getCustId())); judicInfo.setCreateTime(nowDate); judicInfo.setUpdateTime(nowDate); judicInfo.setHandleUnitId(judicInfo.getCourtId()); judicInfo.setHandleUnitName(judicInfo.getCourtName()); judicInfo.setStatus(TaskBaseConstsEnum.TASK_STATUS_0.getIndex()); mapper.updateJudicInfo(judicInfo); // 新建司法确认任务 judicTask.setJudicId(judicInfo.getId()); judicTask.setCaseId(judicInfo.getCaseId()); judicTask.setNodeId(FlowNodeBaseEnum.FLOW_NODE_6.getIndex()); judicTask.setNodeName(FlowNodeBaseEnum.FLOW_NODE_6.getDes()); judicTask.setNodeType(FlowBaseConsts.TASK_NODE_TYPE_1); judicTask.setCaseTaskType(FlowBaseConsts.TASK_TYPE_1); judicTask.setHandleUnitId(judicInfo.getCourtId()); judicTask.setHandleUnitName(judicInfo.getCourtName()); judicTask.setStatus(TaskBaseConstsEnum.TASK_STATUS_0.getIndex()); judicTask.setHandleResult(FlowBaseConsts.TASK_RESULT_0); // todo 申请司法确认法院固定角色审核 // FlowNodeBaseDTO flowNodeBaseDTO = caseTaskService.getNodeByFlowAndNode(FlowBaseConsts.DYH_FLOW_2, FlowNodeBaseEnum.FLOW_NODE_6.getIndex()); // judicTask.setCandeRoleCode(flowNodeBaseDTO.getOperRodeCode()); // judicTask.setCandeRoleName(flowNodeBaseDTO.getOperRodeName()); judicTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); judicTask.setCustId(loginUser.getCustId()); judicTask.setCreateTime(nowDate); judicTask.setUpdateTime(nowDate); judicTaskService.save(judicTask); // 更新纠纷信息 CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); caseInfoUnfold.setId(unitApplySaveDTO.getCaseId()); caseInfoUnfold.setJudicApply(JudicBaseConsts.JUDGE_APPLY_2); // caseInfoUnfold.setJudicApplyName(CaseBaseConstsEnum.JUDGE_APPLY_2.getDes()); // caseInfoUnfold.setJudicInfoId(judicInfo.getId()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfold); }catch (Exception e){ log.error("service方法[JudicInfoService.unitApplyJudic]调用异常:"+e, e); throw new ServiceException("JudicInfoService.unitApplyJudic", e); } } /** * 生成调解案件标题 * @param plaintiffs 申请人 * @param defendants 被申请人 * @param caseTypeName 纠纷类型 * @return String */ public String createJudicTitle(String plaintiffs, String defendants, String serieStatus, String caseTypeName){ StringBuffer judicTitle = new StringBuffer(); if (plaintiffs.indexOf(BaseConsts.COMMA) != -1){ judicTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]).append("等"); }else { judicTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]); } if (StringUtils.isNotEmpty(defendants)) { judicTitle.append("和"); if (defendants.indexOf(BaseConsts.COMMA) != -1) { judicTitle.append(defendants.split(BaseConsts.COMMA)[0]).append("等"); } else { judicTitle.append(defendants.split(BaseConsts.COMMA)[0]); } } // if (CaseBaseConsts.SERIE_STATUS_2.equals(serieStatus)){ // judicTitle.append("系列案"); // } judicTitle.append("的"); if (StringUtils.isNotEmpty(caseTypeName)){ judicTitle.append(caseTypeName); } judicTitle.append("司法确认案件"); return judicTitle.toString(); } /** * pc端司法确认-司法确认申请审查分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public PageBO pageCourtAudit(PageRequest page, Map terms,String userId){ CtUserDTO loginUser = custClient.clientGetUserAll(userId); List roleCodes = new ArrayList<>(); roleCodes.add(RoleBaseEnum.ROLE_1.getIndex()); roleCodes.add(RoleBaseEnum.ROLE_2.getIndex()); roleCodes.add(RoleBaseEnum.ROLE_3.getIndex()); roleCodes.add(RoleBaseEnum.ROLE_4.getIndex()); roleCodes.add(RoleBaseEnum.ROLE_5.getIndex()); roleCodes.add(RoleBaseEnum.ROLE_6.getIndex()); if(!roleCodes.contains(loginUser.getRoleCodes())){ PageBO pageBo = new PageBO<>(page.getPageNumber(), page.getPageSize(), 0, new ArrayList<>()); pageBo.setTotalData(new CaseJudicPageTotalDTO()); return pageBo; } terms.put("doUnit", loginUser.getUnitId()); long total = mapper.countCourtAuditTerms(terms); List content = mapper.pageCourtAuditTerms(page, terms); if(ObjectUtils.isNotEmpty(content)){ for (CaseJudicPageDTO caseJudicPageDTO : content) { if(ObjectUtils.isNotEmpty(caseJudicPageDTO.getCaseTypeFirstName())){ caseJudicPageDTO.setCaseTypeName(caseJudicPageDTO.getCaseTypeFirstName()+"/"+caseJudicPageDTO.getCaseTypeName()); } List idList = mapper.listIdByCaseId(caseJudicPageDTO.getCaseId()); caseJudicPageDTO.setIdList(idList); } } PageBO pageBo = new PageBO<>(page.getPageNumber(), page.getPageSize(), total, content); CaseJudicPageTotalDTO caseJudicPageTotalDTO = new CaseJudicPageTotalDTO(); terms.put("status", "0"); long unApplyNum = mapper.countCourtAuditTerms(terms); terms.put("status", TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); long applyNum = mapper.countCourtAuditTerms(terms); caseJudicPageTotalDTO.setUnApplyNum(unApplyNum); caseJudicPageTotalDTO.setApplyNum(applyNum); pageBo.setTotalData(caseJudicPageTotalDTO); return pageBo; } /** * pc端司法确认-查询申请信息详情 * @param judicId 司法确认编号 * @return Page */ public JudicInfoDTO getJudicInfo(String judicId){ JudicInfoDTO judicInfoDTO = new JudicInfoDTO(); JudicInfo judicInfo = mapper.getById(judicId); if (ObjectUtils.isNotEmpty(judicInfo)) { BeanUtils.copyProperties(judicInfo, judicInfoDTO); // 申请信息 judicInfoDTO.setJudicId(judicInfo.getId()); CaseInfo caseInfo = caseInfoService.listBySerieNo(judicInfo.getCaseId()); judicInfoDTO.setPlaintiffs(caseInfo.getPlaintiffs()); judicInfoDTO.setDefendants(caseInfo.getDefendants()); List judicAssistList = new ArrayList<>(); QueryWrapper judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.in("ass_type", Arrays.asList("2","3")); List judicAssists = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicAssists)){ for (JudicAssist judicAssist : judicAssists) { JudicAssistDTO judicAssistDTO = new JudicAssistDTO(); BeanUtils.copyProperties(judicAssist, judicAssistDTO); judicAssistList.add(judicAssistDTO); } } judicInfoDTO.setJudicAssistList(judicAssistList); //获取承办法官id judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.eq("ass_type", "1"); List judicNameList = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicNameList)){ String assUserId = judicNameList.get(0).getAssUserId(); judicInfoDTO.setJudgeNameId(assUserId); } //附件 List fileAllList = getJudicInfoFile(judicInfo.getCaseId(),judicInfo.getId()); judicInfoDTO.setFileList(fileAllList); } return judicInfoDTO; } public List getJudicInfoFile(String caseId,String judicId){ JudicInfo judicInfo = mapper.getById(judicId); // 附件 List fileIdTypeInfoBaseDTOS = new ArrayList<>(); List ownerTypeList = new ArrayList<>(); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_108.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_402.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_403.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_401.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_405.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_411.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex()); Map term = new HashMap<>(); term.put("mainId", caseId); term.put("ownerIds", "'" + judicId + "'"); term.put("typeList",ownerTypeList); fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term); List existOwnerTypeList = new ArrayList<>(); List fileAllList = new ArrayList<>(); if(ObjectUtils.isEmpty(fileIdTypeInfoBaseDTOS)){ Map term1= new HashMap<>(); term1.put("mainId", caseId); term1.put("typeList",ownerTypeList); fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term1); } if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTOS)){ Boolean isNew = false; for (FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO : fileIdTypeInfoBaseDTOS) { if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTO.getFileList())){ if(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex().equals(fileIdTypeInfoBaseDTO.getFileList().get(0).getOwnerType())){ isNew = true; } } } for (FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO : fileIdTypeInfoBaseDTOS) { if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTO.getFileList())){ for (FileTypeInfoBaseDTO fileTypeInfoBaseDTO : fileIdTypeInfoBaseDTO.getFileList()) { if(isNew && FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ continue; }else if(!isNew && FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex().equals(fileTypeInfoBaseDTO.getOwnerType())){ fileTypeInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex()); existOwnerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex()); fileAllList.add(fileTypeInfoBaseDTO); }else{ fileAllList.add(fileTypeInfoBaseDTO); existOwnerTypeList.add(fileTypeInfoBaseDTO.getOwnerType()); } } } } } for (String ownerType : ownerTypeList) { if(!existOwnerTypeList.contains(ownerType)){ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO(); fileTypeInfoBaseDTO.setOwnerType(ownerType); fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(ownerType)); fileTypeInfoBaseDTO.setFileList(new ArrayList<>()); fileTypeInfoBaseDTO.setSize(0); fileAllList.add(fileTypeInfoBaseDTO); } } return fileAllList; } /** * pc端司法确认-查询申请信息详情 * @param caseId 纠纷编号 * @return Page */ public JudicInfoDTO getJudicCaseInfo(String caseId){ JudicInfoDTO judicInfoDTO = new JudicInfoDTO(); QueryWrapper judicInfoWrapper = new QueryWrapper<>(); judicInfoWrapper.eq("case_id", caseId); judicInfoWrapper.orderByDesc("create_time"); judicInfoWrapper.last("limit 1"); JudicInfo judicInfo = mapper.selectOne(judicInfoWrapper); if (ObjectUtils.isNotEmpty(judicInfo)) { // 申请信息 judicInfoDTO.setJudicId(judicInfo.getId()); judicInfoDTO.setCaseId(judicInfo.getCaseId()); judicInfoDTO.setApplyTime(judicInfo.getApplyTime()); judicInfoDTO.setApplyUnitName(judicInfo.getApplyUnitName()); judicInfoDTO.setApplyUserName(judicInfo.getApplyUserName()); judicInfoDTO.setApplyUserId(judicInfo.getApplyUserId()); judicInfoDTO.setCourtId(judicInfo.getCourtId()); judicInfoDTO.setCourtName(judicInfo.getCourtName()); judicInfoDTO.setApplyContent(judicInfo.getApplyContent()); judicInfoDTO.setJudgeName(judicInfo.getJudgeName()); judicInfoDTO.setJudicResult(judicInfo.getJudicResult()); judicInfoDTO.setJudicFalseCause(judicInfo.getJudicFalseCause()); judicInfoDTO.setJudicContent(judicInfo.getJudicContent()); judicInfoDTO.setMediateJudicNo(judicInfo.getMediateJudicNo()); judicInfoDTO.setHandleUnitName(judicInfo.getHandleUnitName()); judicInfoDTO.setHandleUnitId(judicInfo.getHandleUnitId()); judicInfoDTO.setHandleUserName(judicInfo.getHandleUserName()); judicInfoDTO.setHandleUserId(judicInfo.getHandleUserId()); judicInfoDTO.setHandleContent(judicInfo.getHandleContent()); judicInfoDTO.setHandleDeptId(judicInfo.getHandleDeptId()); judicInfoDTO.setHandleDeptName(judicInfo.getHandleDeptName()); judicInfoDTO.setJudicAudit(judicInfo.getJudicAudit()); judicInfoDTO.setJudicAuditName(judicInfo.getJudicAuditName()); judicInfoDTO.setJudicEndTime(judicInfo.getJudicEndTime()); judicInfoDTO.setJudicNo(judicInfo.getJudicNo()); judicInfoDTO.setMediateJudicNo(judicInfo.getMediateJudicNo()); CaseInfo caseInfo = caseInfoService.listBySerieNo(judicInfo.getCaseId()); judicInfoDTO.setPlaintiffs(caseInfo.getPlaintiffs()); judicInfoDTO.setDefendants(caseInfo.getDefendants()); List judicAssistList = new ArrayList<>(); QueryWrapper judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.in("ass_type", Arrays.asList("2","3")); List judicAssists = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicAssists)){ for (JudicAssist judicAssist : judicAssists) { JudicAssistDTO judicAssistDTO = new JudicAssistDTO(); BeanUtils.copyProperties(judicAssist, judicAssistDTO); judicAssistList.add(judicAssistDTO); } } judicInfoDTO.setJudicAssistList(judicAssistList); //获取承办法官id judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.eq("ass_type", "1"); List judicNameList = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicNameList)){ String assUserId = judicNameList.get(0).getAssUserId(); judicInfoDTO.setJudgeNameId(assUserId); } //附件 List fileAllList = getJudicInfoFile(judicInfo.getCaseId(),judicInfo.getId()); judicInfoDTO.setFileList(fileAllList); } return judicInfoDTO; } /** * pc端司法确认-查询申请信息详情 * @param caseId 案件编号 * @return Page */ public List getJudicInfoByCaseId(String caseId){ List judicInfoDTOList = new ArrayList<>(); QueryWrapper judicInfoWrapper = new QueryWrapper<>(); judicInfoWrapper.eq("case_id", caseId); judicInfoWrapper.orderByAsc("create_time"); List judicInfos = mapper.selectList(judicInfoWrapper); if (ObjectUtils.isNotEmpty(judicInfos)) { for (JudicInfo judicInfo : judicInfos) { JudicInfoDTO judicInfoDTO = new JudicInfoDTO(); // 申请信息 judicInfoDTO.setJudicId(judicInfo.getId()); judicInfoDTO.setCaseId(judicInfo.getCaseId()); judicInfoDTO.setApplyTime(judicInfo.getApplyTime()); judicInfoDTO.setApplyUnitName(judicInfo.getApplyUnitName()); judicInfoDTO.setApplyUserName(judicInfo.getApplyUserName()); judicInfoDTO.setApplyUserId(judicInfo.getApplyUserId()); judicInfoDTO.setCourtId(judicInfo.getCourtId()); judicInfoDTO.setCourtName(judicInfo.getCourtName()); judicInfoDTO.setApplyContent(judicInfo.getApplyContent()); judicInfoDTO.setJudgeName(judicInfo.getJudgeName()); judicInfoDTO.setJudicResult(judicInfo.getJudicResult()); judicInfoDTO.setJudicFalseCause(judicInfo.getJudicFalseCause()); judicInfoDTO.setJudicContent(judicInfo.getJudicContent()); judicInfoDTO.setMediateJudicNo(judicInfo.getMediateJudicNo()); judicInfoDTO.setHandleUnitName(judicInfo.getHandleUnitName()); judicInfoDTO.setHandleUnitId(judicInfo.getHandleUnitId()); judicInfoDTO.setHandleUserName(judicInfo.getHandleUserName()); judicInfoDTO.setHandleUserId(judicInfo.getHandleUserId()); judicInfoDTO.setHandleContent(judicInfo.getHandleContent()); judicInfoDTO.setHandleDeptId(judicInfo.getHandleDeptId()); judicInfoDTO.setHandleDeptName(judicInfo.getHandleDeptName()); judicInfoDTO.setJudicAudit(judicInfo.getJudicAudit()); judicInfoDTO.setJudicAuditName(judicInfo.getJudicAuditName()); CaseInfo caseInfo = caseInfoService.listBySerieNo(judicInfo.getCaseId()); judicInfoDTO.setPlaintiffs(caseInfo.getPlaintiffs()); judicInfoDTO.setDefendants(caseInfo.getDefendants()); List judicAssistList = new ArrayList<>(); QueryWrapper judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.in("ass_type", Arrays.asList("2","3")); List judicAssists = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicAssists)){ for (JudicAssist judicAssist : judicAssists) { JudicAssistDTO judicAssistDTO = new JudicAssistDTO(); judicAssistDTO.setAssUserId(judicAssist.getAssUserId()); judicAssistDTO.setAssUserName(judicAssist.getAssUserName()); judicAssistDTO.setAssTypeName(judicAssist.getAssTypeName()); judicAssistList.add(judicAssistDTO); } } judicInfoDTO.setJudicAssistList(judicAssistList); //附件 List fileAllList = getJudicInfoFile(judicInfo.getCaseId(),judicInfo.getId()); judicInfoDTO.setFileList(fileAllList); judicInfoDTOList.add(judicInfoDTO); } } return judicInfoDTOList; } /** * pc端司法确认-审核 * @param loginUser 登陆对象 * @param courtAuditDTO 审核对象 */ public void courtAudit(CtUserDTO loginUser,CourtAuditDTO courtAuditDTO){ QueryWrapper judicTaskWrapper = new QueryWrapper<>(); judicTaskWrapper.eq("judic_id", courtAuditDTO.getJudicId()); judicTaskWrapper.orderByDesc("create_time"); judicTaskWrapper.last("limit 1"); JudicTask judicTask = judicTaskMapper.selectOne(judicTaskWrapper); Date nowDate = DateUtils.getNowDate(); if(ObjectUtils.isNotEmpty(judicTask)){ judicTask.setHandleContent(courtAuditDTO.getHandleContent()); judicTask.setHandleUserId(loginUser.getId()); judicTask.setHandleUserName(loginUser.getTrueName()); judicTask.setHandleUnitId(loginUser.getUnitId()); judicTask.setHandleUnitName(loginUser.getUnitName()); judicTask.setHandleTime(nowDate); judicTask.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); judicTaskMapper.updateJudicTask(judicTask); } JudicInfo judicInfo = mapper.selectById(courtAuditDTO.getJudicId()); if(ObjectUtils.isNotEmpty(judicInfo)){ judicInfo.setJudgeId(courtAuditDTO.getJudgeId()); judicInfo.setJudgeName(courtAuditDTO.getJudgeName()); judicInfo.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); judicInfo.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_3.getDes()); judicInfo.setAuditTime(nowDate); judicInfo.setJudicStartTime(nowDate); judicInfo.setAuditUserId(loginUser.getId()); judicInfo.setAuditUserName(loginUser.getTrueName()); judicInfo.setJudicAudit(courtAuditDTO.getJudicAudit()); judicInfo.setJudicAuditName(JudicBaseConstsEnum.getDes(courtAuditDTO.getJudicAudit())); if(JudicBaseConstsEnum.JUDIC_AUDIT_2.getIndex().equals(courtAuditDTO.getJudicAudit())){ judicInfo.setJudicResult(JudicBaseConstsEnum.JUDIC_RESULT_2.getIndex()); judicInfo.setJudicResultName(JudicBaseConstsEnum.JUDIC_RESULT_2.getDes()); } judicInfo.setHandleContent(courtAuditDTO.getHandleContent()); judicInfo.setHandleUserId(loginUser.getId()); judicInfo.setHandleUserName(loginUser.getTrueName()); judicInfo.setHandleUnitId(loginUser.getUnitId()); judicInfo.setHandleUnitName(loginUser.getUnitName()); judicInfo.setHandleTime(nowDate); judicInfo.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); if(ObjectUtils.isNotEmpty(courtAuditDTO.getJudgeId())){ CtUserDTO JudgeUser = custClient.clientGetUserAll(courtAuditDTO.getJudgeId()); if(ObjectUtils.isNotEmpty(JudgeUser)){ judicInfo.setJudgeMobile(JudgeUser.getMobile()); JudicAssist judicAssist = new JudicAssist(); judicAssist.setId(utilsClient.getNewTimeJudicId()); judicAssist.setJudicId(courtAuditDTO.getJudicId()); judicAssist.setCaseId(judicInfo.getCaseId()); judicAssist.setAssUserId(JudgeUser.getId()); judicAssist.setAssUserName(JudgeUser.getTrueName()); judicAssist.setAssDeptId(JudgeUser.getDeptId()); judicAssist.setAssDeptName(JudgeUser.getDeptName()); judicAssist.setAssUnitId(JudgeUser.getUnitId()); judicAssist.setAssUnitName(JudgeUser.getUnitName()); judicAssist.setAssType("1"); judicAssist.setAssTypeName("法官"); judicAssist.setDeleteStatus("0"); judicAssist.setCreateTime(nowDate); judicAssist.setUpdateTime(nowDate); judicAssistMapper.insert(judicAssist); } } mapper.updateJudicInfo(judicInfo); } if(ObjectUtils.isNotEmpty(courtAuditDTO.getJudicAssistList())){ for (JudicAssistDTO judicAssistDTO : courtAuditDTO.getJudicAssistList()) { CtUserDTO JudgeUser = custClient.clientGetUserAll(judicAssistDTO.getAssUserId()); JudicAssist judicAssist = new JudicAssist(); judicAssist.setId(utilsClient.getNewTimeJudicId()); judicAssist.setJudicId(courtAuditDTO.getJudicId()); judicAssist.setCaseId(judicInfo.getCaseId()); judicAssist.setAssUserId(JudgeUser.getId()); judicAssist.setAssUserName(JudgeUser.getTrueName()); judicAssist.setAssDeptId(JudgeUser.getDeptId()); judicAssist.setAssDeptName(JudgeUser.getDeptName()); judicAssist.setAssUnitId(JudgeUser.getUnitId()); judicAssist.setAssUnitName(JudgeUser.getUnitName()); if(ObjectUtils.isNotEmpty(judicAssistDTO.getAssType())){ judicAssist.setAssType(judicAssistDTO.getAssType()); judicAssist.setAssTypeName(judicAssistDTO.getAssTypeName()); }else{ judicAssist.setAssType("2"); judicAssist.setAssTypeName("助理"); } judicAssist.setDeleteStatus("0"); judicAssist.setCreateTime(nowDate); judicAssist.setUpdateTime(nowDate); judicAssistMapper.insert(judicAssist); } } } /** * pc端司法确认-司法确认列表 * @param page 分页对象 * @param terms 条件 * @return Page */ public PageBO pageCourtConfirm(PageRequest page, Map terms,String userId){ CtUserDTO loginUser = custClient.clientGetUserAll(userId); terms.put("assUserId", loginUser.getId()); long total = mapper.countCourtConfirmTerms(terms); List content = mapper.pageCourtConfirmTerms(page, terms); log.info("xsd:{}",terms); log.info("xsd:{}",content); if(ObjectUtils.isNotEmpty(content)){ for (CaseJudicPageDTO caseJudicPageDTO : content) { if(ObjectUtils.isNotEmpty(caseJudicPageDTO.getCaseTypeFirstName())){ caseJudicPageDTO.setCaseTypeName(caseJudicPageDTO.getCaseTypeFirstName()+"/"+caseJudicPageDTO.getCaseTypeName()); } List judicAssistList = new ArrayList<>(); QueryWrapper judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", caseJudicPageDTO.getJudicId()); judicAssistWrapper.in("ass_type", Arrays.asList("2","3")); List judicAssists = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicAssists)){ for (JudicAssist judicAssist : judicAssists) { JudicAssistDTO judicAssistDTO = new JudicAssistDTO(); judicAssistDTO.setAssUserId(judicAssist.getAssUserId()); judicAssistDTO.setAssUserName(judicAssist.getAssUserName()); judicAssistDTO.setAssTypeName(judicAssist.getAssTypeName()); judicAssistList.add(judicAssistDTO); } } caseJudicPageDTO.setJudicAssistList(judicAssistList); //超时计算 String waitHours = caseJudicPageDTO.getWaitHours(); if(ObjectUtils.isEmpty(waitHours)){ waitHours = "0"; } Integer waitHour = Integer.parseInt(waitHours); if(waitHour <= 24){ caseJudicPageDTO.setOutTimeType("1"); Integer waitHourInt = 24 - waitHour; caseJudicPageDTO.setWaitHours(waitHourInt+""); }else{ caseJudicPageDTO.setOutTimeType("2"); Integer waitHourInt = waitHour - 24 ; caseJudicPageDTO.setWaitHours(waitHourInt+""); } } } PageBO pageBo = new PageBO<>(page.getPageNumber(), page.getPageSize(), total, content); CaseJudicPageTotalDTO caseJudicPageTotalDTO = new CaseJudicPageTotalDTO(); List processList = new ArrayList<>(); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_1.getIndex()); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_2.getIndex()); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); terms.put("processList", processList); long unApplyNum = mapper.countCourtConfirmTerms(terms); List processList1 = new ArrayList<>(); processList1.add(JudicBaseConstsEnum.JUDIC_PROCESS_4.getIndex()); processList1.add(JudicBaseConstsEnum.JUDIC_PROCESS_5.getIndex()); processList1.add(JudicBaseConstsEnum.JUDIC_PROCESS_6.getIndex()); terms.put("processList", processList1); long applyNum = mapper.countCourtConfirmTerms(terms); caseJudicPageTotalDTO.setUnApplyNum(unApplyNum); caseJudicPageTotalDTO.setApplyNum(applyNum); pageBo.setTotalData(caseJudicPageTotalDTO); return pageBo; } /** * pc端司法确认-最终办结 * @param courtAuditDTO 审核对象 */ public void judicConfirm(CourtAuditDTO courtAuditDTO){ JudicInfo judicInfo = mapper.selectById(courtAuditDTO.getJudicId()); Date nowDate = DateUtils.getNowDate(); if(ObjectUtils.isNotEmpty(judicInfo)){ if("1".equals(courtAuditDTO.getSubmitType())){ judicInfo.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_4.getIndex()); judicInfo.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_4.getDes()); } judicInfo.setJudicResult(courtAuditDTO.getJudicResult()); judicInfo.setJudicResultName(JudicBaseConstsEnum.getDes(courtAuditDTO.getJudicResult())); judicInfo.setJudicFalseCause(courtAuditDTO.getJudicFalseCause()); judicInfo.setJudicEndTime(nowDate); judicInfo.setMediateJudicNo(courtAuditDTO.getMediateJudicNo()); judicInfo.setJudicContent(courtAuditDTO.getJudicContent()); mapper.updateJudicInfo(judicInfo); } } /** * 根据案件判断是否有已结案的司法确认 * @param caseId 案件id * */ public Boolean isJudicEnd(String caseId){ QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("case_id", caseId); List processList = new ArrayList<>(); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_4.getIndex()); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_5.getIndex()); processList.add(JudicBaseConstsEnum.JUDIC_PROCESS_6.getIndex()); wrapper.in("process",processList); List judicInfos = mapper.selectList(wrapper); if(ObjectUtils.isNotEmpty(judicInfos)){ return true; }else{ return false; } } public JudicInfoDTO copyJudic(String caseId){ JudicInfoDTO judicInfoDTO = new JudicInfoDTO(); JudicInfo judicInfoCopy = mapper.getCopyJudicInfo(caseId); if(ObjectUtils.isNotEmpty(judicInfoCopy)){ judicInfoDTO = getJudicInfo(judicInfoCopy.getId()); return judicInfoDTO; } QueryWrapper judicInfoWrapper = new QueryWrapper<>(); judicInfoWrapper.eq("case_id", caseId); judicInfoWrapper.orderByDesc("create_time"); judicInfoWrapper.last("limit 1"); JudicInfo judicInfo = mapper.selectOne(judicInfoWrapper); JudicInfo judicInfoNew = new JudicInfo(); Date nowDate = DateUtils.getNowDate(); if (ObjectUtils.isNotEmpty(judicInfo)) { BeanUtils.copyProperties(judicInfo, judicInfoNew); judicInfoNew.setId(utilsClient.getNewTimeJudicId()); judicInfoNew.setAuditTag(JudicBaseConsts.AUDIT_TAG_2); judicInfoNew.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_0.getIndex()); judicInfoNew.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_0.getDes()); judicInfoNew.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); judicInfoNew.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_3.getDes()); judicInfoNew.setDeleteStatus("2"); judicInfoNew.setJudicNo(utilsClient.createJudicNo(judicInfo.getCustId())); judicInfoNew.setApplyTime(nowDate); judicInfoNew.setJudicAudit(null); judicInfoNew.setJudicAuditName(null); judicInfoNew.setJudicHandle(null); judicInfoNew.setJudicHandleName(null); judicInfoNew.setAuditTime(null); judicInfoNew.setAuditUserId(null); judicInfoNew.setAuditUserName(null); judicInfoNew.setJudicAuditContent(null); judicInfoNew.setHandleDeptId(null); judicInfoNew.setHandleDeptName(null); judicInfoNew.setHandleUserId(null); judicInfoNew.setHandleUserName(null); judicInfoNew.setHandleTime(null); judicInfoNew.setHandleContent(null); judicInfoNew.setHandleUnitId(null); judicInfoNew.setHandleUnitName(null); judicInfoNew.setJudicResult(null); judicInfoNew.setJudicResultName(null); judicInfoNew.setUpdateTime(nowDate); judicInfoNew.setCreateTime(nowDate); judicInfoNew.setStatus(TaskBaseConstsEnum.TASK_STATUS_0.getIndex()); //复制文件 List judicFiles = getJudicFile(caseId, judicInfo.getId()); if(ObjectUtils.isNotEmpty(judicFiles)){ for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: judicFiles){ for (FileTypeInfoBaseDTO fileTypeInfoBaseDTO : fileIdTypeInfoBaseDTO.getFileList()) { for (FileInfoBaseDTO fileInfoBaseDTO : fileTypeInfoBaseDTO.getFileList()) { sysClient.copyFile(caseId,judicInfoNew.getId(),fileInfoBaseDTO.getOwnerType(),fileInfoBaseDTO.getId()); } } } } mapper.insert(judicInfoNew); judicInfoDTO = getJudicInfo(judicInfoNew.getId()); }else{ judicInfoNew.setId(utilsClient.getNewTimeJudicId()); judicInfoNew.setCaseId(caseId); judicInfoNew.setJudicNo(utilsClient.createJudicNo(caseId)); judicInfoNew.setDeleteStatus("2"); judicInfoNew.setCreateTime(nowDate); judicInfoNew.setCustId(caseId); //复制文件 List judicFiles = getJudicFile(caseId, null); if(ObjectUtils.isNotEmpty(judicFiles)){ for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: judicFiles){ for (FileTypeInfoBaseDTO fileTypeInfoBaseDTO : fileIdTypeInfoBaseDTO.getFileList()) { for (FileInfoBaseDTO fileInfoBaseDTO : fileTypeInfoBaseDTO.getFileList()) { String ownerType = fileInfoBaseDTO.getOwnerType(); if(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex().equals(ownerType)){ ownerType = FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex(); } sysClient.copyFile(caseId,judicInfoNew.getId(),ownerType,fileInfoBaseDTO.getId()); } } } } mapper.insert(judicInfoNew); judicInfoDTO = getJudicInfo(judicInfoNew.getId()); } return judicInfoDTO; } public List getJudicFile(String caseId,String judicId){ // 附件 QueryWrapper judicInfoQuery = new QueryWrapper<>(); judicInfoQuery.eq("case_id", caseId); judicInfoQuery.eq("delete_status", "0"); Integer judicInfoCount = mapper.selectCount(judicInfoQuery); List fileIdTypeInfoBaseDTOS = new ArrayList<>(); List ownerTypeList = new ArrayList<>(); if(ObjectUtils.isEmpty(judicInfoCount) || judicInfoCount == 0){ ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex()); Map term = new HashMap<>(); term.put("mainId", caseId); term.put("typeList",ownerTypeList); fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term); }else{ ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_108.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_403.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_401.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_405.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_402.getIndex()); ownerTypeList.add(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex()); Map term = new HashMap<>(); term.put("mainId", caseId); term.put("ownerIds", "'" + judicId + "'"); term.put("typeList",ownerTypeList); fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term); if(ObjectUtils.isEmpty(fileIdTypeInfoBaseDTOS)) { Map term1 = new HashMap<>(); term1.put("mainId", caseId); term1.put("typeList", ownerTypeList); fileIdTypeInfoBaseDTOS = sysClient.listIdTypeInfoByOwnerIdList(term1); } } if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTOS)){ for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOS){ if(ObjectUtils.isNotEmpty(fileIdTypeInfoBaseDTO.getFileList())){ for (FileTypeInfoBaseDTO fileTypeInfoBaseDTO : fileIdTypeInfoBaseDTO.getFileList()) { for (FileInfoBaseDTO fileInfoBaseDTO : fileTypeInfoBaseDTO.getFileList()) { if(FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex().equals(fileInfoBaseDTO.getOwnerType())){ fileInfoBaseDTO.setOwnerType(FileOwnerTypeBaseEnum.OWNER_TYPE_412.getIndex()); } } } } } } return fileIdTypeInfoBaseDTOS; } /** * 再次申请 * */ public void unitApplyJudicAgain(CtUserDTO loginUser, UnitApplySaveDTO unitApplySaveDTO){ JudicInfo judicInfo = mapper.selectById(unitApplySaveDTO.getId()); if(ObjectUtils.isNotEmpty(judicInfo)){ Date nowDate = DateUtils.getNowDate(); judicInfo.setDeleteStatus("0"); judicInfo.setUpdateTime(nowDate); judicInfo.setApplyTime(nowDate); judicInfo.setApplyUnitId(loginUser.getUnitId()); judicInfo.setApplyUnitName(loginUser.getUnitName()); judicInfo.setApplyUserId(loginUser.getId()); judicInfo.setApplyUserName(loginUser.getTrueName()); judicInfo.setJudicNo(utilsClient.createJudicNo(loginUser.getCustId())); mapper.updateJudicInfo(judicInfo); JudicTask judicTask = new JudicTask(); judicTask.setId(utilsClient.getNewTimeId()); judicTask.setJudicId(judicInfo.getId()); judicTask.setCaseId(judicInfo.getCaseId()); judicTask.setNodeId(FlowNodeBaseEnum.FLOW_NODE_6.getIndex()); judicTask.setNodeName(FlowNodeBaseEnum.FLOW_NODE_6.getDes()); judicTask.setNodeType(FlowBaseConsts.TASK_NODE_TYPE_1); judicTask.setCaseTaskType(FlowBaseConsts.TASK_TYPE_1); judicTask.setHandleUnitId(judicInfo.getCourtId()); judicTask.setHandleUnitName(judicInfo.getCourtName()); judicTask.setStatus(TaskBaseConstsEnum.TASK_STATUS_0.getIndex()); judicTask.setHandleResult(FlowBaseConsts.TASK_RESULT_0); judicTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); judicTask.setCustId(loginUser.getCustId()); judicTask.setCreateTime(nowDate); judicTask.setUpdateTime(nowDate); judicTaskService.save(judicTask); } } }