From c098e33d7e9428aa3c902600af4b833eee0088f4 Mon Sep 17 00:00:00 2001 From: xusd <hugeinfo123> Date: Tue, 10 Sep 2024 17:24:30 +0800 Subject: [PATCH] 兼容小程序提交没属地问题,为演示先写死 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 548 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 420 insertions(+), 128 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java index ad778e5..4937f75 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java @@ -3,11 +3,16 @@ 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.dao.mapper.*; import cn.huge.module.cases.domain.dto.*; -import cn.huge.module.cases.domain.po.CaseInfo; +import cn.huge.base.common.utils.ObjectUtils; +import cn.huge.module.cases.domain.dto.CaseFlowDTO; +import cn.huge.module.cases.domain.dto.TabButtonDTO; +import cn.huge.module.cases.domain.dto.TabButtonInfoDTO; +import cn.huge.module.cases.domain.po.CaseAssistApply; import cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.po.CaseWindupApply; +import cn.huge.module.cases.domain.dto.*; +import cn.huge.module.cases.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.DispClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; @@ -18,6 +23,9 @@ import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; +import cn.huge.module.mediate.constant.AuditBaseConsts; +import cn.huge.module.mediate.constant.AuditBaseConstsEnum; +import cn.huge.module.mediate.constant.CaseBaseConsts; import cn.huge.module.disp.constant.DispBaseConstsEnum; import cn.huge.module.disp.dto.CaseDispBaseDTO; import cn.huge.module.disp.dto.DispCaseBaseDTO; @@ -28,12 +36,14 @@ import cn.huge.module.flow.service.FlowInfoService; import cn.huge.module.mediate.constant.*; import cn.huge.module.sys.constant.SyTimeEnum; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -41,6 +51,8 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.PostConstruct; +import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -78,6 +90,21 @@ private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CaseWindupApplyService caseWindupApplyService; + + @Autowired + private CaseWindupApplyMapper caseWindupApplyMapper; + + @Autowired + private CaseReturnMapper caseReturnMapper; + + @Autowired + private CaseAppearMapper caseAppearMapper; + + @Autowired + private CaseAssistApplyMapper caseAssistApplyMapper; + + @Autowired + private CaseAssistApplyService assistApplyService; /** * 更新对象 @@ -176,105 +203,180 @@ */ public TabButtonDTO webGetTabButton(String caseTaskId, String userId){ try{ - // 临时给前端联调数据 - TabButtonDTO tabButtonDTO = new TabButtonDTO(); - List<TabButtonInfoDTO> tabList = new LinkedList<>(); + // 查询当前任务信息 + CaseTask caseTask = mapper.selectById(caseTaskId); + // 定义tab TabButtonInfoDTO sxxq = new TabButtonInfoDTO(); sxxq.setId("sxxq"); sxxq.setName("事项详情"); - tabList.add(sxxq); - TabButtonInfoDTO dslxq = new TabButtonInfoDTO(); dslxq.setId("dslxq"); dslxq.setName("详情"); - tabList.add(dslxq); - TabButtonInfoDTO sxbl = new TabButtonInfoDTO(); sxbl.setId("sxbl"); sxbl.setName("事项办理"); - tabList.add(sxbl); - TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); sqjl.setId("sqjl"); sqjl.setName("申请记录"); - tabList.add(sqjl); - TabButtonInfoDTO htsh = new TabButtonInfoDTO(); htsh.setId("htsh"); htsh.setName("回退审核"); - tabList.add(htsh); - TabButtonInfoDTO sbsh = new TabButtonInfoDTO(); sbsh.setId("sbsh"); sbsh.setName("上报审核"); - tabList.add(sbsh); - TabButtonInfoDTO jash = new TabButtonInfoDTO(); jash.setId("jash"); jash.setName("结案审核"); - tabList.add(jash); - TabButtonInfoDTO lhczsh = new TabButtonInfoDTO(); lhczsh.setId("lhczsh"); lhczsh.setName("联合处置申请审核"); - tabList.add(lhczsh); - TabButtonInfoDTO lcdb = new TabButtonInfoDTO(); lcdb.setId("lcdb"); lcdb.setName("流程督办"); - tabList.add(lcdb); - TabButtonInfoDTO daxx = new TabButtonInfoDTO(); daxx.setId("daxx"); daxx.setName("档案信息"); - tabList.add(daxx); - tabButtonDTO.setTabList(tabList); - List<TabButtonInfoDTO> buttonList = new LinkedList<>(); + // 定义button TabButtonInfoDTO tjbljl = new TabButtonInfoDTO(); tjbljl.setId("tjbljl"); tjbljl.setName("添加办理记录"); - buttonList.add(tjbljl); - TabButtonInfoDTO lhczsq = new TabButtonInfoDTO(); lhczsq.setId("lhczsq"); lhczsq.setName("联合处置申请"); - buttonList.add(lhczsq); - TabButtonInfoDTO jasq = new TabButtonInfoDTO(); jasq.setId("jasq"); jasq.setName("结案申请"); - buttonList.add(jasq); - TabButtonInfoDTO db = new TabButtonInfoDTO(); db.setId("db"); db.setName("督办"); - buttonList.add(db); - TabButtonInfoDTO sl = new TabButtonInfoDTO(); sl.setId("sl"); sl.setName("受理"); - buttonList.add(sl); - TabButtonInfoDTO ht = new TabButtonInfoDTO(); ht.setId("ht"); ht.setName("回退"); - buttonList.add(ht); - TabButtonInfoDTO zxsl = new TabButtonInfoDTO(); zxsl.setId("zxsl"); zxsl.setName("自行受理"); - buttonList.add(zxsl); - TabButtonInfoDTO jb = new TabButtonInfoDTO(); jb.setId("jb"); jb.setName("交办"); - buttonList.add(jb); - TabButtonInfoDTO sb = new TabButtonInfoDTO(); sb.setId("sb"); sb.setName("上报"); - buttonList.add(sb); + // 根据流程显示tab + List<TabButtonInfoDTO> tabList = new LinkedList<>(); + // 根据流程显示button + List<TabButtonInfoDTO> buttonList = new LinkedList<>(); + if (ObjectUtils.isNotEmpty(caseTask)) { + if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(zxsl); + buttonList.add(jb); + buttonList.add(sb); + } + if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(sl); + buttonList.add(ht); + } + if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(htsh); + } + if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(sbsh); + } + if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(zxsl); + buttonList.add(jb); + buttonList.add(sb); + } + if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(sl); + buttonList.add(ht); + } + if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(htsh); + } + if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(sbsh); + } + if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(zxsl); + buttonList.add(jb); + } + if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(sl); + buttonList.add(ht); + } + if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(htsh); + } + if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { + tabList.add(sxxq); + tabList.add(sxbl); + tabList.add(sqjl); + + buttonList.add(tjbljl); + buttonList.add(lhczsq); + buttonList.add(jasq); + } + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(jash); + } + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { + daxx.setName("信息"); + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + }else { + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(lhczsh); + } + // 封装数据 + TabButtonDTO tabButtonDTO = new TabButtonDTO(); + tabButtonDTO.setTabList(tabList); tabButtonDTO.setButtonList(buttonList); return tabButtonDTO; }catch (Exception e){ @@ -290,76 +392,64 @@ */ public Map<String, Object> webListCaseFlow(String caseId, String userId){ try{ - // 临时给前端联调数据 Map<String, Object> result = Maps.newHashMap(); - List<CaseFlowDTO> handleCaseFlowList = new LinkedList<>(); + // 首节点 CaseFlowDTO lfdj = new CaseFlowDTO(); + CaseInfo caseInfo = caseInfoService.getById(caseId); lfdj.setNodeShowName("来访登记"); - lfdj.setHandleUnitName("白云区新市综治中心"); - lfdj.setHandleUserName("李晓明"); - lfdj.setTaskType(1); - lfdj.setStatus(2); + lfdj.setHandleUnitName(caseInfo.getInputUnitName()); + lfdj.setHandleUserName(caseInfo.getInputUserName()); + lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1); + lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2); lfdj.setHandleTime(new Date()); handleCaseFlowList.add(lfdj); + // 查询承办组织任务 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByDesc("create_time"); + List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper); - CaseFlowDTO xtpd = new CaseFlowDTO(); - xtpd.setNodeShowName("事件流转"); - xtpd.setHandleUnitName("系统派单"); - xtpd.setHandleTime(new Date()); - xtpd.setHandleNotes("派单至:白云区新市司法所"); - xtpd.setTaskType(1); - xtpd.setStatus(2); - handleCaseFlowList.add(xtpd); - - CaseFlowDTO sjlz = new CaseFlowDTO(); - sjlz.setNodeShowName("事件流转"); - sjlz.setHandleUnitName("白云区新市司法所"); - sjlz.setHandleUserName("赵菲菲"); - sjlz.setHandleTime(new Date()); - sjlz.setHandleNotes("已签收"); - sjlz.setTaskType(1); - sjlz.setStatus(2); - handleCaseFlowList.add(sjlz); - - CaseFlowDTO sjht = new CaseFlowDTO(); - sjht.setNodeShowName("事件回退"); - sjht.setHandleUnitName("白云区新市司法所"); - sjht.setHandleUserName("赵菲菲"); - sjht.setHandleTime(new Date()); - sjht.setTaskType(2); - sjht.setStatus(2); - handleCaseFlowList.add(sjht); - - CaseFlowDTO htsh = new CaseFlowDTO(); - htsh.setNodeShowName("回退审核"); - htsh.setHandleUnitName("白云区新市综治中心"); - htsh.setHandleUserName("李晓明"); - htsh.setHandleTime(new Date()); - htsh.setAuditResult("24_00004-1"); - htsh.setAuditResultName("通过"); - htsh.setHandleTime(new Date()); - htsh.setTaskType(1); - htsh.setStatus(2); - handleCaseFlowList.add(htsh); - - CaseFlowDTO dsl = new CaseFlowDTO(); - dsl.setProcessName("待受理"); - dsl.setHandleUnitName("白云区新市综治中心"); - dsl.setTaskType(1); - dsl.setStatus(1); - handleCaseFlowList.add(dsl); + for (CaseTask caseTask: handleCaseTaskList){ + CaseFlowDTO caseFlowDTO = new CaseFlowDTO(); + if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ + caseFlowDTO.setProcessName(caseInfo.getProcessName()); + caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + caseFlowDTO.setTaskType(caseTask.getTaskType()); + caseFlowDTO.setStatus(caseTask.getStatus()); + }else { + caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + caseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + caseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + caseFlowDTO.setHandleTime(caseTask.getHandleTime()); + caseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { + caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); + caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); + } + if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { + caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); + caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); + } + } + handleCaseFlowList.add(caseFlowDTO); + } result.put("handleCaseFlowList", handleCaseFlowList); + // 查询配合组织流程 List<CaseFlowDTO> assistCaseFlowList = new LinkedList<>(); - CaseFlowDTO xtpd2 = new CaseFlowDTO(); - xtpd2.setNodeShowName("事件流转"); - xtpd2.setHandleUnitName("联合处置申请"); - xtpd2.setHandleTime(new Date()); - xtpd2.setHandleNotes("联合处置申请:白云区永平司法所"); - xtpd2.setTaskType(1); - xtpd2.setStatus(2); - assistCaseFlowList.add(xtpd2); + caseTaskQueryWrapper.clear(); + caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time"); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + for (CaseTask caseTask: assistCaseTaskList){ + CaseFlowDTO caseFlowDTO = new CaseFlowDTO(); + caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + caseFlowDTO.setHandleTime(caseTask.getHandleTime()); + caseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + caseFlowDTO.setTaskType(caseTask.getTaskType()); + caseFlowDTO.setStatus(caseTask.getStatus()); + assistCaseFlowList.add(caseFlowDTO); + } result.put("assistCaseFlowList", assistCaseFlowList); return result; }catch (Exception e){ @@ -369,21 +459,186 @@ } /** - * 按条件统计 + * 获取首页统计数量 * @param userId 用户编号 * @return long */ - public Map<String, Long> getCountList(String userId){ - CtUserDTO loginUser = custClient.clientGetUserAll(userId); - Map<String, Object> terms = new HashMap<>(); - terms.put("candeUnitId", loginUser.getUnitId()); - terms.put("candeDeptId", loginUser.getDeptId()); - mapper.countTaskList(terms); - superviseService.countCaseSuperviseList(0,loginUser.getUnitId()); - Map<String, Long> result = new HashMap<>(); - return result; + public FrontPageCountDTO getCountList(String userId){ + try { + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + Map<String, Object> terms = new HashMap<>(); + terms.put("candeUnitId", loginUser.getUnitId()); + terms.put("candeDeptId", loginUser.getDeptId()); + FrontPageCountDTO frontPageCountDTO = mapper.countTaskList(terms); + long supervise = superviseService.countCaseSuperviseList(0,loginUser.getUnitId()); + frontPageCountDTO.setSupervise(supervise); + long countApplyReview = caseWindupApplyMapper.countApplyReview(loginUser.getUnitId()); + long countReturnReview = caseReturnMapper.countReturnReview(loginUser.getUnitId()); + long countAppearReview = caseAppearMapper.countAppearReview(loginUser.getUnitId()); + long countAssistReview = caseAssistApplyMapper.countAssistReview(loginUser.getUnitId()); + frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); + return frontPageCountDTO; + }catch (Exception e) { + log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.getCountList", e); + } } + /** + * 首页-查询待办任务-受分派 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskFp(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskFp(terms); + List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskFp(page, terms); + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskFp]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskFp", e); + } + + } + + /** + * 首页-查询待办任务-受签收 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskQs(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskQs(terms); + List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskQs(page, terms); + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + + /** + * 首页-查询待办任务-受待理 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskSl(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskSl(terms); + List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskSl(page, terms); + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + + /** + * 首页-查询待办任务-办理中 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskProcessing(terms); + List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskProcessing(page, terms); + List<String> caseIdList = new ArrayList<>(); + Date now = DateUtils.getNowDate(); + for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ + long milliseconds1 = frontPageListDTO.getTurnaroundTime().getTime(); + long milliseconds2 = now.getTime(); + long diff = milliseconds2 - milliseconds1; + long daysBetween = diff / (24 * 60 * 60 * 1000); + frontPageListDTO.setProcessingDays(daysBetween); + caseIdList.add(frontPageListDTO.getCaseId()); + } + if(CollectionUtils.isNotEmpty(caseIdList)){ + QueryWrapper<CaseAssistApply> assistApplyQueryWrapper = new QueryWrapper<>(); + assistApplyQueryWrapper.in("case_id", caseIdList).eq("apply_status", AuditBaseConsts.AUDIT_STATUS_1) + .eq("audit_result", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); + List<CaseAssistApply> caseAssistApplyList = assistApplyService.list(assistApplyQueryWrapper); + for(CaseAssistApply caseAssistApply: caseAssistApplyList){ + for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ + if(frontPageListDTO.getCaseId().equals(caseAssistApply.getCaseId())){ + frontPageListDTO.setCooperatingUnit(caseAssistApply.getApplyAssistUnitName()); + } + } + } + } + + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + + /** + * 首页-查询待办任务-办理任务 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskBl(PageRequest page, Map<String, Object> terms){ + try { + long total = caseWindupApplyMapper.countMySubmitApplyReview(terms); + List<FrontPageListDTO> frontPageListDTOList = caseWindupApplyMapper.pageMySubmitApplyReview(page, terms); + + List<String> caseIdList = new ArrayList<>(); + caseIdList = frontPageListDTOList.stream().map(FrontPageListDTO ::getCaseId).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(caseIdList)){ + QueryWrapper<CaseAssistApply> assistApplyQueryWrapper = new QueryWrapper<>(); + assistApplyQueryWrapper.in("case_id", caseIdList).eq("apply_status", AuditBaseConsts.AUDIT_STATUS_1) + .eq("audit_result", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); + List<CaseAssistApply> caseAssistApplyList = assistApplyService.list(assistApplyQueryWrapper); + for(CaseAssistApply caseAssistApply: caseAssistApplyList){ + for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ + if(frontPageListDTO.getCaseId().equals(caseAssistApply.getCaseId())){ + frontPageListDTO.setCooperatingUnit(caseAssistApply.getApplyAssistUnitName()); + } + } + } + } + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + + /** + * 首页-待审核分页查询 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListDTO> pageMyTaskSh(PageRequest page, int type, Map<String, Object> terms){ + try { + long total = 0; + List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>(); + if(1 == type){ + total = caseReturnMapper.countMyTaskReturnReview(terms); + frontPageListDTOList = caseReturnMapper.pageMyTaskReturnReview(page,terms); + }else if(2 == type){ + total = caseAppearMapper.countMyTaskAppearReview(terms); + frontPageListDTOList = caseAppearMapper.pageMyTaskAppearReview(page, terms); + }else if(3 == type){ + total = caseWindupApplyMapper.countMyTaskApplyReview(terms); + frontPageListDTOList = caseWindupApplyMapper.pageMyTaskApplyReview(page, terms); + }else if(4 == type){ + total = caseAssistApplyMapper.countMyTaskAssistReview(terms); + frontPageListDTOList = caseAssistApplyMapper.pageMyTaskAssistReview(page, terms); + } + return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } /** * wechat端-查询流程进度 * @param caseId 纠纷编号 @@ -421,6 +676,7 @@ BeanUtils.copyProperties(caseInfo, dispCaseBaseDTO); dispCaseBaseDTO.setCaseId(caseInfo.getId()); CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO); + log.info(JSON.toJSONString(caseDispBaseDTO)); // 目前平台只能调度给组织 if (DispBaseConstsEnum.TARGET_TYPE_1.getIndex().equals(caseDispBaseDTO.getTargetType())) { // 目前平台只做镇街、村居级别的调度, @@ -486,7 +742,7 @@ dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dfpCaseTask.setHandleUnitName("系统派单"); dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); - dfpCaseTask.setHandleContent("派单至:"+caseDispBaseDTO.getTargetName()); + dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName()); dfpCaseTask.setHandleTime(caseInfo.getCreateTime()); dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); dfpCaseTask.setCustId(caseInfo.getCustId()); @@ -577,6 +833,8 @@ dfpCaseTaskPO.setHandleUserId(loginUser.getId()); dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName()); dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + dfpCaseTaskPO.setHandleContent(assignTaskDTO.getAssignContent()); + dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName()); dfpCaseTaskPO.setHandleTime(nowDate); dfpCaseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(dfpCaseTaskPO); @@ -647,21 +905,54 @@ caseInfoService.updateCaseInfo(caseInfoPO); // 分派配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ + // 拼接配合组织编号和名称 + String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). + collect(Collectors.joining(BaseConsts.COMMA)); + String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). + collect(Collectors.joining(BaseConsts.COMMA)); for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ + // 创建交办配合组织任务 + CaseTask jbAssistCaseTask = new CaseTask(); + jbAssistCaseTask.setId(utilsClient.getNewTimeId()); + jbAssistCaseTask.setCaseId(dfpCaseTask.getCaseId()); + jbAssistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jbAssistCaseTask.setNodeName("交办配合部门"); + jbAssistCaseTask.setNodeShowName("交办配合部门"); + jbAssistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); + // 配合任务,任务候选执行者类型是上一步骤选择 + jbAssistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jbAssistCaseTask.setCandeUnitId(loginUser.getUnitId()); + jbAssistCaseTask.setCandeUnitName(loginUser.getUnitName()); + jbAssistCaseTask.setHandleUnitId(loginUser.getUnitId()); + jbAssistCaseTask.setHandleUnitName(loginUser.getUnitId()); + jbAssistCaseTask.setHandleUserId(loginUser.getId()); + jbAssistCaseTask.setHandleUserName(loginUser.getTrueName()); + jbAssistCaseTask.setHandleContent(assignTaskDTO.getAssignContent()); + jbAssistCaseTask.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName()); + jbAssistCaseTask.setHandleTime(nowDate); + // 不需要签收 + jbAssistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jbAssistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + jbAssistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jbAssistCaseTask.setCustId(dfpCaseTask.getCustId()); + jbAssistCaseTask.setCreateTime(nowDate); + jbAssistCaseTask.setUpdateTime(nowDate); + mapper.insert(jbAssistCaseTask); // 创建配合组织任务 CaseTask assistCaseTask = new CaseTask(); assistCaseTask.setId(utilsClient.getNewTimeId()); assistCaseTask.setCaseId(dfpCaseTask.getCaseId()); assistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); assistCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); - assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); - assistCaseTask.setFlowId(newFlowNode.getFlowId()); + assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getDes()); assistCaseTask.setNodeShowName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); assistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); // 配合任务,任务候选执行者类型是上一步骤选择 assistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); assistCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); assistCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); + assistCaseTask.setHandleUnitId(assignAssistUnitDTO.getUitId()); + assistCaseTask.setHandleUnitName(assignAssistUnitDTO.getUitName()); // 分派的任务,需要签收 assistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); assistCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex())); @@ -672,12 +963,12 @@ assistCaseTask.setUpdateTime(nowDate); mapper.insert(assistCaseTask); } - // 拼接配合组织编号和名称 - String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). - collect(Collectors.joining(BaseConsts.COMMA)); - String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). - collect(Collectors.joining(BaseConsts.COMMA)); - + // 更新纠纷扩展信息 + CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); + caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); + caseInfoUnfoldPO.setAssistUnitId(assistUnitId); + caseInfoUnfoldPO.setAssistUnitName(assistUnitName); + caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); @@ -702,6 +993,7 @@ caseTaskPO.setSignTime(nowDate); caseTaskPO.setSignUserId(loginUser.getId()); caseTaskPO.setSignUserName(loginUser.getTrueName()); + caseTaskPO.setHandleIllust("已签收"); caseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(caseTaskPO); // 更新纠纷信息 @@ -926,7 +1218,7 @@ dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - dsrpjCaseTask.setCustId(blfkCaseTaskPO.getCustId()); + dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); dsrpjCaseTask.setCreateTime(nowDate); dsrpjCaseTask.setUpdateTime(nowDate); mapper.insert(dsrpjCaseTask); @@ -972,7 +1264,7 @@ // 新建结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); - jashCaseTask.setCaseId(blfkCaseTaskPO.getCaseId()); + jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); @@ -991,15 +1283,15 @@ jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - jashCaseTask.setCustId(blfkCaseTaskPO.getCustId()); + jashCaseTask.setCustId(jasqCaseTask.getCustId()); jashCaseTask.setCreateTime(nowDate); jashCaseTask.setUpdateTime(nowDate); mapper.insert(jashCaseTask); // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); - caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId()); - caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName()); + caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId()); + caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); // 更新纠纷信息 -- Gitblit v1.8.0