From bd2d3096021fc03aecea16fccd2463ea424066a4 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 24 一月 2024 18:12:48 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 109 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 77 insertions(+), 32 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 3c38a49..4be1bc8 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
@@ -488,40 +488,43 @@
if(!CollectionUtils.isNotEmpty(duWorktypeList)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏁版嵁寮傚父锛氫繚闄╂柟妗堜笅鏈煡璇㈠埌宸ョ淇℃伅");
}
- for (int i = 0; i < applyDetailList.size(); i++) {
- ApplyDetail applyDetail = applyDetailList.get(i);
- if(Objects.isNull(applyDetail)
- ||Objects.isNull(applyDetail.getMemberId())
- ||Objects.isNull(applyDetail.getDuId())
- ||Objects.isNull(applyDetail.getWorktypeId())
- ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け");
+ if(CollectionUtils.isNotEmpty(applyDetailList)){
+ for (int i = 0; i < applyDetailList.size(); i++) {
+ ApplyDetail applyDetail = applyDetailList.get(i);
+ if(Objects.isNull(applyDetail)
+ ||Objects.isNull(applyDetail.getMemberId())
+ ||Objects.isNull(applyDetail.getDuId())
+ ||Objects.isNull(applyDetail.getWorktypeId())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け");
+ }
+ applyDetail.setCreateDate(new Date());
+ applyDetail.setCreator(loginUserInfo.getId());
+ applyDetail.setIsdeleted(Constants.ZERO);
+ applyDetail.setSortnum(i);
+ applyDetail.setApplyId(insuranceApply.getId());
+ if(Objects.isNull(applyDetail.getMemberId())){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
+ }
+ Member member = memberMapper.selectById(applyDetail.getMemberId());
+ if(Objects.isNull(member)){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
+ }
+ applyDetail.setIdcardNo(member.getIdcardNo());
+ applyDetail.setSex(member.getSex());
+ applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime()));
+ //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
+ if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+ }
+ if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
+ .collect(Collectors.toList()).size()<=Constants.ZERO){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
+ }
}
- applyDetail.setCreateDate(new Date());
- applyDetail.setCreator(loginUserInfo.getId());
- applyDetail.setIsdeleted(Constants.ZERO);
- applyDetail.setSortnum(i);
- applyDetail.setApplyId(insuranceApply.getId());
- if(Objects.isNull(applyDetail.getMemberId())){
- throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
- }
- Member member = memberMapper.selectById(applyDetail.getMemberId());
- if(Objects.isNull(member)){
- throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
- }
- applyDetail.setIdcardNo(member.getIdcardNo());
- applyDetail.setSex(member.getSex());
- applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime()));
- //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
- if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
- throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
- }
- if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
- .collect(Collectors.toList()).size()<=Constants.ZERO){
- throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
- }
- applyDetailMapper.insert(applyDetail);
+ applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList);
}
+
//瀛樺偍鏃ュ織鏁版嵁
this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
return insuranceApply.getId();
@@ -910,6 +913,48 @@
}
+ /**
+ * 鏇存柊淇濆崟瀹為檯閲戦
+ */
+ @Override
+ @Transactional(rollbackFor = {Exception.class})
+ public void updateApplyCurrentFee(){
+ List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>().lambda()
+ .eq(InsuranceApply::getIsdeleted,Constants.ZERO)
+ .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ .ge(InsuranceApply::getStartTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 00:00:00")
+ .le(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 23:59:59")
+ );
+
+ if(CollectionUtils.isNotEmpty(insuranceApplyList)){
+ for (InsuranceApply insuranceApply:insuranceApplyList) {
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ continue;
+ }
+ BigDecimal sumAmount = BigDecimal.ZERO;
+ List<ApplyDetail> applyDetailList = applyDetailMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId()));
+ if(CollectionUtils.isNotEmpty(applyDetailList)){
+ for (ApplyDetail applyDetail: applyDetailList) {
+ applyDetail.setCurrentFee(Constants.countDetailFee(solutions,new Date(),applyDetail.getStartTime()));
+ applyDetailMapper.updateById(applyDetail);
+ sumAmount = sumAmount.add(applyDetail.getCurrentFee());
+ }
+ }
+ insuranceApply.setCurrentFee(sumAmount);
+ insuranceApplyMapper.updateById(insuranceApply);
+ }
+ }
+
+
+
+
+
+
+ }
+
+
+
}
--
Gitblit v1.9.3