jiangping
2025-06-10 346dacb7bf8c33ba6826572f79c16aa74c513650
Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
已修改14个文件
356 ■■■■ 文件已修改
company/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentCom 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.productionShop 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaCaseEntryWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/onlineReporting.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/caseEntry.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/SettleRiskController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development
@@ -9,9 +9,9 @@
VUE_APP_COOKIE_NAME='dmplat-auth-token'
# 测试服
VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/'
# VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/'
# 任康
# VUE_APP_API = 'http://192.168.0.131:10030/'
VUE_APP_API = 'http://192.168.0.131:10030/'
# VUE_APP_API = 'http://192.168.0.131:10031/'
company/.env.developmentCom
@@ -7,10 +7,10 @@
VUE_APP_CONTEXT_PATH = '/yyb_web'
VUE_APP_COOKIE_NAME='doumee-auth-token'
VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/'
# VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/'
# VUE_APP_API = 'http://localhost:10031/'
# VUE_APP_API = 'http://192.168.0.131:10031/'
VUE_APP_API = 'http://192.168.0.131:10031/'
# VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
company/.env.productionShop
@@ -6,7 +6,7 @@
VUE_APP_COOKIE_NAME='dmshop-auth-token'
VUE_APP_CONTEXT_PATH = '/yyb_shop'
# 平台端
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_shop_api/'
VUE_APP_API = 'https://test.doumee.cn:8088/yyb_shop_api/'
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-商户端'
company/src/components/business/OpearaCaseEntryWindow.vue
@@ -186,7 +186,7 @@
                            <el-form-item label="报案时间" prop="reportDate">
                                <el-date-picker
                                    v-model="ruleForm.extData.reportDate"
                                    type="date"
                                    type="datetime"
                                    placeholder="选择日期"
                                    format="yyyy-MM-dd HH:mm:ss"
                                    value-format="yyyy-MM-dd HH:mm:ss">
