From 7222d2bcedd4b959107cfb0086a8bab10a2c15e0 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 21 五月 2025 18:18:58 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 601 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 452 insertions(+), 149 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java index 035a377..b143150 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -20,6 +21,7 @@ import com.doumee.dao.business.vo.CompensationVO; import com.doumee.dao.business.vo.RiskConfigVO; import com.doumee.dao.business.vo.SettleClaimsMoneyVO; +import com.doumee.dao.business.vo.SettleParentStatusVO; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.SettleClaimsLogService; import com.doumee.service.business.SettleClaimsService; @@ -378,9 +380,9 @@ return 1; } - @Override - public Integer createSys(SettleClaims settleClaims) { + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public Integer createOrEditSys(SettleClaims settleClaims) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); settleClaims.setOrigin(Constants.ONE); if(Objects.isNull(settleClaims) @@ -402,52 +404,137 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲钩鍙扮鐞嗗憳鏃犳硶杩涜璇ユ搷浣�"); } Date date =new Date(); - settleClaims.setCreateDate(date); settleClaims.setEditDate(date); - settleClaims.setIsdeleted(Constants.ZERO); - settleClaims.setCreator(loginUserInfo.getId()); - // - List<SettleClaimsMoneyVO> feeList = settleClaims.getAccountList(); + settleClaims.setEditor(loginUserInfo.getId()); + + List<CompensationVO> feeList = settleClaims.getAccountList(); + BigDecimal mainFee = new BigDecimal(0); + BigDecimal ortherFee = new BigDecimal(0); if(feeList!=null && feeList.size()>0){ - for(SettleClaimsMoneyVO fee : feeList){ - + for(CompensationVO fee : feeList){ + if(Constants.equalsObject(fee.getType(),Constants.ZERO)){ + mainFee = mainFee.add(Constants.formatBigdecimal(fee.getFee())); + }else{ + ortherFee = ortherFee.add(Constants.formatBigdecimal(fee.getFee())); + } } - settleClaims.setAccountContent(JSONObject.toJSONString(feeList)); + settleClaims.setHpAccountContent(JSONObject.toJSONString(feeList)); + settleClaims.setHpAccount(mainFee); + settleClaims.setHpOtherAccount(ortherFee); } - settleClaimsMapper.insert(settleClaims); + if(settleClaims.getId() ==null){ + //濡傛灉鏄柊澧炶褰� + dealCreateSysBiz(settleClaims,date,loginUserInfo); + }else{ + //濡傛灉鏇存柊 + dealUpdateSysBiz(settleClaims,date,loginUserInfo); + } + return settleClaims.getId(); + } - + private void dealUpdateSysBiz(SettleClaims settleClaims, Date date, LoginUserInfo loginUserInfo) { + SettleClaims model = settleClaimsMapper.selectById(settleClaims.getId()); + if(model ==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + settleClaimsMapper.updateById(settleClaims); + //鍒犻櫎鍘熸潵鐨勬墿灞曞睘鎬т俊鎭紝淇濈暀鏈�鏂扮殑 + settleClaimsExtMapper.delete(new UpdateWrapper<SettleClaimsExt>().lambda().eq(SettleClaimsExt::getSettileClaimsId,model.getId())); settleClaims.getExtData().setCreator(settleClaims.getCreator()); settleClaims.getExtData().setCreateDate(date); settleClaims.getExtData().setEditor(settleClaims.getCreator()); settleClaims.getExtData().setEditDate(date); + settleClaims.getExtData().setIsdeleted(Constants.ZERO); settleClaims.getExtData().setSettileClaimsId(settleClaims.getId()); settleClaimsExtMapper.insert(settleClaims.getExtData()); + //澶勭悊闄勪欢寮�濮� + multifileJoinMapper.update(null,new UpdateWrapper<Multifile>().lambda() + .set(Multifile::getIsdeleted,Constants.ONE) + .eq(Multifile::getObjId,model.getId()) + .in(Multifile::getObjType + ,Constants.MultiFile.LP_YGGX_FILE.getKey() + ,Constants.MultiFile.LP_ZYCL_FILE.getKey() + ,Constants.MultiFile.LP_MZCL_FILE.getKey() + ,Constants.MultiFile.LP_OTHER_FILE.getKey() + ,Constants.MultiFile.LP_SCZL_FILE.getKey() + ,Constants.MultiFile.LP_SGXC_FILE.getKey() + ,Constants.MultiFile.LP_DZBD_FILE.getKey() + ) - //--------------澶勭悊闄勪欢寮�濮�---------------- - List<Multifile> reportVideo = settleClaims.getReportFileList(); - if(CollectionUtils.isNotEmpty(reportVideo)){ - for (int i = 0; i < reportVideo.size(); i++) { - Multifile multifile = reportVideo.get(i); - if(Objects.isNull(multifile.getFileurl()) - || Objects.isNull(multifile.getType()) - || StringUtils.isBlank(multifile.getName()) - ){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父"); - } - multifile.setCreator(loginUserInfo.getId()); - multifile.setCreateDate(new Date()); - multifile.setIsdeleted(Constants.ZERO); - multifile.setObjId(settleClaims.getId()); - multifile.setObjType(Constants.ONE); - multifile.setSortnum(i+1); - multifileJoinMapper.insert(multifile); - } + ); + dealSysFileListBiz(settleClaims); + } + + private void dealCreateSysBiz(SettleClaims settleClaims,Date date,LoginUserInfo loginUserInfo) { + settleClaims.setCreateDate(date); + settleClaims.setIsdeleted(Constants.ZERO); + settleClaims.setCreator(loginUserInfo.getId()); + + settleClaimsMapper.insert(settleClaims); + settleClaims.getExtData().setCreator(settleClaims.getCreator()); + settleClaims.getExtData().setCreateDate(date); + settleClaims.getExtData().setEditor(settleClaims.getCreator()); + settleClaims.getExtData().setEditDate(date); + settleClaims.getExtData().setIsdeleted(Constants.ZERO); + settleClaims.getExtData().setSettileClaimsId(settleClaims.getId()); + settleClaimsExtMapper.insert(settleClaims.getExtData()); + //澶勭悊闄勪欢寮�濮� + dealSysFileListBiz(settleClaims); + } + + /** + * 澶勭悊闄勪欢寮�濮� + * @param settleClaims + */ + + private void dealSysFileListBiz(SettleClaims settleClaims) { + List<Multifile> relationFileList = settleClaims.getRelationFileList();//鍛樺伐鍏崇郴鏉愭枡 + List<Multifile> hospitalFileList = settleClaims.getHospitalFileList();//浣忛櫌鏉愭枡 + List<Multifile> outpatientFileList = settleClaims.getOutpatientFileList();//闂ㄨ瘖鏉愭枡 + List<Multifile> otherFileList = settleClaims.getOtherFileList();//鍏朵粬鏉愭枡 + List<Multifile> disabilityFileList = settleClaims.getDisabilityFileList();//浼ゆ畫鏉愭枡 + List<Multifile> dzbdFileList = settleClaims.getDzbdFileList();//鐢靛瓙淇濆崟 + List<Multifile> reportFileList = settleClaims.getReportFileList();//鎶ユ瑙嗛 + List<Multifile> insetList = new ArrayList<>(); + insetList.addAll(getMultifileListByObjtype(relationFileList,Constants.MultiFile.LP_YGGX_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(hospitalFileList,Constants.MultiFile.LP_ZYCL_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(outpatientFileList,Constants.MultiFile.LP_MZCL_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(otherFileList,Constants.MultiFile.LP_OTHER_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(disabilityFileList,Constants.MultiFile.LP_SCZL_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(dzbdFileList,Constants.MultiFile.LP_DZBD_FILE.getKey(),settleClaims)); + insetList.addAll(getMultifileListByObjtype(reportFileList,Constants.MultiFile.LP_SGXC_FILE.getKey(),settleClaims)); + if(CollectionUtils.isNotEmpty(insetList)){ + multifileJoinMapper.insert(insetList); } //--------------澶勭悊闄勪欢缁撴潫---------------- - - return settleClaims.getId(); } + + private Collection<? extends Multifile> getMultifileListByObjtype(List<Multifile> list, int key,SettleClaims model) { + List<Multifile> insetList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(list)){ + int index = 0; + for (int i = 0; i < list.size(); i++) { + Multifile multifile = list.get(i); + if(Objects.isNull(multifile.getFileurl()) + || Objects.isNull(multifile.getType()) + || StringUtils.isBlank(multifile.getName()) ){ + continue; + } + multifile.setId(null); + multifile.setCreator(model.getEditor()); + multifile.setCreateDate(model.getEditDate()); + multifile.setEditor(model.getEditor()); + multifile.setEditDate(model.getEditDate()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setObjId(model.getId()); + multifile.setObjType(key); + multifile.setSortnum(index++); + insetList.add(multifile); + } + } + return insetList; + } + @Override public Integer create(SettleClaims settleClaims) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); @@ -645,6 +732,11 @@ settleClaims.setCompensationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_JACL_FILE.getKey())).collect(Collectors.toList())); settleClaims.setOtherFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_OTHER_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setPayFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_PAY_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setDzbdFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_DZBD_FILE.getKey())).collect(Collectors.toList())); + } //鏌ヨ鎿嶄綔璁板綍 @@ -687,6 +779,126 @@ }else if(!Objects.isNull(lastConfirm)&&Objects.isNull(multifile)){ settleClaims.setFinishDate(lastConfirm.getCreateDate()); } + return settleClaims; + } + + + @Override + public SettleClaims getSettleClaimsDetailForSd(Integer id){ + MPJLambdaWrapper<SettleClaims> queryWrapper = new MPJLambdaWrapper<SettleClaims>(); + queryWrapper.selectAll(SettleClaims.class) + .selectAs(SettleClaimsExt::getBxOrg,SettleClaims::getCompanyName) + .selectAs(SettleClaimsExt::getBxName,SettleClaims::getSolutionName) + .selectAs(SettleClaimsExt::getMemberName,SettleClaims::getMemberName) + .selectAs(SettleClaimsExt::getMemberIdcard,SettleClaims::getMemberIdcardNo) + .selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime) + .selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime) + .selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode) + .innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId) + .eq(SettleClaims::getId,id); + SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,queryWrapper); + if(settleClaims == null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(StringUtils.isNotBlank(settleClaims.getHpAccountContent())){ + settleClaims.setAccountList(JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class )); + } + List<Multifile> multifileList = multifileJoinMapper.selectJoinList(Multifile.class, + new MPJLambdaWrapper<Multifile>() + .selectAll(Multifile.class) + .selectAs(SystemUser::getRealname,Multifile::getCreatorName) + .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator) + .eq(Multifile::getObjId,id) + .eq(Multifile::getIsdeleted,Constants.ZERO) + .orderByAsc(Multifile::getCreateDate) + ); + String rPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); + String path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.SETTLE_FILE).getCode(); + if(multifileList!=null){ + for(Multifile f : multifileList){ + if(f!=null&& StringUtils.isNotBlank(f.getFileurl())){ + f.setFileurlFull(path+f.getFileurl()); + } + } + } + Multifile baoxiandanFile = multifileJoinMapper.selectOne(new QueryWrapper<Multifile>() + .lambda().eq(Multifile::getObjId,settleClaims.getInsuranceApplyId()) + .eq(Multifile::getIsdeleted,Constants.ZERO) + .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey()) + .last("limit 1")); + if(baoxiandanFile!=null&& StringUtils.isNotBlank(baoxiandanFile.getFileurl())){ + path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); + baoxiandanFile.setFileurlFull(path+baoxiandanFile.getFileurl()); + } + settleClaims.setBaoxiandanFile(baoxiandanFile);//淇濋櫓鍗� + if(CollectionUtils.isNotEmpty(multifileList)){ + settleClaims.setReportFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SGXC_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setRelationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_YGGX_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setOutpatientFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_MZCL_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setHospitalFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_ZYCL_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setDisabilityFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SCZL_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setCompensationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_JACL_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setOtherFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_OTHER_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setPayFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_PAY_FILE.getKey())).collect(Collectors.toList())); + + settleClaims.setDzbdFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_DZBD_FILE.getKey())).collect(Collectors.toList())); + + } + + //鏌ヨ鎿嶄綔璁板綍 + List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogJoinMapper.selectJoinList(SettleClaimsLog.class, + new MPJLambdaWrapper<SettleClaimsLog>() + .selectAll(SettleClaimsLog.class) + .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName) + .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType) + .selectAs(Company::getName,SettleClaimsLog::getCompanyName) + .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator) + .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) + .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId()) + .orderByAsc(SettleClaimsLog::getCreateDate) + ); + settleClaims.setSettleClaimsLogList(settleClaimsLogList); + SettleClaimsLog lastConfirm = settleClaimsLogMapper.selectOne(new QueryWrapper<SettleClaimsLog>().lambda() + .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId()) + .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION.getKey()) + .orderByDesc(SettleClaimsLog::getCreateDate) + .last(" limit 1") + ); + + Multifile multifile = multifileJoinMapper.selectOne(new QueryWrapper<Multifile>() + .lambda() + .eq(Multifile::getObjId,settleClaims.getId()) + .eq(Multifile::getIsdeleted,Constants.ZERO) + .in(Multifile::getObjType, + Constants.MultiFile.LP_SGXC_FILE.getKey(), + Constants.MultiFile.LP_YGGX_FILE.getKey(), + Constants.MultiFile.LP_MZCL_FILE.getKey(), + Constants.MultiFile.LP_ZYCL_FILE.getKey(), + Constants.MultiFile.LP_SCZL_FILE.getKey(), + Constants.MultiFile.LP_JACL_FILE.getKey()) + .orderByDesc(Multifile::getCreateDate) + .last(" limit 1") + ); + + if(!Objects.isNull(lastConfirm)&&!Objects.isNull(multifile)){ + settleClaims.setFinishDate(lastConfirm.getCreateDate().compareTo(multifile.getCreateDate())>=0?lastConfirm.getCreateDate():multifile.getCreateDate()); + }else if(!Objects.isNull(lastConfirm)&&Objects.isNull(multifile)){ + settleClaims.setFinishDate(lastConfirm.getCreateDate()); + } + if(Constants.equalsObject(settleClaims.getOrigin(),Constants.ONE)){ + settleClaims.setExtData(settleClaimsExtMapper.selectOne(new LambdaQueryWrapper<SettleClaimsExt>() + .eq(SettleClaimsExt::getIsdeleted,Constants.ZERO) + .eq(SettleClaimsExt::getSettileClaimsId,settleClaims.getId()) + .last("limit 1"))); + } + settleClaims.setExtData(settleClaimsExtMapper.selectOne(new QueryWrapper<SettleClaimsExt>().lambda().eq(SettleClaimsExt::getSettileClaimsId,id).last("limit 1"))); return settleClaims; } @@ -828,7 +1040,7 @@ @Override public void deleteById(Integer id) { - settleClaimsMapper.deleteById(id); + settleClaimsMapper.update(new UpdateWrapper<SettleClaims>().lambda().set(SettleClaims::getIsdeleted,Constants.ONE).eq(SettleClaims::getId,id)); } @Override @@ -892,6 +1104,8 @@ .selectAs(Worktype::getName,SettleClaims::getWorktypeName) .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) .selectAs(DispatchUnit::getName,SettleClaims::getDuName) + .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) + .selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime) .leftJoin(Company.class,Company::getId,SettleClaims::getCompanyId) .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId) .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId) @@ -911,113 +1125,26 @@ //浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹� pageWrap.getModel().setCompanyId(user.getCompanyId()); } + queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO); + queryWrapper.eq(SettleClaims::getOrigin,Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),Member::getName, pageWrap.getModel().getMemberName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberIdcardNo()),Member::getIdcardNo, pageWrap.getModel().getMemberIdcardNo()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDuName()),DispatchUnit::getName, pageWrap.getModel().getDuName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDuName()),DispatchUnit::getName, pageWrap.getModel().getDuName()); queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId, pageWrap.getModel().getBaseSolutionId()); queryWrapper.eq(pageWrap.getModel().getBaseDuId()!=null,DispatchUnit::getBaseId, pageWrap.getModel().getBaseDuId()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),Solutions::getName, pageWrap.getModel().getSolutionName()); + queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); + queryWrapper.eq(pageWrap.getModel().getStatus()!=null,SettleClaims::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId()); + queryWrapper.eq(pageWrap.getModel().getOrigin()!=null,SettleClaims::getOrigin, pageWrap.getModel().getOrigin()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),SettleClaims::getCode, pageWrap.getModel().getCode()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getReportNum()),SettleClaims::getReportNum, pageWrap.getModel().getReportNum()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),InsuranceApply::getCode, pageWrap.getModel().getApplyCode()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.eq(SettleClaims::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.eq(SettleClaims::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.ge(SettleClaims::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.le(SettleClaims::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.eq(SettleClaims::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.ge(SettleClaims::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.le(SettleClaims::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.eq(SettleClaims::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.eq(SettleClaims::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.eq(SettleClaims::getSortnum, pageWrap.getModel().getSortnum()); - } - if (pageWrap.getModel().getSolutionId() != null) { - queryWrapper.eq(SettleClaims::getSolutionId, pageWrap.getModel().getSolutionId()); - } - if (pageWrap.getModel().getCompanyId() != null) { - queryWrapper.eq(SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId()); - } - if (pageWrap.getModel().getMemberId() != null) { - queryWrapper.eq(SettleClaims::getMemberId, pageWrap.getModel().getMemberId()); - } - if (pageWrap.getModel().getHappenTime() != null) { - queryWrapper.eq(SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); - } - if (pageWrap.getModel().getIdcardNo() != null) { - queryWrapper.eq(SettleClaims::getIdcardNo, pageWrap.getModel().getIdcardNo()); - - } - if (pageWrap.getModel().getDuId() != null) { - queryWrapper.eq(SettleClaims::getDuId, pageWrap.getModel().getDuId()); - } - if (pageWrap.getModel().getWorktypeId() != null) { - queryWrapper.eq(SettleClaims::getWorktypeId, pageWrap.getModel().getWorktypeId()); - } - if (pageWrap.getModel().getFee() != null) { - queryWrapper.eq(SettleClaims::getFee, pageWrap.getModel().getFee()); - } - if (pageWrap.getModel().getCheckInfo() != null) { - queryWrapper.eq(SettleClaims::getCheckInfo, pageWrap.getModel().getCheckInfo()); - } - if (pageWrap.getModel().getCheckUserId() != null) { - queryWrapper.eq(SettleClaims::getCheckUserId, pageWrap.getModel().getCheckUserId()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.eq(SettleClaims::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getStatus() != null) { - if(pageWrap.getModel().getStatus().equals(Constants.ZERO)){ - queryWrapper.in(SettleClaims::getStatus, Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey() - ,Constants.SettleClaimsStatus.DEAL_ING.getKey() - ,Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()); - }else{ - queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus()); - } - - - } - if (pageWrap.getModel().getType() != null) { - queryWrapper.eq(SettleClaims::getType, pageWrap.getModel().getType()); - } - if (pageWrap.getModel().getInHospital() != null) { - queryWrapper.eq(SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); - } - if (pageWrap.getModel().getMedicalInsurance() != null) { - queryWrapper.eq(SettleClaims::getMedicalInsurance, pageWrap.getModel().getMedicalInsurance()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.eq(SettleClaims::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getInformantName() != null) { - queryWrapper.eq(SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); - } - if (pageWrap.getModel().getInformantPhone() != null) { - queryWrapper.eq(SettleClaims::getInformantPhone, pageWrap.getModel().getInformantPhone()); - } - if (pageWrap.getModel().getAreaId() != null) { - queryWrapper.eq(SettleClaims::getAreaId, pageWrap.getModel().getAreaId()); - } - if (pageWrap.getModel().getAreaInfo() != null) { - queryWrapper.eq(SettleClaims::getAreaInfo, pageWrap.getModel().getAreaInfo()); - } - if (pageWrap.getModel().getReportNum() != null) { - queryWrapper.eq(SettleClaims::getReportNum, pageWrap.getModel().getReportNum()); - } - if (pageWrap.getModel().getInsuranceApplyId() != null) { - queryWrapper.eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId()); - } queryWrapper.orderByDesc(SettleClaims::getCreateDate); /*for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -1027,8 +1154,51 @@ } }*/ PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper)); + for (SettleClaims settleClaims:pageData.getRecords()) { + settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus())); + settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount())); + } return pageData; } + + + @Override + public PageData<SettleClaims> findPageForSd(PageWrap<SettleClaims> pageWrap) { + IPage<SettleClaims> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + Utils.MP.blankToNull(pageWrap.getModel()); + MPJLambdaWrapper<SettleClaims> queryWrapper = new MPJLambdaWrapper<SettleClaims>(); + queryWrapper.selectAll(SettleClaims.class) + .selectAs(SettleClaimsExt::getBxOrg,SettleClaims::getCompanyName) + .selectAs(SettleClaimsExt::getBxName,SettleClaims::getSolutionName) + .selectAs(SettleClaimsExt::getMemberName,SettleClaims::getMemberName) + .selectAs(SettleClaimsExt::getMemberIdcard,SettleClaims::getMemberIdcardNo) + .selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime) + .selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime) + .selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode) + .innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId); + queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO); + queryWrapper.eq(SettleClaims::getOrigin,Constants.ONE); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getReportNum()),SettleClaims::getReportNum, pageWrap.getModel().getReportNum()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),SettleClaimsExt::getBxOrg, pageWrap.getModel().getCompanyName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getMemberName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),SettleClaimsExt::getBxName, pageWrap.getModel().getSolutionName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),SettleClaimsExt::getBxCode, pageWrap.getModel().getApplyCode()); + queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); + queryWrapper.eq(pageWrap.getModel().getStatus()!=null,SettleClaims::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.orderByDesc(SettleClaims::getCreateDate); + PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper)); + for (SettleClaims settleClaims:pageData.getRecords()) { + settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus())); + settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount())); + } + return pageData; + } + + @Override public long count(SettleClaims settleClaims) { @@ -1074,6 +1244,7 @@ SettleClaims settleClaims = new SettleClaims(); BeanUtils.copyProperties(settleClaimsDTO,settleClaims); settleClaims.setReportNumStatus(Constants.ZERO); + settleClaims.setOrigin(Constants.ZERO); if(Objects.nonNull(settleClaims.getId())){ settleClaims.setEditDate(new Date()); settleClaims.setEditor(loginUserInfo.getId()); @@ -1083,7 +1254,6 @@ //澶勭悊椋庨櫓淇℃伅 this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService); } - settleClaimsMapper.updateById(settleClaims); }else{ settleClaims.setCreateDate(new Date()); @@ -1186,7 +1356,7 @@ //澶氭鍑洪櫓鎻愰啋 if(StringUtils.isNotBlank(riskConfigVO.getRiskTimesOpen()) && StringUtils.equals(riskConfigVO.getRiskTimesOpen(),Constants.ONE+"") && StringUtils.isNotBlank(riskConfigVO.getRiskTimesReportTimes())){ - Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() + Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId()) .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ") @@ -1204,7 +1374,7 @@ && StringUtils.equals(riskConfigVO.getRiskRepeatReportOpen(),Constants.ONE+"") && StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTimeUnit()) && StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTime())){ - Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() + Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId()) .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ") @@ -1224,7 +1394,7 @@ if(StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimesOpen()) && StringUtils.equals(riskConfigVO.getRiskClaimTimesOpen(),Constants.ONE+"") && StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){ - Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() + Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() .eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId()) .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ") @@ -1814,9 +1984,9 @@ } List<CompensationVO> modelList = new ArrayList<>(); if (Objects.nonNull(settleClaims)) { - if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ONE)&&StringUtils.isNotBlank(settleClaims.getAccountContent())){ + if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ZERO)&&StringUtils.isNotBlank(settleClaims.getAccountContent())){ modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); - }else if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.TWO)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){ + }else if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ONE)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){ modelList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class); } } @@ -1866,12 +2036,12 @@ SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); update.setEditor(loginUserInfo.getId()); - update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); update.setAccountContent(dto.getCompensationJson()); update.setId(settleClaims.getId()); update.setStatus(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey()); @@ -1956,8 +2126,8 @@ update.setEditDate(new Date()); update.setEditor(loginUserInfo.getId()); update.setHpAccountContent(dto.getCompensationJson()); - update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setHpOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + update.setHpOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); update.setId(settleClaims.getId()); @@ -2120,6 +2290,139 @@ + public List<SettleParentStatusVO> getParentStatus(SettleClaims settleClaims){ + List<SettleParentStatusVO> settleParentStatusVOList = new ArrayList<>(); + List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogMapper + .selectList(new QueryWrapper<SettleClaimsLog>().lambda().eq(SettleClaimsLog::getObjId,settleClaims.getId()).orderByDesc(SettleClaimsLog::getCreateDate)); + //绔嬫閫�鍥炵姸鎬佹暟鎹� + if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())){ + SettleParentStatusVO settleParentStatusVO = new SettleParentStatusVO(); + settleParentStatusVO.setParentTitle("鎶ユ"); + settleParentStatusVO.setStatus(Constants.ONE); + settleParentStatusVO.setChildTitle(Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getName()); + Optional<SettleClaimsLog> optionalSettleClaimsLog = settleClaimsLogList.stream() + .filter(i->Constants.equalsInteger(i.getObjType(),Constants.SettleClaimsLogType.PLATFORM_RETURN.getKey())).findFirst(); + if(optionalSettleClaimsLog.isPresent()){ + settleParentStatusVO.setOptDate(optionalSettleClaimsLog.get().getCreateDate()); + } + settleParentStatusVOList.add(settleParentStatusVO); + return settleParentStatusVOList; + } + //鏆傚瓨鐘舵�� 鏃犱富娴佺▼鏁版嵁 + if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){ + return settleParentStatusVOList; + } + //鍟嗚瀹℃壒涓嶉�氳繃 + if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())){ + SettleParentStatusVO settleParentStatusBAVO = new SettleParentStatusVO(); + settleParentStatusBAVO.setParentTitle("鎶ユ"); + settleParentStatusBAVO.setChildTitle("宸叉姤妗�"); + settleParentStatusBAVO.setStatus(Constants.ZERO); + Optional<SettleClaimsLog> optionalSettleClaimsBALog = settleClaimsLogList.stream() + .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.ONE)).findFirst(); + if(optionalSettleClaimsBALog.isPresent()){ + settleParentStatusBAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate()); + } + settleParentStatusVOList.add(settleParentStatusBAVO); + + SettleParentStatusVO settleParentStatusLAVO = new SettleParentStatusVO(); + settleParentStatusLAVO.setParentTitle("绔嬫"); + settleParentStatusLAVO.setChildTitle("宸茬珛妗�"); + settleParentStatusLAVO.setStatus(Constants.ZERO); + Optional<SettleClaimsLog> optionalSettleClaimsLALog = settleClaimsLogList.stream() + .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.TWO)).findFirst(); + if(optionalSettleClaimsLALog.isPresent()){ + settleParentStatusLAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate()); + } + settleParentStatusVOList.add(settleParentStatusBAVO); + + SettleParentStatusVO settleParentStatusSLVO = new SettleParentStatusVO(); + settleParentStatusSLVO.setParentTitle("鍙楃悊"); + settleParentStatusSLVO.setChildTitle("鍟嗚鎷掔粷"); + settleParentStatusSLVO.setStatus(Constants.THREE); + Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream() + .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.THREE)).findFirst(); + if(optionalSettleClaimsSLLog.isPresent()){ + settleParentStatusSLVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate()); + } + settleParentStatusVOList.add(settleParentStatusSLVO); + + return settleParentStatusVOList; + } + + //涓诲姩鎾ら攢 + if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN.getKey())){ + List<SettleClaimsLog> settleClaimsLogs = settleClaimsLogList.stream() + .filter(i->i.getParentStatus()<Constants.SettleClaimsStatus.RETURN.getParentKey()).collect(Collectors.toList()); + //鑾峰彇褰撳墠鏃ュ織鏈�澶х殑鐖剁姸鎬� + Optional<Integer> optionalInteger = settleClaimsLogs.stream().map(i->i.getParentStatus()).max(Comparator.comparingInt(o -> o)); + if(optionalInteger.isPresent()){ + for (int i = 1; i <= 5; i++) { + SettleParentStatusVO s = new SettleParentStatusVO(); + Constants.SettleClaimsLogParentStatus parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i); + s.setParentTitle(parentStatus.getName()); + s.setChildTitle(parentStatus.getInfo()); + s.setStatus(Constants.ZERO); + //濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬� + if(Constants.equalsInteger(i,optionalInteger.get())){ + Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream() + .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst(); + if(settleClaimsLogOptional.isPresent()){ + s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType())); + } + } + settleParentStatusVOList.add(s); + } + } + //娣诲姞鎾ゆ鏁版嵁 + SettleParentStatusVO settleParentStatusCHVO = new SettleParentStatusVO(); + settleParentStatusCHVO.setParentTitle("宸叉挙妗�"); + settleParentStatusCHVO.setChildTitle("浼佷笟涓诲姩鎾ゆ"); + settleParentStatusCHVO.setStatus(Constants.THREE); + Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream() + .filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsLogType.RETURN_SETTLE.getKey())).findFirst(); + if(optionalSettleClaimsSLLog.isPresent()){ + settleParentStatusCHVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate()); + } + settleParentStatusVOList.add(settleParentStatusCHVO); + return settleParentStatusVOList; + } + + + List<SettleClaimsLog> settleClaimsLogs = settleClaimsLogList.stream() + .filter(i->i.getParentStatus()<Constants.SettleClaimsStatus.RETURN.getParentKey()).collect(Collectors.toList()); + Optional<Integer> optionalInteger = settleClaimsLogs.stream().map(i->i.getParentStatus()).max(Comparator.comparingInt(o -> o)); + if(optionalInteger.isPresent()){ + for (int i = 1; i <= 6; i++) { + SettleParentStatusVO s = new SettleParentStatusVO(); + Constants.SettleClaimsLogParentStatus parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i); + s.setParentTitle(parentStatus.getName()); + if(optionalInteger.get()>i){ + //濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 澶т簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ら厤缃� + s.setChildTitle(parentStatus.getInfo()); + s.setStatus(Constants.ZERO); + }else if(optionalInteger.get()<i){ + //濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 灏忎簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ゆ湭澶勭悊閰嶇疆 + s.setChildTitle(parentStatus.getWaitInfo()); + s.setStatus(Constants.TWO); + }else{ + //濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬� + if(Constants.equalsInteger(i,optionalInteger.get())){ + Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream() + .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst(); + if(settleClaimsLogOptional.isPresent()){ + s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType())); + } + } + s.setStatus(Constants.ONE); + } + settleParentStatusVOList.add(s); + } + } + return settleParentStatusVOList; + + + } -- Gitblit v1.9.3