From f5ee618454fd23e14abfca2e9ce9a654f1424cd0 Mon Sep 17 00:00:00 2001
From: Joshi <3040996759@qq.com>
Date: Sat, 6 Sep 2025 15:40:10 +0800
Subject: [PATCH] =?UTF-8?q?refactor(oa):=20=E9=87=8D=E6=9E=84=E8=96=AA?=
=?UTF-8?q?=E8=B5=84=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91=E5=B9=B6=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=E9=A1=B9=E7=9B=AE=E7=AD=BE=E7=BA=A6=E5=85=AC=E5=8F=B8?=
=?UTF-8?q?=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将 SalaryCalculationResult 类从 OaEmployeeTemplateBindingServiceImpl 中提取到域模型包下- 在 SysOaProject 模型中添加 signingCompany 字段用于记录签约公司
- 更新相关 BO、VO 和 Mapper 文件以支持新增的签约公司字段
- 优化 SysOaProjectServiceImpl 中的查询条件,支持按签约公司筛选- 修复 SysOssServiceImpl 中的文件下载逻辑,使用 baseMapper 替代 AOP 代理
---
.../oa/domain/SalaryCalculationResult.java | 30 +++++++++++++++++++
.../com/ruoyi/oa/domain/SysOaProject.java | 2 ++
.../ruoyi/oa/domain/bo/SysOaProjectBo.java | 2 ++
.../ruoyi/oa/domain/vo/SysOaProjectVo.java | 2 ++
.../OaEmployeeTemplateBindingServiceImpl.java | 25 ----------------
.../service/impl/SysOaProjectServiceImpl.java | 2 ++
.../mapper/oa/SysOaProjectMapper.xml | 4 ++-
.../service/impl/SysOssServiceImpl.java | 2 +-
8 files changed, 42 insertions(+), 27 deletions(-)
create mode 100644 ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SalaryCalculationResult.java
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SalaryCalculationResult.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SalaryCalculationResult.java
new file mode 100644
index 0000000..eb5ddf4
--- /dev/null
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SalaryCalculationResult.java
@@ -0,0 +1,30 @@
+package com.ruoyi.oa.domain;
+
+import java.math.BigDecimal;
+
+/**
+ * 薪资计算结果内部类
+ */
+public class SalaryCalculationResult {
+ private BigDecimal totalSalary = BigDecimal.ZERO; // 薪资总额
+ private BigDecimal totalPersonalInsurance = BigDecimal.ZERO; // 个人社保总额
+ private BigDecimal totalCompanyInsurance = BigDecimal.ZERO; // 企业社保总额
+ private BigDecimal netSalary = BigDecimal.ZERO; // 实发工资
+ private BigDecimal totalCompanyCost = BigDecimal.ZERO; // 公司总成本
+
+ // getters and setters
+ public BigDecimal getTotalSalary() { return totalSalary; }
+ public void setTotalSalary(BigDecimal totalSalary) { this.totalSalary = totalSalary; }
+
+ public BigDecimal getTotalPersonalInsurance() { return totalPersonalInsurance; }
+ public void setTotalPersonalInsurance(BigDecimal totalPersonalInsurance) { this.totalPersonalInsurance = totalPersonalInsurance; }
+
+ public BigDecimal getTotalCompanyInsurance() { return totalCompanyInsurance; }
+ public void setTotalCompanyInsurance(BigDecimal totalCompanyInsurance) { this.totalCompanyInsurance = totalCompanyInsurance; }
+
+ public BigDecimal getNetSalary() { return netSalary; }
+ public void setNetSalary(BigDecimal netSalary) { this.netSalary = netSalary; }
+
+ public BigDecimal getTotalCompanyCost() { return totalCompanyCost; }
+ public void setTotalCompanyCost(BigDecimal totalCompanyCost) { this.totalCompanyCost = totalCompanyCost; }
+ }
\ No newline at end of file
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java
index 3bce728..e9dff74 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java
@@ -153,4 +153,6 @@ public class SysOaProject extends BaseEntity {
* 代号类型
*/
private String projectCode;
+ //签约公司
+ private String signingCompany;
}
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java
index 626407c..d842afa 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java
@@ -188,5 +188,7 @@ public class SysOaProjectBo extends BaseEntity {
private String projectCode;
private String status;
+ //签约公司
+ private String signingCompany;
}
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java
index eed83ce..9225960 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java
@@ -255,5 +255,7 @@ public class SysOaProjectVo {
* 项目状态
*/
private String status;
+ //签约公司
+ private String signingCompany;
}
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaEmployeeTemplateBindingServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaEmployeeTemplateBindingServiceImpl.java
index b048a22..cda4e91 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaEmployeeTemplateBindingServiceImpl.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaEmployeeTemplateBindingServiceImpl.java
@@ -122,32 +122,7 @@ public class OaEmployeeTemplateBindingServiceImpl implements IOaEmployeeTemplate
return TableDataInfo.build(result);
}
- /**
- * 薪资计算结果内部类
- */
- private static class SalaryCalculationResult {
- private BigDecimal totalSalary = BigDecimal.ZERO; // 薪资总额
- private BigDecimal totalPersonalInsurance = BigDecimal.ZERO; // 个人社保总额
- private BigDecimal totalCompanyInsurance = BigDecimal.ZERO; // 企业社保总额
- private BigDecimal netSalary = BigDecimal.ZERO; // 实发工资
- private BigDecimal totalCompanyCost = BigDecimal.ZERO; // 公司总成本
- // getters and setters
- public BigDecimal getTotalSalary() { return totalSalary; }
- public void setTotalSalary(BigDecimal totalSalary) { this.totalSalary = totalSalary; }
-
- public BigDecimal getTotalPersonalInsurance() { return totalPersonalInsurance; }
- public void setTotalPersonalInsurance(BigDecimal totalPersonalInsurance) { this.totalPersonalInsurance = totalPersonalInsurance; }
-
- public BigDecimal getTotalCompanyInsurance() { return totalCompanyInsurance; }
- public void setTotalCompanyInsurance(BigDecimal totalCompanyInsurance) { this.totalCompanyInsurance = totalCompanyInsurance; }
-
- public BigDecimal getNetSalary() { return netSalary; }
- public void setNetSalary(BigDecimal netSalary) { this.netSalary = netSalary; }
-
- public BigDecimal getTotalCompanyCost() { return totalCompanyCost; }
- public void setTotalCompanyCost(BigDecimal totalCompanyCost) { this.totalCompanyCost = totalCompanyCost; }
- }
/**
* 根据绑定记录ID集合批量计算薪资明细
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java
index b63cd09..a7fe8e7 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java
@@ -180,6 +180,8 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), SysOaProject::getProjectType, bo.getProjectType());
lqw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), SysOaProject::getProjectStatus, bo.getProjectStatus());
lqw.eq(StringUtils.isNotBlank(bo.getCreateBy()), SysOaProject::getCreateBy, bo.getCreateBy());
+ //新增签约公司作为筛选条件
+ lqw.eq(StringUtils.isNotBlank(bo.getSigningCompany()), SysOaProject::getSigningCompany, bo.getSigningCompany());
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
SysOaProject::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
lqw.orderByDesc(SysOaProject::getCreateTime);
diff --git a/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml
index de1ef52..335ffd1 100644
--- a/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml
+++ b/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml
@@ -27,6 +27,7 @@
+
@@ -63,7 +64,7 @@
-
+
@@ -301,6 +302,7 @@
p.postpone_reason,
p.postpone_time,
p.color,
+ p.signing_company,
TIMESTAMPDIFF(DAY, NOW(), p.postpone_time) AS remainTime
FROM sys_oa_project p
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index bffb501..5066423 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -104,7 +104,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
@Override
public void download(Long ossId, HttpServletResponse response) throws IOException {
- SysOssVo sysOss = SpringUtils.getAopProxy(this).getById(ossId);
+ SysOssVo sysOss = baseMapper.selectVoById(ossId);
if (ObjectUtil.isNull(sysOss)) {
throw new ServiceException("文件数据不存在!");
}