From daf9f8dbb7ba36eb283221d2c6022039aefaf97d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 25 十月 2026 00:40:38 +0800
Subject: [PATCH] feat(aftersales): 售后退货单同步MES批次信息并优化工单处理流程
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmEmployeeSalaryServiceImpl.java | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmEmployeeSalaryServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmEmployeeSalaryServiceImpl.java
index 6c829eb..2f619ab 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmEmployeeSalaryServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/salary/HrmEmployeeSalaryServiceImpl.java
@@ -4,6 +4,8 @@
import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmEmployeeSalaryPageReqVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmEmployeeSalaryDO;
import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmEmployeeSalaryMapper;
+import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmSalaryStructureMapper;
+import cn.iocoder.yudao.module.hrm.dal.mysql.employee.HrmEmployeeMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -12,6 +14,9 @@
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.EMPLOYEE_SALARY_NOT_EXISTS;
+import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.EMPLOYEE_SALARY_EXISTS;
+import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.HRM_EMPLOYEE_NOT_EXISTS;
+import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.SALARY_STRUCTURE_NOT_EXISTS;
/**
* 鍛樺伐钖叕妗f Service 瀹炵幇绫�
@@ -24,9 +29,15 @@
@Resource
private HrmEmployeeSalaryMapper employeeSalaryMapper;
+ @Resource
+ private HrmSalaryStructureMapper structureMapper;
+ @Resource
+ private HrmEmployeeMapper employeeMapper;
@Override
public Long createEmployeeSalary(HrmEmployeeSalaryDO salary) {
+ validateReferences(salary);
+ validateUniqueDate(salary);
employeeSalaryMapper.insert(salary);
return salary.getId();
}
@@ -34,6 +45,8 @@
@Override
public void updateEmployeeSalary(HrmEmployeeSalaryDO salary) {
validateEmployeeSalaryExists(salary.getId());
+ validateReferences(salary);
+ validateUniqueDate(salary);
employeeSalaryMapper.updateById(salary);
}
@@ -69,4 +82,22 @@
}
}
-}
\ No newline at end of file
+ private void validateReferences(HrmEmployeeSalaryDO salary) {
+ if (salary.getUserId() == null || employeeMapper.selectById(salary.getUserId()) == null) {
+ throw exception(HRM_EMPLOYEE_NOT_EXISTS);
+ }
+ if (salary.getSalaryStructureId() == null
+ || structureMapper.selectById(salary.getSalaryStructureId()) == null) {
+ throw exception(SALARY_STRUCTURE_NOT_EXISTS);
+ }
+ }
+
+ private void validateUniqueDate(HrmEmployeeSalaryDO salary) {
+ HrmEmployeeSalaryDO existing = employeeSalaryMapper.selectByUserIdAndEffectiveDate(
+ salary.getUserId(), salary.getEffectiveDate());
+ if (existing != null && !existing.getId().equals(salary.getId())) {
+ throw exception(EMPLOYEE_SALARY_EXISTS);
+ }
+ }
+
+}
--
Gitblit v1.9.3