company/src/components/enterprise/onlineReporting.vue
@@ -724,7 +724,7 @@
    getSolutions (id) {
      const row = this.user.filter(item => item.id === id)
      this.form.idcardNo = row[0].idcardNo
      findList({ memberId: id })
      findList({ memberId: id, isSettleClaims: 1 })
        .then(res => {
          this.form.insuranceApplyId = ''
          res.forEach(item => {
company/src/views/business/caseEntry.vue
@@ -76,7 +76,7 @@
                <el-table-column prop="reportNum" label="案件号" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="companyName" label="投保单位" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="informantName" label="报案人" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="createDateStr" label="报案时间" min-width="100px" align="center"></el-table-column>
                <el-table-column prop="reportDate" label="报案时间" min-width="100px" align="center"></el-table-column>
                <el-table-column prop="happenTime" label="出险时间" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="memberName" label="出险人" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="memberIdcardNo" label="身份证号" min-width="120px" align="center"></el-table-column>
server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -9,6 +9,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -31,6 +32,7 @@
    @PreventRepeat
    @ApiOperation("理赔报案")
    @PostMapping("/saveSettleClaims")
    @RequiresPermissions("business:settleRisk:saveSettleClaims")
    public ApiResponse<Integer> saveSettleClaims(@RequestBody SettleClaimsDTO settleClaimsDTO) {
        return ApiResponse.success(settleClaimsService.saveSettleClaims(settleClaimsDTO,systemDictDataService));
    }
@@ -39,6 +41,7 @@
    @PreventRepeat
    @ApiOperation("添加材料")
    @PostMapping("/saveSupplementFile")
    @RequiresPermissions("business:settleRisk:saveSupplementFile")
    public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
        settleClaimsService.saveSupplementFile(dto);
        return ApiResponse.success(null);
@@ -49,6 +52,7 @@
    @PreventRepeat
    @ApiOperation("撤销报案")
    @PostMapping("/returnSettle")
    @RequiresPermissions("business:settleRisk:returnSettle")
    public ApiResponse returnSettle(@RequestBody OptSettleClaimsDTO dto) {
        settleClaimsService.returnSettle(dto);
        return ApiResponse.success(null);
@@ -58,6 +62,7 @@
    @PreventRepeat
    @ApiOperation("确认金额")
    @GetMapping("/confirmFee")
    @RequiresPermissions("business:settleRisk:confirmFee")
    public ApiResponse confirmFee(@RequestParam Integer id) {
        settleClaimsService.confirmFee(id);
        return ApiResponse.success(null);
@@ -66,6 +71,7 @@
    @PreventRepeat
    @ApiOperation("修改收款信息")
    @PostMapping("/updReceiveInfo")
    @RequiresPermissions("business:settleRisk:updReceiveInfo")
    public ApiResponse updReceiveInfo(@RequestBody UpdReceiveInfoDTO dto) {
        settleClaimsService.updReceiveInfo(dto);
        return ApiResponse.success(null);
server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -13,6 +13,7 @@
import com.doumee.service.system.SystemDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -43,6 +44,7 @@
    @ApiOperation("更新风险配置")
    @PostMapping("/updRiskConfig")
    @RequiresPermissions("business:settleRisk:updRiskConfig")
    public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) {
        systemDictDataService.updRiskConfig(riskConfigDTO);
        return ApiResponse.success(null);
@@ -52,6 +54,7 @@
    @PreventRepeat
    @ApiOperation("补充说明")
    @PostMapping("/saveSupplementDescribe")
    @RequiresPermissions("business:settleRisk:saveSupplementFile")
    public ApiResponse saveSupplementDescribe(@RequestBody SaveSupplementDescribeDTO dto) {
        settleClaimsService.saveSupplementDescribe(dto);
        return ApiResponse.success(null);
@@ -60,6 +63,7 @@
    @PreventRepeat
    @ApiOperation("添加材料")
    @PostMapping("/saveSupplementFile")
    @RequiresPermissions("business:settleRisk:saveSupplementFile")
    public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
        settleClaimsService.saveSupplementFile(dto);
        return ApiResponse.success(null);
@@ -69,6 +73,7 @@
    @PreventRepeat
    @ApiOperation("平台立案或退回")
    @PostMapping("/register")
    @RequiresPermissions("business:settleRisk:register")
    public ApiResponse register(@RequestBody OptSettleClaimsDTO dto) {
        settleClaimsService.register(dto);
        return ApiResponse.success(null);
@@ -79,6 +84,7 @@
    @PreventRepeat
    @ApiOperation("添加报案号")
    @PostMapping("/addReportNum")
    @RequiresPermissions("business:settleRisk:addReportNum")
    public ApiResponse addReportNum(@RequestBody OptSettleClaimsDTO dto) {
        settleClaimsService.addReportNum(dto);
        return ApiResponse.success(null);
@@ -89,6 +95,7 @@
    @PreventRepeat
    @ApiOperation("添加备注")
    @PostMapping("/addRemark")
    @RequiresPermissions("business:settleRisk:addRemark")
    public ApiResponse addRemark(@RequestBody OptSettleClaimsDTO dto) {
        settleClaimsService.addRemark(dto);
        return ApiResponse.success(null);
@@ -98,6 +105,7 @@
    @PreventRepeat
    @ApiOperation("受理业务")
    @PostMapping("/acceptance")
    @RequiresPermissions("business:settleRisk:acceptance")
    public ApiResponse acceptance(@RequestBody AcceptanceSettleClaimsDTO dto) {
        settleClaimsService.acceptance(dto);
        return ApiResponse.success(null);
@@ -115,6 +123,7 @@
    @PreventRepeat
    @ApiOperation("理算")
    @PostMapping("/compensation")
    @RequiresPermissions("business:settleRisk:compensation")
    public ApiResponse compensation(@RequestBody CompensationDTO dto) {
        settleClaimsService.compensation(dto);
        return ApiResponse.success(null);
@@ -124,6 +133,7 @@
    @PreventRepeat
    @ApiOperation("商议审批")
    @PostMapping("/discussAudit")
    @RequiresPermissions("business:settleRisk:discussAudit")
    public ApiResponse discussAudit(@RequestBody DiscussAuditDTO dto) {
        settleClaimsService.discussAudit(dto);
        return ApiResponse.success(null);
@@ -134,6 +144,7 @@
    @PreventRepeat
    @ApiOperation("核赔")
    @PostMapping("/nuclearCompensation")
    @RequiresPermissions("business:settleRisk:nuclearCompensation")
    public ApiResponse nuclearCompensation(@RequestBody CompensationDTO dto) {
        settleClaimsService.nuclearCompensation(dto);
        return ApiResponse.success(null);
@@ -144,6 +155,7 @@
    @PreventRepeat
    @ApiOperation("修改金额")
    @PostMapping("/updFee")
    @RequiresPermissions("business:settleRisk:updFee")
    public ApiResponse updFee(@RequestBody CompensationDTO dto) {
        settleClaimsService.updFee(dto);
        return ApiResponse.success(null);
@@ -153,6 +165,7 @@
    @PreventRepeat
    @ApiOperation("修改案件类型")
    @PostMapping("/updCaseType")
    @RequiresPermissions("business:settleRisk:updCaseType")
    public ApiResponse updCaseType(@RequestBody CaseTypeDTO dto) {
        settleClaimsService.updCaseType(dto);
        return ApiResponse.success(null);
@@ -162,6 +175,7 @@
    @PreventRepeat
    @ApiOperation("确认打款")
    @PostMapping("/payCash")
    @RequiresPermissions("business:settleRisk:payCash")
    public ApiResponse payCash(@RequestBody PayCashDTO dto) {
        settleClaimsService.payCash(dto);
        return ApiResponse.success(null);
@@ -171,6 +185,7 @@
    @PreventRepeat
    @ApiOperation("修改伤残类型")
    @PostMapping("/updHurtType")
    @RequiresPermissions("business:settleRisk:updHurtType")
    public ApiResponse updHurtType(@RequestBody UpdHurtTypeDTO dto) {
        settleClaimsService.updHurtType(dto);
        return ApiResponse.success(null);
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -2011,7 +2011,7 @@
        ACCEPTANCE(9, "已受理",3),//待理算
        WAIT_AUDIT_COMPENSATION(10, "待核赔",4),
        COMPENSATION(11, "已核赔",5),
        CONFIRM_FEE(12, "已确认金额",5),
        CONFIRM_FEE(12, "待结案",5),
        CLOSE_CASE(13, "已结案",6),
        RETURN(14, "已撤案",7),
        ;
@@ -2070,7 +2070,7 @@
        SUPPLEMENT(5, "补充说明","提交意见:${param}"),
        PLATFORM_LP_DEAL(6, "平台理赔处理","已在平台完成理赔"),
        PLATFORM_REMARK(7, "备注标签","${param}"),
        PLATFORM_ADDCODE(8, "平台添加报案号","备案号:${param}"),
        PLATFORM_ADDCODE(8, "平台修改报案号","备案号:${param}"),
        PLATFORM_UN_AGREE_BACK(9, "企业下载资料",""),
        PLATFORM_DOWNLOAD(10, "平台下载资料",""),
        PLATFORM_CHECK_PASS(11, "平台上传资料",""),
server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -62,4 +62,6 @@
    @ApiModelProperty(value = "类型:0=加保;1=减保;2=换厂 ")
    private List<Integer> types;
    @ApiModelProperty(value = "是否是报案使用;0=否;1=是")
    private Integer isSettleClaims;
}
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1416,8 +1416,6 @@
        }
    }
    /**
     * 加保数据处理
     * @param applyChange 加减保保单数据
@@ -1426,6 +1424,202 @@
     * @param loginUserInfo 操作人
     */
    public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
                                List<DuSolution> duSolutionList,
                                InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
                                List<Integer> worktypeIdList){
        if(applyChange.getApplyStartTime().getTime()>insuranceApply.getEndTime().getTime()){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保生效期不能大于保单结束日期");
        }
        //查询本次加保所有人员信息
        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                .eq(Member::getIsdeleted,Constants.ZERO)
                .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList()))
        );
        //查询本次加保所有人员的历史保单记录
        List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
                new MPJLambdaWrapper<ApplyDetail>()
                        .selectAll(ApplyDetail.class)
                        .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
                        .selectAs(InsuranceApply::getStatus,ApplyDetail::getApplyStatus)
                        .selectAs(Company::getName,ApplyDetail::getCompanyName)
                        .selectAs(Solutions::getBaseId,ApplyDetail::getSolutionBaseId)
                        .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                        .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                        .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
                        .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
        List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
                new MPJLambdaWrapper<ApplyChagneDetail>()
                        .selectAll(ApplyChagneDetail.class)
                        .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
                        .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
                        .eq(ApplyChange::getApplyId,applyChange.getApplyId())
                        .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
                        .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE));
        for (int i = 0; i < addDetailList.size(); i++) {
            ApplyChagneDetail applyChagneDetail = addDetailList.get(i);
            if (
                    Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO) && Objects.isNull(applyChagneDetail.getDuId())
                            || Objects.isNull(applyChagneDetail.getWorktypeId())
                            || StringUtils.isBlank(applyChagneDetail.getIdcardNo())
            ) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】必填项缺失");
            }
            //根据员工身份证进行判断年龄
            long age = Constants.getAgeByIdCard(applyChagneDetail.getIdcardNo());
            if(Objects.isNull(age)
                    || age > solutions.getMaxAge()
                    || age < solutions.getMinAge()){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyChagneDetail.getMemberName()+"】员工年龄超出方案配置 方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】存在异常数据!");
            }
            //查询当前处理的人员信息
            List<Member> optMembers = memberList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
            Member member = new Member();
            if(CollectionUtils.isEmpty(optMembers)){
                member = new Member();
                member.setCreateDate(new Date());
                member.setCreator(loginUserInfo.getId());
                member.setIsdeleted(Constants.ZERO);
                member.setName(applyChagneDetail.getMemberName());
                member.setCompanyId(insuranceApply.getCompanyId());
                member.setSex(Constants.getSexByIdCard(applyChagneDetail.getIdcardNo()));
                if(!IdcardUtil.isValidCard(applyChagneDetail.getIdcardNo())){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"加保员工信息身份证信息错误["+member.getName()+"]");
                }
                member.setIdcardNo(applyChagneDetail.getIdcardNo());
                member.setApplyId(insuranceApply.getId());
                member.setDuId(applyChagneDetail.getDuId());
                member.setWorktypeId(applyChagneDetail.getWorktypeId());
                memberMapper.insert(member);
                applyChagneDetail.setMemberId(member.getId());
            }else{
                member = optMembers.get(Constants.ZERO);
                member.setApplyId(insuranceApply.getId());
                member.setDuId(applyChagneDetail.getDuId());
                member.setWorktypeId(applyChagneDetail.getWorktypeId());
                member.setStartTime(applyChagneDetail.getStartTime());
                member.setEndTime(applyChagneDetail.getEndTime());
                memberMapper.updateById(member);
                applyChagneDetail.setMemberId(member.getId());
                if(applyChangeDetailAllList.stream().filter(
                        j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId())
                ).collect(Collectors.toList()).size()>Constants.ZERO){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在申请中的加减保/换厂单据");
                }
            }
            List<ApplyDetail> memberApplyDetailList = new ArrayList<>();
            if(CollectionUtils.isNotEmpty(applyDetailAllList)){
                memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
            }
            if(CollectionUtils.isEmpty(memberApplyDetailList)){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录");
            }
            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
                    && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime()
                    && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime()
            ).collect(Collectors.toList()).size()>Constants.ZERO){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "当前保单下,加保人员【" + applyChagneDetail.getMemberName() + "】存在日期冲突的数据");
            };
            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())
                    &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
                    && j.getStartTime().getTime() <= System.currentTimeMillis()
                    && j.getEndTime().getTime() >= System.currentTimeMillis()
            ).collect(Collectors.toList()).size()>Constants.ZERO){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保");
            };
            List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream()
                    .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
            ).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(optApplyDetailList)){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录");
            }
            ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO);
            applyChagneDetail.setPrice(applyDetail.getPrice());
            applyChagneDetail.setCreateDate(new Date());
            applyChagneDetail.setCreator(loginUserInfo.getId());
            applyChagneDetail.setIsdeleted(Constants.ZERO);
            applyChagneDetail.setApplyChangeId(applyChange.getId());
            applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1));
            applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2));
            applyChagneDetail.setType(Constants.ZERO);
            List<ApplyDetail> checkStaticMemberSolutionList = memberApplyDetailList.stream()
                            .filter(j->Constants.equalsInteger(j.getSolutionBaseId(),solutions.getBaseId())
                            && !( j.getApplyStatus() == Constants.InsuranceApplyStatus.CLOSE.getKey() || j.getApplyStatus() == Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
                            && (
                                ( applyChange.getApplyStartTime().getTime()<= j.getStartTime().getTime() && j.getStartTime().getTime() <  insuranceApply.getEndTime().getTime() )
                                    ||
                                ( applyChange.getApplyStartTime().getTime()< j.getEndTime().getTime() && j.getEndTime().getTime() <  insuranceApply.getEndTime().getTime() )
                                    ||
                                ( applyChange.getApplyStartTime().getTime()> j.getStartTime().getTime() &&   insuranceApply.getEndTime().getTime() < j.getEndTime().getTime() )
                                            )
                            ).collect(Collectors.toList());
            if(checkStaticMemberSolutionList.size() >Constants.ZERO){
                String companyName = checkStaticMemberSolutionList.get(Constants.ZERO).getCompanyName();
                String idCode = checkStaticMemberSolutionList.get(Constants.ZERO).getIdcardNo();
                if(StringUtils.isNotBlank(companyName)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+applyChagneDetail.getMemberName()+" "+idCode+"】已在【"+companyName+"】存在保险,请联系客服确认");
                }else{
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+applyChagneDetail.getMemberName()+" "+idCode+"】在该保险方案下已存在投保记录,无法进行该操作");
                }
            };
            //查询员工是在主单下 是否存在生效中的数据
            if(!Objects.isNull(applyChagneDetail.getMemberId())){
                if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda()
                        .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
                        .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
                        .le(ApplyDetail::getStartTime, "now()")
                        .ge(ApplyDetail::getEndTime, "now()")
                ) > Constants.ZERO) {
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保");
                }
            }
            //验证派遣单位信息 与工种信息 是否存在
            if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
                if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "【" + applyChagneDetail.getMemberName() + "】员工派遣单位未查询到!");
                }
            }
            if (worktypeIdList.stream().filter(d ->  Constants.equalsInteger(d,applyChagneDetail.getWorktypeId()))
                    .collect(Collectors.toList()).size() <= Constants.ZERO) {
                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "【" + applyChagneDetail.getMemberName() + "】员工工种信息未查询到!");
            }
            applyChagneDetail.setMemberId(member.getId());
            //如果是减保业务为仅替换 且 方案的扣费周期和总周期相等 则处理减保费用
            if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)
                    && Constants.equalsInteger(solutions.getTimeUnit(),solutions.getInsureCycleUnit()) && delSize> i){
                applyChagneDetail.setFee(BigDecimal.ZERO);
            }else{
                applyChagneDetail.setFee(detailFee);
            }
            applyChagneDetailJoinMapper.insert(applyChagneDetail);
        }
    }
    /**
     * 加保数据处理
     * @param applyChange 加减保保单数据
     * @param addDetailList  加保人员
     * @param duSolutionList  派遣单位方案数据
     * @param loginUserInfo 操作人
     */
    public void addChangeDetailOld(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
                                List<DuSolution> duSolutionList,
                                InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
                                List<Integer> worktypeIdList){
@@ -1456,6 +1650,7 @@
            ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>()
                            .lambda()
                            .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1"));
            if(Objects.isNull(applyDetail)){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录");
            }
@@ -1548,6 +1743,7 @@
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保");
                }
            }
            //验证派遣单位信息 与工种信息 是否存在
            if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
                if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -341,6 +341,11 @@
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0");
        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0");
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0");
        queryWrapper.apply(Objects.nonNull(applyDetailPageDTO.getIsSettleClaims())&&Constants.equalsInteger(applyDetailPageDTO.getIsSettleClaims(),Constants.ONE),
                " ( t4.START_TIME <= now() and t4.END_TIME >= DATE_SUB(now(), INTERVAL 30 DAY) ) ");
        return  applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper);
    }
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -2655,6 +2655,47 @@
      return applyDetailList;
    }
    public static void checkStaticMemberSolutionNew(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime,
                                                 Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){
        List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
        try {
            applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
                    new MPJLambdaWrapper<ApplyDetail>()
                            .selectAll(ApplyDetail.class)
                            .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
                            .selectAs(Company::getName,ApplyDetail::getCompanyName)
                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                            .eq(ApplyDetail::getIdcardNo,memberIdCard)
                            .eq(Solutions::getBaseId,solutionId)
                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
                            .notIn(InsuranceApply::getStatus
                                    ,Constants.InsuranceApplyStatus.CLOSE.getKey()
                                    ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
                            .apply(" ( " +
                                    " '"+DateUtil.getPlusTime(startTime)+"'  <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
                                    " or " +
                                    "  ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' )  " +
                                    " or " +
                                    " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" +
                                    " ) " ));
        }catch (Exception e){
        }
        if(applyDetailList.size() >Constants.ZERO){
            String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
            String idCode = applyDetailList.get(Constants.ZERO).getIdcardNo();
            if(StringUtils.isNotBlank(companyName)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+memberName+" "+idCode+"】已在【"+companyName+"】存在保险,请联系客服确认");
            }else{
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+memberName+" "+idCode+"】在该保险方案下已存在投保记录,无法进行该操作");
            }
        };
    }
    public static void checkStaticMemberSolution(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime,
                                                 Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){
        List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -1146,7 +1146,7 @@
    public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content,Constants.SettleClaimsStatus settleClaimsStatus){
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
        SettleClaimsLog settleClaimsLog = new SettleClaimsLog();
        settleClaimsLog.setCreateDate(new Date());
        settleClaimsLog.setCreateDate(Objects.isNull(settleClaims.getEditDate())?new Date():settleClaims.getEditDate());
        settleClaimsLog.setCreator(loginUserInfo.getId());
        settleClaimsLog.setIsdeleted(Constants.ZERO);
        settleClaimsLog.setSettleClainmsId(settleClaims.getId());
@@ -1311,7 +1311,7 @@
        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().getExtData().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getExtData().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());
