diff --git a/src/com/api/salary/web/SalaryFormulaController.java b/src/com/api/salary/web/SalaryFormulaController.java
new file mode 100644
index 000000000..d2e501bf9
--- /dev/null
+++ b/src/com/api/salary/web/SalaryFormulaController.java
@@ -0,0 +1,7 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+@Path("/bs/hrmsalary/formula")
+public class SalaryFormulaController extends com.engine.salary.web.SalaryFormulaController {
+}
diff --git a/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java b/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java
index 0a75e8d53..8dd24c3ad 100644
--- a/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java
+++ b/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java
@@ -1,12 +1,13 @@
package com.engine.salary.constant;
/**
- * @description: 薪酬管理公式编辑器的常量
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 12/24/21 5:51 PM
- * @version:v1.0
- */
+ * 薪酬管理公式编辑器的常量
+ *
Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class SalaryFormulaFieldConstant {
// 公式变量的所属模块
diff --git a/src/com/engine/salary/entity/formula/ExpressFormula.java b/src/com/engine/salary/entity/formula/ExpressFormula.java
deleted file mode 100644
index 3619ac54d..000000000
--- a/src/com/engine/salary/entity/formula/ExpressFormula.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.engine.salary.entity.formula;
-
-import com.engine.salary.entity.datacollection.DataCollectionEmployee;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.weaver.excel.formula.api.entity.ExpressFormulaSourceLink;
-import com.weaver.excel.formula.api.entity.FormulaVar;
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-@Data
-public class ExpressFormula {
- @JsonSerialize(
- using = ToStringSerializer.class
- )
- private Long id;
- //名称
- private String name;
- private String module;
- private String parameter;
- private Long userId;
- private Integer status;
- private String msgFormula;
- private String msgParameter;
- private Date addTime;
- private Date lastUpdate;
- private Integer isDelete;
- private Long formId;
- private int type;
- private String tenantKey;
- private DataCollectionEmployee creator;
- private List sourceLinks;
- //引用类型
- private String referenceType;
- //返回类型
- private String returnType;
- //公式内容
- private String formula;
- private boolean showInLibrary;
- private String codeFormula;
- private String msgCodeFormula;
- private List parameters;
- private List msgParameters;
-}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
index 279edfcdc..9f74b1b12 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java
@@ -1,16 +1,13 @@
package com.engine.salary.entity.salaryacct.bo;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
import com.engine.salary.constant.SalaryFormulaFieldConstant;
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.util.SalaryEntityUtil;
import com.google.common.collect.Maps;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
-import com.weaver.excel.formula.api.entity.FormulaVar;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -18,17 +15,17 @@ import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * @description: 薪资核算公式
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 6/2/22 10:33 PM
- * @version:v1.0
- */
+ * 薪资核算公式
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class ExpressFormulaBO {
/**
@@ -53,17 +50,7 @@ public class ExpressFormulaBO {
}
Map> resultMap = Maps.newHashMapWithExpectedSize(expressFormulas.size());
for (ExpressFormula expressFormula : expressFormulas) {
- if (StringUtils.isEmpty(expressFormula.getParameter())) {
- continue;
- }
- JSONObject paramJson = JSON.parseObject(expressFormula.getParameter());
- if (paramJson != null) {
- JSONArray paramArray = paramJson.getJSONArray("formulavars");
- if (paramArray != null) {
- List formulaVars = paramArray.toJavaList(FormulaVar.class);
- resultMap.put(expressFormula.getId(), formulaVars);
- }
- }
+ resultMap.put(expressFormula.getId(), expressFormula.getParameters());
}
return resultMap;
}
@@ -106,25 +93,15 @@ public class ExpressFormulaBO {
*/
public static List buildFormulaVar4Accounting(ExpressFormula expressFormula, Map formulaVarValueMap) {
List formulaVars = Collections.emptyList();
- // 公式异常
- if (Objects.isNull(expressFormula) || StringUtils.isEmpty(expressFormula.getParameter())) {
- return Collections.emptyList();
- }
- JSONObject paramJson = JSON.parseObject(expressFormula.getParameter());
- if (paramJson != null) {
- JSONArray paramArray = paramJson.getJSONArray("formulavars");
- if (paramArray != null) {
- formulaVars = paramArray.toJavaList(FormulaVar.class);
- for (FormulaVar formulaVar : formulaVars) {
- // 公式变量的值
- String formulaVarValue = formulaVarValueMap.getOrDefault(formulaVar.getFieldId(), StringUtils.EMPTY);
- // 如果公式的返回值类型为number,公式中的变量的值如果为空,公式运行的时候会报错,所以需要替换成0
- if (StringUtils.isEmpty(formulaVarValue) && "number".equals(expressFormula.getReturnType())) {
- formulaVarValue = BigDecimal.ZERO.toPlainString();
- }
- formulaVar.setContent(formulaVarValue);
- }
+ formulaVars = expressFormula.getParameters();
+ for (FormulaVar formulaVar : formulaVars) {
+ // 公式变量的值
+ String formulaVarValue = formulaVarValueMap.getOrDefault(formulaVar.getFieldId(), StringUtils.EMPTY);
+ // 如果公式的返回值类型为number,公式中的变量的值如果为空,公式运行的时候会报错,所以需要替换成0
+ if (StringUtils.isEmpty(formulaVarValue) && "number".equals(expressFormula.getReturnType())) {
+ formulaVarValue = BigDecimal.ZERO.toPlainString();
}
+ formulaVar.setContent(formulaVarValue);
}
return formulaVars;
}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculateBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculateBO.java
index 5e9d0c14d..e9c0c2e76 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculateBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculateBO.java
@@ -1,13 +1,13 @@
package com.engine.salary.entity.salaryacct.bo;
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
+import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
index bd800a521..e1440ebc4 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctCalculatePriorityBO.java
@@ -1,6 +1,8 @@
package com.engine.salary.entity.salaryacct.bo;
import com.engine.salary.constant.SalaryFormulaFieldConstant;
+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;
@@ -9,8 +11,6 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
-import com.weaver.excel.formula.api.entity.FormulaVar;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -24,12 +24,13 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
- * @description: 薪资核算-薪资项目运算优先级
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 2/7/22 2:49 PM
- * @version:v1.0
- */
+ * 薪资核算-薪资项目运算优先级
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class SalaryAcctCalculatePriorityBO {
/**
diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java
index 5a34fe533..52c3b7f13 100644
--- a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java
+++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java
@@ -22,10 +22,7 @@ import java.util.Collection;
@AllArgsConstructor
public class SalaryAcctCalculateParam {
- /**
- * 不是employeeId而是salaryAcctEmpId
- */
- //核算人员的id")
+ //核算人员的id,不是employeeId而是salaryAcctEmpId
private Collection ids;
@DataCheck(require = true,message = "参数错误,薪资核算记录ID不能为空")
diff --git a/src/com/engine/salary/entity/salaryacct/po/ExcelAcctResultPO.java b/src/com/engine/salary/entity/salaryacct/po/ExcelAcctResultPO.java
index fc966ab40..a7fc850c5 100644
--- a/src/com/engine/salary/entity/salaryacct/po/ExcelAcctResultPO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/ExcelAcctResultPO.java
@@ -5,15 +5,17 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.time.LocalDateTime;
+import java.util.Collection;
+import java.util.Date;
/**
- * @description: 线下excel核算的结果
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 12/14/21 2:33 PM
- * @version:v1.0
- */
+ * 线下excel核算的结果
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
@Data
@Builder
@NoArgsConstructor
@@ -79,10 +81,13 @@ public class ExcelAcctResultPO {
/**
* 创建时间
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* 更新时间
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
+
+ //条件
+ private Collection salaryAcctEmpIds;
}
diff --git a/src/com/engine/salary/entity/salaryformula/ExpressFormula.java b/src/com/engine/salary/entity/salaryformula/ExpressFormula.java
new file mode 100644
index 000000000..4314d04fe
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryformula/ExpressFormula.java
@@ -0,0 +1,70 @@
+package com.engine.salary.entity.salaryformula;
+
+import com.engine.salary.entity.salaryformula.po.FormulaVar;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ExpressFormula {
+ /**
+ * id
+ */
+ private Long id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 备注
+ */
+ private String description;
+ /**
+ * 模块
+ */
+ private String module;
+ /**
+ * 用途
+ */
+ private String use;
+ /**
+ * 引用类型
+ */
+ private String referenceType;
+ /**
+ * 返回类型
+ */
+ private String returnType;
+ /**
+ * 校验类型
+ */
+ private String validateType;
+ /**
+ * 扩展参数
+ */
+ private String extendParam;
+ /**
+ * 公式内容
+ */
+ private String formula;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 是否删除0否1是
+ */
+ private Integer deleteType;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+
+
+ private List parameters;
+}
diff --git a/src/com/engine/salary/entity/salaryformula/bo/SalaryFormulaBO.java b/src/com/engine/salary/entity/salaryformula/bo/SalaryFormulaBO.java
index 578272914..320404eca 100644
--- a/src/com/engine/salary/entity/salaryformula/bo/SalaryFormulaBO.java
+++ b/src/com/engine/salary/entity/salaryformula/bo/SalaryFormulaBO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryformula.bo;
+import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.dto.ExpressFormulaDTO;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Collections;
@@ -9,12 +9,13 @@ import java.util.List;
import java.util.stream.Collectors;
/**
- * @description: 薪酬管理公式
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 12/7/21 5:49 PM
- * @version:v1.0
- */
+ * 薪酬管理公式
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class SalaryFormulaBO {
public static List convert2DTO(List expressFormulas) {
diff --git a/src/com/engine/salary/entity/salaryformula/dto/ExpressFormulaDTO.java b/src/com/engine/salary/entity/salaryformula/dto/ExpressFormulaDTO.java
index 4568c5e66..a28c8b2da 100644
--- a/src/com/engine/salary/entity/salaryformula/dto/ExpressFormulaDTO.java
+++ b/src/com/engine/salary/entity/salaryformula/dto/ExpressFormulaDTO.java
@@ -19,12 +19,12 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class ExpressFormulaDTO {
- //公式idTaxAgent
+ //公式id
private Long id;
- //公式名称TaxAgent
+ //公式名称
private String name;
- //公式表达式TaxAgent
+ //公式表达式
private String formula;
}
diff --git a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java
index 4e1b1f401..7f454fd77 100644
--- a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java
+++ b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java
@@ -22,43 +22,43 @@ public class SalaryFormulaEmployeeDTO {
private Long employeeId;
- @SalaryFormulaVar(defaultLabel ="个税扣缴义务人", labelId = 86184, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "个税扣缴义务人", labelId = 86184, dataType = "string")
private String taxAgentName;
- @SalaryFormulaVar(defaultLabel ="姓名", labelId = 85429, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "姓名", labelId = 85429, dataType = "string")
private String username;
- @SalaryFormulaVar(defaultLabel ="邮件", labelId = 92919, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "邮件", labelId = 92919, dataType = "string")
private String email;
- @SalaryFormulaVar(defaultLabel ="手机", labelId = 98621, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "手机", labelId = 98621, dataType = "string")
private String mobile;
- @SalaryFormulaVar(defaultLabel ="电话", labelId = 98620, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "电话", labelId = 98620, dataType = "string")
private String telephone;
-// //证件号码", labelId = 86318, dataType = "string")
+// @SalaryFormulaVar(defaultLabel = "证件号码", labelId = 86318, dataType = "string")
// private String idNo;
- @SalaryFormulaVar(defaultLabel ="性别", labelId = 98622, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "性别", labelId = 98622, dataType = "string")
private String sex;
- @SalaryFormulaVar(defaultLabel ="状态", labelId = 91075, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "状态", labelId = 91075, dataType = "string")
private String status;
- @SalaryFormulaVar(defaultLabel ="部门", labelId = 86185, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "部门", labelId = 86185, dataType = "string")
private String departmentName;
- @SalaryFormulaVar(defaultLabel ="岗位", labelId = 90633, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "岗位", labelId = 90633, dataType = "string")
private String positionName;
- @SalaryFormulaVar(defaultLabel ="职级", labelId = 98623, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "职级", labelId = 98623, dataType = "string")
private String gradeName;
- @SalaryFormulaVar(defaultLabel ="入职日期", labelId = 86319, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "入职日期", labelId = 86319, dataType = "string")
private String hireDate;
- @SalaryFormulaVar(defaultLabel ="出生日期", labelId = 98624, dataType = "string")
+ @SalaryFormulaVar(defaultLabel = "出生日期", labelId = 98624, dataType = "string")
private String birthday;
// //首次参加工作日期", labelId = 98625, dataType = "string")
diff --git a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaTaxRateDTO.java b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaTaxRateDTO.java
index 4655e1984..0033a562c 100644
--- a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaTaxRateDTO.java
+++ b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaTaxRateDTO.java
@@ -8,12 +8,13 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
- * @description: 薪资公式计算器-个税税率表
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 11/30/21 5:03 PM
- * @version:v1.0
- */
+ * 薪资公式计算器-个税税率表
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
@Data
@Builder
@NoArgsConstructor
diff --git a/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaFieldQueryParam.java b/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaFieldQueryParam.java
new file mode 100644
index 000000000..bf9639405
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaFieldQueryParam.java
@@ -0,0 +1,29 @@
+package com.engine.salary.entity.salaryformula.param;
+
+import com.engine.salary.util.valid.DataCheck;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Map;
+
+/**
+ * 公式字段查询参数
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalaryFormulaFieldQueryParam {
+
+ @DataCheck(require = true,message = "变量来源不可为空")
+ String sourceId;
+
+ Map extendParam;
+}
diff --git a/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaSaveParam.java b/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaSaveParam.java
new file mode 100644
index 000000000..8f5f8aaa0
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryformula/param/SalaryFormulaSaveParam.java
@@ -0,0 +1,62 @@
+package com.engine.salary.entity.salaryformula.param;
+
+import com.engine.salary.entity.salaryformula.po.FormulaVar;
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.RuntimeTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalaryFormulaSaveParam {
+ /**
+ * id
+ */
+ @DataCheck(require = true,message = "主键为空",runtime = RuntimeTypeEnum.UPDATE)
+ private Long id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 备注
+ */
+ private String description;
+ /**
+ * 模块
+ */
+ private String module;
+ /**
+ * 用途
+ */
+ private String useFor;
+ /**
+ * 引用类型
+ */
+ private String referenceType;
+ /**
+ * 返回类型
+ */
+ private String returnType;
+ /**
+ * 校验类型
+ */
+ private String validateType;
+ /**
+ * 扩展参数
+ */
+ private String extendParam;
+ /**
+ * 公式内容
+ */
+ private String formula;
+
+
+ private List parameters;
+}
diff --git a/src/com/engine/salary/entity/salaryformula/po/FormulaPO.java b/src/com/engine/salary/entity/salaryformula/po/FormulaPO.java
new file mode 100644
index 000000000..8694b18e7
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryformula/po/FormulaPO.java
@@ -0,0 +1,75 @@
+package com.engine.salary.entity.salaryformula.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FormulaPO {
+ /**
+ * id
+ */
+ private Long id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 备注
+ */
+ private String description;
+ /**
+ * 模块
+ */
+ private String module;
+ /**
+ * 用途
+ */
+ private String useFor;
+ /**
+ * 引用类型
+ */
+ private String referenceType;
+ /**
+ * 返回类型
+ */
+ private String returnType;
+ /**
+ * 校验类型
+ */
+ private String validateType;
+ /**
+ * 扩展参数
+ */
+ private String extendParam;
+ /**
+ * 公式内容
+ */
+ private String formula;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 是否删除0否1是
+ */
+ private Integer deleteType;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+
+ //主键id集合
+ private Collection ids;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/salaryformula/po/FormulaVar.java b/src/com/engine/salary/entity/salaryformula/po/FormulaVar.java
new file mode 100644
index 000000000..40e175edc
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryformula/po/FormulaVar.java
@@ -0,0 +1,67 @@
+package com.engine.salary.entity.salaryformula.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FormulaVar {
+ /**
+ * id
+ */
+ private Long id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 公式id
+ */
+ private Long formulaId;
+ /**
+ * 字段id
+ */
+ private String fieldId;
+ /**
+ * 字段名称
+ */
+ private String fieldName;
+ /**
+ * 字段类型,number,string
+ */
+ private String fieldType;
+ /**
+ * 来源
+ */
+ private String source;
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 是否删除,0否1是
+ */
+ private Integer deleteType;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+
+
+ //值
+ private String content;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java
index 854c0bb6f..a053be167 100644
--- a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java
+++ b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salaryitem.bo;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
+import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryitem.dto.SalaryItemFormDTO;
import com.engine.salary.entity.salaryitem.dto.SalaryItemListDTO;
import com.engine.salary.entity.salaryitem.param.SalaryItemSaveParam;
@@ -11,21 +12,22 @@ import com.engine.salary.enums.SalaryValueTypeEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
+import weaver.conn.util.IdGenerator;
import java.util.*;
import java.util.stream.Collectors;
/**
- * @description: 薪资项目
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 10/28/21 4:55 PM
- * @version:v1.0
- */
+ * 薪资项目
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class SalaryItemBO {
@@ -165,7 +167,7 @@ public class SalaryItemBO {
// long id = IdGenerator.generate();
SalaryItemPO salaryItemPO = SalaryItemPO.builder()
// .id(id)
-// .code(String.valueOf(id))
+ .code(IdGenerator.getUUID())
.name(saveParam.getName())
.systemType(SalarySystemTypeEnum.CUSTOM.getValue())
.sysSalaryItemId(NumberUtils.LONG_ZERO)
@@ -175,7 +177,7 @@ public class SalaryItemBO {
.pattern(Optional.ofNullable(saveParam.getPattern()).orElse(2))
.valueType(saveParam.getValueType())
.dataType(saveParam.getDataType())
- .formulaId(saveParam.getValueType() == SalaryValueTypeEnum.FORMULA.getValue() ? Optional.ofNullable(saveParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO) : NumberUtils.LONG_ZERO)
+ .formulaId(Objects.equals(saveParam.getValueType(), SalaryValueTypeEnum.FORMULA.getValue()) ? Optional.ofNullable(saveParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO) : NumberUtils.LONG_ZERO)
.description(saveParam.getDescription())
.canEdit(NumberUtils.INTEGER_ONE)
.creator(employeeId)
diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobCheckRuleBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobCheckRuleBO.java
index b1e52960f..ab809f578 100644
--- a/src/com/engine/salary/entity/salarysob/bo/SalarySobCheckRuleBO.java
+++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobCheckRuleBO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salarysob.bo;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
+import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salarysob.dto.SalarySobCheckRuleFormDTO;
import com.engine.salary.entity.salarysob.dto.SalarySobCheckRuleListDTO;
import com.engine.salary.entity.salarysob.param.SalarySobCheckRuleSaveParam;
@@ -8,7 +9,6 @@ import com.engine.salary.entity.salarysob.po.SalarySobCheckRulePO;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java
index 74e7a4412..9c61b303a 100644
--- a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java
+++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salarysob.bo;
import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.salary.entity.datacollection.DataCollectionEmployee;
+import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO;
import com.engine.salary.entity.salaryitem.bo.SalaryItemBO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
@@ -17,7 +17,6 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import com.weaver.excel.formula.api.entity.ExpressFormula;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
@@ -134,7 +133,7 @@ public class SalarySobItemAggregateBO {
if (CollectionUtils.isEmpty(salarySobEmpFields)) {
return Collections.emptyList();
}
- Field[] declaredFields = DataCollectionEmployee.class.getDeclaredFields();
+ Field[] declaredFields = SalaryFormulaEmployeeDTO.class.getDeclaredFields();
Map empFieldMap = Maps.newHashMapWithExpectedSize(declaredFields.length);
for (Field declaredField : declaredFields) {
if (!declaredField.isAnnotationPresent(SalaryFormulaVar.class)) {
diff --git a/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java b/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java
index ec513acb2..e7ed5a300 100644
--- a/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java
+++ b/src/com/engine/salary/enums/SalaryFormulaReferenceEnum.java
@@ -4,38 +4,39 @@ package com.engine.salary.enums;
import java.util.Objects;
/**
- * @description: 薪资项目公式引用分类
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 11/1/21 10:16 AM
- * @version:v1.0
- */
-public enum SalaryFormulaReferenceEnum implements BaseEnum {
+ * 薪资项目公式引用分类
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum SalaryFormulaReferenceEnum implements BaseEnum {
- SALARY_ITEM(1, "薪资项目", 84960),
- // SALARY_ITEM_OF_HISTORY(2, "历史台账薪资项目", 85364),
- EMPLOYEE_INFO(3, "员工基本信息", 85366),
- SALARY_ARCHIVES(4, "薪资档案", 85368),
- ATTEND(5, "考勤引用", 85367),
- ADD_UP_SITUATION(6, "往期累计情况", 104412),
- ADD_UP_DEDUCTIONS(7, "累计专项附加扣除", 85380),
- WELFARE(8, "社保福利", 87522),
- OTHER_DEDUCTION(9, "其他免税扣除", 93849),
+ SALARY_ITEM("salaryItem", "薪资项目", 84960),
+ // SALARY_ITEM_OF_HISTORY("salaryItemOfHistory", "历史台账薪资项目", 85364),
+ EMPLOYEE_INFO("employeeInfo", "员工基本信息", 85366),
+ SALARY_ARCHIVES("salaryArchives", "薪资档案", 85368),
+ ATTEND("attend", "考勤引用", 85367),
+ ADD_UP_SITUATION("addUpSituation", "往期累计情况", 104412),
+ ADD_UP_DEDUCTIONS("addUpDeductions", "累计专项附加扣除", 85380),
+ WELFARE("welfare", "社保福利", 87522),
+ OTHER_DEDUCTION("otherDeduction", "其他免税扣除", 93849),
;
- private int value;
+ private String value;
private String defaultLabel;
private int labelId;
- SalaryFormulaReferenceEnum(int value, String defaultLabel, int labelId) {
+ SalaryFormulaReferenceEnum(String value, String defaultLabel, int labelId) {
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
}
@Override
- public Integer getValue() {
+ public String getValue() {
return value;
}
@@ -51,7 +52,7 @@ public enum SalaryFormulaReferenceEnum implements BaseEnum {
public static SalaryFormulaReferenceEnum parseByValue(String value) {
for (SalaryFormulaReferenceEnum referenceEnum : SalaryFormulaReferenceEnum.values()) {
- if (Objects.equals(referenceEnum.getValue() + "", value)) {
+ if (Objects.equals(referenceEnum.getValue(), value)) {
return referenceEnum;
}
}
diff --git a/src/com/engine/salary/enums/SalaryValueTypeEnum.java b/src/com/engine/salary/enums/SalaryValueTypeEnum.java
index 775adddb8..8e2f03b54 100644
--- a/src/com/engine/salary/enums/SalaryValueTypeEnum.java
+++ b/src/com/engine/salary/enums/SalaryValueTypeEnum.java
@@ -5,12 +5,13 @@ import java.util.Arrays;
import java.util.Objects;
/**
- * @description: 字段类型
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 11/1/21 4:35 PM
- * @version:v1.0
- */
+ * 字段类型
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public enum SalaryValueTypeEnum implements BaseEnum {
INPUT(1, "输入", 84976),
diff --git a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java
index f63b61d7b..4da922590 100644
--- a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java
+++ b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java
@@ -6,12 +6,13 @@ import java.util.Arrays;
import java.util.Objects;
/**
- * @description: 薪资项目的字段类型
- * @author: xiajun
- * @modified By: xiajun
- * @date: 2022/3/10 17:16
- * @version:v1.0
- */
+ * 薪资项目的字段类型
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public enum SalaryDataTypeEnum implements BaseEnum {
STRING("string", "字符", 105093),
NUMBER("number", "数值", 87625),
diff --git a/src/com/engine/salary/init.sql b/src/com/engine/salary/init.sql
index 7de2f213e..c0406a2ba 100644
--- a/src/com/engine/salary/init.sql
+++ b/src/com/engine/salary/init.sql
@@ -22,6 +22,8 @@ alter table hrsa_salary_archive_item modify id bigint auto_increment;
alter table hrsa_salary_acct_record modify id bigint auto_increment;
alter table hrsa_salary_acct_emp modify id bigint auto_increment;
alter table hrsa_acct_result_temp modify id bigint auto_increment;
+alter table hrsa_formula modify id bigint auto_increment;
+alter table hrsa_formula_var modify id bigint auto_increment;
--福利方案主键自增增加
diff --git a/src/com/engine/salary/mapper/formula/FormulaMapper.java b/src/com/engine/salary/mapper/formula/FormulaMapper.java
new file mode 100644
index 000000000..322e7e20a
--- /dev/null
+++ b/src/com/engine/salary/mapper/formula/FormulaMapper.java
@@ -0,0 +1,60 @@
+package com.engine.salary.mapper.formula;
+
+import com.engine.salary.entity.salaryformula.po.FormulaPO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface FormulaMapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listAll();
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(FormulaPO formula);
+
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ FormulaPO getById(Long id);
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param formula 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(FormulaPO formula);
+
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param formula 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(FormulaPO formula);
+
+ /**
+ * 删除记录
+ *
+ * @param formula 待删除的记录
+ * @return 返回影响行数
+ */
+ int delete(FormulaPO formula);
+
+ List listByIds(@Param("ids")Collection ids);
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/formula/FormulaMapper.xml b/src/com/engine/salary/mapper/formula/FormulaMapper.xml
new file mode 100644
index 000000000..4184bceb1
--- /dev/null
+++ b/src/com/engine/salary/mapper/formula/FormulaMapper.xml
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t
+ .
+ id
+ , t.name
+ , t.description
+ , t.module
+ , t.use_for
+ , t.reference_type
+ , t.return_type
+ , t.validate_type
+ , t.extend_param
+ , t.formula
+ , t.creator
+ , t.delete_type
+ , t.create_time
+ , t.update_time
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO hrsa_formula
+
+
+
+ id,
+
+
+ name,
+
+
+ description,
+
+
+ module,
+
+
+ use_for,
+
+
+ reference_type,
+
+
+ return_type,
+
+
+ validate_type,
+
+
+ extend_param,
+
+
+ formula,
+
+
+ creator,
+
+
+ delete_type,
+
+
+ create_time,
+
+
+ update_time,
+
+
+
+
+ #{id},
+
+
+ #{name},
+
+
+ #{description},
+
+
+ #{module},
+
+
+ #{useFor},
+
+
+ #{referenceType},
+
+
+ #{returnType},
+
+
+ #{validateType},
+
+
+ #{extendParam},
+
+
+ #{formula},
+
+
+ #{creator},
+
+
+ #{deleteType},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+
+
+
+
+ UPDATE hrsa_formula
+
+ name=#{name},
+ description=#{description},
+ module=#{module},
+ use_for=#{useFor},
+ reference_type=#{referenceType},
+ return_type=#{returnType},
+ validate_type=#{validateType},
+ extend_param=#{extendParam},
+ formula=#{formula},
+ creator=#{creator},
+ delete_type=#{deleteType},
+ create_time=#{createTime},
+ update_time=#{updateTime},
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_formula
+
+
+ name=#{name},
+
+
+ description=#{description},
+
+
+ module=#{module},
+
+
+ use_for=#{useFor},
+
+
+ reference_type=#{referenceType},
+
+
+ return_type=#{returnType},
+
+
+ validate_type=#{validateType},
+
+
+ extend_param=#{extendParam},
+
+
+ formula=#{formula},
+
+
+ creator=#{creator},
+
+
+ delete_type=#{deleteType},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime},
+
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_formula
+ SET delete_type=1
+ WHERE id = #{id}
+ AND delete_type = 0
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/formula/FormulaVarMapper.java b/src/com/engine/salary/mapper/formula/FormulaVarMapper.java
new file mode 100644
index 000000000..ca25e4752
--- /dev/null
+++ b/src/com/engine/salary/mapper/formula/FormulaVarMapper.java
@@ -0,0 +1,49 @@
+package com.engine.salary.mapper.formula;
+
+import com.engine.salary.entity.salaryformula.po.FormulaVar;
+
+import java.util.List;
+
+public interface FormulaVarMapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listAll();
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(FormulaVar formulaVar);
+
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ FormulaVar getById(Long id);
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param formulaVar 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(FormulaVar formulaVar);
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param formulaVar 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(FormulaVar formulaVar);
+
+ void deleteByFormulaId(Long formulaId);
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/formula/FormulaVarMapper.xml b/src/com/engine/salary/mapper/formula/FormulaVarMapper.xml
new file mode 100644
index 000000000..faf6d97c0
--- /dev/null
+++ b/src/com/engine/salary/mapper/formula/FormulaVarMapper.xml
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t
+ .
+ id
+ , t.name
+ , t.formula_id
+ , t.field_id
+ , t.field_name
+ , t.field_type
+ , t.source
+ , t.order_index
+ , t.creator
+ , t.delete_type
+ , t.create_time
+ , t.update_time
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO hrsa_formula_var
+
+
+
+ name,
+
+
+ formula_id,
+
+
+ field_id,
+
+
+ field_name,
+
+
+ field_type,
+
+
+ source,
+
+
+ order_index,
+
+
+ creator,
+
+
+ delete_type,
+
+
+ create_time,
+
+
+ update_time,
+
+
+
+
+ #{name},
+
+
+ #{formulaId},
+
+
+ #{fieldId},
+
+
+ #{fieldName},
+
+
+ #{fieldType},
+
+
+ #{source},
+
+
+ #{orderIndex},
+
+
+ #{creator},
+
+
+ #{deleteType},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+
+
+
+
+
+
+ UPDATE hrsa_formula_var
+
+
+ name=#{name},
+
+
+ formula_id=#{formulaId},
+
+
+ field_id=#{fieldId},
+
+
+ field_name=#{fieldName},
+
+
+ field_type=#{fieldType},
+
+
+ source=#{source},
+
+
+ order_index=#{orderIndex},
+
+
+ creator=#{creator},
+
+
+ delete_type=#{deleteType},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime},
+
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+ UPDATE hrsa_formula_var
+ SET delete_type=1
+ WHERE formula_id = #{formulaId}
+ AND delete_type = 0
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.java b/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.java
new file mode 100644
index 000000000..f1fc6dedb
--- /dev/null
+++ b/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.java
@@ -0,0 +1,54 @@
+package com.engine.salary.mapper.salaryacct;
+
+import com.engine.salary.entity.salaryacct.po.ExcelAcctResultPO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 线下excel核算的结果
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public interface ExcelAcctResultMapper {
+
+ /**
+ * 分页查询ExcelAcctResult和SalaryAcctResult的employeeId
+ *
+ * @return
+ */
+ List listEmployeeIdUnionSalaryAcctResult(@Param("employeeIds") Collection employeeIds,
+ @Param("salaryAcctRecordId") Long salaryAcctRecordId);
+
+ /**
+ * 批量新增
+ *
+ * @param excelAcctResults
+ */
+ void batchInsert(@Param("collection") Collection excelAcctResults);
+
+ /**
+ * 根据薪资核算记录id删除
+ *
+ * @param salaryAcctEmployeeIds
+ */
+ void deleteBySalaryAcctEmployeeIds(@Param("salaryAcctEmployeeIds") Collection salaryAcctEmployeeIds);
+
+ /**
+ * 根据薪资核算记录id删除
+ *
+ * @param salaryAcctRecordIds
+ */
+ void deleteBySalaryAcctRecordIds(@Param("salaryAcctRecordIds") Collection salaryAcctRecordIds);
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(ExcelAcctResultPO excelAcctResult);
+}
diff --git a/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.xml b/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.xml
new file mode 100644
index 000000000..6af2efc2e
--- /dev/null
+++ b/src/com/engine/salary/mapper/salaryacct/ExcelAcctResultMapper.xml
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+ INSERT INTO hrsa_excel_acct_result(salary_sob_id, salary_acct_emp_id, salary_acct_record_id, employee_id,
+ salary_item_id, result_value, creator, create_time, update_time,
+ delete_type, tenant_key)
+ VALUES
+
+ (
+ #{item.salarySobId},
+ #{item.salaryAcctEmpId},
+ #{item.salaryAcctRecordId},
+ #{item.employeeId},
+ #{item.salaryItemId},
+ #{item.resultValue},
+ #{item.creator},
+ #{item.createTime},
+ #{item.updateTime},
+ #{item.deleteType},
+ #{item.tenantKey}
+ )
+
+
+
+ INSERT INTO hrsa_excel_acct_result(salary_sob_id, salary_acct_emp_id, salary_acct_record_id, employee_id,
+ salary_item_id, result_value, creator, create_time, update_time,
+ delete_type, tenant_key)
+
+
+ select
+ #{item.salarySobId},
+ #{item.salaryAcctEmpId},
+ #{item.salaryAcctRecordId},
+ #{item.employeeId},
+ #{item.salaryItemId},
+ #{item.resultValue},
+ #{item.creator},
+ #{item.createTime},
+ #{item.updateTime},
+ #{item.deleteType},
+ #{item.tenantKey}
+ from dual
+
+
+
+ INSERT INTO hrsa_excel_acct_result( salary_sob_id, salary_acct_emp_id, salary_acct_record_id, employee_id,
+ salary_item_id, result_value, creator, create_time, update_time,
+ delete_type, tenant_key)
+ VALUES
+
+ (
+ #{item.salarySobId},
+ #{item.salaryAcctEmpId},
+ #{item.salaryAcctRecordId},
+ #{item.employeeId},
+ #{item.salaryItemId},
+ #{item.resultValue},
+ #{item.creator},
+ #{item.createTime},
+ #{item.updateTime},
+ #{item.deleteType},
+ #{item.tenantKey}
+ )
+
+
+
+
+ DELETE FROM hrsa_excel_acct_result
+ WHERE salary_acct_emp_id IN
+
+ #{salaryAcctEmployeeId}
+
+
+
+
+ DELETE FROM hrsa_excel_acct_result
+ WHERE salary_acct_record_id IN
+
+ #{salaryAcctRecordId}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t.id
+ , t.salary_sob_id
+ , t.salary_acct_emp_id
+ , t.salary_acct_record_id
+ , t.employee_id
+ , t.salary_item_id
+ , t.result_value
+ , t.creator
+ , t.create_time
+ , t.update_time
+ , t.delete_type
+ , t.tenant_key
+ , t.tax_agent_id
+
+
+
+
+
diff --git a/src/com/engine/salary/service/RemoteExcelService.java b/src/com/engine/salary/service/RemoteExcelService.java
index 7894abedf..8081451ee 100644
--- a/src/com/engine/salary/service/RemoteExcelService.java
+++ b/src/com/engine/salary/service/RemoteExcelService.java
@@ -1,6 +1,7 @@
package com.engine.salary.service;
-import com.weaver.excel.formula.api.entity.FormulaVar;
+
+import com.engine.salary.entity.salaryformula.po.FormulaVar;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,9 @@ public interface RemoteExcelService {
List fieldList(String sourceId, Map extendParam);
+ List