From 94c8d82f083732bcbbb252b3826b8234c8e9a31e Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Tue, 19 Nov 2024 13:35:25 +0800 Subject: [PATCH 01/16] =?UTF-8?q?action=20=E5=A2=9E=E5=8A=A0enableField?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=80=BCwei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/BatEditSalaryExcelAction.java | 17 ++++++++++++++ .../action/CheckBatEditSalaryExcelAction.java | 17 ++++++++++++++ .../action/CheckEditSIArchiveAction.java | 17 ++++++++++++++ .../salary/action/CheckEditSalaryAction.java | 18 ++++++++++++++- .../salary/action/CheckInitSalaryAction.java | 16 ++++++++++++++ .../CheckStayAddToPaySIArchiveAction.java | 18 +++++++++++++++ .../CheckStayDelToStopSIArchiveAction.java | 17 ++++++++++++++ .../salary/action/CheckStopSalaryAction.java | 16 ++++++++++++++ .../action/CopyToPaySIArchiveAction.java | 22 ++++++++++++++++++- .../salary/action/EditSIArchiveAction.java | 17 ++++++++++++++ .../salary/action/EditSalaryAction.java | 18 ++++++++++++++- .../action/EditToPaySIArchiveAction.java | 17 ++++++++++++++ .../action/EditToStopSIArchiveAction.java | 17 ++++++++++++++ .../salary/action/InitSalaryAction.java | 16 ++++++++++++++ .../engine/salary/action/RehireAction.java | 17 ++++++++++++++ .../salary/action/SendSalaryAction.java | 18 +++++++++++++++ .../action/StayAddToPaySIArchiveAction.java | 17 ++++++++++++++ .../action/StayDelToStopSIArchiveAction.java | 17 ++++++++++++++ .../salary/action/StopSalaryAction.java | 16 ++++++++++++++ .../action/UpdateSISchemeDetailAction.java | 20 +++++++++++++++++ 20 files changed, 345 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/action/BatEditSalaryExcelAction.java b/src/com/engine/salary/action/BatEditSalaryExcelAction.java index adddc2de9..adc1f7160 100644 --- a/src/com/engine/salary/action/BatEditSalaryExcelAction.java +++ b/src/com/engine/salary/action/BatEditSalaryExcelAction.java @@ -7,6 +7,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; import com.engine.salary.service.SalaryArchiveExcelService; import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -45,6 +46,17 @@ public class BatEditSalaryExcelAction implements Action { this.operatorField = operatorField; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -53,6 +65,11 @@ public class BatEditSalaryExcelAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } String docId = fieldMap.get(batSalaryExcelField); RecordSet rs = new RecordSet(); diff --git a/src/com/engine/salary/action/CheckBatEditSalaryExcelAction.java b/src/com/engine/salary/action/CheckBatEditSalaryExcelAction.java index 408b2fa7f..0378e8b62 100644 --- a/src/com/engine/salary/action/CheckBatEditSalaryExcelAction.java +++ b/src/com/engine/salary/action/CheckBatEditSalaryExcelAction.java @@ -7,6 +7,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; import com.engine.salary.service.SalaryArchiveExcelService; import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -46,6 +47,17 @@ public class CheckBatEditSalaryExcelAction implements Action { this.operatorField = operatorField; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -53,6 +65,11 @@ public class CheckBatEditSalaryExcelAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } String docId = fieldMap.get(batSalaryExcelField); RecordSet rs = new RecordSet(); diff --git a/src/com/engine/salary/action/CheckEditSIArchiveAction.java b/src/com/engine/salary/action/CheckEditSIArchiveAction.java index f4f8d9165..2a0bbccb7 100644 --- a/src/com/engine/salary/action/CheckEditSIArchiveAction.java +++ b/src/com/engine/salary/action/CheckEditSIArchiveAction.java @@ -7,6 +7,7 @@ import com.engine.salary.service.impl.SISchemeServiceImpl; import com.engine.salary.util.SalaryEntityUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -42,6 +43,17 @@ public class CheckEditSIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -49,6 +61,11 @@ public class CheckEditSIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/CheckEditSalaryAction.java b/src/com/engine/salary/action/CheckEditSalaryAction.java index 7cee919f3..f8c2dcb75 100644 --- a/src/com/engine/salary/action/CheckEditSalaryAction.java +++ b/src/com/engine/salary/action/CheckEditSalaryAction.java @@ -6,6 +6,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.wrapper.SalaryArchiveWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -38,6 +39,17 @@ public class CheckEditSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -46,7 +58,11 @@ public class CheckEditSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); - + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/CheckInitSalaryAction.java b/src/com/engine/salary/action/CheckInitSalaryAction.java index 34dd5782a..157ecab8a 100644 --- a/src/com/engine/salary/action/CheckInitSalaryAction.java +++ b/src/com/engine/salary/action/CheckInitSalaryAction.java @@ -60,6 +60,17 @@ public class CheckInitSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -68,6 +79,11 @@ public class CheckInitSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); diff --git a/src/com/engine/salary/action/CheckStayAddToPaySIArchiveAction.java b/src/com/engine/salary/action/CheckStayAddToPaySIArchiveAction.java index 786d4c863..6adfa8299 100644 --- a/src/com/engine/salary/action/CheckStayAddToPaySIArchiveAction.java +++ b/src/com/engine/salary/action/CheckStayAddToPaySIArchiveAction.java @@ -9,6 +9,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -49,6 +50,17 @@ public class CheckStayAddToPaySIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -57,6 +69,12 @@ public class CheckStayAddToPaySIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } + RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/CheckStayDelToStopSIArchiveAction.java b/src/com/engine/salary/action/CheckStayDelToStopSIArchiveAction.java index a89df0ad4..ef816fbd8 100644 --- a/src/com/engine/salary/action/CheckStayDelToStopSIArchiveAction.java +++ b/src/com/engine/salary/action/CheckStayDelToStopSIArchiveAction.java @@ -9,6 +9,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -49,6 +50,17 @@ public class CheckStayDelToStopSIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -57,6 +69,11 @@ public class CheckStayDelToStopSIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/CheckStopSalaryAction.java b/src/com/engine/salary/action/CheckStopSalaryAction.java index f4cdc0fb2..78b3c0a7c 100644 --- a/src/com/engine/salary/action/CheckStopSalaryAction.java +++ b/src/com/engine/salary/action/CheckStopSalaryAction.java @@ -54,6 +54,17 @@ public class CheckStopSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -62,6 +73,11 @@ public class CheckStopSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/CopyToPaySIArchiveAction.java b/src/com/engine/salary/action/CopyToPaySIArchiveAction.java index 2fcfb6596..8f0421c71 100644 --- a/src/com/engine/salary/action/CopyToPaySIArchiveAction.java +++ b/src/com/engine/salary/action/CopyToPaySIArchiveAction.java @@ -11,6 +11,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -18,7 +19,10 @@ import weaver.interfaces.workflow.action.Action; import weaver.soa.workflow.request.Property; import weaver.soa.workflow.request.RequestInfo; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -47,6 +51,17 @@ public class CopyToPaySIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -54,6 +69,11 @@ public class CopyToPaySIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/EditSIArchiveAction.java b/src/com/engine/salary/action/EditSIArchiveAction.java index 22dda2d3e..4cb6eb505 100644 --- a/src/com/engine/salary/action/EditSIArchiveAction.java +++ b/src/com/engine/salary/action/EditSIArchiveAction.java @@ -7,6 +7,7 @@ import com.engine.salary.service.impl.SISchemeServiceImpl; import com.engine.salary.util.SalaryEntityUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -41,6 +42,17 @@ public class EditSIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -48,6 +60,11 @@ public class EditSIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/EditSalaryAction.java b/src/com/engine/salary/action/EditSalaryAction.java index eed5d1648..3c8dd5446 100644 --- a/src/com/engine/salary/action/EditSalaryAction.java +++ b/src/com/engine/salary/action/EditSalaryAction.java @@ -6,6 +6,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.wrapper.SalaryArchiveWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -38,6 +39,17 @@ public class EditSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -46,7 +58,11 @@ public class EditSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); - + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/EditToPaySIArchiveAction.java b/src/com/engine/salary/action/EditToPaySIArchiveAction.java index c736f9698..31259e94a 100644 --- a/src/com/engine/salary/action/EditToPaySIArchiveAction.java +++ b/src/com/engine/salary/action/EditToPaySIArchiveAction.java @@ -15,6 +15,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -59,6 +60,17 @@ public class EditToPaySIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -66,6 +78,11 @@ public class EditToPaySIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/EditToStopSIArchiveAction.java b/src/com/engine/salary/action/EditToStopSIArchiveAction.java index 80b16ab93..1f2a612fd 100644 --- a/src/com/engine/salary/action/EditToStopSIArchiveAction.java +++ b/src/com/engine/salary/action/EditToStopSIArchiveAction.java @@ -15,6 +15,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -59,6 +60,17 @@ public class EditToStopSIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -66,6 +78,11 @@ public class EditToStopSIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/InitSalaryAction.java b/src/com/engine/salary/action/InitSalaryAction.java index d280f49ab..af3ab875e 100644 --- a/src/com/engine/salary/action/InitSalaryAction.java +++ b/src/com/engine/salary/action/InitSalaryAction.java @@ -63,6 +63,17 @@ public class InitSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -70,6 +81,11 @@ public class InitSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/RehireAction.java b/src/com/engine/salary/action/RehireAction.java index a2410578c..f0ac107f3 100644 --- a/src/com/engine/salary/action/RehireAction.java +++ b/src/com/engine/salary/action/RehireAction.java @@ -70,6 +70,17 @@ public class RehireAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -78,6 +89,12 @@ public class RehireAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } + RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/SendSalaryAction.java b/src/com/engine/salary/action/SendSalaryAction.java index f0f3ef154..39705e5c2 100644 --- a/src/com/engine/salary/action/SendSalaryAction.java +++ b/src/com/engine/salary/action/SendSalaryAction.java @@ -65,12 +65,30 @@ public class SendSalaryAction implements Action { */ private String sendBy; + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { Property[] properties = requestInfo.getMainTableInfo().getProperty(); Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } + String idStr = fieldMap.get(idFieldName); if (StringUtils.isBlank(idStr)) { requestInfo.getRequestManager().setMessage("核算记录id或工资单id不能为空"); diff --git a/src/com/engine/salary/action/StayAddToPaySIArchiveAction.java b/src/com/engine/salary/action/StayAddToPaySIArchiveAction.java index c0bc0c0b0..371bdd8ee 100644 --- a/src/com/engine/salary/action/StayAddToPaySIArchiveAction.java +++ b/src/com/engine/salary/action/StayAddToPaySIArchiveAction.java @@ -12,6 +12,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -54,6 +55,17 @@ public class StayAddToPaySIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -62,6 +74,11 @@ public class StayAddToPaySIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/StayDelToStopSIArchiveAction.java b/src/com/engine/salary/action/StayDelToStopSIArchiveAction.java index 339fad1bb..b715b9eea 100644 --- a/src/com/engine/salary/action/StayDelToStopSIArchiveAction.java +++ b/src/com/engine/salary/action/StayDelToStopSIArchiveAction.java @@ -14,6 +14,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -55,6 +56,17 @@ public class StayDelToStopSIArchiveAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -63,6 +75,11 @@ public class StayDelToStopSIArchiveAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/StopSalaryAction.java b/src/com/engine/salary/action/StopSalaryAction.java index 7eafe84bb..6433e4e95 100644 --- a/src/com/engine/salary/action/StopSalaryAction.java +++ b/src/com/engine/salary/action/StopSalaryAction.java @@ -60,6 +60,17 @@ public class StopSalaryAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { @@ -68,6 +79,11 @@ public class StopSalaryAction implements Action { Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } RecordSet rs = new RecordSet(); diff --git a/src/com/engine/salary/action/UpdateSISchemeDetailAction.java b/src/com/engine/salary/action/UpdateSISchemeDetailAction.java index 0d406455a..91c93c377 100644 --- a/src/com/engine/salary/action/UpdateSISchemeDetailAction.java +++ b/src/com/engine/salary/action/UpdateSISchemeDetailAction.java @@ -55,12 +55,32 @@ public class UpdateSISchemeDetailAction implements Action { this.tableName = tableName; } + // 是否执行action的字段, 0代表不执行,其余代表执行 + private String enableField; + + public String getEnableField() { + return enableField; + } + + public void setEnableField(String enableField) { + this.enableField = enableField; + } + @Override public String execute(RequestInfo requestInfo) { try { RequestManager requestManager = requestInfo.getRequestManager(); User user = requestManager.getUser(); + Property[] properties = requestInfo.getMainTableInfo().getProperty(); + Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, + property -> Util.null2String(property.getValue()))); + String enable = fieldMap.get(enableField); + if (StringUtils.isNotBlank(enable) && enable.equals("0")) { + // 不执行action + return SUCCESS; + } + DetailTable[] detailTables = requestInfo.getDetailTableInfo().getDetailTable(); List> detailList = new ArrayList<>(); if (detailTables.length > 0) { From 04fb5edaded1c5ec456c270477a5835a8a44b50b Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 20 Nov 2024 11:28:14 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E6=B5=AE=E5=8A=A8=E8=96=AA=E9=85=AC?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E3=80=81=E6=95=B0=E5=80=BC=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/service/impl/VariableArchiveServiceImpl.java | 4 ++-- src/com/engine/salary/wrapper/VariableArchiveWrapper.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java index 82b727009..06218ebc9 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java @@ -20,6 +20,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveInitImportDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; +import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.VariableArchiveMapper; import com.engine.salary.service.*; @@ -272,8 +273,6 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi //动态列组装 List columns = VariableArchiveBO.buildVariableArchiveTable(variableItems); - columns.add(0, new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "薪资所属月"), "salaryMonth")); - Map datas = new HashMap<>(); datas.put("data", resultMap); datas.put("column", columns); @@ -287,6 +286,7 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi .map(po -> VariableItemListDTO.builder() .id(po.getId()) .name(po.getName()) + .dataType(SalaryDataTypeEnum.parseByValue(po.getDataType()).getValue()) .build()) .collect(Collectors.toList()); return variableItemDTOList; diff --git a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java index 61f9dcc86..927fa299a 100644 --- a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java +++ b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java @@ -50,14 +50,14 @@ public class VariableArchiveWrapper extends Service { */ public Map list(VariableArchiveQueryParam queryParam) { - //薪资档案列表 + // 薪资档案列表 PageInfo pageInfo = getVariableArchiveService(user).listPage(queryParam); List salaryArchives = pageInfo.getList(); // 获取所有浮动薪酬项目 List variableItems = getVariableItemService(user).listAll(); - //整合所有的显示列(固定列+薪资项目动态列) + // 整合所有的显示列(固定列+薪资项目动态列) List> listMaps = getVariableArchiveService(user).buildVariableArchiveData(salaryArchives); PageInfo> pageInfos = new PageInfo>(listMaps); From de5a00f588410a31f31245a66126bc87dea8261d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 25 Nov 2024 16:04:19 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=88=97=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/sqlupgrade/DM/sql202411250103.sql | 5 ++ resource/sqlupgrade/GS/sql202411250103.sql | 5 ++ resource/sqlupgrade/JC/sql202411250103.sql | 5 ++ resource/sqlupgrade/Mysql/sql202411250103.sql | 1 + .../sqlupgrade/Oracle/sql202411250103.sql | 4 ++ resource/sqlupgrade/PG/sql202411250103.sql | 1 + .../sqlupgrade/SQLServer/sql202411250103.sql | 2 + resource/sqlupgrade/ST/sql202411250103.sql | 5 ++ .../param/PageListSettingQueryParam.java | 2 + .../param/PageListSettingSaveParam.java | 8 ++- .../entity/setting/po/PageListSettingPO.java | 7 ++- .../mapper/setting/PageListSettingMapper.java | 2 +- .../mapper/setting/PageListSettingMapper.xml | 16 +++++ .../SalaryStatisticsEmployeeServiceImpl.java | 29 ++++++--- .../SalaryStatisticsEmployeeWrapper.java | 7 ++- .../engine/salary/service/SettingService.java | 3 +- .../service/impl/SettingServiceImpl.java | 60 +++++++++++++++---- .../salary/web/SalaryCommonController.java | 2 +- .../salary/wrapper/SalaryCommonWrapper.java | 3 +- 19 files changed, 136 insertions(+), 31 deletions(-) create mode 100644 resource/sqlupgrade/DM/sql202411250103.sql create mode 100644 resource/sqlupgrade/GS/sql202411250103.sql create mode 100644 resource/sqlupgrade/JC/sql202411250103.sql create mode 100644 resource/sqlupgrade/Mysql/sql202411250103.sql create mode 100644 resource/sqlupgrade/Oracle/sql202411250103.sql create mode 100644 resource/sqlupgrade/PG/sql202411250103.sql create mode 100644 resource/sqlupgrade/SQLServer/sql202411250103.sql create mode 100644 resource/sqlupgrade/ST/sql202411250103.sql diff --git a/resource/sqlupgrade/DM/sql202411250103.sql b/resource/sqlupgrade/DM/sql202411250103.sql new file mode 100644 index 000000000..9a56df46d --- /dev/null +++ b/resource/sqlupgrade/DM/sql202411250103.sql @@ -0,0 +1,5 @@ +ALTER TABLE hrsa_page_list_setting add ( + default_setting number +); +/ + diff --git a/resource/sqlupgrade/GS/sql202411250103.sql b/resource/sqlupgrade/GS/sql202411250103.sql new file mode 100644 index 000000000..9a56df46d --- /dev/null +++ b/resource/sqlupgrade/GS/sql202411250103.sql @@ -0,0 +1,5 @@ +ALTER TABLE hrsa_page_list_setting add ( + default_setting number +); +/ + diff --git a/resource/sqlupgrade/JC/sql202411250103.sql b/resource/sqlupgrade/JC/sql202411250103.sql new file mode 100644 index 000000000..9a56df46d --- /dev/null +++ b/resource/sqlupgrade/JC/sql202411250103.sql @@ -0,0 +1,5 @@ +ALTER TABLE hrsa_page_list_setting add ( + default_setting number +); +/ + diff --git a/resource/sqlupgrade/Mysql/sql202411250103.sql b/resource/sqlupgrade/Mysql/sql202411250103.sql new file mode 100644 index 000000000..0a79e673f --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202411250103.sql @@ -0,0 +1 @@ +ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int; \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202411250103.sql b/resource/sqlupgrade/Oracle/sql202411250103.sql new file mode 100644 index 000000000..81ccb980d --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202411250103.sql @@ -0,0 +1,4 @@ +ALTER TABLE hrsa_page_list_setting add ( + default_setting number +) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202411250103.sql b/resource/sqlupgrade/PG/sql202411250103.sql new file mode 100644 index 000000000..def09e4e2 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202411250103.sql @@ -0,0 +1 @@ +ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int ; \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202411250103.sql b/resource/sqlupgrade/SQLServer/sql202411250103.sql new file mode 100644 index 000000000..017545023 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202411250103.sql @@ -0,0 +1,2 @@ +ALTER TABLE hrsa_page_list_setting ADD default_setting int NULL +GO \ No newline at end of file diff --git a/resource/sqlupgrade/ST/sql202411250103.sql b/resource/sqlupgrade/ST/sql202411250103.sql new file mode 100644 index 000000000..9a56df46d --- /dev/null +++ b/resource/sqlupgrade/ST/sql202411250103.sql @@ -0,0 +1,5 @@ +ALTER TABLE hrsa_page_list_setting add ( + default_setting number +); +/ + diff --git a/src/com/engine/salary/entity/setting/param/PageListSettingQueryParam.java b/src/com/engine/salary/entity/setting/param/PageListSettingQueryParam.java index 0de49c816..b00d55c5d 100644 --- a/src/com/engine/salary/entity/setting/param/PageListSettingQueryParam.java +++ b/src/com/engine/salary/entity/setting/param/PageListSettingQueryParam.java @@ -19,4 +19,6 @@ public class PageListSettingQueryParam { private String page; private String name; + + private Integer defaultSetting; } \ No newline at end of file diff --git a/src/com/engine/salary/entity/setting/param/PageListSettingSaveParam.java b/src/com/engine/salary/entity/setting/param/PageListSettingSaveParam.java index bd97950e7..e164d4889 100644 --- a/src/com/engine/salary/entity/setting/param/PageListSettingSaveParam.java +++ b/src/com/engine/salary/entity/setting/param/PageListSettingSaveParam.java @@ -17,6 +17,12 @@ import java.util.List; @AllArgsConstructor public class PageListSettingSaveParam { + /** + * 默认设置 + */ + @DataCheck(require = true,message = "是否为默认设置") + private Integer defaultSetting; + /** * 页面,0:薪资明细 */ @@ -27,5 +33,5 @@ public class PageListSettingSaveParam { * 设置 */ @DataCheck(require = true,message = "请选择设置") - private List setting; + private List setting; } \ No newline at end of file diff --git a/src/com/engine/salary/entity/setting/po/PageListSettingPO.java b/src/com/engine/salary/entity/setting/po/PageListSettingPO.java index c27bec6a3..5d706166a 100644 --- a/src/com/engine/salary/entity/setting/po/PageListSettingPO.java +++ b/src/com/engine/salary/entity/setting/po/PageListSettingPO.java @@ -30,7 +30,12 @@ public class PageListSettingPO { * 设置 */ @ElogTransform(name = "设置") - private List setting; + private List setting; + + /** + * 默认设置 + */ + private Integer defaultSetting; /** diff --git a/src/com/engine/salary/mapper/setting/PageListSettingMapper.java b/src/com/engine/salary/mapper/setting/PageListSettingMapper.java index d45faa161..ef466c2a7 100644 --- a/src/com/engine/salary/mapper/setting/PageListSettingMapper.java +++ b/src/com/engine/salary/mapper/setting/PageListSettingMapper.java @@ -70,7 +70,7 @@ public interface PageListSettingMapper { void deleteByIds(@Param("ids") Collection ids); //获取页面默认配置 - PageListSettingPO getByPage(String page); + PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting); //获取页面配置模板 List getTemplatesByPage(String page); diff --git a/src/com/engine/salary/mapper/setting/PageListSettingMapper.xml b/src/com/engine/salary/mapper/setting/PageListSettingMapper.xml index f52abe207..d2234f231 100644 --- a/src/com/engine/salary/mapper/setting/PageListSettingMapper.xml +++ b/src/com/engine/salary/mapper/setting/PageListSettingMapper.xml @@ -10,6 +10,7 @@ + @@ -24,6 +25,7 @@ , t.setting , t.tenant_key , t.update_time + , t.default_setting @@ -70,6 +72,9 @@ AND update_time = #{updateTime} + + AND default_setting = #{defaultSetting} + AND id IN @@ -109,6 +114,9 @@ update_time, + + default_setting, + @@ -135,6 +143,9 @@ #{updateTime}, + + #{defaultSetting}, + @@ -150,6 +161,7 @@ setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler}, tenant_key=#{tenantKey}, update_time=#{updateTime}, + default_setting=#{defaultSetting}, WHERE id = #{id} AND delete_type = 0 @@ -180,6 +192,9 @@ update_time=#{updateTime}, + + default_setting=#{defaultSetting}, + WHERE id = #{id} AND delete_type = 0 @@ -209,6 +224,7 @@ FROM hrsa_page_list_setting t WHERE delete_type = 0 and page = #{page} + and default_setting = #{defaultSetting} - SELECT - - FROM hrsa_page_link t - WHERE delete_type = 0 - AND employee_id = #{employeeId} - AND page = #{page} - \ No newline at end of file diff --git a/src/com/engine/salary/mapper/setting/PageListTemplateMapper.xml b/src/com/engine/salary/mapper/setting/PageListTemplateMapper.xml index 3ba245afd..02d015d13 100644 --- a/src/com/engine/salary/mapper/setting/PageListTemplateMapper.xml +++ b/src/com/engine/salary/mapper/setting/PageListTemplateMapper.xml @@ -11,6 +11,7 @@ + @@ -28,6 +29,7 @@ , t.page , t.setting , t.shared_type + , t.system_type , t.tenant_key , t.update_time @@ -78,6 +80,9 @@ AND shared_type = #{sharedType} + + + AND system_type = #{systemType} AND tenant_key = #{tenantKey} @@ -127,6 +132,9 @@ shared_type, + + system_type, + tenant_key, @@ -162,6 +170,9 @@ #{sharedType}, + + #{systemType}, + #{tenantKey}, @@ -183,6 +194,7 @@ page=#{page}, setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler}, shared_type=#{sharedType}, + system_type=#{systemType}, tenant_key=#{tenantKey}, update_time=#{updateTime}, @@ -218,6 +230,9 @@ shared_type=#{sharedType}, + + system_type=#{systemType}, + tenant_key=#{tenantKey}, diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsEmployeeWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsEmployeeWrapper.java index 4f6a71d93..746647841 100644 --- a/src/com/engine/salary/report/wrapper/SalaryStatisticsEmployeeWrapper.java +++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsEmployeeWrapper.java @@ -10,8 +10,6 @@ import com.engine.salary.component.WeaTableColumnGroup; import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; -import com.engine.salary.entity.setting.dto.PageListTemplateDTO; -import com.engine.salary.entity.setting.param.PageListSettingQueryParam; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.report.common.constant.SalaryConstant; import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO; @@ -184,15 +182,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service { pageInfo.setList(records); pageInfo.setTotal(salaryAcctEmployeePageInfo.getTotal()); - List weaTableColumns; - //显示方案1,显示模板 - if (templateShow) { - weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue()); - } else { - PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).defaultSetting(0).build(); - PageListTemplateDTO pageListSetting = getSettingService(user).getPageListSetting(param); - weaTableColumns = pageListSetting.getChecked(); - } + List weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue()); // 结果 resultMap.put("columns", weaTableColumns); diff --git a/src/com/engine/salary/service/SettingService.java b/src/com/engine/salary/service/SettingService.java index 3bc47a569..7bf701910 100644 --- a/src/com/engine/salary/service/SettingService.java +++ b/src/com/engine/salary/service/SettingService.java @@ -8,18 +8,45 @@ import com.engine.salary.entity.setting.po.PageListTemplatePO; import java.util.List; public interface SettingService { + + @Deprecated void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam); - PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param); + /** + * 获取原有显示列定制配置 + * @param param + * @return + */ + PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param); + @Deprecated void resetPageListSetting(PageListSettingResetParam param); + /** + * 获取指定模板配置或者指定页面默认配置 + * @param param + * @return + */ PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param); + /** + * 获取可选模板列表 + * @param queryParam + * @return + */ List getPageListTemplates(PageListTemplateQueryParam queryParam); + /** + * 保存模板 + * @param param + * @return + */ PageListTemplatePO savePageListTemplate(PageListTemplateSaveParam param); + /** + * 更换模板 + * @param param + */ void changePageListTemplate(PageListTemplateChangeParam param); List getPageListColumns(String page); diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index 203d36621..eda0c7b1f 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -14,6 +14,8 @@ import com.engine.salary.entity.setting.po.PageLinkPO; import com.engine.salary.entity.setting.po.PageListSettingPO; import com.engine.salary.entity.setting.po.PageListTemplatePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.SalaryOnOffEnum; +import com.engine.salary.enums.common.SharedTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.setting.PageLinkMapper; import com.engine.salary.mapper.setting.PageListSettingMapper; @@ -92,7 +94,7 @@ public class SettingServiceImpl extends Service implements SettingService { } @Override - public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) { + public PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param) { String page = param.getPage(); if (SALARY_DETAILS_REPORT.getValue().equals(page)) { List columns = new ArrayList<>(); @@ -132,23 +134,13 @@ public class SettingServiceImpl extends Service implements SettingService { columns.addAll(collect); - Integer defaultSetting = param.getDefaultSetting(); Map columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn); - List checkedList = new ArrayList<>(); - //是否查询默认设置 - PageListSettingPO pageListSettingPO; - if (defaultSetting == 0) { - pageListSettingPO = getPageListSettingMapper().getByPage(page, 0, (long) user.getUID()); - //查不到个人查默认 - if (pageListSettingPO == null) { - pageListSettingPO = getPageListSettingMapper().getByPage(page, 1, null); - } - } else { - pageListSettingPO = getPageListSettingMapper().getByPage(page, 1, null); - } + //默认设置 + PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(page, 1, null); //查询选中的项目 + List checkedList = new ArrayList<>(); if (pageListSettingPO != null) { checkedList = Optional.ofNullable(pageListSettingPO.getSetting()).orElse(new ArrayList<>()).stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList()); } else { @@ -177,7 +169,6 @@ public class SettingServiceImpl extends Service implements SettingService { @Override public PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param) { String page = param.getPage(); - Long id = param.getId(); if (SALARY_DETAILS_REPORT.getValue().equals(page)) { List columns = new ArrayList<>(); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(87614, "薪资所属月"), "salaryMonth")); @@ -196,7 +187,7 @@ public class SettingServiceImpl extends Service implements SettingService { } List salaryItemList = getSalaryItemService(user).listAll(); - List collect = salaryItemList.stream().filter(po -> { + List salaryItemCols = salaryItemList.stream().filter(po -> { String name = param.getName(); if (StrUtil.isNotEmpty(name)) { return po.getName() != null && po.getName().contains(name); @@ -214,15 +205,25 @@ public class SettingServiceImpl extends Service implements SettingService { } }).map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX)).collect(Collectors.toList()); - columns.addAll(collect); + columns.addAll(salaryItemCols); Map columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn); - List checkedList = new ArrayList<>(); + List checkedList = columns; + Long id = param.getId(); if (id != null) { + //编辑模板,指定模板id PageListTemplatePO po = getPageListTemplateMapper().getById(id); if (po != null) { checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>()).stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList()); - + } + } else { + //打开选中的模板 + List pageListTemplates = getPageListTemplates(PageListTemplateQueryParam.builder().page(page).build()); + List columnList = pageListTemplates.stream() + .filter(PageListTemplatePO::getChecked).map(PageListTemplatePO::getSetting).findFirst().orElse(new ArrayList<>()) + .stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(columnList)) { + checkedList = columnList; } } return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build(); @@ -236,14 +237,53 @@ public class SettingServiceImpl extends Service implements SettingService { ValidUtil.doValidator(param); + Date now = new Date(); String page = param.getPage(); + //个人配置模板 PageListTemplatePO build = PageListTemplatePO.builder().page(page).build(); List pos = getPageListTemplateMapper().listSome(build); - //获取当前选择的模板 - PageLinkPO link = getPageLinkMapper().getLink((long) user.getUID(), SALARY_DETAILS_REPORT.getValue()); + //如果查不到不到系统模板,创建系统模板 + PageListTemplatePO systemTemplate = pos.stream().filter(po -> po.getSystemType() != null && po.getSystemType() == 1).findFirst().orElse(null); + if (systemTemplate == null) { + //查询系统默认配置 + PageListTemplateDTO pageListSetting = getDefaultPageListSetting(PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build()); + systemTemplate = PageListTemplatePO.builder() + .id(IdGenerator.generate()) + .page(param.getPage()) + .name("系统模板") + .sharedType(SharedTypeEnum.PUBLIC.getValue()) + .systemType(SalaryOnOffEnum.ON.getValue()) + .setting(pageListSetting.getChecked().stream().map(WeaTableColumn::getColumn).collect(Collectors.toList())) + .creator((long) user.getUID()) + .createTime(now) + .updateTime(now) + .deleteType(0) + .tenantKey(DEFAULT_TENANT_KEY).build(); + getPageListTemplateMapper().insertIgnoreNull(systemTemplate); + pos.add(systemTemplate); + } + + //获取当前选择的模板 + PageLinkPO link = getPageLinkMapper().listSome(PageLinkPO.builder().employeeId((long) user.getUID()).page(SALARY_DETAILS_REPORT.getValue()).build()).stream().findFirst().orElse(null); + if (link == null) { + link = PageLinkPO.builder() + .id(IdGenerator.generate()) + .employeeId((long) user.getUID()) + .page(param.getPage()) + .templateId(systemTemplate.getId()) + .tenantKey(DEFAULT_TENANT_KEY) + .createTime(new Date()) + .updateTime(new Date()) + .creator((long) user.getUID()) + .deleteType(0).build(); + getPageLinkMapper().insertIgnoreNull(link); + } + Long templateId = link.getTemplateId(); + + //权限控制 Collection taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); pos = pos.stream().filter(po -> { @@ -253,7 +293,7 @@ public class SettingServiceImpl extends Service implements SettingService { } return true; }).peek(po -> { - po.setChecked(link != null && po.getId().equals(link.getTemplateId())); + po.setChecked(po.getId().equals(templateId)); }).collect(Collectors.toList()); return pos; } @@ -301,13 +341,7 @@ public class SettingServiceImpl extends Service implements SettingService { @Override public List getPageListColumns(String page) { - PageLinkPO link = getPageLinkMapper().getLink((long) user.getUID(), page); - if (link != null) { - PageListTemplateDTO pageListTemplate = getPageListTemplate(PageListTemplateQueryParam.builder().page(page).id(link.getTemplateId()).build()); - return pageListTemplate.getChecked(); - } else { - PageListTemplateDTO pageListTemplate = getPageListTemplate(PageListTemplateQueryParam.builder().page(page).build()); - return pageListTemplate.getSetting(); - } + PageListTemplateDTO pageListTemplate = getPageListTemplate((PageListTemplateQueryParam.builder().page(page).build())); + return pageListTemplate.getChecked(); } } diff --git a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java index c8182fef1..2cf59dd73 100644 --- a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java @@ -42,7 +42,7 @@ public class SalaryCommonWrapper extends Service { public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) { - return getSettingService(user).getPageListSetting(param); + return getSettingService(user).getDefaultPageListSetting(param); } From c80d900339aef95b507783a9849e1a878540f093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 4 Dec 2024 09:13:41 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../setting/dto/PageListTemplateDTO.java | 54 ++++++++++++++-- .../dto/PageListTemplateDetailDTO.java | 19 ++++++ .../param/PageListTemplateQueryParam.java | 3 +- .../engine/salary/service/SettingService.java | 7 +- .../service/impl/SettingServiceImpl.java | 64 ++++++++++++++++--- .../salary/web/SalaryCommonController.java | 14 +++- .../salary/wrapper/SalaryCommonWrapper.java | 10 ++- 7 files changed, 151 insertions(+), 20 deletions(-) create mode 100644 src/com/engine/salary/entity/setting/dto/PageListTemplateDetailDTO.java diff --git a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java index 763485c8e..6ec53d5bd 100644 --- a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java +++ b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java @@ -1,6 +1,8 @@ package com.engine.salary.entity.setting.dto; -import com.cloudstore.eccom.pc.table.WeaTableColumn; +import com.engine.hrmelog.annotation.ElogTransform; +import com.engine.salary.annotation.TableTitle; +import com.engine.salary.enums.common.SharedTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -8,12 +10,56 @@ import lombok.NoArgsConstructor; import java.util.List; - +/** + * 薪资帐套表 + */ @Data @Builder @NoArgsConstructor @AllArgsConstructor +//hrsa_page_list_template public class PageListTemplateDTO { - private List setting; - private List checked; + + + private Long id; + + + /** + * 模板名称 + */ + @TableTitle(title = "模板名称",dataIndex = "name",key = "name") + private String name; + + /** + * 页面 + */ + private String page; + + /** + * 设置 + */ + private List setting; + + /** + * 是否共享,0否,1是 + * @see SharedTypeEnum + */ + @TableTitle(title = "可见性",dataIndex = "sharedType",key = "sharedType") + private Integer sharedType; + + /** + * 是否系统模板 + */ + @TableTitle(title = "是否系统模板",dataIndex = "systemType",key = "systemType") + private Integer systemType; + + + /** + * 限制 + */ + @ElogTransform(name = "限制") + private List limitIds; + + private Boolean canEdit; + } \ No newline at end of file diff --git a/src/com/engine/salary/entity/setting/dto/PageListTemplateDetailDTO.java b/src/com/engine/salary/entity/setting/dto/PageListTemplateDetailDTO.java new file mode 100644 index 000000000..7826c24ce --- /dev/null +++ b/src/com/engine/salary/entity/setting/dto/PageListTemplateDetailDTO.java @@ -0,0 +1,19 @@ +package com.engine.salary.entity.setting.dto; + +import com.cloudstore.eccom.pc.table.WeaTableColumn; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PageListTemplateDetailDTO { + private List setting; + private List checked; +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/setting/param/PageListTemplateQueryParam.java b/src/com/engine/salary/entity/setting/param/PageListTemplateQueryParam.java index 61213bbee..4170f5d2a 100644 --- a/src/com/engine/salary/entity/setting/param/PageListTemplateQueryParam.java +++ b/src/com/engine/salary/entity/setting/param/PageListTemplateQueryParam.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.setting.param; +import com.engine.salary.common.BaseQueryParam; import com.engine.salary.util.valid.DataCheck; import lombok.AllArgsConstructor; import lombok.Builder; @@ -13,7 +14,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -public class PageListTemplateQueryParam { +public class PageListTemplateQueryParam extends BaseQueryParam { private Long id; diff --git a/src/com/engine/salary/service/SettingService.java b/src/com/engine/salary/service/SettingService.java index 7bf701910..51951b942 100644 --- a/src/com/engine/salary/service/SettingService.java +++ b/src/com/engine/salary/service/SettingService.java @@ -2,8 +2,10 @@ package com.engine.salary.service; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.engine.salary.entity.setting.dto.PageListTemplateDTO; +import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO; import com.engine.salary.entity.setting.param.*; import com.engine.salary.entity.setting.po.PageListTemplatePO; +import com.engine.salary.util.page.PageInfo; import java.util.List; @@ -17,7 +19,7 @@ public interface SettingService { * @param param * @return */ - PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param); + PageListTemplateDetailDTO getDefaultPageListSetting(PageListSettingQueryParam param); @Deprecated void resetPageListSetting(PageListSettingResetParam param); @@ -27,7 +29,7 @@ public interface SettingService { * @param param * @return */ - PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param); + PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param); /** * 获取可选模板列表 @@ -51,4 +53,5 @@ public interface SettingService { List getPageListColumns(String page); + PageInfo getTemplates(PageListTemplateQueryParam param); } diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index eda0c7b1f..2fec4e809 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -9,6 +9,7 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.setting.dto.PageListTemplateDTO; +import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO; import com.engine.salary.entity.setting.param.*; import com.engine.salary.entity.setting.po.PageLinkPO; import com.engine.salary.entity.setting.po.PageListSettingPO; @@ -28,6 +29,8 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; +import com.engine.salary.util.page.PageInfo; +import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; import weaver.hrm.User; @@ -94,7 +97,7 @@ public class SettingServiceImpl extends Service implements SettingService { } @Override - public PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param) { + public PageListTemplateDetailDTO getDefaultPageListSetting(PageListSettingQueryParam param) { String page = param.getPage(); if (SALARY_DETAILS_REPORT.getValue().equals(page)) { List columns = new ArrayList<>(); @@ -146,10 +149,10 @@ public class SettingServiceImpl extends Service implements SettingService { } else { checkedList = columns; } - return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build(); + return PageListTemplateDetailDTO.builder().setting(columns).checked(checkedList).build(); } - return PageListTemplateDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build(); + return PageListTemplateDetailDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build(); } @Override @@ -167,7 +170,7 @@ public class SettingServiceImpl extends Service implements SettingService { } @Override - public PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param) { + public PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param) { String page = param.getPage(); if (SALARY_DETAILS_REPORT.getValue().equals(page)) { List columns = new ArrayList<>(); @@ -226,10 +229,10 @@ public class SettingServiceImpl extends Service implements SettingService { checkedList = columnList; } } - return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build(); + return PageListTemplateDetailDTO.builder().setting(columns).checked(checkedList).build(); } - return PageListTemplateDTO.builder().build(); + return PageListTemplateDetailDTO.builder().build(); } @Override @@ -248,7 +251,7 @@ public class SettingServiceImpl extends Service implements SettingService { PageListTemplatePO systemTemplate = pos.stream().filter(po -> po.getSystemType() != null && po.getSystemType() == 1).findFirst().orElse(null); if (systemTemplate == null) { //查询系统默认配置 - PageListTemplateDTO pageListSetting = getDefaultPageListSetting(PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build()); + PageListTemplateDetailDTO pageListSetting = getDefaultPageListSetting(PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build()); systemTemplate = PageListTemplatePO.builder() .id(IdGenerator.generate()) @@ -306,7 +309,19 @@ public class SettingServiceImpl extends Service implements SettingService { PageListTemplatePO po; if (id == null) { - po = PageListTemplatePO.builder().id(IdGenerator.generate()).page(param.getPage()).name(param.getName()).sharedType(param.getSharedType()).limitIds(param.getLimitIds()).setting(param.getSetting()).creator((long) user.getUID()).createTime(now).updateTime(now).deleteType(0).tenantKey(DEFAULT_TENANT_KEY).build(); + po = PageListTemplatePO.builder() + .id(IdGenerator.generate()) + .page(param.getPage()) + .name(param.getName()) + .sharedType(param.getSharedType()) + .systemType(0) + .limitIds(param.getLimitIds()) + .setting(param.getSetting()) + .creator((long) user.getUID()) + .createTime(now) + .updateTime(now) + .deleteType(0) + .tenantKey(DEFAULT_TENANT_KEY).build(); getPageListTemplateMapper().insertIgnoreNull(po); } else { po = getPageListTemplateMapper().getById(id); @@ -341,7 +356,38 @@ public class SettingServiceImpl extends Service implements SettingService { @Override public List getPageListColumns(String page) { - PageListTemplateDTO pageListTemplate = getPageListTemplate((PageListTemplateQueryParam.builder().page(page).build())); + PageListTemplateDetailDTO pageListTemplate = getPageListTemplate((PageListTemplateQueryParam.builder().page(page).build())); return pageListTemplate.getChecked(); } + + @Override + public PageInfo getTemplates(PageListTemplateQueryParam param) { + PageListTemplatePO build = PageListTemplatePO.builder().page(param.getPage()).build(); + List pos = getPageListTemplateMapper().listSome(build); + + //权限控制 + Collection taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); + Boolean chief = getTaxAgentService().isChief((long) user.getUID()); + List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); + List templateDTOS = pos.stream() + .filter(po -> { + if (po.getSharedType() == 1) { + List limitIds = po.getLimitIds(); + return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(limitIds, taxIds).size() != 0; + } + return true; + }).map(po -> PageListTemplateDTO.builder() + .id(po.getId()) + .page(po.getPage()) + .name(po.getName()) + .sharedType(po.getSharedType()) + .systemType(po.getSystemType()) + .limitIds(po.getLimitIds()) + .setting(po.getSetting()) + .canEdit(chief || po.getSystemType() == 0) + .build()) + .collect(Collectors.toList()); + + return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), templateDTOS, PageListTemplateDTO.class); + } } diff --git a/src/com/engine/salary/web/SalaryCommonController.java b/src/com/engine/salary/web/SalaryCommonController.java index 0895ec79e..0026d451b 100644 --- a/src/com/engine/salary/web/SalaryCommonController.java +++ b/src/com/engine/salary/web/SalaryCommonController.java @@ -2,11 +2,13 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.setting.dto.PageListTemplateDTO; +import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO; import com.engine.salary.entity.setting.param.*; import com.engine.salary.entity.setting.po.PageListSettingPO; import com.engine.salary.entity.setting.po.PageListTemplatePO; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.SalaryEnumUtil; +import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.SalaryCommonWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.extern.slf4j.Slf4j; @@ -88,7 +90,7 @@ public class SalaryCommonController { @Produces(MediaType.APPLICATION_JSON) public String getPageListSetting(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListSettingQueryParam param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param); + return new ResponseResult(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param); } /** @@ -103,7 +105,7 @@ public class SalaryCommonController { @Produces(MediaType.APPLICATION_JSON) public String getPageListTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListTemplateQueryParam param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getSalaryCommonWrapper(user)::getPageListTemplate, param); + return new ResponseResult(user).run(getSalaryCommonWrapper(user)::getPageListTemplate, param); } /** @@ -121,6 +123,14 @@ public class SalaryCommonController { return new ResponseResult>(user).run(getSalaryCommonWrapper(user)::getPageListTemplates, param); } + @POST + @Path("/pageList/template/pageList") + @Produces(MediaType.APPLICATION_JSON) + public String getTemplates(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListTemplateQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryCommonWrapper(user)::getTemplates, param); + } + /** * 页面模板列表 * @param request diff --git a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java index 2cf59dd73..0198b817d 100644 --- a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java @@ -3,12 +3,14 @@ package com.engine.salary.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.setting.dto.PageListTemplateDTO; +import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO; import com.engine.salary.entity.setting.param.*; import com.engine.salary.entity.setting.po.PageListTemplatePO; import com.engine.salary.service.SalaryCacheService; import com.engine.salary.service.SettingService; import com.engine.salary.service.impl.SalaryCacheServiceImpl; import com.engine.salary.service.impl.SettingServiceImpl; +import com.engine.salary.util.page.PageInfo; import weaver.hrm.User; import java.util.List; @@ -41,12 +43,12 @@ public class SalaryCommonWrapper extends Service { } - public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) { + public PageListTemplateDetailDTO getPageListSetting(PageListSettingQueryParam param) { return getSettingService(user).getDefaultPageListSetting(param); } - public PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param) { + public PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param) { return getSettingService(user).getPageListTemplate(param); } @@ -54,6 +56,10 @@ public class SalaryCommonWrapper extends Service { return getSettingService(user).getPageListTemplates(param); } + public PageInfo getTemplates(PageListTemplateQueryParam param) { + return getSettingService(user).getTemplates(param); + } + public PageListTemplatePO savePageListTemplate(PageListTemplateSaveParam param) { return getSettingService(user).savePageListTemplate(param); } From 3e3350bcd66f07462754f1ed8b496b24725e87a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 4 Dec 2024 10:14:39 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/PageListTemplateDeleteParam.java | 18 +++++++++++++ .../engine/salary/service/SettingService.java | 2 ++ .../service/impl/SettingServiceImpl.java | 25 +++++++++++++++++++ .../salary/web/SalaryCommonController.java | 9 +++++++ .../salary/wrapper/SalaryCommonWrapper.java | 4 +++ 5 files changed, 58 insertions(+) create mode 100644 src/com/engine/salary/entity/setting/param/PageListTemplateDeleteParam.java diff --git a/src/com/engine/salary/entity/setting/param/PageListTemplateDeleteParam.java b/src/com/engine/salary/entity/setting/param/PageListTemplateDeleteParam.java new file mode 100644 index 000000000..d02ac39b4 --- /dev/null +++ b/src/com/engine/salary/entity/setting/param/PageListTemplateDeleteParam.java @@ -0,0 +1,18 @@ +package com.engine.salary.entity.setting.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PageListTemplateDeleteParam { + private List ids; + +} \ No newline at end of file diff --git a/src/com/engine/salary/service/SettingService.java b/src/com/engine/salary/service/SettingService.java index 51951b942..a859a3393 100644 --- a/src/com/engine/salary/service/SettingService.java +++ b/src/com/engine/salary/service/SettingService.java @@ -54,4 +54,6 @@ public interface SettingService { List getPageListColumns(String page); PageInfo getTemplates(PageListTemplateQueryParam param); + + void deletePageListTemplate(PageListTemplateDeleteParam param); } diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index 2fec4e809..88818cb9c 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -390,4 +390,29 @@ public class SettingServiceImpl extends Service implements SettingService { return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), templateDTOS, PageListTemplateDTO.class); } + + @Override + public void deletePageListTemplate(PageListTemplateDeleteParam param) { + List ids = param.getIds(); + + if (CollUtil.isEmpty(ids)) { + throw new SalaryRunTimeException("未选择模板!"); + } + + ids.forEach(id -> { + PageListTemplatePO pageListTemplatePO = getPageListTemplateMapper().getById(id); + if (pageListTemplatePO == null) { + throw new SalaryRunTimeException("模板不存在!"); + } + if (pageListTemplatePO.getSystemType() == 1) { + throw new SalaryRunTimeException("系统模板不允许删除!"); + } + List pageLinkPOS = getPageLinkMapper().listSome(PageLinkPO.builder().templateId(id).build()); + if (CollUtil.isNotEmpty(pageLinkPOS)) { + throw new SalaryRunTimeException(pageListTemplatePO.getName() + "模板正被使用!不允许删除"); + } + }); + + getPageListTemplateMapper().deleteByIds(ids); + } } diff --git a/src/com/engine/salary/web/SalaryCommonController.java b/src/com/engine/salary/web/SalaryCommonController.java index 0026d451b..b7cd6404f 100644 --- a/src/com/engine/salary/web/SalaryCommonController.java +++ b/src/com/engine/salary/web/SalaryCommonController.java @@ -146,6 +146,15 @@ public class SalaryCommonController { return new ResponseResult(user).run(getSalaryCommonWrapper(user)::savePageListTemplate, param); } + @POST + @Path("/pageList/template/delete") + @Produces(MediaType.APPLICATION_JSON) + public String savePageListTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListTemplateDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryCommonWrapper(user)::deletePageListTemplate, param); + } + + /** * 页面模板列表 * @param request diff --git a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java index 0198b817d..d4bebab23 100644 --- a/src/com/engine/salary/wrapper/SalaryCommonWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryCommonWrapper.java @@ -64,6 +64,10 @@ public class SalaryCommonWrapper extends Service { return getSettingService(user).savePageListTemplate(param); } + public void deletePageListTemplate(PageListTemplateDeleteParam param) { + getSettingService(user).deletePageListTemplate(param); + } + public void changePageListTemplate(PageListTemplateChangeParam param) { getSettingService(user).changePageListTemplate(param); } From 051a38d408d357eda3d1b3c246054323e4e1db79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 4 Dec 2024 11:46:00 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E7=A4=BE=E4=BF=9D=E5=92=8C=E8=96=AA?= =?UTF-8?q?=E8=B5=84=E6=A1=A3=E6=A1=88=E6=94=AF=E6=8C=81=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A2=9E=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/service/SIArchivesService.java | 2 + .../service/impl/SIArchivesServiceImpl.java | 5 ++ .../timer/AutoSyncEmpArchiveStartDateJob.java | 46 ++++++++++++++----- 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/com/engine/salary/service/SIArchivesService.java b/src/com/engine/salary/service/SIArchivesService.java index 8e114c756..dd13f472a 100644 --- a/src/com/engine/salary/service/SIArchivesService.java +++ b/src/com/engine/salary/service/SIArchivesService.java @@ -162,4 +162,6 @@ public interface SIArchivesService { List listInsuranceArchivesFundSchemeByIds(List ids); List listInsuranceArchivesOtherSchemeByIds(List ids); + + List listAll(); } diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index b14d1b74a..fe07b84a8 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -4218,4 +4218,9 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService partition.forEach(list -> resultList.addAll(getOtherSchemeMapper().getOtherById(list))); return resultList; } + + @Override + public List listAll() { + return getInsuranceBaseInfoMapper().listAll(); + } } diff --git a/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java b/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java index 1b4c32c84..6c817ed4e 100644 --- a/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java +++ b/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java @@ -3,12 +3,15 @@ package com.engine.salary.timer; import com.engine.common.util.ServiceUtil; import com.engine.salary.biz.SalaryArchiveBiz; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO; +import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam; import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO; import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; +import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum; import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.mapper.siarchives.FundSchemeMapper; import com.engine.salary.mapper.siarchives.OtherSchemeMapper; @@ -22,14 +25,12 @@ import com.engine.salary.service.impl.SalaryEmployeeServiceImpl; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.db.MapperProxyFactory; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import weaver.hrm.User; import weaver.interfaces.schedule.BaseCronJob; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,25 +39,28 @@ import java.util.stream.Collectors; * @date 2023/08/14 9:30 * @description 自动同步人员社保福利档案、薪资档案为公司开始日期字段(companystartdate) */ +@Slf4j public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob { private SalaryArchiveService getSalaryArchiveService(User user) { - return ServiceUtil.getService(SalaryArchiveServiceImpl.class,user); + return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user); } private SalaryEmployeeService getSalaryEmployeeService(User user) { - return ServiceUtil.getService(SalaryEmployeeServiceImpl.class,user); + return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } private SIArchivesService getSIArchivesService(User user) { - return ServiceUtil.getService(SIArchivesServiceImpl.class,user); + return ServiceUtil.getService(SIArchivesServiceImpl.class, user); } private String syncInsuranceArchive; - private String syncSalaryArchive; + private String allStayAddToPay; + private String allGotoFixed; + private SalaryArchiveBiz getSalaryArchiveMapper = new SalaryArchiveBiz(); private SocialSchemeMapper getSocialSchemeMapper() { @@ -72,14 +76,13 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob { } - @Override public void execute() { User user = new User(); user.setUid(1); user.setLoginid("sysadmin"); - if (StringUtils.isBlank(syncInsuranceArchive) || !StringUtils.equals(syncInsuranceArchive,"false")) { + if (StringUtils.isBlank(syncInsuranceArchive) || !StringUtils.equals(syncInsuranceArchive, "false")) { // 同步社保福利档案 // 获取社保、公积金、其他福利中起始缴纳月任意一个为空的社保档案主表po List needSyncInsuranceBaseInfoList = getSIArchivesService(user).listStartDateIsNull(Collections.emptyList()); @@ -125,7 +128,7 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob { }); } - if (StringUtils.isBlank(syncSalaryArchive) || !StringUtils.equals(syncSalaryArchive,"false")) { + if (StringUtils.isBlank(syncSalaryArchive) || !StringUtils.equals(syncSalaryArchive, "false")) { // 同步薪资档案 // 获取薪资档案起始发薪日为空且是待定薪资的档案 List salaryArchiveList = getSalaryArchiveService(user).listPayStartDateIsNull(SalaryArchiveListTypeEnum.PENDING.getValue()); @@ -154,6 +157,27 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob { getSalaryArchiveMapper.batchUpdate(needUpdateArchiveList); } + + //一键定薪 + if (StringUtils.isNotBlank(allStayAddToPay) && !StringUtils.equals(allStayAddToPay, "false")) { + List allBaseInfoList = getSIArchivesService(user).listAll(); + List ids = allBaseInfoList.stream() + .filter(f -> f.getRunStatus().equals(EmployeeStatusEnum.STAY_ADD.getValue())) + .map(InsuranceArchivesBaseInfoPO::getId) + .collect(Collectors.toList()); + Map map = getSIArchivesService(user).stayAddToPay(ids); + log.info("社保一键定薪结果:" + map); + } + + if (StringUtils.isNotBlank(allGotoFixed) && !StringUtils.equals(allGotoFixed, "false")) { + SalaryArchiveQueryParam queryParam = SalaryArchiveQueryParam.builder().build(); + queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.PENDING.getValue())); + List salaryArchiveList = getSalaryArchiveService(user).getSalaryArchiveList(queryParam); + List ids = SalaryEntityUtil.properties(salaryArchiveList, SalaryArchiveListDTO::getId, Collectors.toList()); + Map map = getSalaryArchiveService(user).gotoFixed(ids); + log.info("薪资一键定薪结果:" + map); + } + } } From 0114bdeb3f40e74a543c67d1f43114dbfbf7549c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 4 Dec 2024 17:45:56 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../setting/dto/PageListTemplateDTO.java | 12 ++++--- .../entity/setting/po/PageListTemplatePO.java | 2 +- .../salary/enums/common/SharedTypeEnum.java | 15 ++++++-- .../service/impl/SettingServiceImpl.java | 35 ++++++++++++++++--- 4 files changed, 52 insertions(+), 12 deletions(-) diff --git a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java index 6ec53d5bd..d30ad0cc1 100644 --- a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java +++ b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java @@ -1,6 +1,5 @@ package com.engine.salary.entity.setting.dto; -import com.engine.hrmelog.annotation.ElogTransform; import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.common.SharedTypeEnum; import lombok.AllArgsConstructor; @@ -44,20 +43,25 @@ public class PageListTemplateDTO { * 是否共享,0否,1是 * @see SharedTypeEnum */ - @TableTitle(title = "可见性",dataIndex = "sharedType",key = "sharedType") private Integer sharedType; + @TableTitle(title = "可见性",dataIndex = "sharedTypeName",key = "sharedTypeName") + private String sharedTypeName; + /** * 是否系统模板 */ - @TableTitle(title = "是否系统模板",dataIndex = "systemType",key = "systemType") private Integer systemType; + @TableTitle(title = "是否系统模板",dataIndex = "systemTypeName",key = "systemTypeName") + private String systemTypeName; + + @TableTitle(title = "范围",dataIndex = "systemType",key = "systemType") + private String limits; /** * 限制 */ - @ElogTransform(name = "限制") private List limitIds; private Boolean canEdit; diff --git a/src/com/engine/salary/entity/setting/po/PageListTemplatePO.java b/src/com/engine/salary/entity/setting/po/PageListTemplatePO.java index c6a013da1..1b2f727b4 100644 --- a/src/com/engine/salary/entity/setting/po/PageListTemplatePO.java +++ b/src/com/engine/salary/entity/setting/po/PageListTemplatePO.java @@ -48,7 +48,7 @@ public class PageListTemplatePO { * 是否共享,0否,1是 * @see SharedTypeEnum */ - @ElogTransform(name = "可见性:0公共,1私有") + @ElogTransform(name = "可见性:1私有,0共享") private Integer sharedType; /** diff --git a/src/com/engine/salary/enums/common/SharedTypeEnum.java b/src/com/engine/salary/enums/common/SharedTypeEnum.java index eec98de1d..286962c24 100644 --- a/src/com/engine/salary/enums/common/SharedTypeEnum.java +++ b/src/com/engine/salary/enums/common/SharedTypeEnum.java @@ -2,10 +2,12 @@ package com.engine.salary.enums.common; import com.engine.salary.enums.BaseEnum; +import java.util.Objects; + public enum SharedTypeEnum implements BaseEnum { - PUBLIC(0, "公共", 86568), - PRIVATE(1, "私有", 86569); + PRIVATE(1, "私有", 86569), + PUBLIC(0, "共享", 86568); private Integer value; @@ -34,4 +36,13 @@ public enum SharedTypeEnum implements BaseEnum { public String getDefaultLabel() { return this.defaultLabel; } + + public static SharedTypeEnum parseByValue(Integer value) { + for (SharedTypeEnum enums : SharedTypeEnum.values()) { + if (Objects.equals(enums.getValue(), value)) { + return enums; + } + } + return PUBLIC; + } } diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index 88818cb9c..2274368d3 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -290,9 +290,19 @@ public class SettingServiceImpl extends Service implements SettingService { Collection taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); pos = pos.stream().filter(po -> { - if (po.getSharedType() == 1) { + SharedTypeEnum sharedTypeEnum = SharedTypeEnum.parseByValue(po.getSharedType()); + //系统模板直接可见 + if(po.getSystemType()==1){ + return true; + } + //私有,只能自己看到 + if (sharedTypeEnum == SharedTypeEnum.PRIVATE) { + return Objects.equals((long) user.getUID(), po.getCreator()); + } + //共享 + if (sharedTypeEnum == SharedTypeEnum.PUBLIC) { List limitIds = po.getLimitIds(); - return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(limitIds, taxIds).size() != 0; + return CollectionUtil.isEmpty(limitIds) || CollectionUtil.intersection(limitIds, taxIds).size() != 0; } return true; }).peek(po -> { @@ -371,9 +381,19 @@ public class SettingServiceImpl extends Service implements SettingService { List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); List templateDTOS = pos.stream() .filter(po -> { - if (po.getSharedType() == 1) { + SharedTypeEnum sharedTypeEnum = SharedTypeEnum.parseByValue(po.getSharedType()); + //系统模板直接可见 + if(po.getSystemType()==1){ + return true; + } + //私有,只能自己看到 + if (sharedTypeEnum == SharedTypeEnum.PRIVATE) { + return Objects.equals((long) user.getUID(), po.getCreator()); + } + //共享 + if (sharedTypeEnum == SharedTypeEnum.PUBLIC) { List limitIds = po.getLimitIds(); - return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(limitIds, taxIds).size() != 0; + return CollectionUtil.isEmpty(limitIds) || CollectionUtil.intersection(limitIds, taxIds).size() != 0; } return true; }).map(po -> PageListTemplateDTO.builder() @@ -382,9 +402,11 @@ public class SettingServiceImpl extends Service implements SettingService { .name(po.getName()) .sharedType(po.getSharedType()) .systemType(po.getSystemType()) + .sharedTypeName(SharedTypeEnum.parseByValue(po.getSharedType()).getDefaultLabel()) + .systemTypeName(po.getSystemType() == 1 ? "系统模板" : "自定义") .limitIds(po.getLimitIds()) .setting(po.getSetting()) - .canEdit(chief || po.getSystemType() == 0) + .canEdit(chief || (Objects.equals((long) user.getUID(), po.getCreator()) && po.getSystemType() == 0)) .build()) .collect(Collectors.toList()); @@ -407,6 +429,9 @@ public class SettingServiceImpl extends Service implements SettingService { if (pageListTemplatePO.getSystemType() == 1) { throw new SalaryRunTimeException("系统模板不允许删除!"); } + if (!Objects.equals((long) user.getUID(), pageListTemplatePO.getCreator())) { + throw new SalaryRunTimeException(pageListTemplatePO.getName() + "模板无权限删除!"); + } List pageLinkPOS = getPageLinkMapper().listSome(PageLinkPO.builder().templateId(id).build()); if (CollUtil.isNotEmpty(pageLinkPOS)) { throw new SalaryRunTimeException(pageListTemplatePO.getName() + "模板正被使用!不允许删除"); From 5fedafc67ee290fc1064c2a4089e77dbf22e52ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 5 Dec 2024 10:17:12 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/entity/setting/dto/PageListTemplateDTO.java | 2 +- .../engine/salary/service/impl/SettingServiceImpl.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java index d30ad0cc1..24570f54a 100644 --- a/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java +++ b/src/com/engine/salary/entity/setting/dto/PageListTemplateDTO.java @@ -56,7 +56,7 @@ public class PageListTemplateDTO { @TableTitle(title = "是否系统模板",dataIndex = "systemTypeName",key = "systemTypeName") private String systemTypeName; - @TableTitle(title = "范围",dataIndex = "systemType",key = "systemType") + @TableTitle(title = "范围",dataIndex = "limits",key = "limits") private String limits; /** diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index 2274368d3..8e421905e 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -289,10 +289,11 @@ public class SettingServiceImpl extends Service implements SettingService { //权限控制 Collection taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); + Boolean chief = getTaxAgentService().isChief((long) user.getUID()); pos = pos.stream().filter(po -> { SharedTypeEnum sharedTypeEnum = SharedTypeEnum.parseByValue(po.getSharedType()); //系统模板直接可见 - if(po.getSystemType()==1){ + if (chief || po.getSystemType() == 1) { return true; } //私有,只能自己看到 @@ -376,6 +377,8 @@ public class SettingServiceImpl extends Service implements SettingService { List pos = getPageListTemplateMapper().listSome(build); //权限控制 + List agentPOList = getTaxAgentService().listAll(); + Map idNameMap = SalaryEntityUtil.convert2Map(agentPOList, TaxAgentPO::getId, TaxAgentPO::getName); Collection taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); Boolean chief = getTaxAgentService().isChief((long) user.getUID()); List taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList()); @@ -383,7 +386,7 @@ public class SettingServiceImpl extends Service implements SettingService { .filter(po -> { SharedTypeEnum sharedTypeEnum = SharedTypeEnum.parseByValue(po.getSharedType()); //系统模板直接可见 - if(po.getSystemType()==1){ + if (chief || po.getSystemType() == 1) { return true; } //私有,只能自己看到 @@ -404,6 +407,7 @@ public class SettingServiceImpl extends Service implements SettingService { .systemType(po.getSystemType()) .sharedTypeName(SharedTypeEnum.parseByValue(po.getSharedType()).getDefaultLabel()) .systemTypeName(po.getSystemType() == 1 ? "系统模板" : "自定义") + .limits(CollUtil.isEmpty(po.getLimitIds()) ? "所有" : Optional.ofNullable(po.getLimitIds()).orElse(new ArrayList<>()).stream().map(id -> idNameMap.getOrDefault(id, "")).collect(Collectors.joining(","))) .limitIds(po.getLimitIds()) .setting(po.getSetting()) .canEdit(chief || (Objects.equals((long) user.getUID(), po.getCreator()) && po.getSystemType() == 0)) From ec0e74a8eb907edec4a0c31f6ebceaa56322186d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 5 Dec 2024 10:26:37 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A8=A1=E6=9D=BFbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/service/impl/SettingServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/SettingServiceImpl.java b/src/com/engine/salary/service/impl/SettingServiceImpl.java index 8e421905e..0cea169f8 100644 --- a/src/com/engine/salary/service/impl/SettingServiceImpl.java +++ b/src/com/engine/salary/service/impl/SettingServiceImpl.java @@ -408,7 +408,7 @@ public class SettingServiceImpl extends Service implements SettingService { .sharedTypeName(SharedTypeEnum.parseByValue(po.getSharedType()).getDefaultLabel()) .systemTypeName(po.getSystemType() == 1 ? "系统模板" : "自定义") .limits(CollUtil.isEmpty(po.getLimitIds()) ? "所有" : Optional.ofNullable(po.getLimitIds()).orElse(new ArrayList<>()).stream().map(id -> idNameMap.getOrDefault(id, "")).collect(Collectors.joining(","))) - .limitIds(po.getLimitIds()) + .limitIds(CollUtil.isEmpty(po.getLimitIds()) ? new ArrayList<>() : po.getLimitIds()) .setting(po.getSetting()) .canEdit(chief || (Objects.equals((long) user.getUID(), po.getCreator()) && po.getSystemType() == 0)) .build())