@@ -1388,6 +1388,7 @@
        }
        SettleClaims settleClaims = new SettleClaims();
        BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
        settleClaims.setEditDate(new Date());
        settleClaims.setReportNumStatus(Constants.ZERO);
        settleClaims.setCompanyId(loginUserInfo.getCompanyId());
        settleClaims.setOrigin(Constants.ZERO);
@@ -1865,6 +1866,7 @@
        if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"待企业补充文件,请等待企业补充文件");
        }
        settleClaims.setEditDate(new Date());
        //存储日志
        this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe(),null);
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
@@ -1939,6 +1941,7 @@
                multifileJoinMapper.insert(multifile);
            }
        }
        settleClaims.setEditDate(new Date());
        //存储日志
        this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null);
        //删除企业的代办通知------
@@ -1971,13 +1974,12 @@
        if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您企业的数据,您无法进行该操作");
        }
//        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
//        }
        settleClaims.setEditDate(new Date());
        //存储日志
        this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null,Constants.SettleClaimsStatus.RETURN);
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate())
                .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
        deletedNoticeBiz(null,settleClaims);//删除通知
        //给企业发通知,已结案-------------
        sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.FOURTEEN);
@@ -2007,11 +2009,12 @@
        ){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        settleClaims.setEditDate(new Date());
        //存储日志
        this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo(),null);
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,dto.getId())
                .set(SettleClaims::getEditDate,DateUtil.getCurrDateTime())
                .set(SettleClaims::getEditDate,settleClaims.getEditDate())
                .set(SettleClaims::getEditor,loginUserInfo.getId())
                .set(SettleClaims::getCaseType,dto.getCaseType()));
    }
