From 48120f8e248abaefd91f256a13cb1f63cf3e8bd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 7 Aug 2024 09:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=96=AA=E8=B5=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/SalaryItemExcelConfig.java | 114 ++++++++++++++ .../engine/salary/enums/SalaryOnOffEnum.java | 9 ++ .../salary/enums/SalaryRoundingModeEnum.java | 9 ++ .../salary/enums/SalaryValueTypeEnum.java | 9 ++ .../enums/salaryitem/SalaryDataTypeEnum.java | 2 +- .../mapper/salaryitem/SalaryItemMapper.java | 2 + .../mapper/salaryitem/SalaryItemMapper.xml | 47 ++++-- .../salary/service/SalaryItemService.java | 10 +- .../service/impl/SalaryItemServiceImpl.java | 143 ++++++++++++++++-- .../engine/salary/util/db/IdGenerator.java | 5 + .../engine/salary/util/excel/ExcelHead.java | 4 +- .../util/excel/ImportExcelResponse.java | 27 ++++ .../salary/web/SalaryItemController.java | 4 +- .../salary/wrapper/SalaryItemWrapper.java | 30 ++-- 14 files changed, 372 insertions(+), 43 deletions(-) create mode 100644 src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java create mode 100644 src/com/engine/salary/util/excel/ImportExcelResponse.java diff --git a/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java b/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java new file mode 100644 index 000000000..cd6d37c83 --- /dev/null +++ b/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java @@ -0,0 +1,114 @@ +package com.engine.salary.entity.salaryitem.config; + +import com.engine.salary.enums.SalaryRoundingModeEnum; +import com.engine.salary.enums.SalaryValueTypeEnum; +import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; +import com.engine.salary.util.excel.ExcelHead; +import com.engine.salary.util.excel.ExcelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + + +@Data +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor +public class SalaryItemExcelConfig { + + /** + * 名称 + */ + @ExcelHead(title="名称",dataIndex = "name") + @ExcelProperty(index = 0) + private String name; + + /** + * 默认使用。0:默认不适用、1:默认使用 + */ + @ExcelHead(title="是否默认使用",dataIndex = "useDefault") + @ExcelProperty(index = 1) + private String useDefault; + + /** + * 核算是否隐藏 + */ + @ExcelHead(title="核算是否隐藏",dataIndex = "hideDefault") + @ExcelProperty(index = 2) + private String hideDefault; + + /** + * 进位规则 + * + * @see SalaryRoundingModeEnum + */ + @ExcelHead(title="进位规则",dataIndex = "roundingMode") + @ExcelProperty(index = 3) + private String roundingMode; + + /** + * 保留的小数位数 + */ + @ExcelHead(title="保留的小数位数",dataIndex = "pattern") + @ExcelProperty(index = 4) + private String pattern; + + /** + * 取值方式 + * + * @see SalaryValueTypeEnum + */ + @ExcelHead(title="取值方式",dataIndex = "valueType") + @ExcelProperty(index = 5) + private String valueType; + + /** + * 字段类型 + * + * @see SalaryDataTypeEnum + */ + @ExcelHead(title="字段类型",dataIndex = "dataType") + @ExcelProperty(index = 6) + private String dataType; + + /** + * 公式 + */ + @ExcelHead(title="公式",dataIndex = "formula") + @ExcelProperty(index = 7) + private String formula; + + @ExcelHead(title="sql返回字段",dataIndex = "sqlReturnKey") + @ExcelProperty(index = 8) + private String sqlReturnKey; + + /** + * 排序 + */ + @ExcelHead(title="排序",dataIndex = "sortedIndex") + @ExcelProperty(index = 9) + private String sortedIndex; + + /** + * 宽度 + */ + @ExcelHead(title="宽度",dataIndex = "width") + @ExcelProperty(index = 10) + private String width; + + /** + * 默认值 + */ + @ExcelHead(title="默认值",dataIndex = "defaultValue") + @ExcelProperty(index = 11) + private String defaultValue; + + /** + * 备注 + */ + @ExcelHead(title="备注",dataIndex = "description") + @ExcelProperty(index = 12) + private String description; + +} diff --git a/src/com/engine/salary/enums/SalaryOnOffEnum.java b/src/com/engine/salary/enums/SalaryOnOffEnum.java index d2662bb30..99b31eb4d 100644 --- a/src/com/engine/salary/enums/SalaryOnOffEnum.java +++ b/src/com/engine/salary/enums/SalaryOnOffEnum.java @@ -50,4 +50,13 @@ public enum SalaryOnOffEnum implements BaseEnum { } return OFF; } + + public static SalaryOnOffEnum parseByDefaultLabel(String defaultLabel) { + for (SalaryOnOffEnum item : values()) { + if (item.getDefaultLabel().equals(defaultLabel)) { + return item; + } + } + return OFF; + } } diff --git a/src/com/engine/salary/enums/SalaryRoundingModeEnum.java b/src/com/engine/salary/enums/SalaryRoundingModeEnum.java index 702b921e4..a47733891 100644 --- a/src/com/engine/salary/enums/SalaryRoundingModeEnum.java +++ b/src/com/engine/salary/enums/SalaryRoundingModeEnum.java @@ -69,4 +69,13 @@ public enum SalaryRoundingModeEnum implements BaseEnum { } return ROUNDING; } + + public static SalaryRoundingModeEnum parseByDefaultLabel(String defaultLabel) { + for (SalaryRoundingModeEnum modeEnum : SalaryRoundingModeEnum.values()) { + if (Objects.equals(modeEnum.getDefaultLabel(), defaultLabel)) { + return modeEnum; + } + } + return ROUNDING; + } } diff --git a/src/com/engine/salary/enums/SalaryValueTypeEnum.java b/src/com/engine/salary/enums/SalaryValueTypeEnum.java index 77bf5e71f..3f50e75fc 100644 --- a/src/com/engine/salary/enums/SalaryValueTypeEnum.java +++ b/src/com/engine/salary/enums/SalaryValueTypeEnum.java @@ -54,6 +54,15 @@ public enum SalaryValueTypeEnum implements BaseEnum { return INPUT; } + public static SalaryValueTypeEnum parseByDefaultLabel(String defaultLabel) { + for (SalaryValueTypeEnum salaryValueTypeEnum : SalaryValueTypeEnum.values()) { + if (Objects.equals(salaryValueTypeEnum.getDefaultLabel(), defaultLabel)) { + return salaryValueTypeEnum; + } + } + return INPUT; + } + public static String getDefaultLabelByValue(Integer value) { if (value == null) { diff --git a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java index 07bffd40c..b5b1a483b 100644 --- a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java +++ b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java @@ -51,7 +51,7 @@ public enum SalaryDataTypeEnum implements BaseEnum { return salaryDataTypeEnum; } } - return null; + return STRING; } public static String getDefaultLabelByValue(String value) { diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java index ddb8054f3..38e3aebfd 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java @@ -68,8 +68,10 @@ public interface SalaryItemMapper { void batchUpdateSortedIndex(@Param("collection")List salaryItemPOS); + SalaryItemPO getByName(String name); List getConfig(@Param("ids") Collection ids); + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml index 966955eb4..4e5fc222a 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml @@ -582,6 +582,13 @@ + + @@ -651,11 +658,30 @@ , item.hide_default as item_hide_default , item.width as item_width , item.default_value as item_default_value + , f.formula_id + , f.formula_name + , f.formula_description + , f.formula_module + , f.formula_use_for + , f.formula_reference_type + , f.formula_return_type + , f.formula_validate_type + , f.formula_extend_param + , f.formula_formula + , f.formula_formulaRunScript + , f.var_id + , f.var_name + , f.var_formula_id + , f.var_field_id + , f.var_field_name + , f.var_field_type + , f.var_source + , f.var_order_index - , formula.id as formula_id + formula.id as formula_id , formula.name as formula_name , formula.description as formula_description , formula.module as formula_module @@ -682,16 +708,19 @@