From f2fdbca8f7b696399f3616db4e0e75abaf4b09f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Mon, 7 Nov 2022 11:31:21 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E8=84=B1=E6=95=8F=E8=A1=A8=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/SalaryAcctReportServiceImpl.java | 19 ++++++++++++++++++-
.../sys/constant/SalarySysConstant.java | 5 +++++
.../sys/entity/param/AppSettingSaveParam.java | 9 +++++++++
.../salary/sys/entity/vo/AppSettingVO.java | 7 +++++++
.../sys/service/SalarySysConfService.java | 5 +++++
.../impl/SalarySysConfServiceImpl.java | 13 ++++++++++++-
6 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java
index 334221f35..e02c2aeac 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java
@@ -1,19 +1,27 @@
package com.engine.salary.service.impl;
+import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.encrypt.AESEncryptUtil;
import com.engine.salary.encrypt.report.SalaryAcctResultReportPOEncrypt;
import com.engine.salary.entity.report.po.SalaryAcctResultReportPO;
import com.engine.salary.mapper.report.SalaryAcctResultReportMapper;
import com.engine.salary.service.SalaryAcctReportService;
+import com.engine.salary.sys.entity.po.SalarySysConfPO;
+import com.engine.salary.sys.enums.OpenEnum;
+import com.engine.salary.sys.service.SalarySysConfService;
+import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.db.MapperProxyFactory;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
+import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
+import static com.engine.salary.sys.constant.SalarySysConstant.DISPLAY_EMP_INFO_REPORT;
+
/**
* 薪资报表
*
Copyright: Copyright (c) 2022
@@ -28,6 +36,11 @@ public class SalaryAcctReportServiceImpl extends Service implements SalaryAcctRe
return MapperProxyFactory.getProxy(SalaryAcctResultReportMapper.class);
}
+
+ private SalarySysConfService getSalarySysConfService(User user) {
+ return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
+ }
+
/**
* 薪酬解密方法
*
@@ -61,7 +74,11 @@ public class SalaryAcctReportServiceImpl extends Service implements SalaryAcctRe
@Override
public void batchSave(Collection pos) {
if (CollectionUtils.isNotEmpty(pos)) {
- SalaryAcctResultReportPOEncrypt.encryptList(pos);
+ SalarySysConfPO disPlay = getSalarySysConfService(user).getOneByCode(DISPLAY_EMP_INFO_REPORT);
+ //默认不显示,关闭状态
+ if (disPlay == null || OpenEnum.OFF.getValue().equals(disPlay.getConfValue())) {
+ SalaryAcctResultReportPOEncrypt.encryptList(pos);
+ }
// List> partition = Lists.partition((List) pos, 100);
// partition.forEach(getSalaryAcctResultReportMapper()::batchInsert);
diff --git a/src/com/engine/salary/sys/constant/SalarySysConstant.java b/src/com/engine/salary/sys/constant/SalarySysConstant.java
index 4800e1e61..30f352cbf 100644
--- a/src/com/engine/salary/sys/constant/SalarySysConstant.java
+++ b/src/com/engine/salary/sys/constant/SalarySysConstant.java
@@ -32,6 +32,11 @@ public class SalarySysConstant {
*/
public static final String OPEN_ACCT_RESULT_SUM = "OPEN_ACCT_RESULT_SUM";
+ /**
+ * 是否显示脱敏表人员信息
+ */
+ public static final String DISPLAY_EMP_INFO_REPORT = "DISPLAY_EMP_INFO_REPORT";
+
/**
* 应用设置是否开启加密
*/
diff --git a/src/com/engine/salary/sys/entity/param/AppSettingSaveParam.java b/src/com/engine/salary/sys/entity/param/AppSettingSaveParam.java
index e235ad139..12c36115b 100644
--- a/src/com/engine/salary/sys/entity/param/AppSettingSaveParam.java
+++ b/src/com/engine/salary/sys/entity/param/AppSettingSaveParam.java
@@ -1,6 +1,7 @@
package com.engine.salary.sys.entity.param;
import com.engine.salary.sys.enums.OpenEnum;
+import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -32,6 +33,7 @@ public class AppSettingSaveParam {
*
* @see OpenEnum
*/
+ @DataCheck(require = true,message = "是否开启核算结果合计列?")
private String openAcctResultSum;
/**
@@ -39,4 +41,11 @@ public class AppSettingSaveParam {
*/
private String isOpenEncrypt;
+ /**
+ * 是否显示脱敏表人员信息
+ * @see OpenEnum
+ */
+ @DataCheck(require = true,message = "是否显示脱敏表人员信息?")
+ private String displayEmpInfoReport;
+
}
diff --git a/src/com/engine/salary/sys/entity/vo/AppSettingVO.java b/src/com/engine/salary/sys/entity/vo/AppSettingVO.java
index cfa2dbc77..d95b33af4 100644
--- a/src/com/engine/salary/sys/entity/vo/AppSettingVO.java
+++ b/src/com/engine/salary/sys/entity/vo/AppSettingVO.java
@@ -40,4 +40,11 @@ public class AppSettingVO {
private String isOpenEncrypt;
+
+ /**
+ * 是否显示脱敏表人员信息
+ * @see OpenEnum
+ */
+ private String displayEmpInfoReport;
+
}
diff --git a/src/com/engine/salary/sys/service/SalarySysConfService.java b/src/com/engine/salary/sys/service/SalarySysConfService.java
index de1fd16ae..30e97581d 100644
--- a/src/com/engine/salary/sys/service/SalarySysConfService.java
+++ b/src/com/engine/salary/sys/service/SalarySysConfService.java
@@ -67,5 +67,10 @@ public interface SalarySysConfService {
*/
Map saveEncryptSetting(AppSettingSaveParam appSettingSaveParam);
+ /**
+ * 加密进度
+ * @param progressId
+ * @return
+ */
Map getEncryptProgress(String progressId);
}
diff --git a/src/com/engine/salary/sys/service/impl/SalarySysConfServiceImpl.java b/src/com/engine/salary/sys/service/impl/SalarySysConfServiceImpl.java
index efd8e42c0..14b971945 100644
--- a/src/com/engine/salary/sys/service/impl/SalarySysConfServiceImpl.java
+++ b/src/com/engine/salary/sys/service/impl/SalarySysConfServiceImpl.java
@@ -298,6 +298,7 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
public void saveAppSetting(AppSettingSaveParam param) {
String openAcctResultSum = param.getOpenAcctResultSum();
saveSettingByType(openAcctResultSum, OPEN_ACCT_RESULT_SUM, "开启核算结果合并", "app");
+ saveSettingByType(param.getDisplayEmpInfoReport(), DISPLAY_EMP_INFO_REPORT, "是否显示脱敏表人员信息", "app");
}
@Override
@@ -410,6 +411,9 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
case OPEN_APPLICATION_ENCRYPT:
appSettingVO.setIsOpenEncrypt(salarySysConfPO.getConfValue());
break;
+ case DISPLAY_EMP_INFO_REPORT:
+ appSettingVO.setDisplayEmpInfoReport(salarySysConfPO.getConfValue());
+ break;
default:
break;
}
@@ -417,7 +421,14 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
}
//默认加密开启
if (StringUtils.isEmpty(appSettingVO.getIsOpenEncrypt())) {
- appSettingVO.setIsOpenEncrypt("1");
+ appSettingVO.setIsOpenEncrypt(OpenEnum.OPEN.getValue());
+ }
+
+ /**
+ * 默认不显示
+ */
+ if (StringUtils.isEmpty(appSettingVO.getDisplayEmpInfoReport())) {
+ appSettingVO.setDisplayEmpInfoReport(OpenEnum.OFF.getValue());
}
return appSettingVO;
}
From 21ccf6cbcb3f2b9b21d636c49b0a2486a3e99522 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Tue, 8 Nov 2022 11:10:56 +0800
Subject: [PATCH 2/4] =?UTF-8?q?sql=E8=A7=A3=E5=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/FormulaRunServiceImpl.java | 19 ++++++++++++++++---
.../impl/SalaryAcctCalculateServiceImpl.java | 14 +++++++++++++-
2 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
index 3f7e13f67..79190007f 100644
--- a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
+++ b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
@@ -1,12 +1,14 @@
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
+import com.engine.salary.encrypt.AESEncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.enums.salaryformula.ReferenceTypeEnum;
import com.engine.salary.formlua.entity.parameter.DataType;
import com.engine.salary.service.FormulaRunService;
+import com.engine.salary.sys.enums.OpenEnum;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -56,6 +58,8 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService
String extendParam = expressFormula.getExtendParam();
String sqlReturnKey = "";
String datasourceId = "";
+ String openDecrypt = "";
+ String result = "";
try {
JsonNode jsonNode = objectMapper.readTree(extendParam);
//返回值配置
@@ -71,6 +75,11 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService
datasourceId = datasourceIdNode.asText();
}
}
+ //是否需要解密
+ JsonNode decrypt = jsonNode.get("openDecrypt");
+ if (decrypt != null) {
+ openDecrypt = decrypt.asText().trim();
+ }
} catch (JsonProcessingException e) {
log.error("express execute fail, sql extendParam parse fail", e);
}
@@ -89,18 +98,22 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService
RecordSetDataSource rs = new RecordSetDataSource(datasourceId);
if (rs.executeSql(sql)) {
if (rs.next()) {
- return rs.getString(sqlReturnKey);
+ result = rs.getString(sqlReturnKey);
}
}
} else {
RecordSet rs = new RecordSet();
if (rs.execute(sql)) {
if (rs.next()) {
- return rs.getString(sqlReturnKey);
+ result = rs.getString(sqlReturnKey);
}
}
}
- return StringUtils.EMPTY;
+
+ if (OpenEnum.OPEN.getValue().equals(openDecrypt)) {
+ result = AESEncryptUtil.decrypt(openDecrypt);
+ }
+ return result;
}
private Object runFormula(ExpressFormula expressFormula, List formulaVars) throws Exception {
diff --git a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java
index c272b65f9..c793713d9 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java
@@ -198,7 +198,19 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
if (salaryItemIdKeySalarySobItemPOMap.containsKey(salaryItemId)) {
// 转换成薪资核算结果po
SalaryAcctResultTempPO salaryAcctResultTempPO = new SalaryAcctResultTempPO()
- .setSalaryAcctRecordId(salaryAcctEmployeePO.getSalaryAcctRecordId()).setSalaryAcctEmpId(salaryAcctEmployeePO.getId()).setEmployeeId(salaryAcctEmployeePO.getEmployeeId()).setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId()).setSalarySobId(salaryAcctEmployeePO.getSalarySobId()).setSalaryItemId(salaryItemPO.getId()).setResultValue(resultValue).setCalculateKey(salaryAcctCalculateBO.getCalculateKey()).setCreator((long) user.getUID()).setCreateTime(now).setUpdateTime(now).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setDeleteType(0);
+ .setSalaryAcctRecordId(salaryAcctEmployeePO.getSalaryAcctRecordId())
+ .setSalaryAcctEmpId(salaryAcctEmployeePO.getId())
+ .setEmployeeId(salaryAcctEmployeePO.getEmployeeId())
+ .setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId())
+ .setSalarySobId(salaryAcctEmployeePO.getSalarySobId())
+ .setSalaryItemId(salaryItemPO.getId())
+ .setResultValue(resultValue)
+ .setCalculateKey(salaryAcctCalculateBO.getCalculateKey())
+ .setCreator((long) user.getUID())
+ .setCreateTime(now)
+ .setUpdateTime(now)
+ .setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
+ .setDeleteType(0);
salaryAcctResultTempPOS.add(salaryAcctResultTempPO);
}
}
From e63c72f51e0e7da5be9d3671eac1b7dd1e9426d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Wed, 9 Nov 2022 15:47:09 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E9=80=86=E5=90=91=E8=A7=A3=E5=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java
index b3a6fbc61..0dd40eee4 100644
--- a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java
+++ b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java
@@ -17,7 +17,6 @@ import com.engine.salary.util.page.SalaryPageUtil;
import com.engine.salary.util.valid.RuntimeTypeEnum;
import com.engine.salary.util.valid.ValidUtil;
import org.apache.commons.lang3.StringUtils;
-import tebie.applib.api.O;
import weaver.general.BaseBean;
import weaver.hrm.User;
@@ -134,7 +133,6 @@ public class SalarySystemConfigWrapper extends Service {
}
public Map saveEncryptSetting(AppSettingSaveParam param) {
- ValidUtil.doValidator(param);
return getSalarySysConfService(user).saveEncryptSetting(param);
}
From b55c339bb0bd8b458074a652cac15d2619b56175 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Wed, 9 Nov 2022 17:26:51 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=8A=E6=9C=88?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/com/engine/salary/service/impl/FormulaRunServiceImpl.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
index 79190007f..6beac534d 100644
--- a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
+++ b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java
@@ -111,7 +111,7 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService
}
if (OpenEnum.OPEN.getValue().equals(openDecrypt)) {
- result = AESEncryptUtil.decrypt(openDecrypt);
+ result = AESEncryptUtil.decrypt(result);
}
return result;
}