From 2d528d024b179b6b06d1d2702e72f6caa5f67149 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 十月 2024 09:45:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java | 78 +++++++++++++++++++++++---------------
1 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index a44af58..77ae055 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -156,7 +156,8 @@
.selectAs(UnionApply::getCode,UnionChange::getApplyCode)
.selectAs(Solutions::getName,UnionChange::getSolutionsName)
.selectAs(UnionApply::getStartTime,UnionChange::getStartTime)
- .selectAs(UnionApply::getEndTime,UnionChange::getEndTime)
+ .selectAs(UnionApply::getEndTime,UnionChange::getEndTime)
+ .selectAs(Solutions::getDelOnlyReplace,UnionChange::getDelOnlyReplace)
.selectAs(Company::getName,UnionChange::getShopName)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 0 )",UnionChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 1 )",UnionChange::getDelNum)
@@ -400,7 +401,7 @@
}
if(saveUnionChangeDTO.getDelValidDate().getTime()<unionApply.getStartTime().getTime()
|| saveUnionChangeDTO.getDelValidDate().getTime()> unionApply.getEndTime().getTime()){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍔犱繚鐢熸晥鏈熼敊璇�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍑忎繚鐢熸晥鏈熼敊璇�");
}
}else{
if(saveUnionChangeDTO.getApplyDate().getTime()<DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
@@ -409,7 +410,6 @@
}
saveUnionChangeDTO.setAddValidDate(saveUnionChangeDTO.getApplyDate());
}
-
List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,
new MPJLambdaWrapper<ApplyChange>()
@@ -420,12 +420,14 @@
.eq(ApplyChange::getStatus,Constants.ApplyChangeStatus.CHECHED_PASSED.getKey())
.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_DONE.getKey())
.eq(ApplyChange::getType,saveUnionChangeDTO.getBusinessType())
+// .le(InsuranceApply::getStartTime,DateUtil.getCurrDateTime())
.in(ApplyChange::getId,saveUnionChangeDTO.getApplyIds())
.isNull(ApplyChange::getUnionChangeId)
);
+
//鏌ヨ鏁版嵁鏄惁瀛樺湪鏈浜庡鎵归�氳繃鐨勬暟鎹�
if(applyChangeList.size()!=saveUnionChangeDTO.getApplyIds().size()){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鏁版嵁宸插鐞嗭紝璇峰埛鏂伴噸璇�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇锋鏌ユ墍鏈夌敵璇峰崟鐨勭姸鎬佸強鏈熸湜鐢熸晥鏃堕棿鏄惁婊¤冻褰撳墠娴佽浆鎿嶄綔锛岃杩斿洖鍒锋柊閲嶈瘯锛�");
}
UnionChange unionChange = new UnionChange();
@@ -453,6 +455,8 @@
applyChagneDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
.set(ApplyChagneDetail::getUnionChangeId,unionChange.getId())
.in(ApplyChagneDetail::getApplyChangeId,saveUnionChangeDTO.getApplyIds()));
+
+
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_UPLOAD;
ApplyLog log = new ApplyLog(unionChange,applyLogType.getName(), null
@@ -827,9 +831,6 @@
,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange));
applyLogMapper.insert(log);
- if(true){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED);
- }
}
@@ -889,7 +890,7 @@
public void addChangeDetailData(ApplyChange applyChange, ApplyChagneDetail detail,InsuranceApply insuranceApply,Solutions solutions
, BigDecimalVO bigDecimalVO,List<ApplyChagneDetail> reduceList,Integer i){
//鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
- InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getId(),
+ InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
detail.getIdcardNo(),detail.getMemberName(),DateUtil.getMontageDate(applyChange.getApplyStartTime(),1),DateUtil.getMontageDate(detail.getEndTime(),2),
applyDetailJoinMapper);
@@ -955,13 +956,14 @@
.set(Member::getStartTime,memberInsurance.getStartTime())
.set(Member::getEndTime,memberInsurance.getEndTime())
.set(Member::getDuId,memberInsurance.getDuId())
+ .set(Member::getEditDate,applyChange.getEditDate())
+ .set(Member::getEditor,applyChange.getEditor())
.set(Member::getWorktypeId,memberInsurance.getWorktypeId())
.eq(Member::getId, memberInsurance.getMemberId())
);
-
-// if(1==1){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED);
-// }
+// if(1==1){
+// throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+// }
}
/**
@@ -983,29 +985,40 @@
if(oldModel.getStartTime().getTime()>applyChange.getDelValidTime().getTime()||oldModel.getEndTime().getTime()<applyChange.getDelValidTime().getTime()){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鎵瑰噺鏃ユ湡鏈湪鐢ㄦ埛銆�" + detail.getMemberName() + "銆戠殑淇濆崟鏃ユ湡鍐咃紒");
}
+
BigDecimal fee = Objects.isNull(insuranceApply.getServerCost())?
solutions.getPrice():
solutions.getPrice().add(insuranceApply.getServerCost());
- Date reduceDate = oldModel.getStartTime().compareTo(applyChange.getDelValidTime())!=0?
- DateUtil.getMontageDate(applyChange.getDelValidTime(), 3):
- DateUtil.getMontageDate(applyChange.getDelValidTime(), 2);
- //鍑忎繚璁板綍鎿嶄綔鍚庣殑鎬昏垂鐢�
- BigDecimal reduceFee = Constants.reduceFee(
- solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
+ // 鍑忎繚鍚� 鎵瑰崟鏃ユ湡 榛樿涓� 鎵瑰崟鍑忎繚鏃ユ湡 00:00:00
+ Date reduceDate = applyChange.getDelValidTime();
+
+ // 鍑忎繚鍚� 鎬昏垂鐢� 榛樿涓哄噺淇濆悗涓� 0
+ BigDecimal reduceFee = BigDecimal.ZERO;
+
+ //濡傛灉鎵瑰崟鏃ユ湡 澶т簬 鍛樺伐淇濆崟鐨勫紑濮嬫棩鏈�
+ if(applyChange.getDelValidTime().getTime() > oldModel.getStartTime().getTime()){
+ reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
+ //鍑忎繚璁板綍鎿嶄綔鍚庣殑鎬昏垂鐢�
+ reduceFee = Constants.reduceFee(
+ solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
+ }
+
BigDecimal pullFee = BigDecimal.ZERO;
- if (DateUtil.getMontageDate(new Date(), 2).getTime()>oldModel.getStartTime().getTime()) {
- //// 2024骞�5鏈�8鏃�17:37:23 淇敼 璁$畻浜х敓璐圭敤
+ if (oldModel.getStartTime().getTime() < System.currentTimeMillis()) {
+ //璁$畻浜х敓璐圭敤
pullFee = Constants.produceFee(solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime());
if(pullFee.compareTo(reduceFee)>0){
pullFee = reduceFee;
}
}
+
UpdateWrapper<ApplyDetail> updateWrapper = new UpdateWrapper<ApplyDetail>();
updateWrapper.lambda()
.setSql(" fee = " + reduceFee)
.setSql(" current_fee = " + pullFee)
.set(ApplyDetail::getEndTime, reduceDate)
+ .set(applyChange.getDelValidTime().getTime() <= oldModel.getStartTime().getTime(),ApplyDetail::getChangeStatus,Constants.TWO)
.set(ApplyDetail::getEditor, applyChange.getEditor())
.set(ApplyDetail::getEditDate, applyChange.getEditDate())
.eq(ApplyDetail::getId, oldModel.getId());
@@ -1026,18 +1039,22 @@
}
bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(reduceFee).subtract(oldModel.getFee()).add(reduceMoney));
bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(pullFee).subtract(oldModel.getCurrentFee()));
-// //濡傛灉鍑忎繚鐨勬暟鎹� 宸茬粡缁撴潫 鍒欐鏁版嵁瑕佸幓鎺� 鍑忛櫎鐨勫疄闄呭樊鍊� reduceMoney
-// if(System.currentTimeMillis()>detail.getEndTime().getTime()){
-// bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(reduceMoney));
-// }
applyDetailJoinMapper.update(null, updateWrapper);
- //淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
- memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda()
- .setSql(" fee = " + reduceFee)
- .set(MemberInsurance::getEndTime,reduceDate)
- .eq(MemberInsurance::getRelationId, oldModel.getId())
- );
+
+ List<MemberInsurance> oldMemberInsurance = memberInsuranceJoinMapper.selectList(new QueryWrapper<MemberInsurance>().lambda().eq(MemberInsurance::getRelationId,oldModel.getId()));
+ for (MemberInsurance memberInsurance:oldMemberInsurance) {
+ //璁板綍鏁版嵁鏃╀簬鎵瑰崟鏃ユ湡
+ if(memberInsurance.getStartTime().getTime()>reduceDate.getTime()){
+ memberInsurance.setIsValid(Constants.ONE);
+ }else if(memberInsurance.getEndTime().getTime()>=reduceDate.getTime()
+ && memberInsurance.getStartTime().getTime()<=reduceDate.getTime()){
+ memberInsurance.setFee(reduceFee);
+ memberInsurance.setEndTime(reduceDate);
+ }
+ memberInsuranceJoinMapper.updateById(memberInsurance);
+ }
+
memberMapper.update(null,new UpdateWrapper<Member>()
.lambda()
@@ -1050,7 +1067,6 @@
//淇敼涓氬姟鏄庣粏琛屾暟鎹疄闄呮壒鍗曟棩鏈�
applyChagneDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
-// .setSql(" fee = ifnull(fee,0)+" + reduceFee)
.set(ApplyChagneDetail::getFee,reduceFee.subtract(oldModel.getFee()))
.set(ApplyChagneDetail::getEndTime,reduceDate)
.eq(ApplyChagneDetail::getId,detail.getId())
--
Gitblit v1.9.3