111
k94314517
2024-02-05 15e588eb6a7549ecd2aaffb45e67f11e68354eb6
111
已修改11个文件
144 ■■■■ 文件已修改
server/company/src/main/java/com/doumee/api/business/SmsEmailController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/SolutionsController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/config/shiro/ShiroConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Member.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/SmsEmailController.java
@@ -38,6 +38,15 @@
        return ApiResponse.success(smsEmailService.create(smsEmail));
    }
    @PreventRepeat
    @ApiOperation("发送短信验证码")
    @PostMapping("/sendSms")
//    @RequiresPermissions("business:smsemail:sendSms")
    public ApiResponse sendSms(@RequestBody SmsEmail smsEmail) {
        return ApiResponse.success(smsEmailService.sendSms(smsEmail));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:smsemail:delete")
server/company/src/main/java/com/doumee/api/business/SolutionsController.java
@@ -46,6 +46,14 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("禁用启用")
    @PostMapping("/updateStatus")
    @RequiresPermissions("business:solutions:update")
    public ApiResponse updateStatus(@RequestBody Solutions solutions) {
        solutionsService.updateStatus(solutions);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("business:solutions:delete")
server/service/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -89,6 +89,7 @@
        Map<String, String> map = new LinkedHashMap<>();
        // 路径拦截配置
        map.put("/system/login", "anon");
        map.put("/system/loginByPhone", "anon");
        map.put("/system/logout", "anon");
        map.put("/common/captcha", "anon");
        map.put("/business/smsEmail/sendSms", "anon");
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
@@ -82,4 +82,10 @@
    @TableField(exist = false)
    private String solutionName  ;
    @ApiModelProperty(value = "方案主键(关联solutions)", example = "1")
    @ExcelColumn(name="方案主键(关联solutions)")
    private Integer solutionId;
}
server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -55,11 +55,11 @@
    @ApiModelProperty(value = "实际保险生效止期")
    @ExcelColumn(name="保险生效止期",index = 9)
    private String endTime;
    private Date endTime;
    @ApiModelProperty(value = "实际保险生效起期")
    @ExcelColumn(name="保险生效起期",index = 8)
    private String startTime;
    private Date startTime;
    @ApiModelProperty(value = "身份证号码")
    @ExcelColumn(name="身份证号",index = 3)
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());
@@ -347,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);
        }
    }
    /**
@@ -389,6 +401,10 @@
        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();
@@ -450,7 +466,7 @@
                    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.getId())
@@ -466,8 +482,16 @@
                    );
            }
            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) {
                memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
            }
            }
            if (totalFee.compareTo(new BigDecimal(0)) != 0) {
                //如果保单金额发生编码,更新总保单金额
@@ -478,9 +502,6 @@
                        .set(InsuranceApply::getEditDate, update.getEditDate())
                        .eq(InsuranceApply::getId, update.getApplyId())
                );
            }
        }
    }
@@ -613,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);
@@ -856,6 +879,13 @@
            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);
        }
@@ -880,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())){
                //查询是否存在该用户
@@ -901,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{
@@ -916,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>()
@@ -928,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()
@@ -948,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.getApplyStartTime(),1));
            applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2));
            applyChagneDetail.setType(Constants.ZERO);
            applyChagneDetail.setFee(detailFee);
            applyChagneDetailJoinMapper.insert(applyChagneDetail);
        }
@@ -1019,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);
        }
    }
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -894,10 +894,12 @@
        List<DispatchUnit> dispatchUnitList  = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class,
                new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class)
                        .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                        .eq(DispatchUnit::getStatus,Constants.ZERO)
                        .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" )
                        .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                        .eq(DispatchUnit::getStatus,Constants.ZERO)
                        .eq(DispatchUnit::getDataType,Constants.TWO)
                        .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                        .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),
                                "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() )
                        .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -785,6 +785,9 @@
        if(Objects.isNull(solutions)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到方案信息");
        }
        if(!(solutions.getIsdeleted().equals(Constants.ZERO)||solutions.getStatus().equals(Constants.ZERO))){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"方案信息已被禁用");
        }
        List<ApplyDetail> applyDetailList = insuranceApply.getApplyDetailList();
        //判断是否存在重复信息
        List<String> idCardList = applyDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList());
@@ -987,6 +990,8 @@
                        member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo()));
                        member.setIdcardNo(applyDetail.getIdcardNo());
                        member.setApplyId(insuranceApply.getId());
                        member.setStartTime(applyDetail.getStartTime());
                        member.setEndTime(applyDetail.getEndTime());
                        member.setDuId(applyDetail.getDuId());
                        member.setWorktypeId(applyDetail.getWorktypeId());
                        memberMapper.insert(member);
@@ -994,6 +999,8 @@
                        member.setApplyId(insuranceApply.getId());
                        member.setDuId(applyDetail.getDuId());
                        member.setWorktypeId(applyDetail.getWorktypeId());
                        member.setStartTime(applyDetail.getStartTime());
                        member.setEndTime(applyDetail.getEndTime());
                        memberMapper.updateById(member);
                    }
                }else{
@@ -1004,8 +1011,18 @@
                    member.setApplyId(insuranceApply.getId());
                    member.setDuId(applyDetail.getDuId());
                    member.setWorktypeId(applyDetail.getWorktypeId());
                    member.setStartTime(applyDetail.getStartTime());
                    member.setEndTime(applyDetail.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(),"【"+applyDetail.getMemberName()+"】员工年龄超出方案配置,方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】!");
                }
                applyDetail.setMemberId(member.getId());
                applyDetail.setIdcardNo(member.getIdcardNo());
                applyDetail.setSex(member.getSex());
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.SmsEmailMapper;
import com.doumee.dao.business.model.SmsEmail;
@@ -94,11 +95,20 @@
        if(StringUtils.isBlank(smsEmail.getPhone())){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss");
        if(smsEmailMapper.selectCount(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getPhone,smsEmail.getPhone())
                .eq(SmsEmail::getType,Constants.ZERO)
                .between(SmsEmail::getCreateDate, DateUtil.getFomartDate(DateUtil.afterMinutesDate(-5),"yyyy-MM-dd HH:mm:ss"),nowDate)
        )>=3){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,超出发送次数,请稍后重试!");
        }
        String code = Constants.getRandom6Num();
        boolean result=   emayService.sendSingleSms(smsEmail.getPhone(),code);
        if(!result){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,短信验证码发送失败,请稍后重试!");
        }
        smsEmail.setRemark(code);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setCreateDate(new Date());
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -192,7 +192,7 @@
                .set(Solutions::getDataType,Constants.ONE)
                .set(StringUtils.isNotBlank(solutions.getSignKeyword()),Solutions::getSignKeyword,solutions.getSignKeyword())
        );
        //处理工作信息,新增最新的,同时产生历史版本
        //处理工种信息,新增最新的,同时产生历史版本
        dealWorkType(solutions,newModel,solutions.getWorktypeIdList(),false);
    }
@@ -262,6 +262,7 @@
    @Override
    public List<Solutions> findList(Solutions solutions) {
        solutions.setIsdeleted(Constants.ZERO);
        solutions.setStatus(Constants.ZERO);
        if(solutions.getDataType() == null){
            solutions.setDataType(Constants.TWO);
        }
server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
@@ -11,6 +11,7 @@
import com.doumee.dao.business.WorktypeMapper;
import com.doumee.dao.business.dto.WorkTypeQueryDTO;
import com.doumee.dao.business.dto.WorktypeImport;
import com.doumee.dao.business.model.DispatchUnit;
import com.doumee.dao.business.model.Worktype;
import com.doumee.service.business.WorktypeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -94,6 +95,7 @@
    @Override
    public List<Worktype> findList(Worktype worktype) {
        worktype.setIsdeleted(Constants.ZERO);
        worktype.setStatus(Constants.ZERO);
        QueryWrapper<Worktype> wrapper = new QueryWrapper<>(worktype);
        return worktypeMapper.selectList(wrapper);
    }