k94314517
2025-04-11 c1b5d8b81d63555f6f0095aa823f07d99f80fe21
git ch
已修改12个文件
85 ■■■■■ 文件已修改
server/company/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/resources/application-pro.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/shop/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/resources/application.yml
@@ -12,7 +12,7 @@
#  application:git
#    name: doumeemes
  profiles:
    active: dev
    active: pro
  # JSON返回配置
  jackson:
server/platform/src/main/resources/application.yml
@@ -11,7 +11,7 @@
#  application:
#  name: doumeemes
  profiles:
    active: dev
    active: pro
  # JSON返回配置
  jackson:
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.api.R;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.excel.Reflections;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -34,6 +35,8 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -734,7 +737,7 @@
            }
            //查询人员信息是否存在相同的方案下是否存在 冲突数据
            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                    member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
                    member.getId(),member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
                    applyDetailJoinMapper);
            //查询加保人员是否存在 冲突的 保单明细数据
@@ -1140,9 +1143,12 @@
        }
    }
    private static Logger logger = LoggerFactory.getLogger(ApplyChangeServiceImpl.class);
    public BigDecimal dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply
            ,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){
        Long start = System.currentTimeMillis();
        logger.error("处理加减保保单数据开始时间:=========================>"+start);
        if(Constants.equalsInteger(applyChange.getType(),Constants.ZERO)){
            if(Objects.nonNull(solutions.getDelOnlyReplace())&& solutions.getDelOnlyReplace().equals(Constants.ONE)){
                if(applyChange.getDelDetailList().size() > applyChange.getAddDetailList().size()){
@@ -1231,8 +1237,6 @@
            fee = fee.add(delDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
        }
        //换厂业务
        List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
        if (CollectionUtils.isNotEmpty(changeDetailList)) {
@@ -1248,6 +1252,8 @@
            this.changeDetail(applyChange,changeDetailList,duSolutionList,loginUserInfo,solutions,worktypeIdList);
        }
        Long end = System.currentTimeMillis();
        logger.error("处理加减保保单数据结束时间:=========================>"+end +";单条耗时:====》"+(end-start));
        return fee;
    }
@@ -1434,10 +1440,6 @@
            ) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】必填项缺失");
            }
            //查询人员信息是否存在相同的方案下是否存在 冲突数据
            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                    applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
                    applyDetailJoinMapper);
            //查询加保人员是否存在 冲突的 保单明细数据
            if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
@@ -1488,17 +1490,14 @@
                    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);
                }
                applyChagneDetail.setMemberId(member.getId());
            }else{
                member = memberMapper.selectById(applyChagneDetail.getMemberId());
                if(Objects.isNull(member)){
@@ -1512,6 +1511,11 @@
                memberMapper.updateById(member);
            }
            //查询人员信息是否存在相同的方案下是否存在 冲突数据
            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                    applyChagneDetail.getMemberId(),applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
                    applyDetailJoinMapper);
            //根据员工身份证进行判断年龄
            long age = Constants.getAgeByIdCard(member.getIdcardNo());
            if(Objects.isNull(age)
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -882,7 +882,9 @@
                        .selectAll(DuSolution.class)
                        .selectAs(Solutions::getName,DuSolution::getSolutionName)
                        .leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId)
                        .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
                        .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())
                        .eq(CompanySolution::getCompanyId,dispatchUnit.getCompanyId())
                        .orderByAsc(DuSolution::getSortnum)
        );
        if(CollectionUtils.isNotEmpty(duSolutionList)){
@@ -937,6 +939,7 @@
                        .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()+"  order by b.CHECK_DATE desc  limit 1) as du_solution_id" )
                        .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                        .eq(Objects.nonNull(dispatchUnitQueryDTO.getCompanyId()),DispatchUnit::getCompanyId,dispatchUnitQueryDTO.getCompanyId())
                        .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                        .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -35,6 +35,8 @@
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -513,7 +515,7 @@
        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
        }
        Company company = user.getCompany();
        Company company = user.getShowCompany();
        if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
@@ -2375,8 +2377,13 @@
    private static Logger logger = LoggerFactory.getLogger(InsuranceApplyServiceImpl.class);
    public void dealApplyDetailData(InsuranceApply insuranceApply,Solutions solutions,List<ApplyDetail> applyDetailList,
                                    LoginUserInfo loginUserInfo,CountCyclePriceVO  countCyclePriceVO,Boolean checkNewData){
        Long start = System.currentTimeMillis();
        logger.error("处理保单数据开始时间:=========================>"+start);
        //2024年11月6日15:01:34  加入  方案配置了有派遣单位 才会去验证派遣单位数据
        List<DuSolution>  duSolutionList = new ArrayList<>();
        List<DuWorktype> duWorktypeList = new ArrayList<>();
@@ -2459,6 +2466,8 @@
            }
            memberList.addAll(addMemberList);
            for (int i = 0; i < applyDetailList.size(); i++) {
                Long singlStart = System.currentTimeMillis();
                logger.error("处理保单单条数据开始时间:=========================>"+singlStart);
                ApplyDetail applyDetail = applyDetailList.get(i);
                if(Objects.isNull(applyDetail)
                        ||StringUtils.isBlank(applyDetail.getIdcardNo())
@@ -2535,11 +2544,11 @@
                        .collect(Collectors.toList()).size()<=Constants.ZERO){
                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"【"+applyDetail.getMemberName()+applyDetail.getIdcardNo()+"】员工工种信息未查询到!");
                }
