diff --git a/src/com/engine/salary/report/entity/dto/SalaryStatisticsItemStringRuleDTO.java b/src/com/engine/salary/report/entity/dto/SalaryStatisticsItemStringRuleDTO.java
index a5c2970d6..d41c75db1 100644
--- a/src/com/engine/salary/report/entity/dto/SalaryStatisticsItemStringRuleDTO.java
+++ b/src/com/engine/salary/report/entity/dto/SalaryStatisticsItemStringRuleDTO.java
@@ -16,8 +16,8 @@ public class SalaryStatisticsItemStringRuleDTO {
/**
- * 是否显示
+ * 是否启用
*/
- private Integer display;
+ private Integer ableValue;
}
diff --git a/src/com/engine/salary/report/entity/param/SalaryStatisticsItemGetFormParam.java b/src/com/engine/salary/report/entity/param/SalaryStatisticsItemGetFormParam.java
new file mode 100644
index 000000000..47371c1bf
--- /dev/null
+++ b/src/com/engine/salary/report/entity/param/SalaryStatisticsItemGetFormParam.java
@@ -0,0 +1,26 @@
+package com.engine.salary.report.entity.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 薪酬统计报表自定义统计项目保存参数
+ *
Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalaryStatisticsItemGetFormParam {
+ //统计项目id
+ private Long id;
+
+ //统计项目
+ private Long itemId;
+}
diff --git a/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java b/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
index 21c1f3f27..b7ac48bb1 100644
--- a/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
+++ b/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
@@ -129,21 +129,35 @@ public class SalaryStatisticsItemPO implements Serializable {
/**
* 最近值
+ *
+ * "able":"1", 是否使用
*/
private String lastRule;
/**
* 最早值
+ *
+ * {
+ * "able":"1", 是否使用
+ * }
*/
private String oldRule;
/**
* 出现最多
+ *
+ * {
+ * "able":"1", 是否使用
+ * }
*/
private String frequentRule;
/**
- * 按时间平铺
+ * 平铺
+ *
+ * {
+ * "able":"1", 是否使用
+ * }
*/
private String tileRule;
@@ -152,6 +166,7 @@ public class SalaryStatisticsItemPO implements Serializable {
/**
* 统计单位
+ *
* @see UnitTypeEnum
*/
//统计单位")
diff --git a/src/com/engine/salary/report/enums/SalaryStatisticsItemStringRuleEnum.java b/src/com/engine/salary/report/enums/SalaryStatisticsItemStringRuleEnum.java
new file mode 100644
index 000000000..1356b639f
--- /dev/null
+++ b/src/com/engine/salary/report/enums/SalaryStatisticsItemStringRuleEnum.java
@@ -0,0 +1,52 @@
+package com.engine.salary.report.enums;
+
+import com.engine.salary.enums.BaseEnum;
+
+import java.util.Objects;
+
+public enum SalaryStatisticsItemStringRuleEnum implements BaseEnum {
+
+
+ LAST("last", "最近值", 83993),
+ OLD("old", "最早值", 83994),
+ FREQUENT("frequent", "出现最多", 83994),
+ TILE("tile", "平铺", 83994),
+ ;
+
+ private String value;
+
+ private String defaultLabel;
+
+ private int labelId;
+
+ SalaryStatisticsItemStringRuleEnum(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 SalaryStatisticsItemStringRuleEnum parseByValue(String value) {
+ for (SalaryStatisticsItemStringRuleEnum typeEnum : SalaryStatisticsItemStringRuleEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/src/com/engine/salary/report/web/SalaryStatisticsItemController.java b/src/com/engine/salary/report/web/SalaryStatisticsItemController.java
index 0c8b1ee95..c59c12b3b 100644
--- a/src/com/engine/salary/report/web/SalaryStatisticsItemController.java
+++ b/src/com/engine/salary/report/web/SalaryStatisticsItemController.java
@@ -31,6 +31,7 @@ public class SalaryStatisticsItemController {
private SalaryStatisticsItemWrapper getSalaryStatisticsItemWrapper(User user) {
return ServiceUtil.getService(SalaryStatisticsItemWrapper.class, user);
}
+
/**
* 获取自定义统计项目表单
*
@@ -40,11 +41,26 @@ public class SalaryStatisticsItemController {
@GET
@Path("/getForm")
@Produces(MediaType.APPLICATION_JSON)
- public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id")Long id) {
+ public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult(user).run(getSalaryStatisticsItemWrapper(user)::getForm, id);
}
+ /**
+ * 切换薪资项目
+ * @param request
+ * @param response
+ * @param itemId
+ * @return
+ */
+ @GET
+ @Path("/changeTab")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String changeTab(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "itemId") Long itemId) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getSalaryStatisticsItemWrapper(user)::changeTab, itemId);
+ }
+
/**
* 自定义统计项目列表
@@ -55,7 +71,7 @@ public class SalaryStatisticsItemController {
@GET
@Path("/list")
@Produces(MediaType.APPLICATION_JSON)
- public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "statisticsReportId")Long statisticsReportId) {
+ public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "statisticsReportId") Long statisticsReportId) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult>>(user).run(getSalaryStatisticsItemWrapper(user)::list, statisticsReportId);
}
diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsItemWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsItemWrapper.java
index ee96e96db..9d3e66d2e 100644
--- a/src/com/engine/salary/report/wrapper/SalaryStatisticsItemWrapper.java
+++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsItemWrapper.java
@@ -9,6 +9,7 @@ import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.report.entity.dto.SalaryStatisticsItemFormDTO;
import com.engine.salary.report.entity.param.SalaryStatisticsItemSaveParam;
import com.engine.salary.report.entity.po.SalaryStatisticsItemPO;
+import com.engine.salary.report.enums.SalaryStatisticsItemStringRuleEnum;
import com.engine.salary.report.enums.UnitTypeEnum;
import com.engine.salary.report.service.SalaryStatisticsItemService;
import com.engine.salary.report.service.impl.SalaryStatisticsItemServiceImpl;
@@ -48,7 +49,7 @@ public class SalaryStatisticsItemWrapper extends Service {
* @return
*/
public SalaryStatisticsItemFormDTO getForm(Long id) {
- Map weaForm = new HashMap();
+ Map weaForm = new HashMap<>();
Map ruleData = new HashMap<>();
if (Objects.nonNull(id)) {
SalaryStatisticsItemPO salaryStatisticsItem = getSalaryStatisticsItemService(user).getById(id);
@@ -65,7 +66,7 @@ public class SalaryStatisticsItemWrapper extends Service {
welfareItem.put("dataType", itemsMap.get(value).getDataType());
welfareItems.add(welfareItem);
});
- Map map = new HashMap();
+ Map map = new HashMap<>();
//版本变更,由多选变成单选
map.put("itemValue", welfareItems.get(0));
map.put("itemName", salaryStatisticsItem.getItemName());
@@ -83,128 +84,168 @@ public class SalaryStatisticsItemWrapper extends Service {
.build();
}
- public Map buildRule(SalaryDataTypeEnum dataType, SalaryStatisticsItemPO salaryStatisticsItem) {
- Map weaTable = new HashMap<>();
+ public SalaryStatisticsItemFormDTO changeTab(Long itemId) {
+ SalaryItemPO po = getSalaryItemService(user).getById(itemId);
+ Map ruleData = buildRule(SalaryDataTypeEnum.parseByValue(po.getDataType()), null);
+ return SalaryStatisticsItemFormDTO.builder().ruleData(ruleData).build();
+
+ }
+
+ public Map buildRule(SalaryDataTypeEnum dataType, SalaryStatisticsItemPO salaryStatisticsItem) {
+ Map weaTable;
if (dataType == null || dataType == SalaryDataTypeEnum.NUMBER) {
- List list = new ArrayList<>();
- WeaTableColumn ruleName = new WeaTableColumn("20%", SalaryI18nUtil.getI18nLabel(157532, "统计规则"), "ruleName");
- WeaTableColumn ratio = new WeaTableColumn("10%", SalaryI18nUtil.getI18nLabel(162990, "占比"), "ratio");
- WeaTableColumn m2m = new WeaTableColumn("10%", SalaryI18nUtil.getI18nLabel(157533, "环比"), "m2m");
- WeaTableColumn m2mLimit = new WeaTableColumn("25%", SalaryI18nUtil.getI18nLabel(157536, "环比增幅正常区间设置"), "m2mLimit");
- WeaTableColumn y2y = new WeaTableColumn("10%", SalaryI18nUtil.getI18nLabel(162991, "同比"), "y2y");
- WeaTableColumn y2yLimit = new WeaTableColumn("25%", SalaryI18nUtil.getI18nLabel(162992, "同比增幅正常区间设置"), "y2yLimit");
- list.add(ruleName);
- list.add(ratio);
- list.add(m2m);
- list.add(m2mLimit);
- list.add(y2y);
- list.add(y2yLimit);
- weaTable.put("columns", list);
-
- List