diff --git a/resource/sqlupgrade/DM/sql2025061801039TEST.sql b/resource/sqlupgrade/DM/sql2025061801039TEST.sql
new file mode 100644
index 000000000..3891d3474
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql2025061801039TEST.sql
@@ -0,0 +1,3 @@
+alter table hrsa_salary_acct_emp add calculate_status int;
+/
+
diff --git a/resource/sqlupgrade/GS/sql2025061801039TEST.sql b/resource/sqlupgrade/GS/sql2025061801039TEST.sql
new file mode 100644
index 000000000..3891d3474
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql2025061801039TEST.sql
@@ -0,0 +1,3 @@
+alter table hrsa_salary_acct_emp add calculate_status int;
+/
+
diff --git a/resource/sqlupgrade/JC/sql2025061801039TEST.sql b/resource/sqlupgrade/JC/sql2025061801039TEST.sql
new file mode 100644
index 000000000..3891d3474
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql2025061801039TEST.sql
@@ -0,0 +1,3 @@
+alter table hrsa_salary_acct_emp add calculate_status int;
+/
+
diff --git a/resource/sqlupgrade/Mysql/sql2025061801039TEST.sql b/resource/sqlupgrade/Mysql/sql2025061801039TEST.sql
new file mode 100644
index 000000000..774d67a06
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql2025061801039TEST.sql
@@ -0,0 +1,2 @@
+alter table hrsa_salary_acct_emp add calculate_status int
+;
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql2025061801039TEST.sql b/resource/sqlupgrade/Oracle/sql2025061801039TEST.sql
new file mode 100644
index 000000000..65ae2732c
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql2025061801039TEST.sql
@@ -0,0 +1,2 @@
+alter table hrsa_salary_acct_emp add calculate_status int
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql2025061801039TEST.sql b/resource/sqlupgrade/PG/sql2025061801039TEST.sql
new file mode 100644
index 000000000..6daadc3c8
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql2025061801039TEST.sql
@@ -0,0 +1 @@
+alter table hrsa_salary_acct_emp add calculate_status int
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql2025061801039TEST.sql b/resource/sqlupgrade/SQLServer/sql2025061801039TEST.sql
new file mode 100644
index 000000000..d50e1ce0d
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql2025061801039TEST.sql
@@ -0,0 +1,2 @@
+alter table hrsa_salary_acct_emp add calculate_status int
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/ST/sql2025061801039TEST.sql b/resource/sqlupgrade/ST/sql2025061801039TEST.sql
new file mode 100644
index 000000000..3891d3474
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql2025061801039TEST.sql
@@ -0,0 +1,3 @@
+alter table hrsa_salary_acct_emp add calculate_status int;
+/
+
diff --git a/src/com/api/salary/web/YbSalaryCalculateController.java b/src/com/api/salary/web/YbSalaryCalculateController.java
new file mode 100644
index 000000000..aec14f087
--- /dev/null
+++ b/src/com/api/salary/web/YbSalaryCalculateController.java
@@ -0,0 +1,12 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2025/06/18
+ * @version: 1.0
+ */
+@Path("/bs/hrmsalary/ybsalarycalculate")
+public class YbSalaryCalculateController extends com.engine.salary.web.YbSalaryCalculateController {
+}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
index 408da743f..b47a68891 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
@@ -77,17 +77,17 @@ public class SalaryAcctRecordBO {
}
} else if (SalaryAcctRecordStatusEnum.ARCHIVED == salaryAcctRecordStatusEnum && ( salarySendMap.get(salaryAcctRecordPO.getId()) ==Boolean.TRUE ) ){
btnList.add(new WeaTableOperate("查看", null, "3"));
- if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
- btnList.add(new WeaTableOperate("重新核算", null, "4"));
- }
- if(salaryAcctRecordPO.getBackCalcStatus() == null || salaryAcctRecordPO.getBackCalcStatus() == NumberUtils.INTEGER_ZERO) {
- btnList.add(new WeaTableOperate("回算", null, "5"));
- }
+ //if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
+ // btnList.add(new WeaTableOperate("重新核算", null, "4"));
+ //}
+ //if(salaryAcctRecordPO.getBackCalcStatus() == null || salaryAcctRecordPO.getBackCalcStatus() == NumberUtils.INTEGER_ZERO) {
+ // btnList.add(new WeaTableOperate("回算", null, "5"));
+ //}
} else {
btnList.add(new WeaTableOperate("查看", null, "3"));
- if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
- btnList.add(new WeaTableOperate("重新核算", null, "4"));
- }
+ //if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
+ // btnList.add(new WeaTableOperate("重新核算", null, "4"));
+ //}
}
String taxAgentName = salarySobPO.getTaxAgentIds().stream().map(id -> taxAgentMap.getOrDefault(id, "")).collect(Collectors.joining(","));
return SalaryAcctRecordListDTO.builder()
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
index b906a6a37..6b22dca1f 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
@@ -326,6 +326,7 @@ public class SalaryAcctResultBO {
}
map.put(salarySobEmpField.getFieldCode() + DATA_TYPE_SUFFIX, SalaryDataTypeEnum.STRING.getValue());
}
+ map.put("calculateStatus",e.getCalculateStatus());
// 主键id
map.put("id", e.getId());
//锁定数据
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
index c456e80da..f9b22d536 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
@@ -164,6 +164,8 @@ public class SalaryAcctEmployeePO {
*/
private Integer accountType;
+ private String calculateStatus;
+
//--------条件----------
diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml
index 9aeca4df9..0765c0d2b 100644
--- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml
+++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml
@@ -27,6 +27,7 @@
+
diff --git a/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.java b/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.java
new file mode 100644
index 000000000..d3679b9c5
--- /dev/null
+++ b/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.java
@@ -0,0 +1,14 @@
+package com.engine.salary.mapper.yb;
+
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * @author:dxfeng
+ * @createTime: 2025/06/18
+ * @version: 1.0
+ */
+public interface YbSalaryCalculateMapper {
+ int updateCalculateStatus(@Param("id") String id, @Param("calculateStatus") String calculateStatus);
+
+}
diff --git a/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.xml b/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.xml
new file mode 100644
index 000000000..ac76ee382
--- /dev/null
+++ b/src/com/engine/salary/mapper/yb/YbSalaryCalculateMapper.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update hrsa_salary_acct_emp set calculate_status = #{calculateStatus} where id = #{id}
+
+
+
diff --git a/src/com/engine/salary/service/YbSalaryCalculateService.java b/src/com/engine/salary/service/YbSalaryCalculateService.java
new file mode 100644
index 000000000..30593710c
--- /dev/null
+++ b/src/com/engine/salary/service/YbSalaryCalculateService.java
@@ -0,0 +1,19 @@
+package com.engine.salary.service;
+
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2025/06/18
+ * @version: 1.0
+ */
+public interface YbSalaryCalculateService {
+ /**
+ * 更新薪资核算状态
+ *
+ * @param params
+ * @return
+ */
+ Map updateCalculateStatus(Map params);
+
+}
diff --git a/src/com/engine/salary/service/impl/YbSalaryCalculateServiceImpl.java b/src/com/engine/salary/service/impl/YbSalaryCalculateServiceImpl.java
new file mode 100644
index 000000000..3aad34bcc
--- /dev/null
+++ b/src/com/engine/salary/service/impl/YbSalaryCalculateServiceImpl.java
@@ -0,0 +1,31 @@
+package com.engine.salary.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.salary.mapper.yb.YbSalaryCalculateMapper;
+import com.engine.salary.service.YbSalaryCalculateService;
+import com.engine.salary.util.db.MapperProxyFactory;
+import weaver.general.Util;
+
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2025/06/18
+ * @version: 1.0
+ */
+public class YbSalaryCalculateServiceImpl extends Service implements YbSalaryCalculateService {
+ private YbSalaryCalculateMapper getYbSalaryCalculateMapper() {
+ return MapperProxyFactory.getProxy(YbSalaryCalculateMapper.class);
+ }
+
+ @Override
+ public Map updateCalculateStatus(Map params) {
+ String id = Util.null2String(params.get("id"));
+ String calculateStatus = Util.null2String(params.get("calculateStatus"));
+ // 更新
+ getYbSalaryCalculateMapper().updateCalculateStatus(id, calculateStatus);
+ return null;
+ }
+
+
+}
diff --git a/src/com/engine/salary/web/YbSalaryCalculateController.java b/src/com/engine/salary/web/YbSalaryCalculateController.java
new file mode 100644
index 000000000..1f3a64b05
--- /dev/null
+++ b/src/com/engine/salary/web/YbSalaryCalculateController.java
@@ -0,0 +1,42 @@
+package com.engine.salary.web;
+
+import com.engine.common.util.ParamUtil;
+import com.engine.common.util.ServiceUtil;
+import com.engine.salary.util.ResponseResult;
+import com.engine.salary.wrapper.YbSalaryCalculateWrapper;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2025/06/18
+ * @version: 1.0
+ */
+public class YbSalaryCalculateController {
+ private YbSalaryCalculateWrapper getYbSalaryCalculateWrapper(User user) {
+ return ServiceUtil.getService(YbSalaryCalculateWrapper.class, user);
+ }
+
+ /**
+ * 浮动薪酬项目列表
+ *
+ * @return
+ */
+ @POST
+ @Path("/updateCalculateStatus")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String updateCalculateStatus(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ User user = HrmUserVarify.getUser(request, response);
+ Map map = ParamUtil.request2Map(request);
+ return new ResponseResult