From b4fc4408fae3f46edeb6c5421224c484bb149a89 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 15 六月 2026 16:22:40 +0800
Subject: [PATCH] 同一月份工资不可以发放多次
---
src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
index 3c31a21..af31314 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
@@ -72,6 +72,22 @@
@Override
public AjaxResult add(StaffSalaryMain staffSalaryMain) {
+ if (staffSalaryMain == null || StringUtils.isEmpty(staffSalaryMain.getSalaryMonth())) {
+ return AjaxResult.error("鍙傛暟閿欒");
+ }
+
+ Integer status = staffSalaryMain.getStatus();
+ if (status != null && status == 5) {
+ String salaryMonth = staffSalaryMain.getSalaryMonth();
+ long count = staffSalaryMainMapper.selectCount(new LambdaQueryWrapper<StaffSalaryMain>()
+ .eq(StaffSalaryMain::getSalaryMonth, salaryMonth)
+ .eq(StaffSalaryMain::getStatus, 5));
+
+ if (count > 0) {
+ return AjaxResult.error("鍚屼竴鏈堜唤宸ヨ祫涓嶅彲浠ュ彂鏀惧娆�");
+ }
+ }
+
staffSalaryMainMapper.insert(staffSalaryMain);
staffSalaryMain.getStaffSalaryDetailList().forEach(detail -> {
detail.setMainId(staffSalaryMain.getId());
@@ -89,6 +105,23 @@
if(staffSalaryMain1 == null){
return AjaxResult.error("鍙傛暟閿欒");
}
+
+ Integer newStatus = staffSalaryMain.getStatus();
+ if (newStatus != null && newStatus == 5) {
+ String salaryMonth = staffSalaryMain.getSalaryMonth();
+ if (StringUtils.isEmpty(salaryMonth)) {
+ salaryMonth = staffSalaryMain1.getSalaryMonth();
+ }
+ long count = staffSalaryMainMapper.selectCount(new LambdaQueryWrapper<StaffSalaryMain>()
+ .eq(StaffSalaryMain::getSalaryMonth, salaryMonth)
+ .eq(StaffSalaryMain::getStatus, 5)
+ .ne(StaffSalaryMain::getId, staffSalaryMain.getId()));
+
+ if (count > 0) {
+ return AjaxResult.error("鍚屼竴鏈堜唤宸ヨ祫涓嶅彲浠ュ彂鏀惧娆�");
+ }
+ }
+
// 寰呭鏍镐笉鍙紪杈�
// if(staffSalaryMain1.getStatus() > 3){
// return AjaxResult.error("寰呭鏍镐笉鍙紪杈�");
--
Gitblit v1.9.3