根据职等职级字段,补充人员信息

pull/101/head
dxfeng 3 years ago
parent 8cda66dc8b
commit f428dff5a0

@ -0,0 +1,16 @@
package com.engine.organization.service;
/**
* @author:dxfeng
* @createTime: 2022/12/16
* @version: 1.0
*/
public interface JclOrgService {
/**
*
*
* @param userId ID
*/
void supplementResourceInfo(Integer userId);
}

@ -0,0 +1,78 @@
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);
}
}
}

@ -72,4 +72,19 @@ public class JclOrgController {
return ReturnResult.exceptionHandle(e);
}
}
@GET
@Path("/supplementResourceInfo")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult supplementResourceInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
String id = Util.null2String(map.get("id"));
getJclOrgWrapper(user).supplementResourceInfo(Integer.parseInt(id));
return ReturnResult.successed();
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
}

@ -1,7 +1,11 @@
package com.engine.organization.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.service.JclOrgService;
import com.engine.organization.service.impl.JclOrgServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.commons.lang3.StringUtils;
import weaver.hrm.User;
/**
* @author:dxfeng
@ -9,6 +13,9 @@ import org.apache.commons.lang3.StringUtils;
* @version: 1.0
*/
public class JclOrgWrapper extends OrganizationWrapper {
private JclOrgService getJclOrgService(User user) {
return ServiceUtil.getService(JclOrgServiceImpl.class, user);
}
public String getEcOrgId(String jclId, String type) {
@ -54,4 +61,8 @@ public class JclOrgWrapper extends OrganizationWrapper {
public void syncCusFieldData(String id) {
// CusFieldDataTrigger.run(StringUtils.isNotBlank(id) ? Long.parseLong(id) : null);
}
public void supplementResourceInfo(Integer userId) {
getJclOrgService(user).supplementResourceInfo(userId);
}
}

Loading…
Cancel
Save