k94314517
2025-06-10 ca1e1982c1b6cf275b45ceb6d952465f84ed3830
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -330,7 +330,7 @@
                );
            }
            memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
            memberInsuranceJoinMapper.insert(memberInsuranceList);
        }
        this.updateApplyCurrentFee(insuranceApply.getId(),null);
@@ -2452,7 +2452,7 @@
                this.checkMemberSolution(solutions.getParentId(),member.getIdcardNo(),member.getName(),insuranceApply.getStartTime(),insuranceApply.getEndTime(),insuranceApply.getId());
            }
            if(CollectionUtils.isNotEmpty(addMemberList)){
                memberJoinMapper.insertBatchSomeColumn(addMemberList);
                memberJoinMapper.insert(addMemberList);
            }
            memberList.addAll(addMemberList);
            for (int i = 0; i < applyDetailList.size(); i++) {
@@ -2539,7 +2539,7 @@
            }
            Long end = System.currentTimeMillis();
            logger.error("处理单数据结束时间:=========================>"+end +";耗时:====》"+(end-start));
            applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList);
            applyDetailJoinMapper.insert(applyDetailList);
        }
    }
@@ -2589,6 +2589,47 @@
            }
        };
    }
    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,
@@ -3765,59 +3806,6 @@
        }
        return applyPowerVO;
    }
//    @Override
//    public InsuranceDataVO getInsuranceDataVO(){
//        InsuranceDataVO insuranceDataVO = new InsuranceDataVO();
//        insuranceDataVO.setInsuranceTotal(Constants.ZERO);
//        insuranceDataVO.setInsuranceAddTotal(Constants.ZERO);
//        insuranceDataVO.setInsuranceApplyTotal(Constants.ZERO);
//        insuranceDataVO.setInsuranceApplyAddTotal(Constants.ZERO);
//        insuranceDataVO.setInsuranceUserTotal(Constants.ZERO);
//        insuranceDataVO.setInsuranceUserAddTotal(Constants.ZERO);
//        insuranceDataVO.setTotalAddFee(BigDecimal.ZERO);
//        insuranceDataVO.setTotalFee(BigDecimal.ZERO);
//        //本月日期
//        String monthData = DateUtil.DateToStr(new Date(),"yyyy-MM");
//        //保险公司数量
//        List<Insurance> insuranceList = insuranceMapper.selectList(new QueryWrapper<Insurance>().lambda().eq(Insurance::getIsdeleted,Constants.ZERO).eq(Insurance::getStatus,Constants.ZERO));
//        if(CollectionUtils.isNotEmpty(insuranceList)){
//            insuranceDataVO.setInsuranceTotal(insuranceList.size());
//            insuranceDataVO.setInsuranceAddTotal(insuranceList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size());
//        }
//
//        //保单数量
//        List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>()
//                .lambda().eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus,
//                Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
//        );
//        if(CollectionUtils.isNotEmpty(insuranceApplyList)){
//            insuranceDataVO.setInsuranceApplyTotal(insuranceApplyList.size());
//            insuranceDataVO.setInsuranceApplyAddTotal(insuranceApplyList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size());
//        }
//
//        //在保人数
//        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,new MPJLambdaWrapper<ApplyDetail>().selectAll(ApplyDetail.class)
//                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
//                .eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus,
//                        Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
//                .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
//                .apply(" ( t.START_TIME >= now() and t.END_TIME <= now() ) ")
//        );
//        if(CollectionUtils.isNotEmpty(applyDetailList)){
//            insuranceDataVO.setInsuranceUserTotal(applyDetailList.size());
//            insuranceDataVO.setInsuranceUserAddTotal(
//                    applyDetailList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM")
//                            .equals(monthData)).collect(Collectors.toList()).size());
//
//            insuranceDataVO.setTotalFee(applyDetailList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
//            insuranceDataVO.setTotalAddFee(applyDetailList.stream()
//                    .filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM")
//                    .equals(monthData)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
//        }
//
//        return insuranceDataVO;
//    }