diff --git a/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java b/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java index d567f2d86..ab04abfae 100644 --- a/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java +++ b/src/com/engine/salary/entity/salaryitem/config/SalaryItemExcelConfig.java @@ -81,7 +81,7 @@ public class SalaryItemExcelConfig { @ExcelHead(title="sql返回字段",dataIndex = "sqlReturnKey") @ExcelProperty(index = 8) - private String sqlReturnKey; + private String extendParam; /** * 排序 diff --git a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java index b5b1a483b..fa5c76f40 100644 --- a/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java +++ b/src/com/engine/salary/enums/salaryitem/SalaryDataTypeEnum.java @@ -1,6 +1,7 @@ package com.engine.salary.enums.salaryitem; import com.engine.salary.enums.BaseEnum; +import com.engine.salary.enums.SalaryValueTypeEnum; import java.util.Arrays; import java.util.Objects; @@ -66,4 +67,13 @@ public enum SalaryDataTypeEnum implements BaseEnum { } return ""; } + + public static SalaryDataTypeEnum parseByDefaultLabel(String defaultLabel) { + for (SalaryDataTypeEnum typeEnum : SalaryDataTypeEnum.values()) { + if (Objects.equals(typeEnum.getDefaultLabel(), defaultLabel)) { + return typeEnum; + } + } + return STRING; + } } diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java index 1d53a8f3c..fad7541ab 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java @@ -1,6 +1,6 @@ package com.engine.salary.mapper.salaryitem; -import com.engine.salary.entity.salaryitem.config.SalaryItemConfig; +import com.engine.salary.entity.salaryitem.config.SalaryItemExcelConfig; import com.engine.salary.entity.salaryitem.param.SalaryItemSearchParam; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import org.apache.ibatis.annotations.Param; @@ -70,9 +70,7 @@ public interface SalaryItemMapper { SalaryItemPO getByName(String name); - List getConfig(@Param("ids") Collection ids); - - List getAllConfig(@Param("ids") Collection ids); + List getConfig(@Param("ids") Collection ids); diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml index 30f1a6bbd..e099ec2b3 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml @@ -31,7 +31,10 @@ - t.id, + t + . + id + , t.name, t.code, t.system_type, @@ -589,138 +592,49 @@ WHERE name = #{name} AND delete_type = 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - item.id as item_id - ,item.name as item_name - , item.code as item_code - , item.system_type as item_system_type - , item.sys_salary_item_id as item_sys_salary_item_id - , item.use_default as item_use_default - , item.use_in_employee_salary as item_use_in_employee_salary - , item.rounding_mode as item_rounding_mode - , item.pattern as item_pattern - , item.value_type as item_value_type - , item.formula_id as item_formula_id - , item.description as item_description - , item.can_edit as item_can_edit - , item.can_delete as item_can_delete - , item.data_type as item_data_type - , item.shared_type as item_shared_type - , item.tax_agent_ids as item_tax_agent_ids - , item.sorted_index as item_sorted_index - , 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 + item.name as name + , item.use_default as use_default + , item.hide_default as hide_default + , item.data_type as data_type + , item.rounding_mode as rounding_mode + , item.pattern as pattern + , item.value_type as value_type + , f.formula as formula + , f.extend_param as extend_param + , item.sorted_index as sorted_index + , item.width as width + , item.default_value as default_value + , item.description as description - - formula.id as formula_id - , formula.name as formula_name - , formula.description as formula_description - , formula.module as formula_module - , formula.use_for as formula_use_for - , formula.reference_type as formula_reference_type - , formula.return_type as formula_return_type - , formula.validate_type as formula_validate_type - , formula.extend_param as formula_extend_param - , formula.formula as formula_formula - , formula.formulaRunScript as formula_formulaRunScript - - - - , var.id as var_id - , var.name as var_name - , var.formula_id as var_formula_id - , var.field_id as var_field_id - , var.field_name as var_field_name - , var.field_type as var_field_type - , var.source as var_source - , var.order_index as var_order_index - - - - - \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryItemService.java b/src/com/engine/salary/service/SalaryItemService.java index e10090439..f9a760dcb 100644 --- a/src/com/engine/salary/service/SalaryItemService.java +++ b/src/com/engine/salary/service/SalaryItemService.java @@ -1,7 +1,7 @@ package com.engine.salary.service; import com.engine.salary.entity.salaryitem.config.SalaryItemAllConfig; -import com.engine.salary.entity.salaryitem.config.SalaryItemConfig; +import com.engine.salary.entity.salaryitem.config.SalaryItemExcelConfig; import com.engine.salary.entity.salaryitem.param.*; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.enums.SalarySystemTypeEnum; @@ -155,9 +155,8 @@ public interface SalaryItemService { SalaryItemAllConfig getConfig(); void parseConfig(SalaryItemAllConfig salaryItemConfig); - List getConfig(SalaryItemExportParam param); + List getConfig(SalaryItemExportParam param); - List getAllConfig(SalaryItemExportParam param); Map preview(SalaryItemImportParam param); diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java index ba417e573..07126915c 100644 --- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java @@ -15,7 +15,6 @@ import com.engine.salary.entity.salaryformula.po.FormulaPO; import com.engine.salary.entity.salaryformula.po.FormulaVar; import com.engine.salary.entity.salaryitem.bo.SalaryItemBO; import com.engine.salary.entity.salaryitem.config.SalaryItemAllConfig; -import com.engine.salary.entity.salaryitem.config.SalaryItemConfig; import com.engine.salary.entity.salaryitem.config.SalaryItemExcelConfig; import com.engine.salary.entity.salaryitem.param.*; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; @@ -538,14 +537,10 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService @Override - public List getConfig(SalaryItemExportParam param) { + public List getConfig(SalaryItemExportParam param) { return getSalaryItemMapper().getConfig(param.getIds()); } - @Override - public List getAllConfig(SalaryItemExportParam param) { - return getSalaryItemMapper().getAllConfig(param.getIds()); - } @Override public Map preview(SalaryItemImportParam param) { @@ -585,7 +580,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService SalaryItemExcelConfig config = configs.get(i); String name = config.getName(); SalaryValueTypeEnum salaryValueTypeEnum = SalaryValueTypeEnum.parseByDefaultLabel(config.getValueType()); - SalaryDataTypeEnum salaryDataTypeEnum = SalaryDataTypeEnum.parseByValue(config.getDataType()); + SalaryDataTypeEnum salaryDataTypeEnum = SalaryDataTypeEnum.parseByDefaultLabel(config.getDataType()); SalaryItemPO itemPO = getByName(name); if (itemPO == null) { @@ -656,7 +651,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService if (salaryValueTypeEnum == SalaryValueTypeEnum.FORMULA || salaryValueTypeEnum == SalaryValueTypeEnum.SQL) { Long id = itemPO.getId(); String formula = config.getFormula(); - String sqlReturnKey = config.getSqlReturnKey(); + String sqlReturnKey = config.getExtendParam(); Map map = new HashMap<>(); map.put("rowIndex", rowIndex); map.put("formula", formula); @@ -711,21 +706,28 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService List dataIndexList = Lists.newArrayList(); ExcelUtil.parseHeader(SalaryItemExcelConfig.class, titles, dataIndexList); - List configs = getConfig(param); + List configs = getConfig(param); List> rows = new ArrayList<>(); rows.add(titles); configs.forEach(e -> { List row = new ArrayList<>(); row.add(e.getName()); - row.add(e.getUseDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(e.getUseDefault()).getDefaultLabel()); - row.add(e.getHideDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(e.getHideDefault()).getDefaultLabel()); + row.add(e.getUseDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(Integer.parseInt(e.getUseDefault())).getDefaultLabel()); + row.add(e.getHideDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(Integer.parseInt(e.getHideDefault())).getDefaultLabel()); row.add(SalaryDataTypeEnum.parseByValue(Util.null2String(e.getDataType())).getDefaultLabel()); - row.add(e.getRoundingMode() == null ? "四舍五入" : SalaryRoundingModeEnum.parseByValue(e.getRoundingMode()).getDefaultLabel()); + row.add(e.getRoundingMode() == null ? "四舍五入" : SalaryRoundingModeEnum.parseByValue(Integer.parseInt(e.getRoundingMode())).getDefaultLabel()); row.add(e.getPattern() == null ? "2" : e.getPattern()); - row.add(e.getValueType() == null ? "输入" : SalaryValueTypeEnum.parseByValue(e.getValueType()).getDefaultLabel()); - row.add(e.getFormulaConfig() == null ? "" : e.getFormulaConfig().getFormula()); - row.add(e.getFormulaConfig() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormulaConfig().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); + row.add(e.getValueType() == null ? "输入" : SalaryValueTypeEnum.parseByValue(Integer.parseInt(e.getValueType())).getDefaultLabel()); + row.add(e.getFormula() == null ? "" : e.getFormula()); + String sqlReturnKey = ""; + if(e.getExtendParam() != null){ + sqlReturnKey = JsonUtil.parseMap(Util.null2String(e.getExtendParam()), String.class).getOrDefault("sqlReturnKey", ""); + if("null".equals(sqlReturnKey)){ + sqlReturnKey = ""; + } + } + row.add(sqlReturnKey); row.add(e.getSortedIndex() == null ? "" : e.getSortedIndex()); row.add(e.getWidth() == null ? "" : e.getWidth()); row.add(e.getDefaultValue() == null ? "" : e.getDefaultValue()); @@ -746,18 +748,25 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService List> rows = new ArrayList<>(); rows.add(titles); if (param.isHasData()) { - List configs = getConfig(SalaryItemExportParam.builder().build()); + List configs = getConfig(SalaryItemExportParam.builder().build()); configs.forEach(e -> { List row = new ArrayList<>(); row.add(e.getName()); - row.add(e.getUseDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(e.getUseDefault()).getDefaultLabel()); - row.add(e.getHideDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(e.getHideDefault()).getDefaultLabel()); + row.add(e.getUseDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(Integer.parseInt(e.getUseDefault())).getDefaultLabel()); + row.add(e.getHideDefault() == null ? "否" : SalaryOnOffEnum.parseByValue(Integer.parseInt(e.getHideDefault())).getDefaultLabel()); row.add(SalaryDataTypeEnum.parseByValue(Util.null2String(e.getDataType())).getDefaultLabel()); - row.add(e.getRoundingMode() == null ? "四舍五入" : SalaryRoundingModeEnum.parseByValue(e.getRoundingMode()).getDefaultLabel()); + row.add(e.getRoundingMode() == null ? "四舍五入" : SalaryRoundingModeEnum.parseByValue(Integer.parseInt(e.getRoundingMode())).getDefaultLabel()); row.add(e.getPattern() == null ? "2" : e.getPattern()); - row.add(e.getValueType() == null ? "输入" : SalaryValueTypeEnum.parseByValue(e.getValueType()).getDefaultLabel()); - row.add(e.getFormulaConfig() == null ? "" : e.getFormulaConfig().getFormula()); - row.add(e.getFormulaConfig() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormulaConfig().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); + row.add(e.getValueType() == null ? "输入" : SalaryValueTypeEnum.parseByValue(Integer.parseInt(e.getValueType())).getDefaultLabel()); + row.add(e.getFormula() == null ? "" : e.getFormula()); + String sqlReturnKey = ""; + if(e.getExtendParam() != null){ + sqlReturnKey = JsonUtil.parseMap(Util.null2String(e.getExtendParam()), String.class).getOrDefault("sqlReturnKey", ""); + if("null".equals(sqlReturnKey)){ + sqlReturnKey = ""; + } + } + row.add(sqlReturnKey); row.add(e.getSortedIndex() == null ? "" : e.getSortedIndex()); row.add(e.getWidth() == null ? "" : e.getWidth()); row.add(e.getDefaultValue() == null ? "" : e.getDefaultValue());