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 | 240 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 171 insertions(+), 69 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 fe98469..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
@@ -3,131 +3,233 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.ServiceFund;
+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;
+import com.ruoyi.project.service.IServiceFunddetailService;
import com.ruoyi.project.service.IServiceFundtaxService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
-import java.util.List;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
+import java.util.*;
/**
* 涓撳璐圭敤绠楃◣鐢宠涓籗ervice涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
* @date 2024-03-13
*/
+@Slf4j
@Service
-public class ServiceFundtaxServiceImpl extends ServiceImpl<ServiceFundtaxMapper, ServiceFundtax> implements IServiceFundtaxService
-{
+public class ServiceFundtaxServiceImpl extends ServiceImpl<ServiceFundtaxMapper, ServiceFundtax> implements IServiceFundtaxService {
+
+ @Autowired
+ private ServiceFunddetailMapper serviceFunddetailMapper;
+ @Autowired
+ private IServiceFunddetailService serviceFunddetailService;
+ @Autowired
+ private IServiceFundService serviceFundService;
+ @Autowired
+ private ServiceFundtaxMapper serviceFundtaxMapper;
+
+ @Autowired
+ private ServiceFundMapper serviceFundMapper;
/**
* 鏌ヨ涓撳璐圭敤绠楃◣鐢宠涓诲垪琛�
- *
+ *
* @param serviceFundtax 涓撳璐圭敤绠楃◣鐢宠涓�
* @return 涓撳璐圭敤绠楃◣鐢宠涓�
*/
@Override
public List<ServiceFundtax> queryList(ServiceFundtax serviceFundtax) {
LambdaQueryWrapper<ServiceFundtax> wrappers = Wrappers.lambdaQuery();
- if (StringUtils.isNotBlank(serviceFundtax.getApplyno())){
- wrappers.eq(ServiceFundtax::getApplyno ,serviceFundtax.getApplyno());
+ if (StringUtils.isNotBlank(serviceFundtax.getApplyno())) {
+ wrappers.eq(ServiceFundtax::getApplyno, serviceFundtax.getApplyno());
}
- if (serviceFundtax.getTaxedtime() != null){
- wrappers.eq(ServiceFundtax::getTaxedtime ,serviceFundtax.getTaxedtime());
+ if (serviceFundtax.getTaxedtime() != null) {
+ wrappers.eq(ServiceFundtax::getTaxedtime, serviceFundtax.getTaxedtime());
}
- if (StringUtils.isNotBlank(serviceFundtax.getUserno())){
- wrappers.eq(ServiceFundtax::getUserno ,serviceFundtax.getUserno());
+ if (StringUtils.isNotBlank(serviceFundtax.getUserno())) {
+ wrappers.eq(ServiceFundtax::getUserno, serviceFundtax.getUserno());
}
- if (StringUtils.isNotBlank(serviceFundtax.getUsername())){
- wrappers.like(ServiceFundtax::getUsername ,serviceFundtax.getUsername());
+ if (StringUtils.isNotBlank(serviceFundtax.getUsername())) {
+ wrappers.like(ServiceFundtax::getUsername, serviceFundtax.getUsername());
}
- if (StringUtils.isNotBlank(serviceFundtax.getDeptmentno())){
- wrappers.eq(ServiceFundtax::getDeptmentno ,serviceFundtax.getDeptmentno());
+ if (StringUtils.isNotBlank(serviceFundtax.getDeptmentno())) {
+ wrappers.eq(ServiceFundtax::getDeptmentno, serviceFundtax.getDeptmentno());
}
- if (StringUtils.isNotBlank(serviceFundtax.getDeptmentname())){
- wrappers.like(ServiceFundtax::getDeptmentname ,serviceFundtax.getDeptmentname());
+ if (StringUtils.isNotBlank(serviceFundtax.getDeptmentname())) {
+ wrappers.like(ServiceFundtax::getDeptmentname, serviceFundtax.getDeptmentname());
}
- if (StringUtils.isNotBlank(serviceFundtax.getManagerno())){
- wrappers.eq(ServiceFundtax::getManagerno ,serviceFundtax.getManagerno());
+ if (StringUtils.isNotBlank(serviceFundtax.getManagerno())) {
+ wrappers.eq(ServiceFundtax::getManagerno, serviceFundtax.getManagerno());
}
- if (StringUtils.isNotBlank(serviceFundtax.getManagername())){
- wrappers.like(ServiceFundtax::getManagername ,serviceFundtax.getManagername());
+ if (StringUtils.isNotBlank(serviceFundtax.getManagername())) {
+ wrappers.like(ServiceFundtax::getManagername, serviceFundtax.getManagername());
}
- if (serviceFundtax.getPretaxamount() != null){
- wrappers.eq(ServiceFundtax::getPretaxamount ,serviceFundtax.getPretaxamount());
+ if (serviceFundtax.getPretaxamount() != null) {
+ wrappers.eq(ServiceFundtax::getPretaxamount, serviceFundtax.getPretaxamount());
}
- if (serviceFundtax.getTaxedamount() != null){
- wrappers.eq(ServiceFundtax::getTaxedamount ,serviceFundtax.getTaxedamount());
+ if (serviceFundtax.getTaxedamount() != null) {
+ wrappers.eq(ServiceFundtax::getTaxedamount, serviceFundtax.getTaxedamount());
}
- if (serviceFundtax.getTaxamount() != null){
- wrappers.eq(ServiceFundtax::getTaxamount ,serviceFundtax.getTaxamount());
+ if (serviceFundtax.getTaxamount() != null) {
+ wrappers.eq(ServiceFundtax::getTaxamount, serviceFundtax.getTaxamount());
}
- if (serviceFundtax.getMedicalcost() != null){
- wrappers.eq(ServiceFundtax::getMedicalcost ,serviceFundtax.getMedicalcost());
+ if (serviceFundtax.getIstax() != null) {
+ wrappers.eq(ServiceFundtax::getIstax, serviceFundtax.getIstax());
}
- if (serviceFundtax.getBodymaintaincost() != null){
- wrappers.eq(ServiceFundtax::getBodymaintaincost ,serviceFundtax.getBodymaintaincost());
+ if (serviceFundtax.getMedicalcost() != null) {
+ wrappers.eq(ServiceFundtax::getMedicalcost, serviceFundtax.getMedicalcost());
}
- if (serviceFundtax.getOrgangaincost() != null){
- wrappers.eq(ServiceFundtax::getOrgangaincost ,serviceFundtax.getOrgangaincost());
+ if (serviceFundtax.getBodymaintaincost() != null) {
+ wrappers.eq(ServiceFundtax::getBodymaintaincost, serviceFundtax.getBodymaintaincost());
}
- if (serviceFundtax.getOrganmaintaincost() != null){
- wrappers.eq(ServiceFundtax::getOrganmaintaincost ,serviceFundtax.getOrganmaintaincost());
+ if (serviceFundtax.getOrgangaincost() != null) {
+ wrappers.eq(ServiceFundtax::getOrgangaincost, serviceFundtax.getOrgangaincost());
}
- if (StringUtils.isNotBlank(serviceFundtax.getRemark())){
- wrappers.eq(ServiceFundtax::getRemark ,serviceFundtax.getRemark());
+ if (serviceFundtax.getOrganmaintaincost() != null) {
+ wrappers.eq(ServiceFundtax::getOrganmaintaincost, serviceFundtax.getOrganmaintaincost());
}
- if (serviceFundtax.getRecordstatus() != null){
- wrappers.eq(ServiceFundtax::getRecordstatus ,serviceFundtax.getRecordstatus());
+ if (StringUtils.isNotBlank(serviceFundtax.getRemark())) {
+ wrappers.eq(ServiceFundtax::getRemark, serviceFundtax.getRemark());
}
- if (serviceFundtax.getCheckstatus() != null){
- wrappers.eq(ServiceFundtax::getCheckstatus ,serviceFundtax.getCheckstatus());
+ if (serviceFundtax.getRecordstatus() != null) {
+ wrappers.eq(ServiceFundtax::getRecordstatus, serviceFundtax.getRecordstatus());
}
- if (serviceFundtax.getFlowlevel() != null){
- wrappers.eq(ServiceFundtax::getFlowlevel ,serviceFundtax.getFlowlevel());
+ if (serviceFundtax.getCheckstatus() != null) {
+ wrappers.eq(ServiceFundtax::getCheckstatus, serviceFundtax.getCheckstatus());
}
- if (serviceFundtax.getBackflowlevel() != null){
- wrappers.eq(ServiceFundtax::getBackflowlevel ,serviceFundtax.getBackflowlevel());
+ if (serviceFundtax.getFlowlevel() != null) {
+ wrappers.eq(ServiceFundtax::getFlowlevel, serviceFundtax.getFlowlevel());
}
- if (StringUtils.isNotBlank(serviceFundtax.getIsdistribute())){
- wrappers.eq(ServiceFundtax::getIsdistribute ,serviceFundtax.getIsdistribute());
+ if (serviceFundtax.getBackflowlevel() != null) {
+ wrappers.eq(ServiceFundtax::getBackflowlevel, serviceFundtax.getBackflowlevel());
}
- if (StringUtils.isNotBlank(serviceFundtax.getRiqi())){
- wrappers.eq(ServiceFundtax::getRiqi ,serviceFundtax.getRiqi());
+ if (StringUtils.isNotBlank(serviceFundtax.getIsdistribute())) {
+ wrappers.eq(ServiceFundtax::getIsdistribute, serviceFundtax.getIsdistribute());
}
- if (StringUtils.isNotBlank(serviceFundtax.getOpochecker())){
- wrappers.eq(ServiceFundtax::getOpochecker ,serviceFundtax.getOpochecker());
+ if (StringUtils.isNotBlank(serviceFundtax.getRiqi())) {
+ wrappers.eq(ServiceFundtax::getRiqi, serviceFundtax.getRiqi());
}
- if (StringUtils.isNotBlank(serviceFundtax.getFinvicepresident())){
- wrappers.eq(ServiceFundtax::getFinvicepresident ,serviceFundtax.getFinvicepresident());
+ if (StringUtils.isNotBlank(serviceFundtax.getOpochecker())) {
+ wrappers.eq(ServiceFundtax::getOpochecker, serviceFundtax.getOpochecker());
}
- if (StringUtils.isNotBlank(serviceFundtax.getBusvicepresident())){
- wrappers.eq(ServiceFundtax::getBusvicepresident ,serviceFundtax.getBusvicepresident());
+ if (StringUtils.isNotBlank(serviceFundtax.getFinvicepresident())) {
+ wrappers.eq(ServiceFundtax::getFinvicepresident, serviceFundtax.getFinvicepresident());
}
- if (StringUtils.isNotBlank(serviceFundtax.getPresident())){
- wrappers.eq(ServiceFundtax::getPresident ,serviceFundtax.getPresident());
+ if (StringUtils.isNotBlank(serviceFundtax.getBusvicepresident())) {
+ wrappers.eq(ServiceFundtax::getBusvicepresident, serviceFundtax.getBusvicepresident());
}
- if (StringUtils.isNotBlank(serviceFundtax.getOfficedirector())){
- wrappers.eq(ServiceFundtax::getOfficedirector ,serviceFundtax.getOfficedirector());
+ if (StringUtils.isNotBlank(serviceFundtax.getPresident())) {
+ wrappers.eq(ServiceFundtax::getPresident, serviceFundtax.getPresident());
}
- if (StringUtils.isNotBlank(serviceFundtax.getFinancedirector())){
- wrappers.eq(ServiceFundtax::getFinancedirector ,serviceFundtax.getFinancedirector());
+ if (StringUtils.isNotBlank(serviceFundtax.getOfficedirector())) {
+ wrappers.eq(ServiceFundtax::getOfficedirector, serviceFundtax.getOfficedirector());
}
- if (StringUtils.isNotBlank(serviceFundtax.getFinancechecher())){
- wrappers.eq(ServiceFundtax::getFinancechecher ,serviceFundtax.getFinancechecher());
+ if (StringUtils.isNotBlank(serviceFundtax.getFinancedirector())) {
+ wrappers.eq(ServiceFundtax::getFinancedirector, serviceFundtax.getFinancedirector());
}
- if (StringUtils.isNotBlank(serviceFundtax.getUploadflag())){
- wrappers.eq(ServiceFundtax::getUploadflag ,serviceFundtax.getUploadflag());
+ if (StringUtils.isNotBlank(serviceFundtax.getFinancechecher())) {
+ wrappers.eq(ServiceFundtax::getFinancechecher, serviceFundtax.getFinancechecher());
}
- if (serviceFundtax.getUploadtime() != null){
- wrappers.eq(ServiceFundtax::getUploadtime ,serviceFundtax.getUploadtime());
+ if (StringUtils.isNotBlank(serviceFundtax.getUploadflag())) {
+ wrappers.eq(ServiceFundtax::getUploadflag, serviceFundtax.getUploadflag());
}
- if (StringUtils.isNotBlank(serviceFundtax.getUpdownremark())){
- wrappers.eq(ServiceFundtax::getUpdownremark ,serviceFundtax.getUpdownremark());
+ if (serviceFundtax.getUploadtime() != null) {
+ wrappers.eq(ServiceFundtax::getUploadtime, serviceFundtax.getUploadtime());
+ }
+ if (StringUtils.isNotBlank(serviceFundtax.getUpdownremark())) {
+ wrappers.eq(ServiceFundtax::getUpdownremark, serviceFundtax.getUpdownremark());
}
return this.list(wrappers);
}
+ @Override
+ public Integer getMaxFundTaxId() {
+ return serviceFundtaxMapper.getMaxFundTaxId();
+ }
+
+ /**
+ * 鎵归噺绠楃◣涓诲叆鍙�
+ * 1. 鏍¢獙鍙傛暟
+ * 2. 鏍¢獙鎵规鍚堟硶鎬э紙濡傛湁蹇呰锛�
+ * 3. 鏌ヨ鏈壒娆℃墍鏈塖erviceFund锛堟寜id鍗囧簭锛�
+ * 4. 棰勬煡璇㈡湰鏈堟墍鏈夎韩浠借瘉鍙风殑绱閲戦锛岀紦瀛樺埌Map锛屾彁鍗囧悗缁畻绋庢晥鐜�
+ * 5. 閬嶅巻姣忎釜ServiceFund锛屾壒閲忕畻绋�
+ *
+ * @param fundTaxVO 鎵规绠楃◣鍙傛暟
+ * @return 鏄惁绠楃◣鎴愬姛
+ */
+ @Override
+ 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().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);
+ 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, tempTaxSumMap);
+ }
+ return true;
+ }
+
}
--
Gitblit v1.9.3