111
k94314517
2024-02-05 15e588eb6a7549ecd2aaffb45e67f11e68354eb6
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -171,6 +171,7 @@
        update.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey());
        update.setCheckDate(update.getEditDate());
        update.setCheckInfo(param.getCheckInfo());
        update.setApplyId(model.getApplyId());
        update.setCheckUserId(user.getId());
        update.setId(model.getId());
        update.setValidCode(param.getValidCode());
@@ -194,6 +195,9 @@
            dealDetailsDUdata(update);
        }
//        if(1==1){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY);
//        }
        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
        String info = "";
@@ -344,6 +348,17 @@
            MemberInsurance memberInsurance = new MemberInsurance(applyDetail,update.getId());
            memberInsuranceJoinMapper.insert(memberInsurance);
            Member member = memberMapper.selectById(detail.getMemberId());
            if(Objects.isNull(member)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到员工数据");
            }
            member.setApplyId(update.getApplyId());
            member.setDuId(detail.getDuId());
            member.setWorktypeId(detail.getWorktypeId());
            member.setStartTime(detail.getStartTime());
            member.setEndTime(detail.getEndTime());
            memberMapper.updateById(member);
        }
    }
    /**
@@ -361,7 +376,6 @@
                        .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
                        .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
                        .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
                        .leftJoin(Solutions.class, Solutions::getId, ApplyChange::getSolutionsId)
                        .leftJoin(Worktype.class, Worktype::getId, ApplyChagneDetail::getWorktypeId)
                        .leftJoin(DispatchUnit.class, DispatchUnit::getId, ApplyChagneDetail::getDuId)
                        .eq(ApplyChagneDetail::getApplyChangeId, update.getId())
@@ -380,20 +394,17 @@
        //加保业务 使用的加保金额
        ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_add = new ApplyChangeCyclePriceDTO();
        applyChangeCyclePriceDTO_add.setApplyId(update.getApplyId());
        applyChangeCyclePriceDTO_add.setValidTime(DateUtil.getMontageDate(update.getStartTime(), 1));
        applyChangeCyclePriceDTO_add.setValidTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
        //加保 添加的金额
        CountCyclePriceVO countCyclePriceVO_add = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_add);
        //减保业务 使用的减保金额
        ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_reduce = new ApplyChangeCyclePriceDTO();
        applyChangeCyclePriceDTO_reduce.setApplyId(update.getApplyId());
        applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(update.getStartTime(), 3));
        //减保 需要减少的金额
        CountCyclePriceVO countCyclePriceVO_reduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
        for (ApplyChagneDetail detail : detailList) {
            Member member = memberMapper.selectById(detail.getMemberId());
            if(Objects.isNull(member)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到员工数据");
            }
            if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) {
                //加保
                ApplyDetail add = new ApplyDetail();
@@ -409,26 +420,24 @@
                add.setDuId(detail.getDuId());
                add.setStartTime(update.getApplyStartTime());
                add.setEndTime(detail.getEndTime());
                add.setFee(new BigDecimal(0));
//                add.setFee(Constants.countDetailFee(detail.getSolutionTimeUnit(),detail.getSolutionPrice(), add.getStartTime(),add.getEndTime()));
                if (DateUtil.daysBetweenDates(add.getStartTime(), new Date()) >= 0) {
                    add.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
                    add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
                add.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
                add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
                add.setFee(countCyclePriceVO_add.getCyclePrice());
                    add.setFee(countCyclePriceVO_add.getCyclePrice());
                    if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(add.getStartTime(), 2), new Date()) >= 0) {
                        Integer days = DateUtil.daysBetweenDates(new Date(), DateUtil.getMontageDate(add.getStartTime(), 2)) + 1;
                        //如果已产生费用,计算已产生费用
                        add.setCurrentFee(this.getApplyPrice(update.getApplyId(), days));
                    }
//                addList.add(add);
                    applyDetailJoinMapper.insert(add);
                    totalFee.add(add.getFee());
                    currentFee.add(add.getCurrentFee());
                if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(detail.getStartTime(), 2), new Date()) >= 0) {
                    Integer days = DateUtil.daysBetweenDates(DateUtil.getMontageDate(new Date(), 2), detail.getStartTime()) + 1;
                    //如果已产生费用,计算已产生费用
                    add.setCurrentFee(this.getApplyPrice(update.getApplyId(), days));
                }else{
                    add.setCurrentFee(BigDecimal.ZERO);
                }
                applyDetailJoinMapper.insert(add);
                totalFee = totalFee.add(add.getFee());
                currentFee = currentFee.add(add.getCurrentFee());
                    MemberInsurance memberInsurance = new MemberInsurance(detail, update, update.getEditor(), add.getId());
                    memberInsuranceList.add(memberInsurance);
                } else {
                MemberInsurance memberInsurance = new MemberInsurance(detail, update, update.getEditor(), add.getId());
                memberInsuranceList.add(memberInsurance);
            } else {
                    //减保操作
                    //查询员工是在主单下 是否存在生效中的数据
                    ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
@@ -439,32 +448,31 @@
                    if (oldModel == null || oldModel.getStartTime() == null || oldModel.getStartTime().getTime() > update.getApplyStartTime().getTime()) {
                        throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,用户【" + detail.getMemberName() + "】原保单信息有误,当前申请不支持减保处理!");
                    }
                    //退保需要退回的费用
                    //减保业务 使用的减保金额
                    ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_reduce = new ApplyChangeCyclePriceDTO();
                    applyChangeCyclePriceDTO_reduce.setApplyId(update.getApplyId());
                    applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(update.getApplyStartTime(), 2));
                    //减保 需要减少的金额 即 退保需要退回的费用
                    CountCyclePriceVO countCyclePriceVO_reduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
                    BigDecimal updateFee = countCyclePriceVO_reduce.getCyclePrice().multiply(new BigDecimal(-1));
                    BigDecimal updateCurrentFee = oldModel.getFee().subtract(updateFee);
//                BigDecimal updateCurrentFee = new BigDecimal(0);
//                if(DateUtil.daysBetweenDates(update.getApplyStartTime(),new Date() )>0){
//                    //如果生效时间 是今天之前,退回已产生费用,计算已产生费用(总费用-已产生费用)
//                    updateCurrentFee = updateFee.subtract(oldModel.getCurrentFee());
//                }
//                    BigDecimal updateFee = (Constants.countDetailFee(detail.getSolutionTimeUnit(), detail.getSolutionPrice(), oldModel.getStartTime(), update.getApplyStartTime()));
//                    BigDecimal updateCurrentFee = new BigDecimal(0);
                    if (DateUtil.daysBetweenDates(update.getApplyStartTime(), new Date()) > 0) {
                        //如果生效时间 是今天之前,退回已产生费用,计算已产生费用(总费用-已产生费用)
                        updateCurrentFee = updateFee.subtract(Constants.formatBigdecimal(oldModel.getCurrentFee()));
                    //当审批时间 大于 申请的时间时 计算实际减少金额 因为已扣金额会大于 应扣金额
                    BigDecimal updateCurrentFee = BigDecimal.ZERO;
                    if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(new Date(), 2),update.getApplyStartTime()) > 0) {
                        applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(new Date(), 2));
                        //获取 大于审批日期导致 多减的金额
                        CountCyclePriceVO timeoutCountCyclePriceVOReduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
                        updateCurrentFee = timeoutCountCyclePriceVOReduce.getCyclePrice().subtract(countCyclePriceVO_reduce.getCyclePrice());
                    }
                    applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
                            .setSql(" fee = ifnull(fee,0)+" + updateFee)
                            .setSql(" current_fee = " + updateCurrentFee)
                            .set(ApplyDetail::getEndTime, update.getApplyStartTime())
                            .set(ApplyDetail::getEndTime, DateUtil.getMontageDate(update.getApplyStartTime(), 3))
                            .set(ApplyDetail::getEditor, update.getEditor())
                            .set(ApplyDetail::getEditDate, update.getEditDate())
                            .eq(ApplyDetail::getId, oldModel.getApplyId())
                            .eq(ApplyDetail::getId, oldModel.getId())
                    );
                    totalFee.add(updateFee);
                    currentFee.add(updateCurrentFee);
                    totalFee = totalFee.add(updateFee);
                    currentFee = currentFee.add(updateCurrentFee);
                    //修改 员工投保明细记录 历史数据
                    memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda()
@@ -472,26 +480,28 @@
                            .set(MemberInsurance::getEndTime, update.getApplyStartTime())
                            .eq(MemberInsurance::getRelationId, oldModel.getId())
                    );
                }
            }
            member.setApplyId(update.getApplyId());
            member.setDuId(detail.getDuId());
            member.setWorktypeId(detail.getWorktypeId());
            member.setStartTime(detail.getStartTime());
            member.setEndTime(detail.getEndTime());
            memberMapper.updateById(member);
            if (memberInsuranceList != null && memberInsuranceList.size() > 0) {
//            applyDetailJoinMapper.insertBatchSomeColumn(addList);
                memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
            }
            if (totalFee.compareTo(new BigDecimal(0)) != 0) {
                //如果保单金额发生编码,更新总保单金额
                insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda()
                        .setSql(" fee = ifnull(fee,0)+" + totalFee)
                        .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee)
                        .set(InsuranceApply::getEditor, update.getEditor())
                        .set(InsuranceApply::getEditDate, update.getEditDate())
                        .eq(InsuranceApply::getId, update.getApplyId())
                );
            }
        }
        if (totalFee.compareTo(new BigDecimal(0)) != 0) {
            //如果保单金额发生编码,更新总保单金额
            insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda()
                    .setSql(" fee = ifnull(fee,0)+" + totalFee)
                    .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee)
                    .set(InsuranceApply::getEditor, update.getEditor())
                    .set(InsuranceApply::getEditDate, update.getEditDate())
                    .eq(InsuranceApply::getId, update.getApplyId())
            );
        }
    }
@@ -624,6 +634,8 @@
        }
        applyChange.setCreateDate(new Date());
        applyChange.setCreator(loginUserInfo.getId());
        applyChange.setEditor(loginUserInfo.getId());
        applyChange.setEditDate(new Date());
        applyChange.setIsdeleted(Constants.ZERO);
        applyChange.setApplyStartTime(applyChange.getValidTime());
        applyChange.setStatus(Constants.ZERO);
@@ -636,8 +648,19 @@
        applyChangeFee.setFee(fee);
        applyChangeMapper.updateById(applyChangeFee);
//        if(1==1){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY);
//        }
        this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null);
        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT;
        String info =applyLogType.getInfo();
        info = info.replace("${param}", "");
        ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
        applyLogMapper.insert(log);
        return applyChange.getId();
    }
@@ -710,7 +733,15 @@
        BigDecimal fee = this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,BigDecimal.ZERO);
        applyChange.setFee(fee);
        applyChangeMapper.updateById(applyChange);
        this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null);
        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_UPLOAD_AGAIN;
        String info =applyLogType.getInfo();
        info = info.replace("${param}", "");
        ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
        applyLogMapper.insert(log);
        return applyChange.getId();
    }
@@ -767,7 +798,7 @@
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该企业分配保险方案无法进行减保");
            }
            //减保明细数据 计算金额  根据批单时间 前一天 计算
            applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3));
            applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),2));
            CountCyclePriceVO countCyclePriceVO =  this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
            BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
            this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee);
@@ -783,23 +814,18 @@
    }
    public void saveApplyLog(ApplyChange applyChange,Constants.ApplyChangeLogStatus applyChangeLogStatus,String content){
    public void saveApplyLog(ApplyChange applyChange,Constants.ApplyLogType applyLogType,String content){
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        ApplyLog applyLog = new ApplyLog();
        applyLog.setCreateDate(new Date());
        applyLog.setCreator(loginUserInfo.getId());
        applyLog.setIsdeleted(Constants.ZERO);
        applyLog.setApplyId(applyChange.getApplyId());
        applyLog.setTitle(applyChangeLogStatus.getName());
        applyLog.setTitle(applyLogType.getName());
        if(StringUtils.isNotBlank(content)){
            applyLog.setContent(applyChangeLogStatus.getInfo().replace("${param}",content));
        }else{
            applyLog.setContent(applyChangeLogStatus.getInfo());
            applyLog.setContent(applyLogType.getInfo().replace("${param}",content));
        }
        applyLog.setObjType(applyChangeLogStatus.getKey());
        applyLog.setObjType(applyLogType.getKey());
        applyLog.setObjId( applyChange.getId());
        applyLog.setStatus(applyChange.getStatus());
        applyLogMapper.insert(applyLog);
@@ -812,7 +838,8 @@
     * @param delDetailList
     * @param loginUserInfo
     */
    public void delChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> delDetailList,InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee){
    public void delChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> delDetailList,InsuranceApply insuranceApply,Solutions solutions,
                                LoginUserInfo loginUserInfo,BigDecimal detailFee){
        for (ApplyChagneDetail applyChagneDetail : delDetailList) {
            if (Objects.isNull(applyChagneDetail.getMemberId())) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "减保人员【" + applyChagneDetail.getMemberName() + "】必填项缺失");
@@ -849,8 +876,15 @@
            applyChagneDetail.setApplyChangeId(applyChange.getId());
            applyChagneDetail.setType(Constants.ONE);
            applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyDetail.getStartTime(),1));
            applyChagneDetail.setStartTime(applyDetail.getStartTime());
            applyChagneDetail.setEndTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),3));
            member.setApplyId(insuranceApply.getId());
            member.setDuId(applyChagneDetail.getDuId());
            member.setWorktypeId(applyChagneDetail.getWorktypeId());
            member.setStartTime(applyChagneDetail.getStartTime());
            member.setEndTime(applyChagneDetail.getEndTime());
            memberMapper.updateById(member);
            applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1)));
            applyChagneDetailJoinMapper.insert(applyChagneDetail);
