From 5056b731dcaebbc3a48a4a910413cc4dd6c9c19a Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期四, 11 四月 2024 15:36:12 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 36 insertions(+), 7 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 75cef66..26464b1 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
@@ -320,7 +320,7 @@
}
/**
- * 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
+ * 澶勭悊鎹㈠巶鏄庣粏鏁版嵁
* @param update
*/
private void dealDetailsDUdata(ApplyChange update,InsuranceApply insuranceApply) {
@@ -351,7 +351,6 @@
//瀹為檯鎵瑰崟鐢熸晥鏃ユ湡
Date applyStartTime = DateUtil.getMontageDate(update.getApplyStartTime(),1);
for(ApplyChagneDetail detail : detailList){
- //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
.lambda()
.eq(ApplyDetail::getApplyId,update.getApplyId())
@@ -883,7 +882,9 @@
if (Objects.isNull(insuranceApply)) {
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) {
+ if (!(Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ ||Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ )) {
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�");
}
if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO
@@ -1010,7 +1011,8 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽噺淇�");
}
//鍑忎繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 鍓嶄竴澶� 璁$畻
- applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),2));
+ applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3));
+
CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee,applyChangeCyclePriceDTO.getValidTime());
@@ -1020,6 +1022,13 @@
//鎹㈠巶涓氬姟
List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
if (CollectionUtils.isNotEmpty(changeDetailList)) {
+ //楠岃瘉鏄惁瀛樺湪閲嶅鏁版嵁
+ List<String> idcarNo = changeDetailList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList());
+ Set<String> set = new HashSet<>(idcarNo);
+ if(idcarNo.size() != set.size()){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝浜哄憳褰曞叆鏁版嵁瀛樺湪鐩稿悓鏁版嵁锛�");
+ }
+
this.changeDetail(applyChange,changeDetailList,duWorktypeList,duSolutionList,loginUserInfo);
}
return fee;
@@ -1097,6 +1106,7 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚繚闅滄棩鏈熻嚦锛氥��" + applyDetail.getEndTime() + "銆戞棤娉曢�氳繃鏈鐢宠");
}
+
applyChagneDetail.setPrice(applyDetail.getPrice());
applyChagneDetail.setCreateDate(new Date());
applyChagneDetail.setCreator(loginUserInfo.getId());
@@ -1114,7 +1124,10 @@
member.setEndTime(applyChagneDetail.getEndTime());
memberMapper.updateById(member);
- applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1)));
+ //鏌ヨ鍑忎繚鏃ユ湡
+ Integer delDays = DateUtil.daysBetweenDates(applyDetail.getEndTime(),endTime);
+
+ applyChagneDetail.setFee( new BigDecimal(delDays).multiply(applyDetail.getPrice()).multiply(new BigDecimal(-1)));
applyChagneDetailJoinMapper.insert(applyChagneDetail);
}
}
@@ -1483,7 +1496,7 @@
Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
.eq(!Objects.isNull(model.getUnionApplyId()),InsuranceApply::getUnionApplyId,model.getUnionApplyId())
-// .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
+ .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
.eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
.eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
.eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
@@ -2026,7 +2039,7 @@
CountCyclePriceVO returnCountCyclePriceVO = new CountCyclePriceVO();
//鍔犲噺淇濋噾棰�
// returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP));
- returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)));
+ returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)).setScale(2, RoundingMode.HALF_UP));
return returnCountCyclePriceVO;
}
@@ -2167,6 +2180,9 @@
}
if(applyChange.getId() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(Objects.isNull(applyChange)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class,
new MPJLambdaWrapper<ApplyChange>()
@@ -2206,6 +2222,19 @@
update.setStatus(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey());
}
applyChangeJoinMapper.updateById(update);
+
+
+ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_AUDIT;
+ String info = applyChange.getCheckInfo();
+ if(StringUtils.isNotBlank(applyChange.getCheckInfo())){
+ info = info.replace("${param}", applyChange.getCheckInfo());
+ }else{
+ info = info.replace("${param}", "");
+ }
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(), null, null);
+ applyLogMapper.insert(log);
+
+
Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
if(Constants.equalsInteger(applyChange.getType(),Constants.ONE)){
noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
--
Gitblit v1.9.3