diff --git a/src/com/engine/organization/entity/postion/param/PostInfoSearchParam.java b/src/com/engine/organization/entity/postion/param/PostInfoSearchParam.java index 93de6af8..be9ffe5c 100644 --- a/src/com/engine/organization/entity/postion/param/PostInfoSearchParam.java +++ b/src/com/engine/organization/entity/postion/param/PostInfoSearchParam.java @@ -43,7 +43,7 @@ public class PostInfoSearchParam { /** * 职务分类 */ - private Integer postId; + private Long postId; /** * 说明 */ diff --git a/src/com/engine/organization/entity/postion/po/PostInfoPO.java b/src/com/engine/organization/entity/postion/po/PostInfoPO.java index 6fdcf20e..ee1290c0 100644 --- a/src/com/engine/organization/entity/postion/po/PostInfoPO.java +++ b/src/com/engine/organization/entity/postion/po/PostInfoPO.java @@ -45,7 +45,7 @@ public class PostInfoPO { /** * 职务分类 */ - private Integer postId; + private Long postId; /** * 说明 */ diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.java b/src/com/engine/organization/mapper/post/PostInfoMapper.java index 9beeb3f8..8bb8b1d4 100644 --- a/src/com/engine/organization/mapper/post/PostInfoMapper.java +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.java @@ -25,8 +25,11 @@ public interface PostInfoMapper { */ List listByNo(@Param("postInfoNo") String postInfoNo); + PostInfoPO getPostInfoByNameAndPostId(@Param("postInfoName") String postInfoName, @Param("postId") Long postId); + /** * 获取职务信息根据ID + * * @param id * @return */ @@ -39,10 +42,11 @@ public interface PostInfoMapper { * @return */ @MapKey("id") - List> listPostInfosByIds(@Param("ids") Collection ids); + List> listPostInfosByIds(@Param("ids") Collection ids); /** * 插入职务信息 + * * @param postInfoPO * @return */ @@ -63,6 +67,7 @@ public interface PostInfoMapper { * @return */ int updateForbiddenTagById(PostInfoPO postInfoPO); + /** * 批量删除职务信息方案 * diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.xml b/src/com/engine/organization/mapper/post/PostInfoMapper.xml index 10d12bf9..72c8d90b 100644 --- a/src/com/engine/organization/mapper/post/PostInfoMapper.xml +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.xml @@ -60,6 +60,11 @@ #{id} + update jcl_org_post_info diff --git a/src/com/engine/organization/mapper/post/PostMapper.java b/src/com/engine/organization/mapper/post/PostMapper.java index db7ab1a0..22e104d1 100644 --- a/src/com/engine/organization/mapper/post/PostMapper.java +++ b/src/com/engine/organization/mapper/post/PostMapper.java @@ -26,6 +26,8 @@ public interface PostMapper { */ PostPO getPostByID(@Param("id") long id); + List listByName(@Param("postName") String postName); + /** * 根据ID查询职务分类列表 * 浏览按钮赋值、展示用 diff --git a/src/com/engine/organization/mapper/post/PostMapper.xml b/src/com/engine/organization/mapper/post/PostMapper.xml index df766b4b..0b5aa607 100644 --- a/src/com/engine/organization/mapper/post/PostMapper.xml +++ b/src/com/engine/organization/mapper/post/PostMapper.xml @@ -51,6 +51,11 @@ + update jcl_org_post diff --git a/src/com/engine/organization/service/impl/HrmResourceImportAdaptServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceImportAdaptServiceImpl.java index b9f7a472..c090a6ee 100644 --- a/src/com/engine/organization/service/impl/HrmResourceImportAdaptServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceImportAdaptServiceImpl.java @@ -841,10 +841,9 @@ public class HrmResourceImportAdaptServiceImpl extends Service implements HrmRes if (fieldType.equals("java.lang.String")) method.invoke(importParam, cellValue); else if (fieldType.equals("java.lang.Integer")) { - if (!cellValue.equals("")) + if (!cellValue.equals("")) { method.invoke(importParam, Integer.parseInt(cellValue)); - else - method.invoke(importParam, 0x7fffffff); + } } else if (fieldType.equals("java.lang.Float") && !cellValue.equals("")) method.invoke(importParam, Float.parseFloat(cellValue)); else if (fieldType.equals("java.lang.Short") && !cellValue.equals("")) { diff --git a/src/com/engine/organization/service/impl/HrmResourceImportProcessServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceImportProcessServiceImpl.java index b0efb931..242f9dcb 100644 --- a/src/com/engine/organization/service/impl/HrmResourceImportProcessServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceImportProcessServiceImpl.java @@ -9,7 +9,6 @@ import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.service.ImportLogService; import com.engine.hrm.service.impl.ImportLogServiceImpl; import com.engine.hrm.util.CodeRuleManager; -import com.engine.hrm.util.HrmTriggerUtil; import com.engine.hrm.util.HrmWeakPasswordUtil; import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.hrm.util.face.ValidateFieldManager; @@ -19,6 +18,8 @@ import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.hrmresource.param.HrmResourceImportParam; import com.engine.organization.entity.hrmresource.po.HrmResourcePO; import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.entity.postion.po.PostInfoPO; +import com.engine.organization.entity.postion.po.PostPO; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.HrmResourceMapper; @@ -28,39 +29,27 @@ import com.engine.organization.mapper.post.PostMapper; import com.engine.organization.service.HrmResourceImportProcessService; import com.engine.organization.util.PageInfoSortUtil; import com.engine.organization.util.db.MapperProxyFactory; -import com.weaver.integration.ldap.sync.oa.OaSync; -import com.weaver.integration.ldap.util.AuthenticUtil; import ln.LN; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.json.JSONObject; +import weaver.common.DateUtil; import weaver.common.StringUtil; import weaver.conn.RecordSet; import weaver.encrypt.EncryptUtil; import weaver.general.BaseBean; import weaver.general.PasswordUtil; -import weaver.general.TimeUtil; import weaver.general.Util; import weaver.hrm.User; -import weaver.hrm.common.DbFunctionUtil; import weaver.hrm.common.database.dialect.DbDialectFactory; import weaver.hrm.common.database.dialect.DialectUtil; -import weaver.hrm.company.DepartmentComInfo; -import weaver.hrm.company.SubCompanyComInfo; import weaver.hrm.definedfield.HrmFieldManager; -import weaver.hrm.job.JobActivitiesComInfo; -import weaver.hrm.job.JobGroupsComInfo; -import weaver.hrm.job.JobTitlesComInfo; -import weaver.hrm.job.UseKindComInfo; -import weaver.hrm.location.LocationComInfo; import weaver.hrm.passwordprotection.manager.HrmResourceManager; import weaver.hrm.resource.ResourceComInfo; import weaver.hrm.settings.ChgPasswdReminder; import weaver.hrm.settings.RemindSettings; -import weaver.hrm.tools.HrmDateCheck; -import weaver.interfaces.hrm.HrmServiceManager; import weaver.join.hrm.in.ImportLog; import weaver.join.hrm.in.processImpl.HrmTlevelManager; -import weaver.rtx.OrganisationCom; import weaver.systeminfo.SystemEnv; import javax.servlet.http.HttpServletRequest; @@ -80,8 +69,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR private final Map keyMap = new HashMap<>(); //看数据库是否有重复,将数据库现有的数据查出 - private final Map isADAccountMap = new HashMap<>(); - private final Map certificateNums = new HashMap<>();//已存在的身份证 Map> checkInfos = new HashMap<>(); @@ -94,8 +81,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR private final int userlanguage = 7; //登录语言 - char separator = Util.getSeparator(); - LN license = new LN(); //license String keyField = ""; @@ -260,16 +245,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR getKeyMap(keyField); //获取重复性验证字段Map Long id; - ResourceComInfo resourcecominfo = new ResourceComInfo(); - DepartmentComInfo departmentComInfo = new DepartmentComInfo(); - SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo(); - JobActivitiesComInfo jobActivitiesComInfo = new JobActivitiesComInfo(); - JobTitlesComInfo jobTitlesComInfo = new JobTitlesComInfo(); - JobGroupsComInfo jobGroupsComInfo = new JobGroupsComInfo(); - LocationComInfo locationComInfo = new LocationComInfo(); - UseKindComInfo useKindComInfo = new UseKindComInfo(); - - Set keySet = hrMap.keySet(); Object[] keyArray = keySet.toArray(); @@ -304,15 +279,14 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR new BaseBean().writeLog(e); } - Object obj; + String obj; HrmResourcePO hrmResourcePO; for (Object o : keyArray) { - obj = o; - hrmResourceImportParam = hrMap.get(obj); + obj = o.toString(); + hrmResourceImportParam = hrMap.get(obj.toString()); key = (String) obj; hrmResourcePO = new HrmResourcePO(); this.rowNum++; - //TimeUnit.SECONDS.sleep(1); try { // 异常处理 if (operateType.equals("add")) { @@ -376,6 +350,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR continue; } } + companyId = 0 == companyId ? null : companyId; hrmResourcePO.setCompanyId(companyId); } else { resultList.add(createLog(hrmResourceImportParam, "创建", "失败", SystemEnv.getHtmlLabelName(83526, userlanguage))); @@ -452,15 +427,15 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR //上级id if (hrmResourceImportParam.getManager_id() != null) { - int managerid = getManagerId("", hrmResourceImportParam.getManager_id(), keyField); - hrmResourcePO.setManagerId(managerid); + int managerid = getManagerId(hrmResourceImportParam.getManager_id(), keyField); + hrmResourcePO.setManagerId(0 == managerid ? null : managerid); //如果vo.getManagerid()有值,但manageid未找到,说明填写有误 if (!hrmResourceImportParam.getManager_id().equals("") && managerid == 0) { resultList.add(createLog(hrmResourceImportParam, "创建", "失败", SystemEnv.getHtmlLabelName(83532, userlanguage))); continue; } } else { - hrmResourcePO.setManagerId(0); + hrmResourcePO.setManagerId(null); } // 助理id @@ -617,22 +592,49 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR //职级 if (isInteger(hrmResourceImportParam.getJob_level())) { - // TODO + // TODO 职级 Long jobLevel = hrmResourceImportParam.getJob_level().equals("") ? 0 : Long.parseLong(hrmResourceImportParam.getJob_level()); hrmResourcePO.setJobLevel(jobLevel); } else { hrmResourcePO.setJobLevel(0L); } Long jobGroupId = null; - //TODO 职务类别 if (hrmResourceImportParam.getJob_group_id() != null) { - + List postPOS = getPostMapper().listByName(hrmResourceImportParam.getJob_group_id()); + if (CollectionUtils.isNotEmpty(postPOS)) { + jobGroupId = postPOS.get(0).getId(); + } else { + PostPO postPO = PostPO.builder() + .postName(hrmResourceImportParam.getJob_group_id()) + .creator((long) user.getUID()) + .deleteType(0) + .createTime(new Date()) + .build(); + getPostMapper().insertIgnoreNull(postPO); + jobGroupId = postPO.getId(); + } + hrmResourcePO.setJobGroupId(jobGroupId); } // 职务 if (hrmResourceImportParam.getJob_activity() != null) { - // TODO 职务 - hrmResourcePO.setJobActivity(null); + if (null == jobGroupId) { + resultList.add(createLog(hrmResourceImportParam, "创建", "失败", "职务导入错误,未找到对应职务类别")); + continue; + } + PostInfoPO postInfoPO = getPostInfoMapper().getPostInfoByNameAndPostId(hrmResourceImportParam.getJob_activity(), jobGroupId); + if (null == postInfoPO) { + postInfoPO = PostInfoPO.builder() + .postInfoNo(hrmResourceImportParam.getJob_activity()) + .postInfoName(hrmResourceImportParam.getJob_activity()) + .postId(jobGroupId) + .creator((long) user.getUID()) + .deleteType(0) + .createTime(new Date()) + .build(); + getPostInfoMapper().insertIgnoreNull(postInfoPO); + } + hrmResourcePO.setJobActivity(postInfoPO.getId()); } //用工性质 @@ -642,7 +644,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } else { hrmResourcePO.setUseKind(0); } - //如果新增导入的时候,登陆名不为空,需要校验一下当前的license // 手机 办公电话 @@ -684,6 +685,12 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } } } + // 显示顺序 + if (null != hrmResourceImportParam.getShow_order()) { + hrmResourcePO.setShowOrder(hrmResourceImportParam.getShow_order()); + } else { + hrmResourcePO.setShowOrder(id.intValue()); + } String[] encrypts = PasswordUtil.encrypt(password_tmp); HrmFaceCheckManager.setUserPassowrd(id + "", password_tmp); @@ -699,9 +706,9 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR StringBuilder insertFields = new StringBuilder(); StringBuilder insertValues = new StringBuilder(); - String workcode = hrmResourceImportParam.getWork_code(); - workcode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.USER, workcode); - hrmResourceImportParam.setWork_code(workcode); + String workCode = hrmResourceImportParam.getWork_code(); + workCode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.USER, workCode); + hrmResourceImportParam.setWork_code(workCode); for (String s : fields) { Field resourcePOClassField = resourcePOClass.getDeclaredField(PageInfoSortUtil.underlineToHump(s)); @@ -714,11 +721,12 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR paramClassDeclaredField.setAccessible(true); //首先取hrm对象中的数据,没有去vo中的 + boolean isNumber = hrmFieldType.endsWith("Long") || hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float"); if (resourcePOClassField.get(hrmResourcePO) != null) { if (hrmFieldType.endsWith("String")) { insertFields.append(s).append(","); insertValues.append("'").append(resourcePOClassField.get(hrmResourcePO)).append("',"); - } else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { + } else if (isNumber) { insertFields.append(s).append(","); String insertValueStr = Util.null2String(resourcePOClassField.get(hrmResourcePO)); if ("".equals(insertValueStr) && recordSet.getDBType().equalsIgnoreCase("postgresql")) { @@ -741,7 +749,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR insertFields.append(s).append(","); insertValues.append("'").append(paramClassDeclaredField.get(hrmResourceImportParam)).append("',"); } - } else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { + } else if (isNumber) { insertFields.append(s).append(","); String insertValueStr = Util.null2String(paramClassDeclaredField.get(hrmResourceImportParam)); if ("".equals(insertValueStr) && recordSet.getDBType().equalsIgnoreCase("postgresql")) { @@ -754,8 +762,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } } insertStr = insertStr + insertFields + "creator,delete_type,create_time,update_time) values(" + insertValues + createrid + ",'" + 0 + "','" + date + "','" + date + "')"; - - boolean resourceInsertFlag = true; if (!execSql(insertStr)) {//添加人员信息 flag = false; @@ -763,18 +769,10 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } if (resourceInsertFlag) {// 仅当人员插入成功后才进行自定义字段操作 PasswordUtil.updateResourceSalt(id + "", salt); - if (!updateBaseData(hrmResourceImportParam.getBaseFields(), hrmResourceImportParam.getBaseFieldsValue(), id.intValue())) //添加基础字段信息 - flag = false; - } - - /*添加人员缓存,人员默认按id显示顺序,HrmResource_Trigger_Insert 人员共享 入职维护项目状态*/ - if (flag) { - //人员显示顺序 - if (hrmResourceImportParam.getShow_order() == null) { - // TODO - // String taxissql = ("update HrmResource set dsporder = " + id + " where id = " + id); - // recordSet.executeSql(taxissql); - } + // TODO 更新自定义字段 + //if (!updateBaseData(hrmResourceImportParam.getBaseFields(), hrmResourceImportParam.getBaseFieldsValue(), id.intValue())) { + // flag = false; + //} } /*写日志*/ @@ -825,9 +823,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR subCompanyName = subCompanyNames; companyId = getSubCompanyId(subCompanyName); issameSub = false; - } - if (companyId == -9) { resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getErrorMsgName(56, userlanguage))); continue; @@ -849,7 +845,8 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR continue; } } - hrmResourcePO.setCompanyId((long) companyId); + companyId = 0 == companyId ? null : companyId; + hrmResourcePO.setCompanyId(companyId); } // 部门id @@ -857,28 +854,17 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR if (!"".equals(Util.null2String(departmentNames))) { //部门存在时 if (!issameSub || !departmentNames.equals(departmentName)) { departmentName = departmentNames; - departmentId = getDeptId(departmentName, (long) companyId); - - if (departmentId == 0) { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83537, userlanguage))); - continue; - } - if (departmentId == -2) { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(126275, userlanguage))); - continue; - } - } else { //add sjh 50102需要考虑不同公司名称相同部门架构情况 此时部门ID是不同的 - departmentId = getDeptId(departmentName, (long) companyId); - if (departmentId == 0) { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83537, userlanguage))); - continue; - } - if (departmentId == -2) { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(126275, userlanguage))); - continue; - } } - hrmResourcePO.setDepartmentId((long) departmentId); + departmentId = getDeptId(departmentName, companyId); + if (departmentId == 0) { + resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83537, userlanguage))); + continue; + } + if (departmentId == -2) { + resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(126275, userlanguage))); + continue; + } + hrmResourcePO.setDepartmentId(departmentId); } //主账号id-sunjsh @@ -915,48 +901,29 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } } - // 岗位id + // TODO 岗位id if ("".equals(Util.null2String(hrmResourceImportParam.getJob_title())) && (!"".equals(Util.null2String(hrmResourceImportParam.getJob_activity())) || !"".equals(Util.null2String(hrmResourceImportParam.getJob_group_id())))) { resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83544, userlanguage))); continue; } if (!"".equals(Util.null2String(hrmResourceImportParam.getJob_title()))) { - String jobtitle; - String jobactivityid; - String jobactivityname; - String jobgroupid; - String jobgroupname; - if (hrmResourceImportParam.getJob_activity() == null) { - jobtitle = resourcecominfo.getJobTitle(hrmId); - jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); - jobactivityname = jobActivitiesComInfo.getJobActivitiesname(jobactivityid); - } else jobactivityname = hrmResourceImportParam.getJob_activity(); - if (hrmResourceImportParam.getJob_group_id() == null) { - jobtitle = resourcecominfo.getJobTitle(hrmId); - jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); - jobgroupid = jobActivitiesComInfo.getJobgroupid(jobactivityid); - jobgroupname = jobGroupsComInfo.getJobGroupsname(jobgroupid); - } else { - jobgroupname = hrmResourceImportParam.getJob_group_id(); - } - int jobtitleid = getJobTitles(hrmResourceImportParam.getJob_title(), jobactivityname, jobgroupname); - hrmResourcePO.setJobTitle((long) jobtitleid); + String jobNames = hrmResourceImportParam.getJob_title(); + hrmResourcePO.setJobTitle(getJobTitles(companyId, departmentId, jobNames)); } - if (Util.getIntValue(hrmId) < 0) continue; // 级序列 if (!"".equals(Util.null2String(hrmResourceImportParam.getManager_id()))) { - int managerid = getManagerId(hrmId, hrmResourceImportParam.getManager_id(), keyField); + int managerid = getManagerId(hrmResourceImportParam.getManager_id(), keyField); //如果vo.getManagerid()有值,但manageid未找到,说明填写有误 if (hrmResourceImportParam.getManager_id() != null && !hrmResourceImportParam.getManager_id().equals("") && managerid == 0) { resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83532, userlanguage))); continue; } - hrmResourcePO.setManagerId(managerid); + hrmResourcePO.setManagerId(0 == managerid ? null : managerid); } else { - hrmResourcePO.setManagerId(0); + hrmResourcePO.setManagerId(null); } // 助理id if (!"".equals(Util.null2String(hrmResourceImportParam.getAssistant_id()))) { @@ -1068,7 +1035,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR int status = getStatus(hrmResourceImportParam.getStatus()); hrmResourcePO.setStatus(status); } else { - // TODO 待验证 hrmResourcePO.setStatus(0); } @@ -1117,7 +1083,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } else { // TODO //安全级别为空时取缓存类中的安全级别 - hrmResourcePO.setSecLevel(Integer.parseInt(resourcecominfo.getSeclevel(hrmId))); + // hrmResourcePO.setSecLevel(Integer.parseInt(resourcecominfo.getSeclevel(hrmId))); } //职级 @@ -1126,20 +1092,50 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR hrmResourcePO.setJobLevel((long) joblevel); } - //用工性质 - if (hrmResourceImportParam.getUse_kind() != null) { - int usekind = getUseKind(hrmResourceImportParam.getUse_kind()); - hrmResourcePO.setUseKind(usekind); + // 职务分类 + Long jobGroupId = null; + if (hrmResourceImportParam.getJob_group_id() != null) { + List postPOS = getPostMapper().listByName(hrmResourceImportParam.getJob_group_id()); + if (CollectionUtils.isNotEmpty(postPOS)) { + jobGroupId = postPOS.get(0).getId(); + } else { + PostPO postPO = PostPO.builder() + .postName(hrmResourceImportParam.getJob_group_id()) + .creator((long) user.getUID()) + .deleteType(0) + .createTime(new Date()) + .build(); + getPostMapper().insertIgnoreNull(postPO); + jobGroupId = postPO.getId(); + } + hrmResourcePO.setJobGroupId(jobGroupId); } - - //更新导入的时候,如果登录名不为空,需要校验一下当前的license - if (needCheckLicenseForUpdate(resourcecominfo, hrmId, hrmResourceImportParam)) { - license.reloadLicenseInfo(); - if (license.CkHrmnum() >= 0) { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", SystemEnv.getHtmlLabelName(83522, userlanguage))); + // 职务 + if (hrmResourceImportParam.getJob_activity() != null) { + if (null == jobGroupId) { + resultList.add(createLog(hrmResourceImportParam, "创建", "失败", "职务导入错误,未找到对应职务类别")); continue; } + PostInfoPO postInfoPO = getPostInfoMapper().getPostInfoByNameAndPostId(hrmResourceImportParam.getJob_activity(), jobGroupId); + if (null == postInfoPO) { + postInfoPO = PostInfoPO.builder() + .postInfoNo(hrmResourceImportParam.getJob_activity()) + .postInfoName(hrmResourceImportParam.getJob_activity()) + .postId(jobGroupId) + .creator((long) user.getUID()) + .deleteType(0) + .createTime(new Date()) + .build(); + getPostInfoMapper().insertIgnoreNull(postInfoPO); + } + hrmResourcePO.setJobActivity(postInfoPO.getId()); + } + + //用工性质 + if (hrmResourceImportParam.getUse_kind() != null) { + int usekind = getUseKind(hrmResourceImportParam.getUse_kind()); + hrmResourcePO.setUseKind(usekind); } // 手机 办公电话 @@ -1171,13 +1167,10 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR HrmFaceCheckManager.setUserPassowrd(keyMap.get(key) + "", orgPwd); } - boolean flag = true; + StringBuilder updateStr = new StringBuilder("update jcl_org_hrmresource set "); - StringBuilder updateStr = new StringBuilder("update hrmresource set "); - - String tmpstatus = ""; for (int k = 1; k < fields.length; k++) { - Field hrmField = resourcePOClass.getDeclaredField(fields[k]); + Field hrmField = resourcePOClass.getDeclaredField(PageInfoSortUtil.underlineToHump(fields[k])); Field paramClassDeclaredField = importParamClass.getDeclaredField(fields[k]); String hrmFieldType = hrmField.getType().getName(); @@ -1187,17 +1180,11 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR paramClassDeclaredField.setAccessible(true); if (Util.null2String(hrmField.get(hrmResourcePO)).trim().length() > 0) { - if (hrmFieldType.endsWith("String")) + if (hrmFieldType.endsWith("String")) { updateStr.append(fields[k]).append("='").append(hrmField.get(hrmResourcePO)).append("',"); - else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) - if (false) { - //0数据的这个临时改回去 - - } else { - updateStr.append(fields[k]).append("=").append(hrmField.get(hrmResourcePO)).append(","); - } - if (fields[k].equals("status")) - tmpstatus = Util.null2String(hrmField.get(hrmResourcePO)); + } else if (hrmFieldType.endsWith("Long") || hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { + updateStr.append(fields[k]).append("=").append(hrmField.get(hrmResourcePO)).append(","); + } } else if (Util.null2String(paramClassDeclaredField.get(hrmResourceImportParam)).trim().length() > 0) { if (voFieldType.endsWith("String")) { if (recordSet.getDBType().equalsIgnoreCase("mysql") || recordSet.getDBType().equalsIgnoreCase("postgresql")) { @@ -1209,145 +1196,22 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR } else { updateStr.append(fields[k]).append("='").append(paramClassDeclaredField.get(hrmResourceImportParam)).append("',"); } - } else if (voFieldType.endsWith("Integer") || voFieldType.endsWith("Short") || voFieldType.endsWith("Float")) { - if (paramClassDeclaredField.get(hrmResourceImportParam).equals(0) && false) { - + } else if (voFieldType.endsWith("Long") || voFieldType.endsWith("Integer") || voFieldType.endsWith("Short") || voFieldType.endsWith("Float")) { + if (voFieldType.endsWith("Integer") && (paramClassDeclaredField.get(hrmResourceImportParam).equals(0x7fffffff))) { + updateStr.append(fields[k]).append("=null,"); } else { - if (voFieldType.endsWith("Integer") && (paramClassDeclaredField.get(hrmResourceImportParam).equals(0x7fffffff))) { - updateStr.append(fields[k]).append("=null,"); - } else { - updateStr.append(fields[k]).append("=").append(paramClassDeclaredField.get(hrmResourceImportParam)).append(","); - } + updateStr.append(fields[k]).append("=").append(paramClassDeclaredField.get(hrmResourceImportParam)).append(","); } } - if (fields[k].equals("status")) - tmpstatus = Util.null2String(paramClassDeclaredField.get(hrmResourceImportParam)); } } // TODO - // updateStr.append(" lastmodid=").append(lastmodid).append(",lastmoddate='").append(lastmoddate).append("',managerstr='").append(hrmResourcePO.getManagerstr()).append("',").append(DbFunctionUtil.getUpdateSetSql(new RecordSet().getDBType(), lastmodid)).append(" where id=").append(keyMap.get(key)); - - if (!execSql(updateStr.toString())) flag = false; - - //同步密码到AD - if (flag && !"".equals(Util.null2String(hrmResourceImportParam.getPass_word()))) { - String userid = Util.null2String(keyMap.get(key)); - String loginid = Util.null2String(resourcecominfo.getLoginID(userid)); - String isADAccount = Util.null2String(isADAccountMap.get(userid)); - if ("1".equals(isADAccount) && !"1".equals(userid) && new AuthenticUtil().checkType(loginid)) { - Map map = new HashMap<>(); - map.put("userid", userid);//OA人员id - map.put("loginid", loginid);//人员帐号 - map.put("password", Util.null2String(hrmResourceImportParam.getPass_word()));//新密码 - map.put("issysadmin", "true");//是否需要检验旧密码。0,是检验。1,不需要检验。 - String optype = "4"; //1,强制修改密码操作。2,首次登录密码操作,3,忘记密码找回。其它,系统修改ad操作。 - map.put("optype", optype); - Map retInfo = new OaSync("", "").modifyADPWDNew(map); - if (Util.null2String(retInfo.get("code")).equals("0")) { - //更新修改密码时间 - String passwdchgdate = Util.null2String(TimeUtil.getCurrentDateString()); - flag = recordSet.executeUpdate("update hrmresource set passwdchgdate=?, haschangepwd='y' where id = ?", passwdchgdate, userid); - } else { - flag = false; - new BaseBean().writeLog("人员导入,更新人员密码,同步至AD失败___retInfo___" + com.alibaba.fastjson.JSONObject.toJSONString(retInfo)); - } - } - } - - //如果更新为解聘、离职、退休,处理相关数据 - if (("4".equals(tmpstatus) || "5".equals(tmpstatus) || "6".equals(tmpstatus)) && !tmpstatus.equals(resourcecominfo.getStatus("" + keyMap.get(key)))) { - OrganisationCom orgCom = new OrganisationCom(); - HrmServiceManager hrmaction = new HrmServiceManager(); - String tmpid; - String type = "5"; - String procType = "HrmResource_Dismiss"; - String statusType = "5"; - if ("4".equals(tmpstatus)) { - type = "1"; - procType = "HrmResource_Fire"; - statusType = "4"; - } else if ("6".equals(tmpstatus)) { - type = "6"; - procType = "HrmResource_Retire"; - statusType = "6"; - } - int resourceid = keyMap.get(key); - String changedate = TimeUtil.getCurrentDateString(); - String changereason = SystemEnv.getHtmlLabelName(17887, userlanguage); - String changecontractid = ""; - String infoman = ""; - String oldjobtitleid = resourcecominfo.getJobTitle("" + resourceid); - String para = "" + resourceid + separator + changedate + separator + changereason + separator + changecontractid + separator + infoman + separator + oldjobtitleid + separator + type + separator + "1"; - recordSet.executeProc(procType, para); - recordSet.executeSql("select max(id) from HrmStatusHistory"); - recordSet.next(); - tmpid = recordSet.getString(1); - - //删除角色成员 - recordSet.executeSql("delete from hrmrolemembers where resourcetype =1 and resourceid=" + resourceid); - //删除手机版中设置的登录人员 - recordSet.executeSql("delete from PluginLicenseUser where plugintype='mobile' and sharetype='0' and sharevalue='" + resourceid + "'"); - //更新人员未离职,清空账号 - recordSet.executeSql("update HrmResource set status = " + statusType + " ,loginid='',password='',account='', email='', tokenkey='', lastmoddate='" + changedate + "' where id = " + resourceid); - //删除自定义组成员 - recordSet.executeSql("delete hrmgroupmembers where userid=" + resourceid); - //更新变更记录状态为已处理 - recordSet.executeSql("update HrmStatusHistory set isdispose = 1 where id=" + tmpid); - boolean exist = orgCom.checkUser(resourceid); - if (exist) { - orgCom.deleteUser2(resourceid); - } - //OA与第三方接口单条数据同步方法开始 - hrmaction.SynInstantHrmResource("" + resourceid, "3"); - //OA与第三方接口单条数据同步方法结束 - } + updateStr.append(" update_time ='").append(DateUtil.getCurrentDate()).append("' where id=").append(keyMap.get(key)); - if (!updateBaseData(hrmResourceImportParam.getBaseFields(), hrmResourceImportParam.getBaseFieldsValue().trim(), keyMap.get(key))) - flag = false; - - /*update HrmResource_Trigger */ - if (flag) { - recordSet.executeSql("select id from HrmResource_Trigger where id=" + hrmId); - if (recordSet.next()) { - // TODO recordSet.executeSql("update HrmResource_Trigger set managerid=" + hrmResourcePO.getManagerId() + ",departmentid=" + hrmResourcePO.getDepartmentId() + ",subcompanyid1=" + hrmResourcePO.getCompanyId() + ",seclevel=" + hrmResourcePO.getSecLevel() + ",managerstr='" + hrmResourcePO.getManagerstr() + "' where id=" + hrmId); - } else { - // TODO - // String para = "" + hrmId + separator + hrmResourcePO.getManagerId() + separator + hrmResourcePO.getDepartmentId() + separator + hrmResourcePO.getCompanyId() + separator + hrmResourcePO.getSecLevel() + separator + hrmResourcePO.getManagerstr(); - // recordSet.executeProc("HrmResource_Trigger_Insert", para); - } - } - - //更新下级managerstr - if (flag) { - - HrmFaceCheckManager.sync(keyMap.get(key) + "", HrmFaceCheckManager.getOptUpdate(), "hrm_e9_import_resource", HrmFaceCheckManager.getOaResource()); - new HrmDateCheck().calWorkInfo(hrmId); - resultList.add(createLog(hrmResourceImportParam, "更新", "成功", "")); - //qc313055 [80][90][缺陷]IM集成-解决人员导入更新人员信息时,无账号列时,IM同步会进行删除操作的问题 ---start - RecordSet rst = new RecordSet(); - if (hrmResourceImportParam.getLogin_id() != null) { - - //此时resourcecominfo对象还没有更新,可以直接取 - if (!"".equals(hrmResourceImportParam.getLogin_id())) { - - } else { - rst.executeSql("select * from hrmresource where id='" + hrmId + "'"); - String loginid = ""; - if (rst.next()) { - loginid = rst.getString("loginid"); - } - } - } else { - rst.executeSql("select * from hrmresource where id='" + hrmId + "'"); - String loginid = ""; - if (rst.next()) { - loginid = rst.getString("loginid"); - } - } - } else { - resultList.add(createLog(hrmResourceImportParam, "更新", "失败", "系统错误,请联系管理员")); - } + execSql(updateStr.toString()); + // TODO 更新自定义字段 + // updateBaseData(hrmResourceImportParam.getBaseFields(), hrmResourceImportParam.getBaseFieldsValue().trim(), keyMap.get(key)); } } catch (Exception e) { //数据异常 @@ -1360,20 +1224,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR new BaseBean().writeLog(e); } - - //更新人员、分部、部门、职位、岗位、职位类型缓存 - - resourcecominfo.removeResourceCache(); - departmentComInfo.removeCompanyCache(); - subCompanyComInfo.removeCompanyCache(); - jobActivitiesComInfo.removeJobActivitiesCache(); - jobTitlesComInfo.removeJobTitlesCache(); - jobGroupsComInfo.removeCompanyCache(); - locationComInfo.removeLocationCache(); - useKindComInfo.removeUseKindCache(); - //初始化应用分权 - new weaver.hrm.appdetach.AppDetachComInfo().initSubDepAppData(); - Map params = new HashMap<>(); params.put("pId", this.pId); params.put("status", "over"); @@ -1402,8 +1252,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR String[] baseFields = baseFild.split(","); String fielddbType; String sql = ""; - String scopeId = "-1"; - EncryptUtil encryptUtil = new EncryptUtil(); RecordSet recordSet = new RecordSet(); try { if (baseTypeMap == null) { @@ -1430,18 +1278,11 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR sql = "insert into cus_fielddata "; StringBuilder valueStr = new StringBuilder(); for (int i = 0; i < baseFields.length; i++) { - String fieldname = baseFields[i]; JSONObject jsonObject = baseTypeMap.get(baseFields[i]); fielddbType = jsonObject.getString("fielddbtype"); jsonObject.put("fieldvalue", baseValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); - EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { - //是否需要加密 - fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); - } - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) valueStr.append(",").append("'").append(!fieldvalue.equals("") ? fieldvalue : "").append("'"); else valueStr.append(",").append(!fieldvalue.equals("") ? fieldvalue : "NULL"); @@ -1465,7 +1306,9 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR * @return */ public boolean updateBaseData(String baseFild, String baseValue, int id) { - if (baseFild == null || baseFild.equals("")) return true; + if (baseFild == null || baseFild.equals("")) { + return true; + } //检查cus_fielddata表中是否存在,对应id人员的基础自定义信息,如果不存在则向数据库添加 RecordSet recordSet = new RecordSet(); @@ -1567,7 +1410,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR currentId = getResultSetId(currentidsql); if (parentId == 0 && currentId == 0) { - recordSet.executeSql("select COUNT(id) from jcl_org_comp where " + supsubcomidConditon + " = 0 "); + recordSet.execute("select COUNT(id) from jcl_org_comp where " + supsubcomidConditon + " = 0 "); if (recordSet.next()) { curCount = recordSet.getInt(1); } @@ -1587,8 +1430,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR .compNo(compNo) .compName(companyName.trim()) .compNameShort(companyName.trim()) - .parentCompany((long) parentId) - // .forbiddenTag(0) + .parentCompany(0 == parentId ? null : parentId) .creator((long) user.getUID()) .deleteType(0) .createTime(new Date()) @@ -1649,8 +1491,8 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR .deptNo(deptNo) .deptName(deptName.trim()) .deptNameShort(deptName.trim()) - .parentComp(companyId) - .parentDept(parentId) + .parentComp(0 == companyId ? null : companyId) + .parentDept(0 == parentId ? null : parentId) .forbiddenTag(0) .creator((long) user.getUID()) .deleteType(0) @@ -1669,7 +1511,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR String[] jobNameArray = jobNames.split(">"); long currentId = 0L; - Long parentId = 0L; + long parentId = 0L; String currentIdSql; String sql; RecordSet recordSet = new RecordSet(); @@ -1697,9 +1539,9 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR JobPO jobPO = JobPO.builder() .jobNo(jobNo) .jobName(jobName) - .parentComp(companyId) - .parentDept(departmentId) - .parentJob(parentId) + .parentComp(0 == companyId ? null : companyId) + .parentDept(0 == departmentId ? null : departmentId) + .parentJob(0 == parentId ? null : parentId) .forbiddenTag(0) .creator((long) user.getUID()) .deleteType(0) @@ -1713,88 +1555,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR return currentId; } - /** - * 获取岗位id - * - * @param jobtitlename 岗位名称 - * @param jobactivityname 职务 - * @param jobgroupname 职务类型 - * @return - */ - public int getJobTitles(String jobtitlename, String jobactivityname, String jobgroupname) { - RecordSet rs = new RecordSet(); - RecordSet recordSet = new RecordSet(); - String sqlInsert; - - jobgroupname = Util.convertInput2DB4(jobgroupname); - jobactivityname = Util.convertInput2DB4(jobactivityname); - - /* 获取jobgroupid 职务类别 */ - String selSql = "select id from HrmJobGroups where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - selSql = "select id from HrmJobGroups where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; - } - - int jobgroupid = getResultSetId(selSql); - - if (jobgroupid == 0) { - if (jobgroupname.length() == 0) { - selSql = "select max(id) as id from HrmJobGroups"; - jobgroupid = getResultSetId(selSql); - } else { - sqlInsert = "insert into HrmJobGroups (jobgroupname,jobgroupremark ," + DbFunctionUtil.getInsertColumnSql() + ") values('" + jobgroupname + "','" + jobgroupname + "'," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ")"; // 创建 - execSql(sqlInsert); - jobgroupid = getResultSetId(selSql); - } - } - - /* 获取jobactivityid 职务 */ - selSql = "select id from HrmJobActivities where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - selSql = "select id from HrmJobActivities where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; - } - - int jobactivityid = getResultSetId(selSql); - - if (jobactivityid == 0) { - sqlInsert = "insert into HrmJobActivities (jobactivityname,Jobactivitymark,jobgroupid ," + DbFunctionUtil.getInsertColumnSql() + ") values('" + jobactivityname + "','" + jobactivityname + "'," + jobgroupid + " ," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ")"; // 创建 - execSql(sqlInsert); - jobactivityid = getResultSetId(selSql); - } - - /*获取岗位id*/ - selSql = "select id from HrmJobTitles where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - selSql = "select id from HrmJobTitles where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; - } - - int jobtitle = getResultSetId(selSql); - - if (jobtitle == 0) { - String jobtitlecode = ""; - try { - jobtitlecode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.JOBTITLES, jobtitlecode); - } catch (Exception e) { - new BaseBean().writeLog(e); - } - sqlInsert = "insert into HrmJobTitles (jobtitlename,Jobtitlemark,jobactivityid ," + DbFunctionUtil.getInsertColumnSql() + ", jobtitlecode) values('" + jobtitlename + "','" + jobtitlename + "'," + jobactivityid + " ," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ", '" + jobtitlecode + "')"; // 创建 - execSql(sqlInsert); - HrmTriggerUtil.generateJobtitlesPinyin(jobtitlename, null); - jobtitle = getResultSetId(selSql); - - HrmFaceCheckManager.sync(jobtitle + "", HrmFaceCheckManager.getOptInsert(), "hrm_e9_import_getJobtitles", HrmFaceCheckManager.getOaJobtitle()); - - } else { - selSql = "select * from HrmJobTitles where id = '" + jobtitle + "' and jobactivityid = '" + jobactivityid + "' "; - recordSet.executeSql(selSql); - if (!recordSet.next()) {//查询这个名称已存在的岗位,对应的职务是否存在。如果对应职务的岗位不存在,则说明岗位对应的职务和职务类别有更新 - sqlInsert = "update HrmJobTitles set jobactivityid = '" + jobactivityid + "'," + DbFunctionUtil.getUpdateSetSql(rs.getDBType(), 1) + " where id = '" + jobtitle + "' "; - rs.executeSql(sqlInsert); - } - } - return jobtitle; - } - public static boolean needCheckLicenseForUpdate(ResourceComInfo resourceComInfo, String hrmId, HrmResourceImportParam importParam) { @@ -1840,7 +1600,7 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR * @param keyField 关键字段 * @return */ - public int getManagerId(String hrmid, String keyFieldValue, String keyField) { + public int getManagerId(String keyFieldValue, String keyField) { int managerId = 0; RecordSet recordSet = new RecordSet(); @@ -2148,7 +1908,6 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR cerNum = recordSet.getString("certificate_num"); keyMap.put(recordSet.getString(keyField), recordSet.getInt("id")); // TODO - isADAccountMap.put(Util.null2String(recordSet.getString("id")), Util.null2String(recordSet.getString("isADAccount"))); String accounttype = recordSet.getString("account_type"); if (!"1".equalsIgnoreCase(accounttype)) { if (StringUtil.isNotNull(cerNum)) { @@ -2217,13 +1976,13 @@ public class HrmResourceImportProcessServiceImpl extends Service implements HrmR ImportLogService importLogService = ServiceUtil.getService(ImportLogServiceImpl.class, user); String relatedName = ""; switch (this.keyField) { - case "workcode": + case "work_code": relatedName = log.getWorkCode(); break; - case "loginid": + case "login_id": relatedName = log.getLoginid(); break; - case "lastname": + case "last_name": relatedName = log.getLastname(); break; }