@@ -876,6 +910,13 @@
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】必填项缺失");
            }
            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);
            Member member = new Member();
            if(Objects.isNull(applyChagneDetail.getMemberId())){
                //查询是否存在该用户
@@ -897,11 +938,15 @@
                    member.setApplyId(insuranceApply.getId());
                    member.setDuId(applyChagneDetail.getDuId());
                    member.setWorktypeId(applyChagneDetail.getWorktypeId());
                    member.setStartTime(applyChagneDetail.getStartTime());
                    member.setEndTime(applyChagneDetail.getEndTime());
                    memberMapper.insert(member);
                }else{
                    member.setApplyId(insuranceApply.getId());
                    member.setDuId(applyChagneDetail.getDuId());
                    member.setWorktypeId(applyChagneDetail.getWorktypeId());
                    member.setStartTime(applyChagneDetail.getStartTime());
                    member.setEndTime(applyChagneDetail.getEndTime());
                    memberMapper.updateById(member);
                }
            }else{
@@ -912,8 +957,19 @@
                member.setApplyId(insuranceApply.getId());
                member.setDuId(applyChagneDetail.getDuId());
                member.setWorktypeId(applyChagneDetail.getWorktypeId());
                member.setStartTime(applyChagneDetail.getStartTime());
                member.setEndTime(applyChagneDetail.getEndTime());
                memberMapper.updateById(member);
            }
            //根据员工身份证进行判断年龄
            long age = Constants.getAgeByIdCard(member.getIdcardNo());
            if(Objects.isNull(age)
                    || age > solutions.getMaxAge()
                    || age < solutions.getMinAge()){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyChagneDetail.getMemberName()+"】员工年龄超出方案配置 方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】存在异常数据!");
            }
            //查询员工是否存在  0待签署 1已签章 的此类业务保数据 同一主单下
            if (applyChagneDetailJoinMapper.selectJoinCount(
                    new MPJLambdaWrapper<ApplyChagneDetail>()
@@ -924,6 +980,8 @@
            ) > Constants.ZERO) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在申请中的加减保/换厂单据");
            }
            //查询员工是在主单下 是否存在生效中的数据
            if(!Objects.isNull(applyChagneDetail.getMemberId())){
                if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda()
@@ -944,13 +1002,6 @@
                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "【" + applyChagneDetail.getMemberName() + "】员工工种信息未查询到!");
            }
            applyChagneDetail.setMemberId(member.getId());
            applyChagneDetail.setCreateDate(new Date());
            applyChagneDetail.setCreator(loginUserInfo.getId());
            applyChagneDetail.setIsdeleted(Constants.ZERO);
            applyChagneDetail.setApplyChangeId(applyChange.getId());
            applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getStartTime(),1));
            applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2));
            applyChagneDetail.setType(Constants.ZERO);
            applyChagneDetail.setFee(detailFee);
            applyChagneDetailJoinMapper.insert(applyChagneDetail);
        }