@@ -2043,10 +2046,11 @@
        Constants.SettleClaimsStatus settleClaimsStatus =
                Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE;
        //存储日志
        settleClaims.setEditDate(new Date());
        this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe(),settleClaimsStatus);
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,dto.getId())
                .set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
                .set(SettleClaims::getEditDate, settleClaims.getEditDate())
                .set(SettleClaims::getEditor,loginUserInfo.getId())
                .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
@@ -2110,12 +2114,14 @@
//        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()));
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
                        update.getEditDate()).set(SettleClaims::getReportNum,param.getReportNum()));
        update.setEditor(user.getId());
        update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE);
        update.setId(model.getId());
@@ -2129,6 +2135,7 @@
        String info =applyLogType.getInfo();
        info = info.replace("${param}", update.getReportNum());
        SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
        log.setCreateDate(update.getEditDate());
        settleClaimsLogMapper.insert(log);
        return  1;
@@ -2172,6 +2179,7 @@
        String info =applyLogType.getInfo();
        info = info.replace("${param}", param.getDescribe());
        SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
        log.setCreateDate(update.getEditDate());
        settleClaimsLogMapper.insert(log);
        return  1;
@@ -2205,10 +2213,11 @@
        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        settleClaims.setEditDate(new Date());
        if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){
            //受理
            settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey()));
            //存储日志
            this.saveSettleClaimsLog(settleClaims,
@@ -2218,7 +2227,7 @@
        }else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){
            //拒绝受理
            settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
            //存储日志
            this.saveSettleClaimsLog(settleClaims,
@@ -2227,7 +2236,7 @@
        }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){
            //受理商议审批
            settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                    .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey()));
            //存储日志
            this.saveSettleClaimsLog(settleClaims,
@@ -2339,7 +2348,7 @@
        }
        List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditor(loginUserInfo.getId());
