| | |
| | | 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.dto.FileRelateDTO; |
| | | import cn.huge.module.cases.domain.dto.FrontPageListDTO; |
| | | import cn.huge.module.cases.domain.dto.QuiltUnitDTO; |
| | | import cn.huge.module.cases.domain.po.CaseInfo; |
| | | import cn.huge.module.cases.domain.po.CaseInfoUnfold; |
| | | 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.cust.dto.CtUserDTO; |
| | | import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum; |
| | | import cn.huge.module.sys.constant.SyTimeEnum; |
| | | import cn.huge.module.sys.dto.FileIdInfoBaseDTO; |
| | | import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; |
| | | import cn.huge.module.sys.dto.FileInfoBaseDTO; |
| | | 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.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | @Autowired |
| | | private SysClientImpl sysClient; |
| | | |
| | | @Autowired |
| | | private CaseInfoService caseInfoService; |
| | | |
| | | /** |
| | | * 条件更新对象 |
| | |
| | | public void addCaseSupervise(CaseSupervise caseSupervise, String userId){ |
| | | try{ |
| | | List<QuiltUnitDTO> quiltUnitDTOList = caseSupervise.getQuiltUnitDTOList(); |
| | | Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_03.getIndex()); |
| | | Integer timeTerm = sysClient.getTimeLimitHour(SyTimeEnum.SY_TIME_5.getIndex()); |
| | | List<CaseSupervise> caseSuperviseList = new ArrayList<>(); |
| | | List<FileRelateDTO> fileRelateDTOList = sysClient.listFileRelateByOwnerId(caseSupervise.getId()); |
| | | int count = 0; |
| | | List<FileRelateDTO> fileRelateDTOListNew = new ArrayList<>(); |
| | | for(QuiltUnitDTO quiltUnitDTO: quiltUnitDTOList){ |
| | | CaseSupervise caseSuperviseNew = new CaseSupervise(); |
| | | BeanUtils.copyProperties(caseSupervise, caseSuperviseNew); |
| | |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | caseSuperviseNew.setSupUserId(loginUser.getId()); |
| | | caseSuperviseNew.setSupUserName(loginUser.getTrueName()); |
| | | caseSuperviseNew.setSupUnitId(loginUser.getUnitId()); |
| | | caseSuperviseNew.setSupUnitName(loginUser.getUnitName()); |
| | | caseSuperviseNew.setSupTime(nowDate); |
| | | caseSuperviseNew.setQuiltUnitId(quiltUnitDTO.getQuiltUnitId()); |
| | | caseSuperviseNew.setQuiltUnitName(quiltUnitDTO.getQuiltUnitName()); |
| | |
| | | caseSuperviseNew.setCreateTime(nowDate); |
| | | caseSuperviseNew.setUpdateTime(nowDate); |
| | | caseSuperviseNew.setReplyTerm(timeTerm); |
| | | //给每条督办添加附件信息 |
| | | if(0 != count){ |
| | | String caseSupId = utilsClient.getNewTimeId(); |
| | | caseSuperviseNew.setId(caseSupId); |
| | | for(FileRelateDTO fileRelateDTO: fileRelateDTOList){ |
| | | String fileRealateId = utilsClient.getNewTimeSysId(); |
| | | FileRelateDTO fileRelateDTONew = new FileRelateDTO(); |
| | | BeanUtils.copyProperties(fileRelateDTO, fileRelateDTONew); |
| | | fileRelateDTONew.setOwnerId(caseSuperviseNew.getId()); |
| | | fileRelateDTONew.setId(fileRealateId); |
| | | fileRelateDTOListNew.add(fileRelateDTONew); |
| | | } |
| | | } |
| | | caseSuperviseList.add(caseSuperviseNew); |
| | | count++; |
| | | } |
| | | this.saveBatch(caseSuperviseList); |
| | | if(CollectionUtils.isNotEmpty(fileRelateDTOListNew)){ |
| | | sysClient.saveFileRelateList(fileRelateDTOListNew); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e); |
| | |
| | | caseSupervise.setSupStatus(1); |
| | | caseSupervise.setReplyUserId(loginUser.getId()); |
| | | caseSupervise.setReplyUserName(loginUser.getTrueName()); |
| | | caseSupervise.setReplyTime(String.valueOf(now)); |
| | | caseSupervise.setReplyTime(now); |
| | | caseSupervise.setUpdateTime(now); |
| | | mapper.updateCaseSupervise(caseSupervise); |
| | | }catch (Exception e){ |
| | |
| | | * 流转办理-督办列表 |
| | | * @param caseId 事项Id |
| | | */ |
| | | public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId){ |
| | | public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId, int type){ |
| | | try{ |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | String quiltUnitId = loginUser.getUnitId(); |
| | | long countSuperviseList = mapper.countCaseSupervise(caseId, supStatus, quiltUnitId); |
| | | List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(caseId, page, supStatus, quiltUnitId); |
| | | Map<String, Object> terms = new HashMap<>(); |
| | | terms.put("caseId", caseId); |
| | | terms.put("type", type); |
| | | if(1 == type){ |
| | | terms.put("supStatus", supStatus); |
| | | terms.put("quiltUnitId", quiltUnitId); |
| | | } |
| | | long countSuperviseList = mapper.countCaseSupervise(terms); |
| | | List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(terms, page); |
| | | CaseInfo caseInfo = new CaseInfo(); |
| | | if(CollectionUtils.isNotEmpty(caseSuperviseList)){ |
| | | if(1 != type){ |
| | | |
| | | Map<String, Object>map = new HashMap<>(); |
| | | map.put("mainId", caseId); |
| | | map.put("ownerIds", caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))); |
| | | map.put("types", FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()); |
| | | List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map); |
| | | for(CaseSupervise caseSupervise: caseSuperviseList){ |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | QueryWrapper<CaseInfo>caseInfoQueryWrapper = new QueryWrapper<>(); |
| | | caseInfoQueryWrapper.eq("id", caseId); |
| | | caseInfo = caseInfoService.getOne(caseInfoQueryWrapper); |
| | | for(CaseSupervise caseSupervise: caseSuperviseList){ |
| | | if(ObjectUtils.isNotEmpty(caseSupervise.getSupTime()) && ObjectUtils.isNotEmpty(caseSupervise.getReplyTerm())){ |
| | | caseSupervise.setTimeLimit(DateUtils.addDay(caseSupervise.getSupTime(), caseSupervise.getReplyTerm())); |
| | | } |
| | | if(ObjectUtils.isNotEmpty(caseInfo)){ |
| | | caseSupervise.setCaseGrade(caseInfo.getCaseLevel()); |
| | | } |
| | | } |
| | | }else{ |
| | | Map<String, Object>map = new HashMap<>(); |
| | | map.put("mainId", caseId); |
| | | map.put("ownerIds", "'" + caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))+ "'"); |
| | | map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "','" +FileOwnerTypeBaseEnum.OWNER_TYPE_507.getIndex()+"'"); |
| | | List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map); |
| | | for(CaseSupervise caseSupervise: caseSuperviseList){ |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return new PageImpl<CaseSupervise>(caseSuperviseList, page, countSuperviseList); |
| | | }catch (Exception e){ |
| | | log.error("[CaseSuperviseService.pageReplied]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseSuperviseService.pageReplied", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-督办 |
| | | * @param page |
| | | * @param terms |
| | | */ |
| | | public Page<FrontPageListDTO> pageMyTaskDb(PageRequest page, Map<String, Object> terms){ |
| | | try{ |
| | | long countSuperviseList = mapper.countMyTaskDb(terms); |
| | | List<FrontPageListDTO> caseSuperviseList = mapper.pageMyTaskDb(page, terms); |
| | | return new PageImpl<FrontPageListDTO>(caseSuperviseList, page, countSuperviseList); |
| | | }catch (Exception e){ |
| | | log.error("[CaseSuperviseService.pageReplied]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseSuperviseService.pageReplied", e); |
| | |
| | | public long countCaseSuperviseList(Integer supStatus, String quiltUnitId){ |
| | | return mapper.countCaseSuperviseList(supStatus, quiltUnitId); |
| | | } |
| | | |
| | | /** |
| | | * 根据督办编号查询督办信息 |
| | | * @param id 督办编号 |
| | | * @return List |
| | | */ |
| | | public CaseSupervise getById(String id){ |
| | | try { |
| | | CaseSupervise caseSupervise = mapper.selectById(id); |
| | | Map<String, Object> terms = new HashMap<>(); |
| | | terms.put("mainId", caseSupervise.getCaseId()); |
| | | terms.put("ownerIds", "'" + id + "'"); |
| | | List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms); |
| | | if(CollectionUtils.isNotEmpty(fileIdTypeInfoBaseDTOList)){ |
| | | caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTOList.get(0).getFileList()); |
| | | } |
| | | return caseSupervise; |
| | | }catch (Exception e){ |
| | | log.error("[CaseSuperviseService.getById]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseSuperviseService.getById", e); |
| | | } |
| | | |
| | | } |
| | | } |