From 23da0fb5e401dccc2c2920482819e14e66df590d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Thu, 28 Apr 2022 15:02:11 +0800
Subject: [PATCH] =?UTF-8?q?sql=E5=85=AC=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/com/engine/salary/biz/SIArchivesBiz.java | 3 +-
.../DataCollectionEmployee.java | 4 +-
.../salaryacct/bo/CalculateFormulaVarBO.java | 2 +-
.../salaryacct/bo/ExpressFormulaBO.java | 2 +-
.../bo/SalaryAcctCalculatePriorityBO.java | 2 +-
.../salaryacct/po/SalaryAcctEmployeePO.java | 5 ++
.../salaryitem/param/SalaryItemSaveParam.java | 1 +
.../SalaryFormulaReferenceEnum.java | 4 +-
.../salaryformula/SalarySQLReferenceEnum.java | 55 +++++++++++++++++++
.../service/impl/RemoteExcelServiceImpl.java | 38 ++++++++++++-
.../impl/SalaryAcctCalculateServiceImpl.java | 2 +-
.../impl/SalaryAcctResultServiceImpl.java | 11 ++--
.../salary/wrapper/SalaryItemWrapper.java | 26 ++++++++-
13 files changed, 137 insertions(+), 18 deletions(-)
rename src/com/engine/salary/enums/{ => salaryformula}/SalaryFormulaReferenceEnum.java (94%)
create mode 100644 src/com/engine/salary/enums/salaryformula/SalarySQLReferenceEnum.java
diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java
index db8e76b19..56d251310 100644
--- a/src/com/engine/salary/biz/SIArchivesBiz.java
+++ b/src/com/engine/salary/biz/SIArchivesBiz.java
@@ -36,7 +36,6 @@ import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.mapper.sischeme.InsuranceSchemeDetailMapper;
import com.engine.salary.mapper.sischeme.InsuranceSchemeMapper;
import com.engine.salary.util.SalaryAssert;
-import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryFormItemUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@@ -85,7 +84,7 @@ public class SIArchivesBiz {
.position(item.getJobtitleName())
.username(item.getUsername())
.telephone(item.getMobile())
- .dimissionDate(SalaryDateUtil.getFormatLocalDate(item.getDissmissdate()))
+ .dimissionDate(item.getDissmissdate())
.build();
// if (item.getStatus() == UserStatusEnum.unavailable) {
diff --git a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
index ef5464385..f7d0a77e5 100644
--- a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
+++ b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
@@ -6,8 +6,6 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.Date;
-
/**
* 员工基本信息
*
Copyright: Copyright (c) 2022
@@ -52,7 +50,7 @@ public class DataCollectionEmployee {
private String mobile;
//离职日期
- private Date dissmissdate;
+ private String dissmissdate;
//状态
private String status;
diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
index 28bb2a95f..e89d506c9 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
@@ -17,7 +17,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemDataDTO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
-import com.engine.salary.enums.SalaryFormulaReferenceEnum;
+import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
import com.engine.salary.enums.salarysob.SalarySobAdjustRuleTypeEnum;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.SalaryDateUtil;
diff --git a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
index 9f74b1b12..a0767e492 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
@@ -5,7 +5,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
-import com.engine.salary.enums.SalaryFormulaReferenceEnum;
+import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
import com.engine.salary.util.SalaryEntityUtil;
import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils;
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
index e1440ebc4..9aa4aa44b 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
@@ -5,7 +5,7 @@ import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
-import com.engine.salary.enums.SalaryFormulaReferenceEnum;
+import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
index 85647ff0b..36b8800bd 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
@@ -1,5 +1,6 @@
package com.engine.salary.entity.salaryacct.po;
+import com.engine.salary.annotation.SalaryFormulaVar;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -38,21 +39,25 @@ public class SalaryAcctEmployeePO {
/**
* 薪资账套id
*/
+ @SalaryFormulaVar(defaultLabel = "薪资账套id", labelId = 86321, dataType = "number")
private Long salarySobId;
/**
* 人员id
*/
+ @SalaryFormulaVar(defaultLabel = "人员id", labelId = 86321, dataType = "number")
private Long employeeId;
/**
* 个税扣缴义务人id
*/
+ @SalaryFormulaVar(defaultLabel = "个税扣缴义务人id", labelId = 86321, dataType = "number")
private Long taxAgentId;
/**
* 薪资所属月
*/
+ @SalaryFormulaVar(defaultLabel = "薪资所属月", labelId = 86321, dataType = "string")
private Date salaryMonth;
/**
diff --git a/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java b/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java
index 51a3a95fb..4bd71d8f6 100644
--- a/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java
+++ b/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java
@@ -55,6 +55,7 @@ public class SalaryItemSaveParam {
*
* @see SalaryRoundingModeEnum
*/
+ @DataCheck(require = true, message = "舍入规则不允许为空")
private Integer roundingMode;
//保留小数位
diff --git a/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java b/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
similarity index 94%
rename from src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java
rename to src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
index e7ed5a300..bb25103d9 100644
--- a/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java
+++ b/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
@@ -1,6 +1,8 @@
-package com.engine.salary.enums;
+package com.engine.salary.enums.salaryformula;
+import com.engine.salary.enums.BaseEnum;
+
import java.util.Objects;
/**
diff --git a/src/com/engine/salary/enums/salaryformula/SalarySQLReferenceEnum.java b/src/com/engine/salary/enums/salaryformula/SalarySQLReferenceEnum.java
new file mode 100644
index 000000000..2a1f6ea77
--- /dev/null
+++ b/src/com/engine/salary/enums/salaryformula/SalarySQLReferenceEnum.java
@@ -0,0 +1,55 @@
+package com.engine.salary.enums.salaryformula;
+
+
+import com.engine.salary.enums.BaseEnum;
+
+import java.util.Objects;
+
+/**
+ * 薪资项目SQL公式引用分类
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum SalarySQLReferenceEnum implements BaseEnum {
+
+ EMPLOYEE_INFO("employeeInfo", "员工基本信息", 85366),
+ SALARY_ACCT_EMPLOYEE("salaryAcctEmployee", "核算人员信息", 85368);
+ private String value;
+
+ private String defaultLabel;
+
+ private int labelId;
+
+ SalarySQLReferenceEnum(String value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static SalarySQLReferenceEnum parseByValue(String value) {
+ for (SalarySQLReferenceEnum referenceEnum : SalarySQLReferenceEnum.values()) {
+ if (Objects.equals(referenceEnum.getValue(), value)) {
+ return referenceEnum;
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
index feb85ce22..1b96cac7e 100644
--- a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
@@ -9,13 +9,16 @@ import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
import com.engine.salary.entity.datacollection.param.AttendQuoteFieldQueryParam;
import com.engine.salary.entity.datacollection.po.OtherDeductionPO;
+import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO;
import com.engine.salary.entity.salaryformula.dto.SalaryFormulaTaxRateDTO;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
import com.engine.salary.entity.taxrate.TaxRateBase;
-import com.engine.salary.enums.SalaryFormulaReferenceEnum;
+import com.engine.salary.enums.salaryformula.ReferenceTypeEnum;
+import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
+import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
import com.engine.salary.formlua.entity.parameter.DataType;
import com.engine.salary.mapper.datacollection.AttendQuoteFieldMapper;
import com.engine.salary.service.*;
@@ -92,7 +95,30 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
@Override
public List fieldList(String sourceId, Map extendParam) {
+
List vars = new ArrayList<>();
+
+ //sql
+ if (extendParam != null) {
+ String referenceType = extendParam.get("referenceType") == null ? "" : extendParam.get("referenceType").toString();
+ if (ReferenceTypeEnum.SQL.getValue().equals(referenceType)) {
+ SalarySQLReferenceEnum referenceEnum = SalarySQLReferenceEnum.parseByValue(sourceId);
+ if (referenceEnum != null) {
+ switch (referenceEnum) {
+ case EMPLOYEE_INFO:
+ vars = convert2FormulaVar(SalaryFormulaEmployeeDTO.class, referenceEnum.getValue() + "");
+ break;
+ case SALARY_ACCT_EMPLOYEE:
+ vars = convert2FormulaVar(SalaryAcctEmployeePO.class, referenceEnum.getValue() + "");
+ break;
+ default:
+ break;
+ }
+ return vars;
+ }
+ }
+ }
+
// 如果是其他数据源
SalaryFormulaReferenceEnum referenceEnum = SalaryFormulaReferenceEnum.parseByValue(sourceId);
if (referenceEnum != null) {
@@ -135,6 +161,16 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
@Override
public List