@@ -2396,10 +2405,11 @@
        //存储日志
        Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO)
                ?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE;
        settleClaims.setEditDate(new Date());
        this.saveSettleClaimsLog(settleClaims, settleClaimsLogType
                ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()),settleClaimsStatus);
        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, settleClaims.getEditDate())
                        .set(SettleClaims::getEditor,loginUserInfo.getId())
                .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
        deletedNoticeBiz(null,settleClaims);//删除通知
@@ -2440,9 +2450,9 @@
        List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        update.setHpAccountContent(dto.getCompensationJson());
        update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
@@ -2485,9 +2495,9 @@
        }
        List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
            update.setFeeUpdate(Constants.ONE);
@@ -2544,8 +2554,9 @@
        if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您企业的数据,您无法进行该操作");
        }
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        update.setStatus(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey());
        update.setId(settleClaims.getId());
@@ -2581,8 +2592,9 @@
        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey());
        update.setCheckDate(new Date());
@@ -2803,15 +2815,18 @@
        }
        if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())
        || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
        //        || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus())
                || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())
                || Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())
                || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())
        )){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        if(!Constants.equalsInteger(settleClaims.getHurtType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已修改过,无法再次修改");
        }
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        update.setHurtType(dto.getHurtType());
        update.setId(settleClaims.getId());
@@ -2852,9 +2867,9 @@
        ){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~");
        }
        settleClaims.setEditDate(new Date());
        SettleClaims update = new SettleClaims();
        update.setEditDate(new Date());
        update.setEditDate(settleClaims.getEditDate());
        update.setEditor(loginUserInfo.getId());
        update.setReceiveBank(dto.getReceiveBank());
        update.setReceiveAccount(dto.getReceiveAccount());