k94314517
2025-05-20 f60cf404ff35da7b584721819c3faf87efb40bff
git ch
已添加2个文件
已修改7个文件
219 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/CaseTypeDTO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/PayCashDTO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/KnowledgeServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -146,6 +146,13 @@
    }
    @PreventRepeat
    @ApiOperation("修改案件类型")
    @PostMapping("/updCaseType")
    public ApiResponse updCaseType(@RequestBody CaseTypeDTO dto) {
        settleClaimsService.updCaseType(dto);
        return ApiResponse.success(null);
    }
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1934,7 +1934,7 @@
    public  enum SettleClaimsStatus {
        //状态 0暂存中 1已报案 2待立案 3已立案 4立案退回 5待受理 6拒绝受理 7商议待审批
        // 8商议审批拒绝 9已受理 10待核赔  11已核赔 12待结案 13已结案 14已撤案
        // 8商议审批拒绝 9已受理 10待核赔  11已核赔 12已确认金额 13已结案 14已撤案
        WAIT_ACCEPTANCE(0, "暂存中"),
        RETURN_ACCEPTANCE(1, "已报案"),
        DEAL_ING(2, "待立案 ï¼ˆå¼ƒç”¨ï¼‰"),
@@ -1947,13 +1947,15 @@
        ACCEPTANCE(9, "已受理"),//待理算
        WAIT_AUDIT_COMPENSATION(10, "待核赔"),
        COMPENSATION(11, "已核赔"),
        WAIT_CLOSE_CASE(12, "待结案(弃用)"),
        CONFIRM_FEE(12, "已确认金额"),
        CLOSE_CASE(13, "已结案"),
        RETURN(14, "已撤案"),
        ;
        // æˆå‘˜å˜é‡
        private String name;
        private int key;
        private String name;//业务描述
        private int key;//业务状态
        private int companyParentKey;//企业主流程
        private int platformParentKey;//平台主流程
        // æž„造方法
        SettleClaimsStatus(int key, String name) {
@@ -2014,6 +2016,7 @@
        PLATFORM_HP_DEAL(21, "核赔-提交核赔金额","已提交赔付金额,待用户确认"),
        PLATFORM_UPD_FEE(22, "核赔-修改金额",""),
        CONFIRM_FEE(22, "核赔-客户确认金额","已确认金额"),
        UPD_CASE_TYPE(23, "受理-确认案件类型","已确认案件类型"),
        ;
        // æˆå‘˜å˜é‡
        private String name;
server/service/src/main/java/com/doumee/dao/business/dto/CaseTypeDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.doumee.dao.business.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CaseTypeDTO {
    @ApiModelProperty(value = "业务主键")
    private Integer id;
    @ApiModelProperty(value = "案件类型:1=医疗;2=伤残;3=死亡")
    private Integer caseType;
}
server/service/src/main/java/com/doumee/dao/business/dto/PayCashDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.doumee.dao.business.dto;
import com.doumee.dao.business.model.Multifile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * å­˜å‚¨ è¡¥å……说明
 */
@Data
public class PayCashDTO {
    @ApiModelProperty(value = "业务主键")
    private Integer id;
    @ApiModelProperty(value = "说明、备注")
    private String describe;
    @ApiModelProperty(value = "打款图片")
    private List<Multifile> multifileList;
}
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -200,7 +200,7 @@
    private String riskSensitive;
    @ApiModelProperty(value = "报案号设置状态 0未设置 1已设置 2已修改")
    @ExcelColumn(name="报案号设置状态 0未设置 1已设置 2已修改")
    private String reportNumStatus;
    private Integer reportNumStatus;
    @ApiModelProperty(value = "所有赔付项信息(json数组[{name:“伙食费”,val:100,info:“伙食费说明”,type:0}]),type:0主要赔付项 1其他赔付项 2定损方案费用\t")
    @ExcelColumn(name="所有赔付项信息")
    private String accountContent;
@@ -234,6 +234,12 @@
    private Integer waitSupplement;
    @ApiModelProperty(value = "费用是否发生变更:0=否;1=是;")
    private Integer feeUpdate;
    @ApiModelProperty(value = "案件类型:0=未设置;1=医疗;2=伤残;3=死亡")
    private Integer caseType;
    @ApiModelProperty(value = "保险单附件")
    @TableField(exist = false)
    private  Multifile  baoxiandanFile;
server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
@@ -229,4 +229,10 @@
     * @param id
     */
    void confirmFee(Integer id);
    /**
     * ä¿®æ”¹æ¡ˆä»¶ç±»åž‹
     * @param dto
     */
    void updCaseType(CaseTypeDTO dto);
}
server/service/src/main/java/com/doumee/service/business/impl/KnowledgeServiceImpl.java
@@ -7,7 +7,9 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.AreasMapper;
import com.doumee.dao.business.KnowledgeMapper;
import com.doumee.dao.business.model.Areas;
import com.doumee.dao.business.model.Knowledge;
import com.doumee.service.business.KnowledgeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -35,15 +37,16 @@
    @Autowired
    private KnowledgeMapper knowledgeMapper;
    @Autowired
    private AreasMapper areasMapper;
    @Override
    public Integer create(Knowledge knowledge) {
        LoginUserInfo user= (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(Objects.isNull(knowledge)
        || StringUtils.isBlank(knowledge.getTitle())
                || StringUtils.isBlank(knowledge.getLink())
//                || StringUtils.isBlank(knowledge.getCityName())
//                || Objects.isNull(knowledge.getCityId())
                || StringUtils.isBlank(knowledge.getProvinceName())
                || Objects.isNull(knowledge.getProvinceId())
                || StringUtils.isBlank(knowledge.getYearInfo())
                || StringUtils.isBlank(knowledge.getTitle())
@@ -53,6 +56,18 @@
        }
        if(knowledge.getLabels().split(",").length>10){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"标签数最多添加十个");
        }
        Areas province = areasMapper.selectById(knowledge.getProvinceId());
        if(Objects.isNull(province)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"省份信息错误");
        }
        knowledge.setProvinceName(province.getName());
        if(Objects.nonNull(knowledge.getCityId())){
            Areas city = areasMapper.selectById(knowledge.getCityId());
            if(Objects.isNull(city)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"市区信息错误");
            }
            knowledge.setCityName(city.getName());
        }
        knowledge.setIsdeleted(Constants.ZERO);
        knowledge.setCreateDate(new Date());