//                if(duWorktypeList.stream().filter(d->d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
//                        .collect(Collectors.toList()).size()<=Constants.ZERO){
//                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"【"+applyDetail.getMemberName()+applyDetail.getIdcardNo()+"】员工工种信息未查询到!");
//                }
                Long singlEnd = System.currentTimeMillis();
                logger.error("处理保单单条数据结束时间:=========================>"+singlEnd+";耗时:====》"+(singlStart-singlEnd));
            }
            Long end = System.currentTimeMillis();
            logger.error("处理单数据结束时间:=========================>"+end +";耗时:====》"+(end-start));
            applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList);
        }
    }
@@ -2592,7 +2601,7 @@
        };
    }
    public static void checkStaticMemberSolution(Integer solutionId,String idCode,String memberName,Date startTime,
    public static void checkStaticMemberSolution(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime,
                                                 Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){
        List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
        try {
@@ -2604,7 +2613,7 @@
                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                            .eq(ApplyDetail::getIdcardNo,idCode)
                            .eq(ApplyDetail::getIdcardNo,memberIdCard)
                            .eq(Solutions::getBaseId,solutionId)
                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
                            .notIn(InsuranceApply::getStatus
@@ -2622,6 +2631,7 @@
        }
        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{
@@ -3493,7 +3503,7 @@
        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
        }
        Company company = user.getCompany();
        Company company = user.getShowCompany();
        if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
@@ -3578,7 +3588,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该申请状态已流转,当前不支持签章操作!");
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Company company = user.getCompany();
        Company company = user.getShowCompany();
        if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
@@ -3659,7 +3669,7 @@
        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey())){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
        }
        Company company = user.getCompany();
        Company company = user.getShowCompany();
        if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -445,7 +445,10 @@
                            .eq(ApplyDetail::getApplyId,insuranceApply.getId())
                            .eq(ApplyDetail::getIdcardNo,model.getIdCard())
                         /*   .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(new Date(),1))*/
                            .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(new Date(),3)));
                            .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(new Date(),3))
                            .orderByAsc(ApplyDetail::getEndTime)
                            .last(" limit 1 ")
            );
            if(detail == null){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "当前保单下,员工【" + model.getName()+model.getIdCard() + "】非在保人员,无法进行该操作");
            }
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -98,6 +98,7 @@
        solutions.setDataType(Constants.ZERO);
        solutions.setStatus(Constants.ZERO);
        solutions.setCorrectWarnTime(solutionsBase.getCorrectWarnTime());
        solutions.setDelOnlyReplace(solutionsBase.getDelOnlyReplace());
        //2024年6月17日15:56:18 仅支持替换模式下,批增日期 等于 批减日期
        if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)){
            solutions.setAddValidDays(solutions.getDelValidDays());
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -548,7 +548,7 @@
        for (ApplyDetail applyDetail:applyDetailList) {
            //查询人员信息是否存在相同的方案下是否存在 冲突数据
            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                    applyDetail.getIdcardNo(),applyDetail.getMemberName(),unionApply.getStartTime(),unionApply.getEndTime(),
                    applyDetail.getMemberId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),unionApply.getStartTime(),unionApply.getEndTime(),
                    applyDetailJoinMapper);
            fee =fee.add(
                    Constants.reduceFee(solutions,solutions.getPrice(),applyDetail.getStartTime(),applyDetail.getEndTime(),saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate())
@@ -967,7 +967,7 @@
                    //查询人员信息是否存在相同的方案下是否存在 冲突数据
                    InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                            applyDetail.getIdcardNo(),applyDetail.getMemberName(),unionApply.getStartTime(),unionApply.getEndTime(),
                            applyDetail.getMemberId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),unionApply.getStartTime(),unionApply.getEndTime(),
                            applyDetailJoinMapper);
                    applyDetail.setPrice(price);
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -964,7 +964,7 @@
            , BigDecimalVO bigDecimalVO,List<ApplyChagneDetail> reduceList,Integer i){
        //查询人员信息是否存在相同的方案下是否存在 冲突数据
        InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
                detail.getIdcardNo(),detail.getMemberName(),DateUtil.getMontageDate(applyChange.getApplyStartTime(),1),DateUtil.getMontageDate(detail.getEndTime(),2),
                detail.getMemberId(),detail.getIdcardNo(),detail.getMemberName(),DateUtil.getMontageDate(applyChange.getApplyStartTime(),1),DateUtil.getMontageDate(detail.getEndTime(),2),
                applyDetailJoinMapper);
        //加保
server/service/src/main/resources/application-dev.yml
@@ -13,7 +13,7 @@
spring:
  # 数据源配置
  datasource:
    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/yunyibao?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/yunyibao1?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
    username: doumee
    password: rtjgfEr@&0c0m
    driver-class-name: com.mysql.cj.jdbc.Driver
@@ -21,7 +21,7 @@
  mail:
    host: smtp.exmail.qq.com
    username: jp@doumee.com
    password: 2Jz9HFW2U7vRnCRu
    password: p7iKUE8VvQQpY58S
    default-encoding: UTF-8
    properties:
      mail:
server/service/src/main/resources/application-pro.yml
@@ -21,8 +21,8 @@
  mail:
    default-encoding: UTF-8
    host: smtp.exmail.qq.com
    username: wx@yyb.red
    password: U7id5wLg6XsTmmKn
    username: service@yyb.red
    password: yyb@2025
    port: 587
    properties:
      mail:
server/shop/src/main/resources/application.yml
@@ -12,7 +12,7 @@
#  application:git
#    name: doumeemes
  profiles:
    active: dev
    active: pro
  # JSON返回配置
  jackson: