package com.engine.organization.service.impl; import com.engine.core.impl.Service; import com.engine.organization.service.JclOrgService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import java.util.HashMap; import java.util.Map; /** * @author:dxfeng * @createTime: 2022/12/16 * @version: 1.0 */ public class JclOrgServiceImpl extends Service implements JclOrgService { @Override public void supplementResourceInfo(Integer userId) { // 职等职级树 String zdzjFieldName; // 等级方案 String schemeFieldName; // 职等 String levelFieldName; // 职级 String gradeFieldName; // 岗位序列 String sequenceFieldName; Map fieldNameMap = new HashMap<>(); // 查询职等职级字段 RecordSet rs = new RecordSet(); rs.execute("select fieldlabel ,fieldname from jcl_org_field"); while (rs.next()) { fieldNameMap.put(rs.getString("fieldlabel"), rs.getString("fieldname")); } zdzjFieldName = fieldNameMap.get("职等职级"); schemeFieldName = fieldNameMap.get("等级方案"); levelFieldName = fieldNameMap.get("职等"); gradeFieldName = fieldNameMap.get("职级"); sequenceFieldName = fieldNameMap.get("岗位序列"); // 所有字段信息存在,执行业务逻辑 if (StringUtils.isNoneBlank(zdzjFieldName, schemeFieldName, levelFieldName, gradeFieldName, sequenceFieldName)) { String zdzjFieldValue = ""; String schemeFieldValue = ""; String levelFieldValue = ""; String gradeFieldValue = ""; String sequenceFieldValue = ""; String sql = "select " + zdzjFieldName + " from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id= " + userId; rs.execute(sql); if (rs.next()) { zdzjFieldValue = rs.getString(zdzjFieldName); } // 职等职级为空时不处理 if (StringUtils.isBlank(zdzjFieldValue)) { return; } sql = "select xlid, zjid, zdid from v_jcl_zdzjs where fid='" + zdzjFieldValue.substring(zdzjFieldValue.indexOf("_") + 1) + "'"; rs.execute(sql); if (rs.next()) { levelFieldValue = rs.getString("zjid"); gradeFieldValue = rs.getString("zdid"); sequenceFieldValue = rs.getString("xlid"); } sql = "select scheme_id from jcl_org_sequence where id='" + sequenceFieldValue + "'"; rs.execute(sql); if (rs.next()) { schemeFieldValue = rs.getString("scheme_id"); } // 更新字段信息 sql = "update cus_fielddata set " + sequenceFieldName + " = '" + sequenceFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); sql = "update cus_fielddata set " + schemeFieldName + " = '" + schemeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); sql = "update cus_fielddata set " + levelFieldName + " = '" + levelFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); sql = "update cus_fielddata set " + gradeFieldName + " = '" + gradeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); } } }