!172 人员导入

Merge pull request !172 from dxfeng/feature/dxf
pull/173/MERGE
dxfeng 3 years ago committed by Gitee
commit 14f422c9a4
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -327,9 +327,9 @@ public class HrmResourceImportParam {
*/ */
private String company_work_year; private String company_work_year;
private String baseFieldsValue=""; private String baseFieldsValue;
private String baseFields=""; private String baseFields;
private Long creator; private Long creator;
private int deleteType; private int deleteType;

@ -328,8 +328,8 @@ public class HrmResourcePO {
private String companyWorkYear; private String companyWorkYear;
private String baseFieldsValue=""; private String baseFieldsValue;
private String baseFields=""; private String baseFields;
} }

@ -0,0 +1,35 @@
package com.engine.organization.entity.jclimport.po;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author:dxfeng
* @createTime: 2022/07/28
* @version: 1.0
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CusFormFieldPO {
private String fieldLabel;
private Long fieldId;
private String fieldName;
private String required;
/**
*
*/
private Integer fieldHtmlType;
/**
*
*/
private String type;
/**
*
*/
private String dmlUrl;
private String tableName;
}

@ -0,0 +1,21 @@
package com.engine.organization.entity.jclimport.po;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author:dxfeng
* @createTime: 2022/07/28
* @version: 1.0
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class JclSelectItem {
private Long fieldId;
private String selectValue;
private String selectName;
}

@ -2,6 +2,8 @@ package com.engine.organization.mapper.hrmresource;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.engine.organization.entity.jclimport.po.CusFormFieldPO;
import com.engine.organization.entity.jclimport.po.JclSelectItem;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Collection; import java.util.Collection;
@ -49,4 +51,18 @@ public interface SystemDataMapper {
*/ */
int updateResourceJobTitleByIds(@Param("jobTitle") String jobTitle, @Param("ids") Collection<Long> ids); int updateResourceJobTitleByIds(@Param("jobTitle") String jobTitle, @Param("ids") Collection<Long> ids);
/**
* hrmResource
*
* @return
*/
List<CusFormFieldPO> getHrmFieldBeanList();
List<CusFormFieldPO> getHrmFieldBeanListByFields(@Param("fields") Collection<String> fields);
List<CusFormFieldPO> getHrmCustomFieldList();
List<JclSelectItem> getSelectItems(@Param("tableName") String tableName, @Param("fieldId") Long fieldId);
} }

@ -1,6 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.engine.organization.mapper.hrmresource.SystemDataMapper"> <mapper namespace="com.engine.organization.mapper.hrmresource.SystemDataMapper">
<resultMap id="CustomFieldMap" type="com.engine.organization.entity.jclimport.po.CusFormFieldPO">
<result column="fieldlable" property="fieldLabel"/>
<result column="fieldid" property="fieldId"/>
<result column="fieldname" property="fieldName"/>
<result column="ismand" property="required"/>
<result column="fieldhtmltype" property="fieldHtmlType"/>
<result column="type" property="type"/>
<result column="dmlurl" property="dmlUrl"/>
<result column="tablename" property="tableName"/>
</resultMap>
<resultMap id="SelectItemMap" type="com.engine.organization.entity.jclimport.po.JclSelectItem">
<result column="fieldid" property="fieldId"/>
<result column="selectvalue" property="selectValue"/>
<result column="selectname" property="selectName"/>
</resultMap>
<update id="updateResourceJobTitleByIds"> <update id="updateResourceJobTitleByIds">
update hrmresource set JOBTITLE = #{jobTitle} where id in update hrmresource set JOBTITLE = #{jobTitle} where id in
<foreach collection="ids" open="(" item="id" separator="," close=")"> <foreach collection="ids" open="(" item="id" separator="," close=")">
@ -75,6 +93,54 @@
where departmentid = #{departmentId} where departmentid = #{departmentId}
And jobTitle = #{jobTitle} And jobTitle = #{jobTitle}
</select> </select>
<select id="getHrmFieldBeanList" resultMap="CustomFieldMap">
select b.labelname as fieldlable,
a.fieldid,
a.fieldname,
a.ismand,
a.fieldhtmltype,
a.type,
'hrmresource' as tablename
from hrm_formfield a
inner join htmllabelinfo b on a.fieldlabel = b.indexid and b.languageid = 7
where a.fielddbtype != '6'
order by groupid, fieldorder
</select>
<select id="getHrmCustomFieldList" resultMap="CustomFieldMap">
select b.labelname as fieldlable,
a.fieldid,
a.hrm_fieldlable as fieldname,
a.ismand,
c.fieldhtmltype,
c.type,
a.dmlurl,
'cus_fielddata' as tablename
from cus_formfield a
inner join htmllabelinfo b on a.fieldlable = b.indexid and b.languageid = 7
inner join cus_formdict c on a.fieldid = c.id and c.fieldhtmltype != '6'
order by groupid, fieldorder
</select>
<select id="getSelectItems" resultMap="SelectItemMap">
select fieldid, selectvalue, selectname
from ${tableName} and fieldid = #{fieldId}
</select>
<select id="getHrmFieldBeanListByFields" resultMap="CustomFieldMap">
select b.labelname as fieldlable,
a.fieldid,
a.fieldname,
a.ismand,
a.fieldhtmltype,
a.type,
'hrmresource' as tablename
from hrm_formfield a
inner join htmllabelinfo b on a.fieldlabel = b.indexid and b.languageid = 7
where a.fielddbtype != '6'
and a.fieldname in
<foreach collection="fields" open="(" item="field" separator="," close=")">
#{field}
</foreach>
order by groupid ,fieldorder
</select>
</mapper> </mapper>