@@ -1015,7 +1066,18 @@
            applyChagneDetail.setIsdeleted(Constants.ZERO);
            applyChagneDetail.setApplyChangeId(applyChange.getId());
            applyChagneDetail.setType(Constants.TWO);
            applyChagneDetail.setStartTime(applyDetail.getStartTime());
            applyChagneDetail.setEndTime(applyDetail.getEndTime());
            applyChagneDetailJoinMapper.insert(applyChagneDetail);
            member.setApplyId(applyChange.getApplyId());
            member.setDuId(applyChagneDetail.getDuId());
            member.setWorktypeId(applyChagneDetail.getWorktypeId());
            member.setStartTime(applyChagneDetail.getStartTime());
            member.setEndTime(applyChagneDetail.getEndTime());
            memberMapper.updateById(member);
        }
    }
@@ -1124,12 +1186,14 @@
                .selectAll(ApplyChange.class)
                .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
                .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
                .selectAs(Company::getName,ApplyChange::getCompanyName)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  )",ApplyChange::getAddNum)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  )",ApplyChange::getDelNum)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2  )",ApplyChange::getChangeNum)
                .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID  )",ApplyChange::getChangeMoney)
                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType())
                .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus())
                .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,
@@ -1190,7 +1254,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询方案信息");
        }
        Constants.ApplyChangeLogStatus applyChangeLogStatus = Constants.ApplyChangeLogStatus.RETURN_APPLY;
        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_CHECK_PASS_NO;
        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
        if(applyChange.getType().equals(Constants.ONE)){
@@ -1221,7 +1285,7 @@
        }else if(applyChangeOptDTO.getOptType().equals(4)){
            applyChangeLogStatus = Constants.ApplyChangeLogStatus.PLATFORM_AGREE;
            applyLogType = Constants.ApplyLogType.CA_PLATFORM_AGREE_BACK_APPLY;
            //平台同意退回
            if(loginUserInfo.getType().equals(Constants.ZERO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非平台端用户无法进行该操作");
@@ -1232,7 +1296,7 @@
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态错误无法进行该操作!");
            }
        }else if(applyChangeOptDTO.getOptType().equals(5)){
            applyChangeLogStatus = Constants.ApplyChangeLogStatus.PLATFORM_UN_AGREE;
            applyLogType = Constants.ApplyLogType.CA_PALTFORM_REFUSE_APPLY;
            //平台驳回退回
            if(loginUserInfo.getType().equals(Constants.ZERO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非平台端用户无法进行该操作");
@@ -1249,7 +1313,7 @@
            }
        }else if(applyChangeOptDTO.getOptType().equals(6)){
            //企业关闭
            applyChangeLogStatus = Constants.ApplyChangeLogStatus.CLOSE;
            applyLogType = Constants.ApplyLogType.CA_COMPANY_CLOSE;
            if(!loginUserInfo.getType().equals(Constants.ONE)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非企业端用户无法进行该操作");
            }
@@ -1257,7 +1321,6 @@
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态错误无法进行该操作!");
            }
            applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey());
            //存储待办信息
            //删除其他待办
@@ -1270,8 +1333,10 @@
        applyChange.setEditDate(new Date());
        applyChangeMapper.updateById(applyChange);
        //存储日志数据
        this.saveApplyLog(applyChange,applyChangeLogStatus,applyChangeOptDTO.getOptIllustration());
        String info = applyLogType.getInfo();
        info = info.replace("${param}", applyChangeOptDTO.getOptIllustration());
        ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
        applyLogMapper.insert(log);
    }
@@ -1302,6 +1367,7 @@
                        .selectAs(Company::getName,ApplyLog::getCompanyName)
                        .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator)
                        .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                        .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ONE))
                        .eq(ApplyLog::getObjId,applyChange.getId())
                        .orderByAsc(ApplyLog::getCreateDate)
        );