@@ -88,8 +103,6 @@
                || Objects.isNull(knowledge.getId())
                || StringUtils.isBlank(knowledge.getTitle())
                || StringUtils.isBlank(knowledge.getLink())
                || StringUtils.isBlank(knowledge.getProvinceName())
//                || StringUtils.isBlank(knowledge.getCityName())
//                || Objects.isNull(knowledge.getCityId())
                || Objects.isNull(knowledge.getProvinceId())
                || StringUtils.isBlank(knowledge.getYearInfo())
@@ -101,6 +114,18 @@
        if(knowledge.getLabels().split(",").length>10){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"标签数最多添加十个");
        }
        Areas province = areasMapper.selectById(knowledge.getProvinceId());
        if(Objects.isNull(province)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"省份信息错误");
        }
        knowledge.setProvinceName(province.getName());
        if(Objects.nonNull(knowledge.getCityId())){
            Areas city = areasMapper.selectById(knowledge.getCityId());
            if(Objects.isNull(city)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"市区信息错误");
            }
            knowledge.setCityName(city.getName());
        }
        knowledge.setEditDate(new Date());
        knowledge.setEditor(user.getId());
        knowledgeMapper.updateById(knowledge);
server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -42,9 +42,14 @@
        || StringUtils.isEmpty(labels.getName())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(labelsMapper.selectCount(new QueryWrapper<Labels>().lambda().eq(Labels::getIsdeleted,Constants.ZERO).eq(Labels::getStatus,Constants.ZERO))>=5){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,最多配置50个标签~");
        }
        labelsMapper.delete(new QueryWrapper<Labels>().lambda().eq(Labels::getName,labels.getName()));
        labels.setCreateDate(new Date());
        labels.setCreator(user.getId());
        labels.setStatus(Constants.ZERO);
        labels.setIsdeleted(Constants.ZERO);
        labelsMapper.insert(labels);
        return labels.getId();
    }
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -1001,6 +1001,7 @@
        }
        SettleClaims settleClaims = new SettleClaims();
        BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
        settleClaims.setReportNumStatus(Constants.ZERO);
        if(Objects.nonNull(settleClaims.getId())){
            settleClaims.setEditDate(new Date());
            settleClaims.setEditor(loginUserInfo.getId());
@@ -1499,7 +1500,34 @@
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void updCaseType(CaseTypeDTO dto){
        if(Objects.isNull(dto)
                || Objects.isNull(dto.getId())
                || Objects.isNull(dto.getCaseType())
                || !(dto.getCaseType()>=Constants.ONE&&dto.getCaseType()<=Constants.THREE)
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!loginUserInfo.getType().equals(Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作");
        }
        SettleClaims settleClaims  = settleClaimsJoinMapper.selectById(dto.getId());
        if(Objects.isNull(settleClaims)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        //存储日志
        this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo());
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime())
                .set(SettleClaims::getEditor,loginUserInfo.getId())
                .set(SettleClaims::getCaseType,dto.getCaseType()));
    }