@ -1,6 +1,7 @@
package com.engine.organization.mapper.jclimport; package com.engine.organization.mapper.jclimport;
import com.engine.organization.entity.jclimport.po.JclImportHistoryPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryPO;
import org.apache.ibatis.annotations.Param;
/** /**
* @author:dxfeng * @author:dxfeng
@ -10,4 +11,8 @@ import com.engine.organization.entity.jclimport.po.JclImportHistoryPO;
public interface JclImportHistoryMapper { public interface JclImportHistoryMapper {
int insertHistory(JclImportHistoryPO historyPO); int insertHistory(JclImportHistoryPO historyPO);
int updateHistoryStatus(@Param("pId") Long pId, @Param("status") String status);
} }

@ -14,7 +14,9 @@
<!-- 表字段 --> <!-- 表字段 -->
<sql id="baseColumns"> <sql id="baseColumns">
t.id t
.
id
, t.operator , t.operator
, t.operate_time , t.operate_time
, t.client_address , t.client_address
@ -23,7 +25,8 @@
, t.operate_type , t.operate_type
, t.status , t.status
</sql> </sql>
<insert id="insertHistory" parameterType="com.engine.organization.entity.jclimport.po.JclImportHistoryPO" keyProperty="id" <insert id="insertHistory" parameterType="com.engine.organization.entity.jclimport.po.JclImportHistoryPO"
keyProperty="id"
keyColumn="id" useGeneratedKeys="true"> keyColumn="id" useGeneratedKeys="true">
INSERT INTO jcl_import_history INSERT INTO jcl_import_history
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -74,4 +77,9 @@
</trim> </trim>
</insert> </insert>
<update id="updateHistoryStatus">
update jcl_import_history
set status = #{status}
where id = #{pId}
</update>
</mapper> </mapper>

@ -53,7 +53,7 @@ public interface ImportCommonService {
* @param params * @param params
* @return * @return
*/ */
Map<String, Object> saveImport(Map<String, Object> params); Map<String, Object> saveImport(Map<String, Object> params,HttpServletRequest request);
/** /**
* *

@ -15,6 +15,7 @@ import com.engine.organization.entity.extend.param.ExtendInfoParams;
import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.extend.po.ExtendInfoPO;
import com.engine.organization.entity.fieldset.param.FieldTypeTreeParam; import com.engine.organization.entity.fieldset.param.FieldTypeTreeParam;
import com.engine.organization.entity.hrmresource.param.HrmResourceImportParam; import com.engine.organization.entity.hrmresource.param.HrmResourceImportParam;
import com.engine.organization.entity.jclimport.po.CusFormFieldPO;
import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO;
import com.engine.organization.entity.jclimport.po.JclImportHistoryPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryPO;
import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO; import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO;
@ -24,6 +25,7 @@ import com.engine.organization.mapper.comp.CompMapper;
import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.department.DepartmentMapper;
import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtMapper;
import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper;
import com.engine.organization.mapper.hrmresource.SystemDataMapper;
import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper;
import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper;
import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.job.JobMapper;
@ -36,6 +38,8 @@ import com.engine.organization.util.relation.EcHrmRelationUtil;
import com.engine.organization.util.saveimport.HrmResourceImportAdaptUtil; import com.engine.organization.util.saveimport.HrmResourceImportAdaptUtil;
import com.engine.organization.util.saveimport.HrmResourceImportProcessUtil; import com.engine.organization.util.saveimport.HrmResourceImportProcessUtil;
import com.engine.organization.util.saveimport.SaveImportProcessUtil; import com.engine.organization.util.saveimport.SaveImportProcessUtil;
import com.engine.organization.util.saveimport.hrmimport.HrmImportAdaptExcelE9;
import com.engine.organization.util.saveimport.hrmimport.HrmImportProcessE9;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
@ -50,6 +54,7 @@ import weaver.general.GCONST;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.hrm.definedfield.HrmFieldManager; import weaver.hrm.definedfield.HrmFieldManager;
import weaver.join.hrm.in.HrmResourceVo;
import weaver.systeminfo.SystemEnv; import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -66,12 +71,22 @@ import java.util.stream.Collectors;
* @version: 1.0 * @version: 1.0
*/ */
public class ImportCommonServiceImpl extends Service implements ImportCommonService { public class ImportCommonServiceImpl extends Service implements ImportCommonService {
/**
* extend_group
*/
private static final Long COMPANY_TYPE = 1L;
private static final Long DEPARTMENT_TYPE = 1L;
private static final Long JOB_TYPE = 1L;
private ExtendInfoMapper getExtendInfoMapper() { private ExtendInfoMapper getExtendInfoMapper() {
return MapperProxyFactory.getProxy(ExtendInfoMapper.class); return MapperProxyFactory.getProxy(ExtendInfoMapper.class);
} }
private SystemDataMapper getSystemDataMapper() {
return MapperProxyFactory.getProxy(SystemDataMapper.class);
}
@Override @Override
public Map<String, Object> saveImportResource(Map<String, Object> params, HttpServletRequest request) { public Map<String, Object> saveImportResource(Map<String, Object> params, HttpServletRequest request) {
@ -156,26 +171,28 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
String extendType = ""; String extendType = "";
String tableName = ""; String tableName = "";
String errorMsg = ""; String errorMsg = "";
List<String> exculdeFields = new ArrayList<>(); List<String> excludeFields = new ArrayList<>();
Map<String, Object> returnMaps = new HashMap<>();
if (StringUtils.isNotBlank(importType)) { if (StringUtils.isNotBlank(importType)) {
switch (importType) { switch (importType) {
case "company": case "company":
extendType = "1"; extendType = "1";
tableName = "JCL_ORG_COMP"; tableName = "JCL_ORG_COMP";
exculdeFields.add("parent_company"); excludeFields.add("parent_company");
break; break;
case "department": case "department":
extendType = "2"; extendType = "2";
exculdeFields.add("parent_dept");
tableName = "JCL_ORG_DEPT"; tableName = "JCL_ORG_DEPT";
excludeFields.add("parent_dept");
break; break;
case "jobtitle": case "jobtitle":
extendType = "3"; extendType = "3";
exculdeFields.add("parent_job");
tableName = "JCL_ORG_JOB"; tableName = "JCL_ORG_JOB";
excludeFields.add("parent_job");
break; break;
case "resource": case "resource":
// TODO extendType = "4";
tableName = "hrmResource";
break; break;
default: default:
errorMsg = "未找到对应的导入类型,请确认"; errorMsg = "未找到对应的导入类型,请确认";
@ -185,16 +202,45 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
errorMsg = "请选择导入类型"; errorMsg = "请选择导入类型";
} }
OrganizationAssert.isBlank(errorMsg, errorMsg); OrganizationAssert.isBlank(errorMsg, errorMsg);
Map<String, Object> returnMaps = new HashMap<>();
if (StringUtils.isAnyEmpty(extendType, tableName)) { if (StringUtils.isAnyEmpty(extendType, tableName)) {
return returnMaps; return returnMaps;
} }
if ("4".equals(extendType)) {
String voField = "subcompanyid1,departmentid," +
"workcode,lastname,loginid,password,seclevel,sex," +
"jobtitle,jobactivity,jobgroupid,jobcall,joblevel," +
"jobactivitydesc,managerid,assistantid,status," +
"workroom,locationid,telephone,mobile,mobilecall," +
"fax,email,systemlanguage,birthday,folk," +
"nativeplace,regresidentplace,certificatenum," +
"maritalstatus,policy,bememberdate,bepartydate," +
"islabouunion,educationlevel,degree,healthinfo,height," +
"weight,usekind,startdate,enddate,probationenddate," +
"residentplace,homeaddress,tempresidentnumber," +
"companystartdate,workstartdate," +
"accumfundaccount,accounttype,belongto,height,weight,accountname,bankid1,accountid1," +
"telephone,dsporder,classification";
Collection<String> hrmFields = Arrays.asList(voField.split(","));
// 获取人员表单字段
List<CusFormFieldPO> hrmFieldBeanList = getSystemDataMapper().getHrmFieldBeanListByFields(hrmFields);
List<CusFormFieldPO> customFieldList = getSystemDataMapper().getHrmCustomFieldList();
List<CusFormFieldPO> mergeList = new ArrayList<>();
mergeList.addAll(hrmFieldBeanList);
mergeList.addAll(customFieldList);
List<FieldTypeTreeParam> fieldDatas = mergeList.stream().map(item -> FieldTypeTreeParam.builder().id(item.getFieldId()).name(item.getFieldLabel()).build()).collect(Collectors.toList());
List<Long> selectedKeys = mergeList.stream().filter(item -> ("1".equals(item.getRequired()) || "hrmresource".equals(item.getTableName()))).map(CusFormFieldPO::getFieldId).collect(Collectors.toList());
returnMaps.put("data", fieldDatas);
returnMaps.put("selectedKeys", selectedKeys);
} else {
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, "", "1"); List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, "", "1");
List<ExtendInfoPO> filterList = infoPOList.stream().filter(item -> !exculdeFields.contains(item.getFieldName()) && 6 != item.getControlType()).collect(Collectors.toList()); List<ExtendInfoPO> filterList = infoPOList.stream().filter(item -> !excludeFields.contains(item.getFieldName()) && 6 != item.getControlType()).collect(Collectors.toList());
List<FieldTypeTreeParam> fieldDatas = filterList.stream().map(item -> FieldTypeTreeParam.builder().id(item.getId()).name(item.getFieldNameDesc()).build()).collect(Collectors.toList()); List<FieldTypeTreeParam> fieldDatas = filterList.stream().map(item -> FieldTypeTreeParam.builder().id(item.getId()).name(item.getFieldNameDesc()).build()).collect(Collectors.toList());
List<Long> selectedKeys = filterList.stream().filter(item -> (0 == item.getIsSystemDefault()) && 1 == item.getIsrequired()).map(ExtendInfoPO::getId).collect(Collectors.toList()); List<Long> selectedKeys = filterList.stream().filter(item -> (0 == item.getIsSystemDefault()) && 1 == item.getIsrequired()).map(ExtendInfoPO::getId).collect(Collectors.toList());
returnMaps.put("data", fieldDatas); returnMaps.put("data", fieldDatas);
returnMaps.put("selectedKeys", selectedKeys); returnMaps.put("selectedKeys", selectedKeys);
}
return returnMaps; return returnMaps;
} }
@ -216,6 +262,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
break; break;
case "resource": case "resource":
// TODO // TODO
returnMap.put("condition", getResourceImportForm(templatePath));
break; break;
default: default:
returnMap.put("status", "-1"); returnMap.put("status", "-1");
@ -233,7 +280,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
} }
@Override @Override
public Map<String, Object> saveImport(Map<String, Object> params) { public Map<String, Object> saveImport(Map<String, Object> params, HttpServletRequest request) {
String importType = (String) params.get("importType"); String importType = (String) params.get("importType");
String operateType = (String) params.get("operateType"); String operateType = (String) params.get("operateType");
String excelFile = (String) params.get("excelfile"); String excelFile = (String) params.get("excelfile");
@ -241,16 +288,41 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
if (StringUtils.isNotBlank(importType)) { if (StringUtils.isNotBlank(importType)) {
switch (importType) { switch (importType) {
case "company": case "company":
returnMap.put("pId", companyImport(operateType, excelFile, 1L)); returnMap.put("pId", companyImport(operateType, excelFile));
break; break;
case "department": case "department":
returnMap.put("pId", departmentImport(operateType, excelFile, 2L)); returnMap.put("pId", departmentImport(operateType, excelFile));
break; break;
case "jobtitle": case "jobtitle":
returnMap.put("pId", jobImport(operateType, excelFile, 3L)); returnMap.put("pId", jobImport(operateType, excelFile));
break; break;
case "resource": case "resource":
// TODO // TODO
List<Object> lsErrorInfo = new ArrayList<>();
HrmImportAdaptExcelE9 importAdapt = new HrmImportAdaptExcelE9();
FileUploadToPath fu = new FileUploadToPath(request);
List errorInfo = importAdapt.creatImportMap(fu);
//如果读取数据和验证模板没有发生错误
if (errorInfo.isEmpty()) {
Map<String, HrmResourceVo> hrMap = importAdapt.getHrmImportMap();
HrmImportProcessE9 importProcess = new HrmImportProcessE9();
// TODO 日志记录
Map<String, Object> map = importProcess.init(request);
int pId = Util.getIntValue(Util.null2String(map.get("pId")));
returnMap.put("pId", pId);
importProcess.processMap(hrMap);
} else {
Map<String, Object> error;
for (int i = 0; i < errorInfo.size(); i++) {
error = new HashMap<>();
error.put("message", Util.null2String(errorInfo.get(i)));
lsErrorInfo.add(error);
}
}
break; break;
default: default:
break; break;
@ -458,11 +530,88 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
return lsGroup; return lsGroup;
} }
private List<Object> getResourceImportForm(String templatePath) throws IOException {
// 返回导入数据
List<Object> lsGroup = new ArrayList<>();
Map<String, Object> groupItem = new HashMap<>();
List<Object> itemList = new ArrayList<>();
groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage()));
groupItem.put("defaultshow", true);
SearchConditionItem searchConditionItem;
ConditionFactory conditionFactory = new ConditionFactory(user);
//重复验证字段
List<SearchConditionOption> statusOptions = new ArrayList<SearchConditionOption>();
statusOptions.add(new SearchConditionOption("workcode", SystemEnv.getHtmlLabelName(714, user.getLanguage()), true));
statusOptions.add(new SearchConditionOption("loginid", SystemEnv.getHtmlLabelName(412, user.getLanguage())));
statusOptions.add(new SearchConditionOption("lastname", SystemEnv.getHtmlLabelName(413, user.getLanguage())));
searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24638, "keyField", statusOptions);
searchConditionItem.setValue("workcode");
itemList.add(searchConditionItem);
//导入类型
List<SearchConditionOption> statusOptions1 = new ArrayList<SearchConditionOption>();
statusOptions1.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true));
statusOptions1.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage())));
searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions1);
searchConditionItem.setValue("add");
itemList.add(searchConditionItem);
//模板文件
searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet");
searchConditionItem.setValue(templatePath);
itemList.add(searchConditionItem);
//Excel文件
searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile");
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
lsGroup.add(groupItem);
itemList = new ArrayList<>();
groupItem = new HashMap<>();
groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage())));
groupItem.put("defaultshow", true);
List<Integer> lsPromptLabel = new ArrayList<>(); //提示信息
lsPromptLabel.add(128520);
lsPromptLabel.add(125868);
lsPromptLabel.add(128365);
lsPromptLabel.add(81697);
lsPromptLabel.add(81698);
lsPromptLabel.add(81699);
lsPromptLabel.add(516263);
lsPromptLabel.add(81701);
lsPromptLabel.add(388880);
lsPromptLabel.add(81702);
lsPromptLabel.add(81703);
lsPromptLabel.add(125869);
for (int i = 0; i < lsPromptLabel.size(); i++) {
Map<String, Object> item = new HashMap<>();
item.put("index", (i + 1));
String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage());
if (i == 0) {
value += SystemEnv.getHtmlLabelName(28576, user.getLanguage());
item.put("link", templatePath);
}
item.put("value", value);
itemList.add(item);
}
groupItem.put("items", itemList);
lsGroup.add(groupItem);
return lsGroup;
}
/** /**
* *
*/ */
private Long companyImport(String operateType, String excelFile, Long extendType) { private Long companyImport(String operateType, String excelFile) {
Long importHistoryId = saveImportLog("company", operateType); Long importHistoryId = saveImportLog("company", operateType);
JclImportHistoryDetailPO historyDetailPO; JclImportHistoryDetailPO historyDetailPO;
@ -501,7 +650,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
String cellValue = getCellValue(cell).trim(); String cellValue = getCellValue(cell).trim();
if (i == 0) { if (i == 0) {
// 首行 初始化字段信息 // 首行 初始化字段信息
ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(extendType, cellValue); ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(COMPANY_TYPE, cellValue);
extendInfoPOS.add(extendInfoPO); extendInfoPOS.add(extendInfoPO);
} else { } else {
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
@ -593,7 +742,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
} }
if (checkRepeatNo(compNo, extendType, companyId)) { if (checkRepeatNo(compNo, COMPANY_TYPE, companyId)) {
map.put("update_time", new Date()); map.put("update_time", new Date());
MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build()); MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build());
map.put("id", companyId); map.put("id", companyId);
@ -618,13 +767,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param operateType
* @param excelFile
* @param extendType
* @return
*/ */
private Long departmentImport(String operateType, String excelFile, Long extendType) { private Long departmentImport(String operateType, String excelFile) {
Long importHistoryId = saveImportLog("department", operateType); Long importHistoryId = saveImportLog("department", operateType);
JclImportHistoryDetailPO historyDetailPO; JclImportHistoryDetailPO historyDetailPO;
@ -664,7 +808,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
String cellValue = getCellValue(cell).trim(); String cellValue = getCellValue(cell).trim();
if (i == 0) { if (i == 0) {
// 首行 初始化字段信息 // 首行 初始化字段信息
ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(extendType, cellValue); ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(DEPARTMENT_TYPE, cellValue);
extendInfoPOS.add(extendInfoPO); extendInfoPOS.add(extendInfoPO);
} else { } else {
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
@ -785,7 +929,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
} }
if (checkRepeatNo(deptNo, extendType, departmentId)) { if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, departmentId)) {
map.put("update_time", new Date()); map.put("update_time", new Date());
MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(departmentId).tableName("JCL_ORG_DEPT").params(map).build()); MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(departmentId).tableName("JCL_ORG_DEPT").params(map).build());
map.put("id", departmentId); map.put("id", departmentId);
@ -810,13 +954,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param operateType
* @param excelFile
* @param extendType
* @return
*/ */
private Long jobImport(String operateType, String excelFile, Long extendType) { private Long jobImport(String operateType, String excelFile) {
Long importHistoryId = saveImportLog("jobtitle", operateType); Long importHistoryId = saveImportLog("jobtitle", operateType);
JclImportHistoryDetailPO historyDetailPO; JclImportHistoryDetailPO historyDetailPO;
@ -857,7 +996,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
String cellValue = getCellValue(cell).trim(); String cellValue = getCellValue(cell).trim();
if (i == 0) { if (i == 0) {
// 首行 初始化字段信息 // 首行 初始化字段信息
ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(extendType, cellValue); ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(JOB_TYPE, cellValue);
extendInfoPOS.add(extendInfoPO); extendInfoPOS.add(extendInfoPO);
} else { } else {
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
@ -955,8 +1094,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
} }
} }
} }
// TODO
map.put("parent_comp", parentCompanyId); map.put("parent_comp", parentCompanyId);
map.put("parent_dept", parentDepartmentId); map.put("parent_dept", parentDepartmentId);
map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(parentCompanyId + "")); map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(parentCompanyId + ""));
@ -1009,7 +1146,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
} }
if (checkRepeatNo(jobNo, extendType, jobId)) { if (checkRepeatNo(jobNo, JOB_TYPE, jobId)) {
map.put("update_time", new Date()); map.put("update_time", new Date());
MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(jobId).tableName("JCL_ORG_JOB").params(map).build()); MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(jobId).tableName("JCL_ORG_JOB").params(map).build());
map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID); map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID);
@ -1034,11 +1171,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
} }
/** /**
* *
*
* @param cell
* @return
*/ */
private String getCellValue(XSSFCell cell) { private String getCellValue(XSSFCell cell) {
String cellValue = ""; String cellValue = "";
@ -1071,11 +1207,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param extendInfo
* @param cellValue
* @return
* @throws Exception
*/ */
private Object getReallyValue(ExtendInfoPO extendInfo, String cellValue) throws Exception { private Object getReallyValue(ExtendInfoPO extendInfo, String cellValue) throws Exception {
if (StringUtils.isBlank(cellValue)) { if (StringUtils.isBlank(cellValue)) {
@ -1132,11 +1263,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param no
* @param extendType
* @param id
* @return
*/ */
private boolean checkRepeatNo(String no, Long extendType, Long id) { private boolean checkRepeatNo(String no, Long extendType, Long id) {
if (StringUtils.isBlank(no)) { if (StringUtils.isBlank(no)) {
@ -1159,8 +1285,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @return
*/ */
private Long saveImportLog(String importType, String operateType) { private Long saveImportLog(String importType, String operateType) {
JclImportHistoryPO historyPO = JclImportHistoryPO.builder().operator((long) user.getUID()).operateTime(DateUtil.getFullDate()).clientAddress(user.getLoginip()).importType(importType).sourceFrom("excel").operateType(operateType).status("importing").build(); JclImportHistoryPO historyPO = JclImportHistoryPO.builder().operator((long) user.getUID()).operateTime(DateUtil.getFullDate()).clientAddress(user.getLoginip()).importType(importType).sourceFrom("excel").operateType(operateType).status("importing").build();
@ -1170,8 +1294,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param historyDetailPO
*/ */
private void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { private void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) {
String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据,[" + historyDetailPO.getRelatedName() + "]" + historyDetailPO.getOperateDetail(); String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据,[" + historyDetailPO.getRelatedName() + "]" + historyDetailPO.getOperateDetail();
@ -1181,16 +1303,39 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*
* @param importType
* @param columns
* @return
* @throws IOException
*/ */
private String getTemplatePath(String importType, String columns) throws IOException { private String getTemplatePath(String importType, String columns) throws IOException {
// 根据选择字段、生成对应的导入模板 // 根据选择字段、生成对应的导入模板
String[] split = columns.split(","); String[] split = columns.split(",");
List<Object> columnList = Arrays.asList(split); List<Object> columnList = new ArrayList<>(Arrays.asList(split));
Object companyColumn = "";
Object departmentColumn = "";
// 排序
/*
\\
*/
Iterator<Object> iterator = columnList.iterator();
while (iterator.hasNext()) {
Object column = iterator.next();
if ("所属分部".equals(column.toString())) {
companyColumn = column;
iterator.remove();
}
if ("所属部门".equals(column) || "上级部门".equals(column) || "部门".equals(column)) {
departmentColumn = column;
iterator.remove();
}
}
if (StringUtils.isNotBlank(departmentColumn.toString())) {
columnList.add(0, departmentColumn);
}
if (StringUtils.isNotBlank(companyColumn.toString())) {
columnList.add(0, companyColumn);
}
List<List<Object>> excelSheetData = new ArrayList<>(); List<List<Object>> excelSheetData = new ArrayList<>();
excelSheetData.add(columnList); excelSheetData.add(columnList);
String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + user.getUID(); String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + user.getUID();

@ -79,7 +79,7 @@ public class ImportCommonController {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request); Map<String, Object> map = ParamUtil.request2Map(request);
return ReturnResult.successed(getImportCommonWrapper(user).saveImport(map)); return ReturnResult.successed(getImportCommonWrapper(user).saveImport(map,request));
} catch (Exception e) { } catch (Exception e) {
return ReturnResult.exceptionHandle(e); return ReturnResult.exceptionHandle(e);
} }

@ -49,10 +49,11 @@ public class ImportCommonWrapper extends Service {
* *
* *
* @param params * @param params
* @param request
* @return * @return
*/ */
public Map<String, Object> saveImport(Map<String, Object> params) { public Map<String, Object> saveImport(Map<String, Object> params, HttpServletRequest request) {
return getImportCommonService(user).saveImport(params); return getImportCommonService(user).saveImport(params,request);
} }
/** /**

Loading…
Cancel
Save