You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.4 KiB
Java
79 lines
3.4 KiB
Java
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<String, String> 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);
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
}
|