From e842ed74b3167075e4f8f0cf76b38ddc53a8fb54 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 12 九月 2025 22:18:48 +0800
Subject: [PATCH] 日志修改
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 49 insertions(+), 8 deletions(-)
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
index cbc1d52..04b4c89 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundtaxServiceImpl.java
@@ -9,6 +9,9 @@
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.ServiceFundtax;
import com.ruoyi.project.domain.vo.FundTaxVO;
+import com.ruoyi.project.domain.vo.TaxMoneyByItemEO;
+import com.ruoyi.project.domain.vo.TaxMoneySumEO;
+import com.ruoyi.project.mapper.ServiceFundMapper;
import com.ruoyi.project.mapper.ServiceFunddetailMapper;
import com.ruoyi.project.mapper.ServiceFundtaxMapper;
import com.ruoyi.project.service.IServiceFundService;
@@ -20,8 +23,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Comparator;
-import java.util.List;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
+import java.util.*;
/**
* 涓撳璐圭敤绠楃◣鐢宠涓籗ervice涓氬姟灞傚鐞�
@@ -41,6 +46,9 @@
private IServiceFundService serviceFundService;
@Autowired
private ServiceFundtaxMapper serviceFundtaxMapper;
+
+ @Autowired
+ private ServiceFundMapper serviceFundMapper;
/**
@@ -159,34 +167,67 @@
return serviceFundtaxMapper.getMaxFundTaxId();
}
+ /**
+ * 鎵归噺绠楃◣涓诲叆鍙�
+ * 1. 鏍¢獙鍙傛暟
+ * 2. 鏍¢獙鎵规鍚堟硶鎬э紙濡傛湁蹇呰锛�
+ * 3. 鏌ヨ鏈壒娆℃墍鏈塖erviceFund锛堟寜id鍗囧簭锛�
+ * 4. 棰勬煡璇㈡湰鏈堟墍鏈夎韩浠借瘉鍙风殑绱閲戦锛岀紦瀛樺埌Map锛屾彁鍗囧悗缁畻绋庢晥鐜�
+ * 5. 閬嶅巻姣忎釜ServiceFund锛屾壒閲忕畻绋�
+ *
+ * @param fundTaxVO 鎵规绠楃◣鍙傛暟
+ * @return 鏄惁绠楃◣鎴愬姛
+ */
@Override
- @Transactional(rollbackFor = Exception.class)
public Boolean batchFundTax(FundTaxVO fundTaxVO) {
log.info("鎵归噺绠楃◣鐨刦undTaxVO鍏ュ弬涓猴細{}", fundTaxVO);
+ // 1. 鏍¢獙鍙傛暟
if (fundTaxVO.getFundTaxId() == null) {
throw new BaseException("鍒嗘壒绠楃◣鍑洪棶棰樹簡,璇锋鏌ュ悗鍐嶈繘琛岃绠�");
}
+ // 2. 鏍¢獙鎵规鍚堟硶鎬э紙浠呴檺淇敼鎿嶄綔锛�
if (fundTaxVO.getAddOrupdate() == 1) {
Integer maxFundTaxId = serviceFundtaxMapper.getMaxFundTaxId();
log.info("鎵归噺绠楃◣鐨刴axFundTaxId涓猴細{}", maxFundTaxId);
- if (fundTaxVO.getFundTaxId() != maxFundTaxId.longValue()) {
+ if (!fundTaxVO.getFundTaxId().equals(Long.valueOf(maxFundTaxId))) {
throw new BaseException("璇ユ壒鏁版嵁涓嶈兘绠楃◣");
}
}
+ // 3. 鏌ヨ鏈壒娆℃墍鏈塖erviceFund锛堟寜id鍗囧簭锛�
ServiceFund serviceFund = new ServiceFund();
serviceFund.setFundTaxId(fundTaxVO.getFundTaxId());
serviceFund.setDel_flag(0);
List<ServiceFund> serviceFunds = serviceFundService.selectServiceFundList(serviceFund);
- if (CollectionUtils.isEmpty(serviceFunds)) {
- //鏍规嵁id鎺掑簭锛堝崌搴忥級
- serviceFunds.sort(Comparator.comparing(ServiceFund::getId));
+ for (ServiceFund serviceFund1 : serviceFunds) {
+ serviceFundMapper.updateFundIsTexById(serviceFund1.getId(), 0L);
}
+
+ // 鎸塱d鍗囧簭鎺掑簭锛屼繚璇佸鐞嗛『搴忎竴鑷�
+ serviceFunds.sort(Comparator.comparing(ServiceFund::getId));
+ if (CollectionUtils.isEmpty(serviceFunds)) {
+ log.warn("鏈煡璇㈠埌鐩稿叧ServiceFund锛宖undTaxId={}", fundTaxVO.getFundTaxId());
+ return false;
+ }
+
+ // 4. 棰勬煡璇㈡湰鏈堟墍鏈夎韩浠借瘉鍙风殑绱閲戦锛岀紦瀛樺埌Map锛屾彁鍗囧悗缁畻绋庢晥鐜�
+ TaxMoneyByItemEO taxMoneyVO = new TaxMoneyByItemEO();
+ Date firstDay = Date.from(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant());
+ taxMoneyVO.setFirstDay(firstDay);
+ taxMoneyVO.setTaxTime(new Date());
+ Map<String, TaxMoneySumEO> tempTaxSumMap = new HashMap<>();
+ List<TaxMoneySumEO> taxSum = serviceFunddetailMapper.getTaxSum(taxMoneyVO);
+ for (TaxMoneySumEO taxMoneySumEO : taxSum) {
+ tempTaxSumMap.put(taxMoneySumEO.getIDCardNo(), taxMoneySumEO);
+ }
+
+ // 5. 閬嶅巻姣忎釜ServiceFund锛屾壒閲忕畻绋�
for (ServiceFund serviceFund1 : serviceFunds) {
ServiceFunddetail serviceFunddetail = new ServiceFunddetail();
serviceFunddetail.setFundid(serviceFund1.getId());
List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectServiceFunddetailList(serviceFunddetail);
- serviceFunddetailService.calculateTax(serviceFunddetails);
+ // 浼犲叆绱閲戦缂撳瓨锛屾彁鍗囩畻绋庢晥鐜�
+ serviceFunddetailService.calculateTax(serviceFunddetails, tempTaxSumMap);
}
return true;
}
--
Gitblit v1.9.3