From e6ff15690bf92e4c942f279d95cabe726d3cd56a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 10 六月 2025 15:26:35 +0800 Subject: [PATCH] 提交一把订单 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 82 insertions(+), 26 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index 71b3d50..43d2c6c 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -19,6 +19,7 @@ import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApplyPowerVO; import com.doumee.dao.business.vo.CountCyclePriceVO; +import com.doumee.dao.business.vo.dataBoard.InsuranceDataVO; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.InsuranceApplyService; @@ -64,7 +65,6 @@ private SmsEmailService smsEmailService; @Autowired private ApplyChangeJoinMapper applyChangeMapper; - @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired @@ -73,25 +73,20 @@ private CompanyMapper companyMapper; @Autowired private MemberInsuranceJoinMapper memberInsuranceJoinMapper; - @Autowired private ApplyDetailMapper applyDetailMapper; @Autowired private ApplyDetailJoinMapper applyDetailJoinMapper; - @Autowired private ApplyLogMapper applyLogMapper; @Autowired private SignService signService; @Autowired private MultifileMapper multifileMapper; - @Autowired private ApplyLogJoinMapper applyLogJoinMapper; - @Autowired private SolutionsMapper solutionsMapper; - @Autowired private MemberMapper memberMapper; @Autowired @@ -106,7 +101,6 @@ private DuWorkTypeJoinMapper duWorkTypeJoinMapper; @Autowired private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper; - @Autowired private NoticesMapper noticesMapper; @Autowired @@ -121,7 +115,8 @@ private SystemUserMapper systemUserMapper; @Autowired private CompanyDepartmentMapper companyDepartmentMapper; - + @Autowired + private InsuranceMapper insuranceMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -152,7 +147,6 @@ } update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey()); } - update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); @@ -160,7 +154,6 @@ update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); - //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 @@ -170,8 +163,6 @@ Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); - - Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN; String info =applyLogType.getInfo(); info = info.replace("${param}", update.getCheckInfo()); @@ -225,7 +216,6 @@ ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); @@ -320,16 +310,19 @@ if(CollectionUtils.isNotEmpty(applyDetailList)){ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); + List<String> idCodeList = new ArrayList<>(); for (ApplyDetail applyDetail:applyDetailList) { + idCodeList.add(applyDetail.getIdcardNo()); + } + List<ApplyDetail> allDetailList = this.getMemberSolutionList(solutions.getParentId(),idCodeList, update.getStartTime() + ,update.getEndTime(),insuranceApply.getId()); + for (ApplyDetail applyDetail:applyDetailList) { //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 - this.checkMemberSolution(solutions.getParentId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),update.getStartTime() - ,update.getEndTime(),insuranceApply.getId()); - + this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName()); MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); memberInsurance.setRelationType(Constants.ZERO); memberInsuranceList.add(memberInsurance); - memberMapper.update(null,new UpdateWrapper<Member>() .lambda() .set(Member::getStartTime,memberInsurance.getStartTime()) @@ -340,7 +333,7 @@ ); } - memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList); + memberInsuranceJoinMapper.insert(memberInsuranceList); } this.updateApplyCurrentFee(insuranceApply.getId(),null); @@ -2430,7 +2423,12 @@ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getCompanyId,insuranceApply.getCompanyId()) .eq(Member::getIsdeleted,Constants.ZERO)); - + List<String> idCodeList = new ArrayList<>(); + for (ApplyDetail applyDetail:applyDetailList) { + idCodeList.add(applyDetail.getIdcardNo()); + } + List<ApplyDetail> allDetailList = this.getMemberSolutionList(solutions.getParentId(),idCodeList, insuranceApply.getStartTime() + ,insuranceApply.getEndTime(),insuranceApply.getId()); List<Member> addMemberList = new ArrayList<>(); for (int i = 0; i < applyDetailList.size(); i++) { ApplyDetail applyDetail = applyDetailList.get(i); @@ -2459,10 +2457,11 @@ addMemberList.add(member); } //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 - this.checkMemberSolution(solutions.getParentId(),member.getIdcardNo(),member.getName(),insuranceApply.getStartTime(),insuranceApply.getEndTime(),insuranceApply.getId()); + this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName()); +// this.checkMemberSolutionOld(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++) { @@ -2549,19 +2548,29 @@ } Long end = System.currentTimeMillis(); logger.error("澶勭悊鍗曟暟鎹粨鏉熸椂闂�:=========================>"+end +";鑰楁椂锛�====銆�"+(end-start)); - applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList); + applyDetailJoinMapper.insert(applyDetailList); } } /** * 鏌ヨ 浼氬憳淇℃伅鍦ㄦ柟妗堜笅鏄惁瀛樺湪鍐茬獊鏁版嵁 - * @param startTime - * @param endTime */ + public void checkMemberSolution(String idCode,List<ApplyDetail> allDetailList,String memberName){ + List<ApplyDetail> applyDetailList = getMemberSolutionListByIdcode(idCode,allDetailList); + if(applyDetailList.size() >Constants.ZERO){ + String companyName = applyDetailList.get(Constants.ZERO).getCompanyName(); + if(StringUtils.isNotBlank(companyName)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�"); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�"); + } + + }; + } @Override - public void checkMemberSolution(Integer solutionParentId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId){ - List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>(); + public void checkMemberSolutionOld(Integer solutionParentId,String idCode, String memberName, Date startTime,Date endTime,Integer applyId){ + List<ApplyDetail> applyDetailList = new ArrayList<>(); try { applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() @@ -2599,6 +2608,51 @@ } }; + } + private List<ApplyDetail> getMemberSolutionListByIdcode(String idCode, List<ApplyDetail> allDetailList) { + if(allDetailList == null || allDetailList.size()==0){ + return new ArrayList<>(); + } + List<ApplyDetail> list = new ArrayList<>(); + for(ApplyDetail d : allDetailList){ + if(StringUtils.equals(d.getIdcardNo(),idCode)){ + list.add(d); + } + } + return list; + } + + public List<ApplyDetail> getMemberSolutionList(Integer solutionParentId,List<String> idCodeList, Date startTime,Date endTime,Integer applyId){ + 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) + .in(ApplyDetail::getIdcardNo,idCodeList) + .eq(ApplyDetail::getIsdeleted,Constants.ZERO) + .eq(Solutions::getParentId,solutionParentId) + .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId) + .notIn(InsuranceApply::getStatus + ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey() + ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey() + ,Constants.InsuranceApplyStatus.CLOSE.getKey() + ,Constants.InsuranceApplyStatus.WTB_RETURN.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){ + } + return applyDetailList; } public static void checkStaticMemberSolution(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime, @@ -3776,6 +3830,8 @@ return applyPowerVO; } + + } -- Gitblit v1.9.3