From 1fd52d7784a8b0b963cf38d63175cdf9082e8f43 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 03 十一月 2026 19:40:39 +0800
Subject: [PATCH] fix(hrm): 薪酬核算按出勤天数联动扣款、个税配置可保存、离职提交报错
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmTaxRateConfigServiceImpl.java | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmTaxRateConfigServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmTaxRateConfigServiceImpl.java
index f8635f1..b825cdb 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmTaxRateConfigServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmTaxRateConfigServiceImpl.java
@@ -7,6 +7,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
@@ -29,6 +30,7 @@
@Transactional(rollbackFor = Exception.class)
public void createTaxRateConfigList(List<HrmTaxRateConfigDO> configList) {
for (HrmTaxRateConfigDO config : configList) {
+ applyDefaults(config);
taxRateConfigMapper.insert(config);
}
}
@@ -36,9 +38,32 @@
@Override
public void updateTaxRateConfig(HrmTaxRateConfigDO config) {
validateTaxRateConfigExists(config.getId());
+ applyDefaults(config);
taxRateConfigMapper.updateById(config);
}
+ /**
+ * 琛ュ叏榛樿鍊硷細鐢熸晥鏃ユ湡榛樿涓哄綋鏈� 1 鍙凤紝閰嶇疆鍚嶇О鑷姩鐢熸垚锛岄�熺畻鎵i櫎鏁�/涓婇檺缂虹渷鎸� 0
+ */
+ private void applyDefaults(HrmTaxRateConfigDO config) {
+ if (config.getEffectiveDate() == null) {
+ config.setEffectiveDate(LocalDate.now().withDayOfMonth(1));
+ }
+ if (config.getName() == null || config.getName().isBlank()) {
+ config.setName(config.getEffectiveDate().getYear() + "骞�"
+ + config.getEffectiveDate().getMonthValue() + "鏈堜釜绋庣◣鐜囪〃");
+ }
+ if (config.getStatus() == null) {
+ config.setStatus(0);
+ }
+ if (config.getQuickDeduction() == null) {
+ config.setQuickDeduction(BigDecimal.ZERO);
+ }
+ if (config.getMaxAmount() == null) {
+ config.setMaxAmount(BigDecimal.ZERO);
+ }
+ }
+
@Override
public void deleteTaxRateConfig(Long id) {
validateTaxRateConfigExists(id);
--
Gitblit v1.9.3