excel导入工具
This commit is contained in:
parent
b83d45efa0
commit
ecb0f6f7bc
|
|
@ -81,7 +81,7 @@ public class SalaryItemExcelConfig {
|
|||
|
||||
@ExcelHead(title="sql返回字段",dataIndex = "sqlReturnKey")
|
||||
@ExcelProperty(index = 8)
|
||||
private String sqlReturnKey;
|
||||
private String extendParam;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
|
|
|
|||
|
|
@ -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<String> {
|
|||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static SalaryDataTypeEnum parseByDefaultLabel(String defaultLabel) {
|
||||
for (SalaryDataTypeEnum typeEnum : SalaryDataTypeEnum.values()) {
|
||||
if (Objects.equals(typeEnum.getDefaultLabel(), defaultLabel)) {
|
||||
return typeEnum;
|
||||
}
|
||||
}
|
||||
return STRING;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<SalaryItemConfig> getConfig(@Param("ids") Collection<Long> ids);
|
||||
|
||||
List<SalaryItemConfig> getAllConfig(@Param("ids") Collection<Long> ids);
|
||||
List<SalaryItemExcelConfig> getConfig(@Param("ids") Collection<Long> ids);
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,10 @@
|
|||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t.id,
|
||||
t
|
||||
.
|
||||
id
|
||||
,
|
||||
t.name,
|
||||
t.code,
|
||||
t.system_type,
|
||||
|
|
@ -589,138 +592,49 @@
|
|||
WHERE name = #{name} AND delete_type = 0
|
||||
</select>
|
||||
|
||||
<resultMap id="configResultMap" type="com.engine.salary.entity.salaryitem.config.SalaryItemConfig">
|
||||
<result column="item_id" property="id"/>
|
||||
<result column="item_name" property="name"/>
|
||||
<result column="item_code" property="code"/>
|
||||
<result column="item_system_type" property="systemType"/>
|
||||
<result column="item_sys_salary_item_id" property="sysSalaryItemId"/>
|
||||
<result column="item_use_default" property="useDefault"/>
|
||||
<result column="item_use_in_employee_salary" property="useInEmployeeSalary"/>
|
||||
<result column="item_rounding_mode" property="roundingMode"/>
|
||||
<result column="item_pattern" property="pattern"/>
|
||||
<result column="item_value_type" property="valueType"/>
|
||||
<result column="item_formula_id" property="formulaId"/>
|
||||
<result column="item_description" property="description"/>
|
||||
<result column="item_can_edit" property="canEdit"/>
|
||||
<result column="item_data_type" property="dataType"/>
|
||||
<result column="item_shared_type" property="sharedType"/>
|
||||
<result column="item_tax_agent_ids" property="taxAgentIds"/>
|
||||
<result column="item_sorted_index" property="sortedIndex"/>
|
||||
<result column="item_hide_default" property="hideDefault"/>
|
||||
<result column="item_width" property="width"/>
|
||||
<result column="item_default_value" property="defaultValue"/>
|
||||
<association property="formulaConfig" javaType="com.engine.salary.entity.salaryitem.config.FormulaConfig">
|
||||
<result column="formula_id" property="id"/>
|
||||
<result column="formula_name" property="name"/>
|
||||
<result column="formula_description" property="description"/>
|
||||
<result column="formula_module" property="module"/>
|
||||
<result column="formula_use_for" property="useFor"/>
|
||||
<result column="formula_reference_type" property="referenceType"/>
|
||||
<result column="formula_return_type" property="returnType"/>
|
||||
<result column="formula_validate_type" property="validateType"/>
|
||||
<result column="formula_extend_param" property="extendParam"/>
|
||||
<result column="formula_formula" property="formula"/>
|
||||
<result column="formula_formulaRunScript" property="formulaRunScript"/>
|
||||
<collection property="varConfigs" ofType="com.engine.salary.entity.salaryitem.config.FormulaVarConfig">
|
||||
<result column="var_id" property="id"/>
|
||||
<result column="var_name" property="name"/>
|
||||
<result column="var_formula_id" property="formulaId"/>
|
||||
<result column="var_field_id" property="fieldId"/>
|
||||
<result column="var_field_name" property="fieldName"/>
|
||||
<result column="var_field_type" property="fieldType"/>
|
||||
<result column="var_source" property="source"/>
|
||||
<result column="var_order_index" property="orderIndex"/>
|
||||
</collection>
|
||||
</association>
|
||||
|
||||
<resultMap id="configResultMap" type="com.engine.salary.entity.salaryitem.config.SalaryItemExcelConfig">
|
||||
<result column="name" property="name"/>
|
||||
<result column="use_default" property="useDefault"/>
|
||||
<result column="hide_default" property="hideDefault"/>
|
||||
<result column="data_type" property="dataType"/>
|
||||
<result column="rounding_mode" property="roundingMode"/>
|
||||
<result column="pattern" property="pattern"/>
|
||||
<result column="value_type" property="valueType"/>
|
||||
<result column="formula" property="formula"/>
|
||||
<result column="extend_param" property="extendParam"/>
|
||||
<result column="sorted_index" property="sortedIndex"/>
|
||||
<result column="width" property="width"/>
|
||||
<result column="default_value" property="defaultValue"/>
|
||||
<result column="description" property="description"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="itemColumns">
|
||||
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
|
||||
</sql>
|
||||
|
||||
|
||||
<sql id="formulaColumns">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<sql id="varColumns">
|
||||
, 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
|
||||
</sql>
|
||||
|
||||
<select id="getConfig" resultMap="configResultMap">
|
||||
select
|
||||
<include refid="itemColumns"/>
|
||||
from hrsa_salary_item item
|
||||
left join
|
||||
(
|
||||
select
|
||||
<include refid="formulaColumns"/>
|
||||
<include refid="varColumns"/>
|
||||
from hrsa_formula formula
|
||||
left join hrsa_formula_var var on var.formula_id = formula.id
|
||||
where formula.delete_type=0 and var.delete_type=0
|
||||
) f
|
||||
on item.formula_id = f.formula_id
|
||||
where item.delete_type=0 and item.use_in_employee_salary = 0
|
||||
and system_type = 0
|
||||
left join hrsa_formula f on item.formula_id = f.id
|
||||
where item.delete_type=0
|
||||
and item.use_in_employee_salary = 0
|
||||
and item.system_type = 0
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND item.id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -730,30 +644,5 @@
|
|||
|
||||
</select>
|
||||
|
||||
<select id="getAllConfig" resultMap="configResultMap">
|
||||
select
|
||||
<include refid="itemColumns"/>
|
||||
from hrsa_salary_item item
|
||||
left join
|
||||
(
|
||||
select
|
||||
<include refid="formulaColumns"/>
|
||||
<include refid="varColumns"/>
|
||||
from hrsa_formula formula
|
||||
left join hrsa_formula_var var on var.formula_id = formula.id
|
||||
where formula.delete_type=0 and var.delete_type=0
|
||||
) f
|
||||
on item.formula_id = f.formula_id
|
||||
where item.delete_type=0 and item.use_in_employee_salary = 0
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND item.id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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<SalaryItemConfig> getConfig(SalaryItemExportParam param);
|
||||
List<SalaryItemExcelConfig> getConfig(SalaryItemExportParam param);
|
||||
|
||||
List<SalaryItemConfig> getAllConfig(SalaryItemExportParam param);
|
||||
|
||||
Map<String, Object> preview(SalaryItemImportParam param);
|
||||
|
||||
|
|
|
|||
|
|
@ -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<SalaryItemConfig> getConfig(SalaryItemExportParam param) {
|
||||
public List<SalaryItemExcelConfig> getConfig(SalaryItemExportParam param) {
|
||||
return getSalaryItemMapper().getConfig(param.getIds());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryItemConfig> getAllConfig(SalaryItemExportParam param) {
|
||||
return getSalaryItemMapper().getAllConfig(param.getIds());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> 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<String, String> map = new HashMap<>();
|
||||
map.put("rowIndex", rowIndex);
|
||||
map.put("formula", formula);
|
||||
|
|
@ -711,21 +706,28 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
|
|||
List<String> dataIndexList = Lists.newArrayList();
|
||||
ExcelUtil.parseHeader(SalaryItemExcelConfig.class, titles, dataIndexList);
|
||||
|
||||
List<SalaryItemConfig> configs = getConfig(param);
|
||||
List<SalaryItemExcelConfig> configs = getConfig(param);
|
||||
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(titles);
|
||||
configs.forEach(e -> {
|
||||
List<Object> 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<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(titles);
|
||||
if (param.isHasData()) {
|
||||
List<SalaryItemConfig> configs = getConfig(SalaryItemExportParam.builder().build());
|
||||
List<SalaryItemExcelConfig> configs = getConfig(SalaryItemExportParam.builder().build());
|
||||
configs.forEach(e -> {
|
||||
List<Object> 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());
|
||||
|
|
|
|||
Loading…
Reference in New Issue