From 142df5ee1c533f4b068e37b6ba524297a8f8617f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 09 四月 2024 14:04:16 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/dao/system/vo/BigDecimalVO.java | 16 ++++++++
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 5 +-
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java | 67 ++++++++++++++++++---------------
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 13 ++++--
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java | 14 ++++---
5 files changed, 72 insertions(+), 43 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/dao/system/vo/BigDecimalVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/BigDecimalVO.java
new file mode 100644
index 0000000..598b96a
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/vo/BigDecimalVO.java
@@ -0,0 +1,16 @@
+package com.doumee.dao.system.vo;
+
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BigDecimalVO {
+
+ private BigDecimal totalFee;
+
+ private BigDecimal currentFee;
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 1b1b51e..3e7672d 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -10,10 +10,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.*;
-import com.doumee.dao.business.join.DispatchUnitJoinMapper;
-import com.doumee.dao.business.join.DuLogJoinMapper;
-import com.doumee.dao.business.join.DuSolutionJoinMapper;
-import com.doumee.dao.business.join.DuWorkTypeJoinMapper;
+import com.doumee.dao.business.join.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.DispatchUnitService;
@@ -49,6 +46,9 @@
@Autowired
private DuSolutionMapper duSolutionMapper;
+
+ @Autowired
+ private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper;
@Autowired
private DuWorktypeMapper duWorktypeMapper;
@@ -507,6 +507,11 @@
if(Objects.isNull(saveDuWorkTypeDTO.getWorkTypeId())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶄俊鎭紓甯�");
}
+ //楠岃瘉鏂规涓庡伐绉嶇殑鍏崇郴
+ if(solutionWorktypeJoinMapper.selectCount(new QueryWrapper<SolutionWorktype>().lambda().eq(SolutionWorktype::getSolutionId,saveDuSolutionDTO.getSolutionId())
+ .eq(SolutionWorktype::getWorktypeId,saveDuWorkTypeDTO.getWorkTypeId()))<=0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶄俊鎭棤缁戝畾鍏崇郴");
+ };
if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>()
.lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())
.eq(DuWorktype::getIsdeleted,Constants.ZERO)
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 bd27772..690ced5 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
@@ -1534,7 +1534,8 @@
}
if(solutions.getValidType().equals(Constants.ZERO)){
if(DateUtil.getMontageDate(
- DateUtil.addDaysToDate(new Date(),solutions.getValidType()),0).getTime()>insuranceApply.getApplyStartTime().getTime()){
+ DateUtil.addDaysToDate(new Date(),solutions.getValidTypeNum()),1).getTime()
+ >insuranceApply.getApplyStartTime().getTime()){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"淇濆崟鐢熸晥璧锋湡閿欒");
}
}else{
@@ -1919,7 +1920,7 @@
queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays ");
queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum");
if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){
- queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status = 1 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney");
+ queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney");
queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status = 1 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
}
queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
index 36414c2..6b9923c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -477,15 +477,17 @@
//鏌ヨ姣忎釜淇濆崟涓嬪彲浠ユ姇淇濈殑閲戦
InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>()
.selectAll(InsuranceApply.class)
+// .select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status = 1 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney")
.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney ")
.eq(InsuranceApply::getId,taxDetial.getInsuranceApplyId())
);
- if(Objects.isNull(insuranceApply)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+taxDetial.getApplyCode()+"銆戞湭鏌ヨ鍒颁繚鍗曚俊鎭�");
- }
- if(insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney()).compareTo(taxDetial.getFee())!=Constants.ZERO){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+taxDetial.getApplyCode()+"銆戝彲鎶ラ攢閲戦閿欒銆�"+insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney())+"銆�");
- }
+// if(Objects.isNull(insuranceApply)){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+taxDetial.getApplyCode()+"銆戞湭鏌ヨ鍒颁繚鍗曚俊鎭�");
+// }
+// if(insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney()).compareTo(taxDetial.getFee())!=Constants.ZERO){
+// //throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+taxDetial.getApplyCode()+"銆戝彲鎶ラ攢閲戦閿欒銆�"+insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney())+"銆�");
+// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+taxDetial.getApplyCode()+"銆戝彲鎶ラ攢閲戦閿欒");
+// }
taxDetial.setCreator(user.getId());
taxDetial.setCreateDate(new Date());
taxDetial.setIsdeleted(Constants.ZERO);
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 1d2852d..3cc038d 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
@@ -18,6 +18,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.BigDecimalVO;
import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.UnionChangeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -57,6 +58,9 @@
@Autowired
private ApplyChangeJoinMapper applyChangeJoinMapper;
+
+ @Autowired
+ private UnionApplyMapper unionApplyMapper;
@Autowired
private ApplyChagneDetailJoinMapper applyChagneDetailJoinMapper;
@@ -350,6 +354,13 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+
+// UnionApply unionApply = unionApplyMapper.selectById(saveUnionChangeDTO.getUnionApplyId());
+// if(Objects.isNull(unionApply)){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鍚堝苟淇濆崟鏁版嵁");
+// }
+
+
List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,
new MPJLambdaWrapper<ApplyChange>()
.selectAll(ApplyChange.class)
@@ -703,9 +714,6 @@
,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange));
applyLogMapper.insert(log);
- if(true){
- throw new BusinessException(ResponseStatus.BAD_REQUEST);
- }
}
@@ -713,37 +721,39 @@
public void dealApplyChangeDetail(ApplyChange applyChange,List<ApplyChagneDetail> applyChagneDetailList){
- BigDecimal totalFee = BigDecimal.ZERO;
- BigDecimal currentFee = BigDecimal.ZERO;
+ BigDecimalVO bigDecimalVO = new BigDecimalVO();
+ bigDecimalVO.setTotalFee(BigDecimal.ZERO);
+ bigDecimalVO.setCurrentFee(BigDecimal.ZERO);
for (ApplyChagneDetail detail:applyChagneDetailList) {
Member member = memberMapper.selectById(detail.getMemberId());
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁");
}
if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) {
- this.addChangeDetailData(applyChange,detail,detail.getPrice(),currentFee,totalFee);
+ this.addChangeDetailData(applyChange,detail,bigDecimalVO);
}else if(Constants.equalsInteger(detail.getType(),Constants.ONE)){
- this.reduceChangeDetailData(applyChange,detail,currentFee,totalFee);
+ this.reduceChangeDetailData(applyChange,detail,bigDecimalVO);
}else{
this.otherChangeDetailData(applyChange,detail);
}
}
- if (totalFee.compareTo(new BigDecimal(0)) != 0) {
+ if (bigDecimalVO.getTotalFee().compareTo(new BigDecimal(0)) != 0) {
//濡傛灉淇濆崟閲戦鍙戠敓缂栫爜锛屾洿鏂版�讳繚鍗曢噾棰�
insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda()
- .setSql(" fee = ifnull(fee,0)+" + totalFee)
- .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee)
+ .setSql(" fee = ifnull(fee,0)+" + bigDecimalVO.getTotalFee())
+ .setSql(" current_fee = ifnull(current_fee,0)+" + bigDecimalVO.getCurrentFee())
.set(InsuranceApply::getEditor, applyChange.getEditor())
.set(InsuranceApply::getEditDate, applyChange.getEditDate())
.eq(InsuranceApply::getId, applyChange.getApplyId())
);
- applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda()
- .set(ApplyChange::getFee,totalFee)
- .set(ApplyChange::getEditor, applyChange.getEditor())
- .set(ApplyChange::getEditDate, applyChange.getEditDate())
- .eq(ApplyChange::getId, applyChange.getApplyId())
- );
+// applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda()
+// .set(ApplyChange::getFee,bigDecimalVO.getTotalFee())
+// .set(ApplyChange::getEditor, applyChange.getEditor())
+// .set(ApplyChange::getEditDate, applyChange.getEditDate())
+// .eq(ApplyChange::getId, applyChange.getApplyId())
+// );
+ applyChange.setFee(bigDecimalVO.getTotalFee());
}
}
@@ -753,12 +763,9 @@
* 鍔犱繚鏁版嵁澶勭悊
* @param applyChange
* @param detail
- * @param price
- * @param currentFee
- * @param totalFee
*/
- public void addChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail
- ,BigDecimal price,BigDecimal currentFee,BigDecimal totalFee){
+ public void addChangeDetailData(ApplyChange applyChange, ApplyChagneDetail detail
+ , BigDecimalVO bigDecimalVO){
//鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
.lambda()
@@ -777,7 +784,7 @@
if(new Date().compareTo(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 2))>=0){
Integer days = DateUtil.calculateBetween(applyChange.getApplyStartTime(),DateUtil.getMontageDate(new Date(), 2),0);
//濡傛灉宸插凡浜х敓璐圭敤锛岃绠楀凡宸蹭骇鐢熻垂鐢�
- add.setCurrentFee(new BigDecimal(days).multiply(price));
+ add.setCurrentFee(new BigDecimal(days).multiply(detail.getPrice()));
}else{
add.setCurrentFee(BigDecimal.ZERO);
}
@@ -797,7 +804,7 @@
add.setDuId(detail.getDuId());
add.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1));
add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
- add.setFee(new BigDecimal(countDays).multiply(price));
+ add.setFee(new BigDecimal(countDays).multiply(detail.getPrice()));
applyDetailJoinMapper.insert(add);
detail.setFee(add.getFee());
@@ -806,9 +813,8 @@
.set(ApplyChagneDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1))
.eq(ApplyChagneDetail::getId,detail.getId())
);
-
- totalFee = totalFee.add(add.getFee());
- currentFee = currentFee.add(add.getCurrentFee());
+ bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(add.getFee()));
+ bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(add.getCurrentFee()));
MemberInsurance memberInsurance = new MemberInsurance(detail, applyChange, applyChange.getEditor(), add.getId(),applyChange.getSolutionsId());
memberInsurance.setStartTime(add.getStartTime());
@@ -821,10 +827,8 @@
* 鍑忎繚鏁版嵁澶勭悊
* @param applyChange
* @param detail
- * @param currentFee
- * @param totalFee
*/
- public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimal currentFee,BigDecimal totalFee){
+ public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimalVO bigDecimalVO){
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
.eq(ApplyDetail::getApplyId, applyChange.getApplyId())
@@ -859,8 +863,9 @@
.set(ApplyDetail::getEditDate, applyChange.getEditDate())
.eq(ApplyDetail::getId, oldModel.getId())
);
- totalFee = totalFee.add(reduceFee);
- currentFee = currentFee.add(pullFee);
+
+ bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(reduceFee));
+ bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(pullFee));
//淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda()
--
Gitblit v1.9.3