diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties
index 4ca5b1e88..826e40bf1 100644
--- a/resource/WEB-INF/prop/hrmSalary.properties
+++ b/resource/WEB-INF/prop/hrmSalary.properties
@@ -1,5 +1,5 @@
log=false
defaultCloseNonStandard149=true
AESEncryptScrect=990EB004A1C862721C1513AE90038C9E
-version=2.12.1.2403.02
+version=2.13.1.2404.02
openFormulaForcedEditing=false
\ No newline at end of file
diff --git a/resource/sqlupgrade/DM/sql202309050103.sql b/resource/sqlupgrade/DM/sql202309050103.sql
deleted file mode 100644
index e9e5dfeee..000000000
--- a/resource/sqlupgrade/DM/sql202309050103.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), 0, 'all_teams', 703433961629614119, 5);
-/
-
diff --git a/resource/sqlupgrade/GS/sql202309050103.sql b/resource/sqlupgrade/GS/sql202309050103.sql
deleted file mode 100644
index e9e5dfeee..000000000
--- a/resource/sqlupgrade/GS/sql202309050103.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), 0, 'all_teams', 703433961629614119, 5);
-/
-
diff --git a/resource/sqlupgrade/JC/sql202309050103.sql b/resource/sqlupgrade/JC/sql202309050103.sql
deleted file mode 100644
index e9e5dfeee..000000000
--- a/resource/sqlupgrade/JC/sql202309050103.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), 0, 'all_teams', 703433961629614119, 5);
-/
-
diff --git a/resource/sqlupgrade/Mysql/sql202309050103.sql b/resource/sqlupgrade/Mysql/sql202309050103.sql
deleted file mode 100644
index 67dd54d95..000000000
--- a/resource/sqlupgrade/Mysql/sql202309050103.sql
+++ /dev/null
@@ -1 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql202309050103.sql b/resource/sqlupgrade/Oracle/sql202309050103.sql
deleted file mode 100644
index c010cb4ef..000000000
--- a/resource/sqlupgrade/Oracle/sql202309050103.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), 0, 'all_teams', 703433961629614119, 5)
-/
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202309050103.sql b/resource/sqlupgrade/PG/sql202309050103.sql
deleted file mode 100644
index 442635f18..000000000
--- a/resource/sqlupgrade/PG/sql202309050103.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
-/
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202309050103.sql b/resource/sqlupgrade/SQLServer/sql202309050103.sql
deleted file mode 100644
index 362f2654c..000000000
--- a/resource/sqlupgrade/SQLServer/sql202309050103.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5)
-GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202403193303.sql b/resource/sqlupgrade/SQLServer/sql202403193303.sql
index a1f345591..771e3b45f 100644
--- a/resource/sqlupgrade/SQLServer/sql202403193303.sql
+++ b/resource/sqlupgrade/SQLServer/sql202403193303.sql
@@ -1,9 +1,16 @@
-ALTER TABLE hrsa_employee_declare
-ADD nationality varchar(255) NULL ,
-ADD birthplace varchar(255) NULL ,
-ADD tax_reasons varchar(255) NULL ,
-entry_date datetime NULL ,
-departure_date datetime NULL
+ALTER TABLE hrsa_employee_declare ADD nationality varchar(255) NULL
+GO
+
+ALTER TABLE hrsa_employee_declare ADD birthplace varchar(255) NULL
+GO
+
+ALTER TABLE hrsa_employee_declare ADD tax_reasons varchar(255) NULL
+GO
+
+ALTER TABLE hrsa_employee_declare ADD entry_date datetime NULL
+GO
+
+ALTER TABLE hrsa_employee_declare ADD departure_date datetime NULL
GO
update hrsa_employee_declare set nationality = 'й' where nationality is null
diff --git a/resource/sqlupgrade/ST/sql202309050103.sql b/resource/sqlupgrade/ST/sql202309050103.sql
deleted file mode 100644
index e9e5dfeee..000000000
--- a/resource/sqlupgrade/ST/sql202309050103.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-05 16:30:11','yyyy-MM-dd HH24:mi:ss'), 0, 'all_teams', 703433961629614119, 5);
-/
-
diff --git a/resource/wiki/代码样例/拦截工资单相关接口/com/customization/salary/CustomSalaryAcctResultWrapper.java b/resource/wiki/代码样例/拦截工资单相关接口/com/customization/salary/CustomSalaryAcctResultWrapper.java
new file mode 100644
index 000000000..133e9b51d
--- /dev/null
+++ b/resource/wiki/代码样例/拦截工资单相关接口/com/customization/salary/CustomSalaryAcctResultWrapper.java
@@ -0,0 +1,60 @@
+package com.customization.salary;
+
+import com.engine.core.cfg.annotation.ServiceDynamicProxy;
+import com.engine.core.impl.aop.AbstractServiceProxy;
+import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO;
+import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO;
+import com.engine.salary.entity.salaryacct.param.*;
+import com.engine.salary.wrapper.SalaryAcctResultWrapper;
+import com.engine.salary.wrapper.proxy.SalaryAcctResultWrapperProxy;
+
+import java.util.Map;
+
+/**
+ * 薪资核算结果
+ *
Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@ServiceDynamicProxy(target = SalaryAcctResultWrapper.class, desc = "核算结果")
+public class CustomSalaryAcctResultWrapper extends AbstractServiceProxy implements SalaryAcctResultWrapperProxy {
+
+ @Override
+ public Map listPage(SalaryAcctResultQueryParam queryParam) {
+ return (Map)executeMethod(queryParam);
+ }
+
+ @Override
+ public SalaryAcctResultDetailDTO getForm(Long salaryAcctEmployeeId) {
+ return (SalaryAcctResultDetailDTO)executeMethod(salaryAcctEmployeeId);
+ }
+
+ @Override
+ public Map getColumnBySalaryAcctRecordId(Long salaryAcctRecordId) {
+ return (Map)executeMethod(salaryAcctRecordId);
+ }
+
+ @Override
+ public void save(SalaryAcctResultSaveParam saveParam) {
+ //todo do some thing
+ executeMethod(saveParam);
+ //todo do some thing
+ }
+
+ @Override
+ public void updateLockStatusByParam(SalaryAcctResultUpdateLockStatusParam updateParam) {
+ executeMethod(updateParam);
+ }
+
+ @Override
+ public void calculate(SalaryAcctCalculateParam calculateParam) {
+ executeMethod(calculateParam);
+ }
+
+ @Override
+ public void batchUpdate(SalaryAcctResultBatchUpdateParam param) {
+ executeMethod(param);
+ }
+}
diff --git a/resource/wiki/删除档案.txt b/resource/wiki/删除档案.txt
index 1668c51f4..a5614d6c5 100644
--- a/resource/wiki/删除档案.txt
+++ b/resource/wiki/删除档案.txt
@@ -19,3 +19,16 @@ update hrsa_salary_archive set delete_type=3 where tax_agent_id=扣缴义务人
二、删除停薪员工档案
update hrsa_salary_archive set delete_type=3 where run_status in ('STOP_FROM_PENDING','STOP_FROM_SUSPEND')
+
+
+三、删除指定人员档案
+
+
+--删除社保福利档案
+update hrsa_insurance_base_info set delete_type=3 WHERE employee_id = ? and payment_organization =?
+update hrsa_social_archives set delete_type=3 WHERE employee_id = ? and payment_organization =?
+update hrsa_fund_archives set delete_type=3 WHERE employee_id = ? and payment_organization =?
+update hrsa_other_archives set delete_type=3 WHERE employee_id = ? and payment_organization =?
+
+-- 删除薪资档案
+update hrsa_salary_archive set delete_type=3 where employee_id = ? and tax_agent_id=?
diff --git a/resource/wiki/常用查询.md b/resource/wiki/常用查询.md
new file mode 100644
index 000000000..0bb9db9a6
--- /dev/null
+++ b/resource/wiki/常用查询.md
@@ -0,0 +1,10 @@
+# 工资数据报表
+
+````
+select e.lastname,sob.name as 账套名, record.salary_month as 薪资月, item.name as 薪资项 ,result.result_value as 值
+from hrsa_salary_acct_record record
+left join hrsa_salary_sob sob on record.salary_sob_id = sob.id and sob.delete_type = 0 and record.delete_type = 0
+left join hrsa_salary_acct_result result on record.id = result.salary_acct_record_id and result.delete_type = 0 and record.delete_type = 0
+left join hrsa_salary_item item on result.salary_item_id = item.id and item.delete_type = 0
+left join hrsa_tax_agent agent on agent.id=sob.tax_agent_id and agent.delete_type=0
+left join hrmresource e on e.id= result.employee_id
diff --git a/src/com/engine/salary/action/UpdateSISchemeDetailAction.java b/src/com/engine/salary/action/UpdateSISchemeDetailAction.java
index 2ceef43d0..0d406455a 100644
--- a/src/com/engine/salary/action/UpdateSISchemeDetailAction.java
+++ b/src/com/engine/salary/action/UpdateSISchemeDetailAction.java
@@ -183,6 +183,8 @@ public class UpdateSISchemeDetailAction implements Action {
String validNum = importDataMap.getOrDefault("有效小数位", "").toString();
if (StringUtils.isNotBlank(validNum)) {
targetSchemeDetailPO.setValidNum(Integer.valueOf(validNum));
+ }else {
+ targetSchemeDetailPO.setValidNum(2);
}
String rententionRule = importDataMap.getOrDefault("进位规则", "").toString();
if (StringUtils.isNotBlank(rententionRule)) {
diff --git a/src/com/engine/salary/biz/SIAccountBiz.java b/src/com/engine/salary/biz/SIAccountBiz.java
index 5eb07b4af..46abbf098 100644
--- a/src/com/engine/salary/biz/SIAccountBiz.java
+++ b/src/com/engine/salary/biz/SIAccountBiz.java
@@ -678,7 +678,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (po.getPaymentCycle() != null && po.getPaymentCycle() == 1) {
@@ -755,7 +755,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -845,7 +845,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -921,7 +921,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1014,7 +1014,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1090,7 +1090,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1596,7 +1596,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (po.getPaymentCycle() != null && po.getPaymentCycle() == 1) {
@@ -1665,7 +1665,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1746,7 +1746,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1814,7 +1814,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1899,7 +1899,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -1968,7 +1968,7 @@ public class SIAccountBiz extends Service {
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -2056,7 +2056,7 @@ public class SIAccountBiz extends Service {
// BigDecimal paymentNum = new BigDecimal(archivesPerson.get(String.valueOf(e)));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesPerson) || StringUtils.isBlank(archivesPerson.get(String.valueOf(e)))) ? "0" : archivesPerson.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
@@ -2127,7 +2127,7 @@ public class SIAccountBiz extends Service {
// BigDecimal paymentNum = SalaryEntityUtil.string2BigDecimalDefault0(archivesCom.get(String.valueOf(e)));
BigDecimal paymentNum = new BigDecimal((ObjectUtil.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
- Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
+ Integer newScale = po.getValidNum() == null ? 2 : po.getValidNum();
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
BigDecimal result = new BigDecimal("0");
if (Objects.equals(po.getPaymentCycle(), 1)) {
diff --git a/src/com/engine/salary/biz/SISchemeBiz.java b/src/com/engine/salary/biz/SISchemeBiz.java
index 43140fb82..0cc1774e3 100644
--- a/src/com/engine/salary/biz/SISchemeBiz.java
+++ b/src/com/engine/salary/biz/SISchemeBiz.java
@@ -12,6 +12,7 @@ import com.engine.salary.entity.sischeme.param.InsuranceSchemeReqParam;
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemePO;
import com.engine.salary.entity.sischeme.vo.InsuranceSchemeFormVO;
+import com.engine.salary.enums.SalaryRoundingModeEnum;
import com.engine.salary.enums.sicategory.*;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.siaccount.SIAccountUtilMapper;
@@ -78,7 +79,8 @@ public class SISchemeBiz extends Service {
.insuranceId(item.getId())
.insuranceName(item.getInsuranceName())
.paymentScope(e.getDefaultLabel())
- .rententionRule(String.valueOf(RententionRuleEnum.ROUND.getValue()))
+ .rententionRule(String.valueOf(SalaryRoundingModeEnum.ROUNDING.getValue()))
+ .validNum(2)
.cycleSetting("000000000000")
.paymentCycle("0")
.accountType("0")
@@ -96,7 +98,7 @@ public class SISchemeBiz extends Service {
insuranceSchemeDetailDTO.setInsuranceId(insuranceSchemeDetailPO.getInsuranceId());
insuranceSchemeDetailDTO.setPaymentScopeValue(insuranceSchemeDetailPO.getPaymentScope());
insuranceSchemeDetailDTO.setPrimaryId(insuranceSchemeDetailPO.getPrimaryId());
- insuranceSchemeDetailDTO.setValidNum(insuranceSchemeDetailPO.getValidNum());
+ insuranceSchemeDetailDTO.setValidNum(insuranceSchemeDetailPO.getValidNum() == null ? 2 : insuranceSchemeDetailPO.getValidNum());
if (insuranceSchemeDetailPO.getIsPayment() != null) {
insuranceSchemeDetailDTO.setIsPayment(Objects.equals(insuranceSchemeDetailPO.getIsPayment(), IsPaymentEnum.YES.getValue()));
@@ -439,7 +441,7 @@ public class SISchemeBiz extends Service {
.primaryId(batchPO.getId())
.rententionRule(item.getRententionRule())
.upperLimit(item.getUpperLimit())
- .validNum(item.getValidNum())
+ .validNum(item.getValidNum()==null?2:item.getValidNum())
.build()
).collect(Collectors.toList());
encryptUtil.encryptList(detailPOS, InsuranceSchemeDetailPO.class);
diff --git a/src/com/engine/salary/cmd/sischeme/SISchemeCopyCmd.java b/src/com/engine/salary/cmd/sischeme/SISchemeCopyCmd.java
index aa03b71f1..f00e56950 100644
--- a/src/com/engine/salary/cmd/sischeme/SISchemeCopyCmd.java
+++ b/src/com/engine/salary/cmd/sischeme/SISchemeCopyCmd.java
@@ -16,6 +16,7 @@ import java.util.Map;
* @Date 2022/3/8
* @Version V1.0
**/
+@Deprecated
public class SISchemeCopyCmd extends AbstractCommonCommand