| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | settleClaims.setEditDate(date); |
| | | settleClaims.setEditor(loginUserInfo.getId()); |
| | | |
| | | List<SettleClaimsMoneyVO> feeList = settleClaims.getAccountList(); |
| | | 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.getMoney())); |
| | | mainFee = mainFee.add(Constants.formatBigdecimal(fee.getFee())); |
| | | }else{ |
| | | ortherFee = ortherFee.add(Constants.formatBigdecimal(fee.getMoney())); |
| | | ortherFee = ortherFee.add(Constants.formatBigdecimal(fee.getFee())); |
| | | } |
| | | } |
| | | settleClaims.setHpAccountContent(JSONObject.toJSONString(feeList)); |
| | |
| | | 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.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"))); |
| | | } |
| | | return settleClaims; |
| | | } |
| | |
| | | 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()); |
| | |
| | | //处理风险信息 |
| | | this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService); |
| | | } |
| | | |
| | | settleClaimsMapper.updateById(settleClaims); |
| | | }else{ |
| | | settleClaims.setCreateDate(new Date()); |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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()); |
| | |
| | | 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()); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | // |
| | | // 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.TWO); |
| | | // 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()); |
| | | // |
| | | // for (int i = 1; i <= 5; i++) { |
| | | // SettleParentStatusVO s = new SettleParentStatusVO(); |
| | | // Constants.SettleClaimsLogParentStatus parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i); |
| | | // s.setParentTitle(parentStatus.getName()); |
| | | // s.set(parentStatus.getInfo()); |
| | | // s.setStatus(Constants.ZERO); |
| | | // |
| | | // } |
| | | // SettleParentStatusVO settleParentStatusCHVO = new SettleParentStatusVO(); |
| | | // settleParentStatusCHVO.setParentTitle("已撤案"); |
| | | // settleParentStatusCHVO.setChildTitle("企业主动撤案"); |
| | | // settleParentStatusCHVO.setStatus(Constants.TWO); |
| | | // 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; |
| | | // |
| | | // } |
| | | // |
| | | // |
| | | // return settleParentStatusVOList; |
| | | // |
| | | // |
| | | // } |
| | | |
| | | |
| | | |