k94314517
2025-05-20 845f406d11563c12b9e35562ce587a72cd47cb9d
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -20,6 +20,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;
@@ -405,15 +406,15 @@
        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));
@@ -719,6 +720,8 @@
            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()));
        }
        //查询操作记录
@@ -1148,6 +1151,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());
@@ -1157,7 +1161,6 @@
                //处理风险信息
                this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService);
            }
            settleClaimsMapper.updateById(settleClaims);
        }else{
            settleClaims.setCreateDate(new Date());
@@ -1888,9 +1891,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);
            }
        }
@@ -1940,12 +1943,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());
@@ -2030,8 +2033,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());
@@ -2193,7 +2196,101 @@
    }
//
//    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;
//
//
//    }