@@ -1556,16 +1584,25 @@
        if(!user.getType().equals(Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作");
        }
        //查询是否有报案号更改记录
        if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
        && settleClaimsLogMapper.selectCount(new QueryWrapper<SettleClaimsLog>().lambda()
                        .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_ADDCODE.getKey())
                .eq(SettleClaimsLog::getSettleClainmsId,param.getId()))>=Constants.ONE){
        if(Constants.equalsInteger(model.getReportNumStatus(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号");
        }
        if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已修改报案号,无法再次修改");
        if(!((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ONE))
                ||(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DEAL.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO)))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号");
        }
//        //查询是否有报案号更改记录
//        if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
//        && settleClaimsLogMapper.selectCount(new QueryWrapper<SettleClaimsLog>().lambda()
//                        .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_ADDCODE.getKey())
//                .eq(SettleClaimsLog::getSettleClainmsId,param.getId()))>=Constants.ONE){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号");
//        }
//        if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已修改报案号,无法再次修改");
//        }
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
                        DateUtil.getCurrDateTime()).set(SettleClaims::getReportNum,param.getReportNum()));
@@ -1573,6 +1610,7 @@
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditor(user.getId());
        update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE);
        update.setId(model.getId());
        update.setCheckDate(update.getEditDate());
        update.setCheckInfo("添加备案号");
@@ -1608,7 +1646,7 @@
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.COMPENSATION.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_CLOSE_CASE.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_FEE.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())
        )){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请当前不支持该操作~");
@@ -1867,7 +1905,9 @@
        if(Objects.isNull(settleClaims)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
        if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())
                || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus()))
        ){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
@@ -1876,12 +1916,14 @@
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditor(loginUserInfo.getId());
        if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
            update.setFeeUpdate(Constants.ONE);
        }
        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));
        //处理历史数据
        List<CompensationVO> oldList =  JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
        for (CompensationVO compensationVO:oldList) {
@@ -1912,7 +1954,6 @@
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void confirmFee(Integer id){
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!loginUserInfo.getType().equals(Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作");
@@ -1924,7 +1965,12 @@
        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditor(loginUserInfo.getId());
        update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey());
        update.setId(settleClaims.getId());
        settleClaimsMapper.updateById(update);
        //存储日志
        this.saveSettleClaimsLog(settleClaims,
@@ -1933,5 +1979,42 @@
    }
//    @Override
//    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
//    public void payCash(PayCashDTO dto){
//        if(Objects.isNull(dto)
//                || Objects.isNull(dto.getId())
//                || StringUtils.isBlank(dto.getDescribe())
//        ){
//            throw new BusinessException(ResponseStatus.BAD_REQUEST);
//        }
//        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
//        if(!loginUserInfo.getType().equals(Constants.ZERO)){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作");
//        }
//        SettleClaims settleClaims  = settleClaimsJoinMapper.selectById(dto.getId());
//        if(Objects.isNull(settleClaims)){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY);
//        }
//        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
//        }
//        SettleClaims update = new SettleClaims();
//        update.setEditDate(new Date());
//        update.setEditor(loginUserInfo.getId());
//        update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey());
//        update.setId(settleClaims.getId());
//        settleClaimsMapper.updateById(update);
//
//        //存储日志
//        this.saveSettleClaimsLog(settleClaims,
//                Constants.SettleClaimsLogType.CONFIRM_FEE,
//                Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo());
//    }
}