From 6bdcc02f0a420fe6cb4a4f05d7efae9fadc64207 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 05 二月 2024 10:03:12 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 98 +++++++++++++++++++++++--------------------------
1 files changed, 46 insertions(+), 52 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 1eaf8e0..0a77850 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -194,6 +194,9 @@
dealDetailsDUdata(update);
}
+// if(1==1){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY);
+// }
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
String info = "";
@@ -361,7 +364,6 @@
.leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
.leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
.leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
- .leftJoin(Solutions.class, Solutions::getId, ApplyChange::getSolutionsId)
.leftJoin(Worktype.class, Worktype::getId, ApplyChagneDetail::getWorktypeId)
.leftJoin(DispatchUnit.class, DispatchUnit::getId, ApplyChagneDetail::getDuId)
.eq(ApplyChagneDetail::getApplyChangeId, update.getId())
@@ -380,17 +382,10 @@
//鍔犱繚涓氬姟 浣跨敤鐨勫姞淇濋噾棰�
ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_add = new ApplyChangeCyclePriceDTO();
applyChangeCyclePriceDTO_add.setApplyId(update.getApplyId());
- applyChangeCyclePriceDTO_add.setValidTime(DateUtil.getMontageDate(update.getStartTime(), 1));
+ applyChangeCyclePriceDTO_add.setValidTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
//鍔犱繚 娣诲姞鐨勯噾棰�
CountCyclePriceVO countCyclePriceVO_add = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_add);
-
- //鍑忎繚涓氬姟 浣跨敤鐨勫噺淇濋噾棰�
- ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_reduce = new ApplyChangeCyclePriceDTO();
- applyChangeCyclePriceDTO_reduce.setApplyId(update.getApplyId());
- applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(update.getStartTime(), 3));
- //鍑忎繚 闇�瑕佸噺灏戠殑閲戦
- CountCyclePriceVO countCyclePriceVO_reduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
for (ApplyChagneDetail detail : detailList) {
@@ -409,26 +404,24 @@
add.setDuId(detail.getDuId());
add.setStartTime(update.getApplyStartTime());
add.setEndTime(detail.getEndTime());
- add.setFee(new BigDecimal(0));
-// add.setFee(Constants.countDetailFee(detail.getSolutionTimeUnit(),detail.getSolutionPrice(), add.getStartTime(),add.getEndTime()));
- if (DateUtil.daysBetweenDates(add.getStartTime(), new Date()) >= 0) {
- add.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
- add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
+ add.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
+ add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
+ add.setFee(countCyclePriceVO_add.getCyclePrice());
- add.setFee(countCyclePriceVO_add.getCyclePrice());
- if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(add.getStartTime(), 2), new Date()) >= 0) {
- Integer days = DateUtil.daysBetweenDates(new Date(), DateUtil.getMontageDate(add.getStartTime(), 2)) + 1;
- //濡傛灉宸蹭骇鐢熻垂鐢紝璁$畻宸蹭骇鐢熻垂鐢�
- add.setCurrentFee(this.getApplyPrice(update.getApplyId(), days));
- }
-// addList.add(add);
- applyDetailJoinMapper.insert(add);
- totalFee.add(add.getFee());
- currentFee.add(add.getCurrentFee());
+ if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(detail.getStartTime(), 2), new Date()) >= 0) {
+ Integer days = DateUtil.daysBetweenDates(DateUtil.getMontageDate(new Date(), 2), detail.getStartTime()) + 1;
+ //濡傛灉宸蹭骇鐢熻垂鐢紝璁$畻宸蹭骇鐢熻垂鐢�
+ add.setCurrentFee(this.getApplyPrice(update.getApplyId(), days));
+ }else{
+ add.setCurrentFee(BigDecimal.ZERO);
+ }
+ applyDetailJoinMapper.insert(add);
+ totalFee = totalFee.add(add.getFee());
+ currentFee = currentFee.add(add.getCurrentFee());
- MemberInsurance memberInsurance = new MemberInsurance(detail, update, update.getEditor(), add.getId());
- memberInsuranceList.add(memberInsurance);
- } else {
+ MemberInsurance memberInsurance = new MemberInsurance(detail, update, update.getEditor(), add.getId());
+ memberInsuranceList.add(memberInsurance);
+ } else {
//鍑忎繚鎿嶄綔
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
@@ -439,21 +432,20 @@
if (oldModel == null || oldModel.getStartTime() == null || oldModel.getStartTime().getTime() > update.getApplyStartTime().getTime()) {
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鐢ㄦ埛銆�" + detail.getMemberName() + "銆戝師淇濆崟淇℃伅鏈夎锛屽綋鍓嶇敵璇蜂笉鏀寔鍑忎繚澶勭悊锛�");
}
- //閫�淇濋渶瑕侀��鍥炵殑璐圭敤
+ //鍑忎繚涓氬姟 浣跨敤鐨勫噺淇濋噾棰�
+ ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_reduce = new ApplyChangeCyclePriceDTO();
+ applyChangeCyclePriceDTO_reduce.setApplyId(update.getApplyId());
+ applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(update.getApplyStartTime(), 2));
+ //鍑忎繚 闇�瑕佸噺灏戠殑閲戦 鍗� 閫�淇濋渶瑕侀��鍥炵殑璐圭敤
+ CountCyclePriceVO countCyclePriceVO_reduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
BigDecimal updateFee = countCyclePriceVO_reduce.getCyclePrice().multiply(new BigDecimal(-1));
- BigDecimal updateCurrentFee = oldModel.getFee().subtract(updateFee);
-
-// BigDecimal updateCurrentFee = new BigDecimal(0);
-// if(DateUtil.daysBetweenDates(update.getApplyStartTime(),new Date() )>0){
-// //濡傛灉鐢熸晥鏃堕棿 鏄粖澶╀箣鍓嶏紝閫�鍥炲凡浜х敓璐圭敤锛岃绠楀凡浜х敓璐圭敤(鎬昏垂鐢�-宸蹭骇鐢熻垂鐢�)
-// updateCurrentFee = updateFee.subtract(oldModel.getCurrentFee());
-// }
-
-// BigDecimal updateFee = (Constants.countDetailFee(detail.getSolutionTimeUnit(), detail.getSolutionPrice(), oldModel.getStartTime(), update.getApplyStartTime()));
-// BigDecimal updateCurrentFee = new BigDecimal(0);
- if (DateUtil.daysBetweenDates(update.getApplyStartTime(), new Date()) > 0) {
- //濡傛灉鐢熸晥鏃堕棿 鏄粖澶╀箣鍓嶏紝閫�鍥炲凡浜х敓璐圭敤锛岃绠楀凡浜х敓璐圭敤(鎬昏垂鐢�-宸蹭骇鐢熻垂鐢�)
- updateCurrentFee = updateFee.subtract(Constants.formatBigdecimal(oldModel.getCurrentFee()));
+ //褰撳鎵规椂闂� 澶т簬 鐢宠鐨勬椂闂存椂 璁$畻瀹為檯鍑忓皯閲戦 鍥犱负宸叉墸閲戦浼氬ぇ浜� 搴旀墸閲戦
+ BigDecimal updateCurrentFee = BigDecimal.ZERO;
+ if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(new Date(), 2),update.getApplyStartTime()) > 0) {
+ applyChangeCyclePriceDTO_reduce.setValidTime(DateUtil.getMontageDate(new Date(), 2));
+ //鑾峰彇 澶т簬瀹℃壒鏃ユ湡瀵艰嚧 澶氬噺鐨勯噾棰�
+ CountCyclePriceVO timeoutCountCyclePriceVOReduce = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO_reduce);
+ updateCurrentFee = timeoutCountCyclePriceVOReduce.getCyclePrice().subtract(countCyclePriceVO_reduce.getCyclePrice());
}
applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
.setSql(" fee = ifnull(fee,0)+" + updateFee)
@@ -461,10 +453,10 @@
.set(ApplyDetail::getEndTime, update.getApplyStartTime())
.set(ApplyDetail::getEditor, update.getEditor())
.set(ApplyDetail::getEditDate, update.getEditDate())
- .eq(ApplyDetail::getId, oldModel.getApplyId())
+ .eq(ApplyDetail::getId, oldModel.getId())
);
- totalFee.add(updateFee);
- currentFee.add(updateCurrentFee);
+ totalFee = totalFee.add(updateFee);
+ currentFee = currentFee.add(updateCurrentFee);
//淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda()
@@ -472,12 +464,9 @@
.set(MemberInsurance::getEndTime, update.getApplyStartTime())
.eq(MemberInsurance::getRelationId, oldModel.getId())
);
-
- }
}
if (memberInsuranceList != null && memberInsuranceList.size() > 0) {
-// applyDetailJoinMapper.insertBatchSomeColumn(addList);
memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
}
if (totalFee.compareTo(new BigDecimal(0)) != 0) {
@@ -636,11 +625,15 @@
applyChangeFee.setFee(fee);
applyChangeMapper.updateById(applyChangeFee);
+// if(1==1){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY);
+// }
+
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT;
String info =applyLogType.getInfo();
-// info = info.replace("${param}", update.getCheckInfo());
+ info = info.replace("${param}", "");
ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
applyLogMapper.insert(log);
@@ -721,7 +714,7 @@
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_UPLOAD_AGAIN;
String info =applyLogType.getInfo();
-// info = info.replace("${param}", update.getCheckInfo());
+ info = info.replace("${param}", "");
ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
applyLogMapper.insert(log);
@@ -782,7 +775,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽噺淇�");
}
//鍑忎繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 鍓嶄竴澶� 璁$畻
- applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3));
+ applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),2));
CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee);
@@ -822,7 +815,8 @@
* @param delDetailList
* @param loginUserInfo
*/
- public void delChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> delDetailList,InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee){
+ public void delChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> delDetailList,InsuranceApply insuranceApply,Solutions solutions,
+ LoginUserInfo loginUserInfo,BigDecimal detailFee){
for (ApplyChagneDetail applyChagneDetail : delDetailList) {
if (Objects.isNull(applyChagneDetail.getMemberId())) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
@@ -859,7 +853,7 @@
applyChagneDetail.setApplyChangeId(applyChange.getId());
applyChagneDetail.setType(Constants.ONE);
- applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1));
+ applyChagneDetail.setStartTime(applyDetail.getStartTime());
applyChagneDetail.setEndTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),3));
applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1)));
--
Gitblit v1.9.3