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.
weaver-hrm-organization/src/com/engine/organization/util/relation/ResourceSyncUtil.java

1072 lines
60 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.engine.organization.util.relation;
import com.api.doc.detail.util.DocDownloadCheckUtil;
import com.api.hrm.service.HrmResourceBaseService;
import com.api.hrm.util.ServiceUtil;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogOperateAuditType;
import com.engine.common.constant.BizLogOperateType;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.common.util.LogUtil;
import com.engine.hrm.entity.RuleCodeType;
import com.engine.hrm.util.CodeRuleManager;
import com.engine.hrm.util.HrmWeakPasswordUtil;
import com.engine.hrm.util.face.HrmFaceCheckManager;
import com.engine.hrm.util.face.ValidateFieldManager;
import com.engine.hrm.util.face.bean.CheckItemBean;
import com.engine.organization.mapper.hrmresource.HrmResourceMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import com.weaver.general.BaseBean;
import ln.LN;
import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.conn.RecordSetTrans;
import weaver.crm.CrmShareBase;
import weaver.file.Prop;
import weaver.general.GCONST;
import weaver.general.PasswordUtil;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.hrm.common.DbFunctionUtil;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.companyvirtual.DepartmentVirtualComInfo;
import weaver.hrm.finance.SalaryManager;
import weaver.hrm.passwordprotection.manager.HrmResourceManager;
import weaver.hrm.privacy.PrivacyComInfo;
import weaver.hrm.privacy.UserPrivacyComInfo;
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.license.PluginUserCheck;
import weaver.rsa.security.RSA;
import weaver.rtx.OrganisationCom;
import weaver.rtx.OrganisationComRunnable;
import weaver.system.CusFormSetting;
import weaver.system.CusFormSettingComInfo;
import weaver.system.SysRemindWorkflow;
import weaver.systeminfo.SystemEnv;
import weaver.systeminfo.setting.HrmUserSettingComInfo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2022/10/11
* @version: 1.0
*/
public class ResourceSyncUtil {
private static final char separator = Util.getSeparator();
private static final String today = DateUtil.getCurrentDate();
public static Map<String, Object> addResource(User user, Map<String, Object> params) {
Map<String, Object> retmap = new HashMap<>();
RecordSet rs = new RecordSet();
String sql;
try {
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
boolean canEdit = HrmUserVarify.checkUserRight("HrmResourceEdit:Edit", user);
if (!canEdit) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(22620, user.getLanguage()));
return retmap;
}
String loginid = Util.null2String(params.get("loginid"));
String accounttype = Util.null2s(Util.fromScreen3(Util.null2String(params.get(("accounttype"))), user.getLanguage()), "0");
if (accounttype.equals("1")) loginid = "";//次账号没有loginid
boolean canSave = false;
LN LN = new LN();
int ckHrmnum = LN.CkHrmnum();
if (loginid.length() > 0) {
if (ckHrmnum < 0) {//只有License检查人数小于规定人数才能修改。防止客户直接修改数据库数据
canSave = true;
}
} else {
canSave = true;
}
if (!canSave) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(84760, user.getLanguage()));
return retmap;
}
if (!loginid.equals("") && "0".equals(accounttype)) {
sql = "select count(1) from hrmresourceallview where loginid='" + loginid + "' ";
rs.execute(sql);
if (rs.next()) {
if (rs.getInt(1) > 0) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(15094, user.getLanguage()));
return retmap;
}
}
}
String departmentid = Util.null2String(params.get("departmentid"));
String subcompanyid = departmentComInfo.getSubcompanyid1(departmentid);
if (!loginid.equals("") && !subcompanyid.equals("0") && new HrmResourceManager().noMore(subcompanyid)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(81926, user.getLanguage()));
return retmap;
}
ResourceComInfo ResourceComInfo = new ResourceComInfo();
Map<String, String> result = addResourceBase(user, params);
String addResourceBaseCode = result.get("status");
if ("-1".equals(addResourceBaseCode)) {
retmap.put("status", "-1");
retmap.put("message", result.get("message"));
return retmap;
}
int id = Util.getIntValue(result.get("id"));
String password = Util.null2String(params.get("password"));
//是否开启了RSA加密
String openRSA = Util.null2String(Prop.getPropValue("openRSA", "isrsaopen"));
if ("1".equals(openRSA)) {
password = new RSA().decrypt(password);
}
ChgPasswdReminder reminder = new ChgPasswdReminder();
RemindSettings settings = reminder.getRemindSettings();
//判断是否开启了【启用初始密码】
String defaultPasswordEnable = Util.null2String(settings.getDefaultPasswordEnable());
//【初始密码】
String defaultPassword = Util.null2String(settings.getDefaultPassword());
//如果管理员设置的密码为空。并且开启了【启用初始密码】,且初始密码不为空,则默认取初始密码作为密码
if (password.equals("") && defaultPasswordEnable.equals("1") && !defaultPassword.equals("")) {
password = defaultPassword;
}
//判断是否开启了【禁止弱密码保存】
String weakPasswordDisable = Util.null2s(settings.getWeakPasswordDisable(), "0");
if (weakPasswordDisable.equals("1")) {
if (!password.equals("")) {//密码为空的情况
//判断是否为弱密码
HrmWeakPasswordUtil hrmWeakPasswordUtil = new HrmWeakPasswordUtil();
if (hrmWeakPasswordUtil.isWeakPsd(password)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(515420, user.getLanguage()));
return retmap;
}
}
}
int seclevel = Util.getIntValue(Util.null2String(params.get("seclevel")), 0);
if (id > 0) {//保存系统信息
SimpleBizLogger logger = new SimpleBizLogger();
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD_SYSTEM);//当前小类型
bizLogContext.setOperateType(BizLogOperateType.ADD);
bizLogContext.setOperateAuditType(BizLogOperateAuditType.WARNING);
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from hrmresource where id=" + id;
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("lastname");//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);//写入操作前日志
String workstartdate = Util.null2String(params.get("workstartdate"));//参加工作日期
String companystartdate = Util.null2String(params.get("companystartdate"));//入职日期
String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage());
if (dsporder.length() == 0) dsporder = "" + id;
if (accounttype.equals("0")) {
String encrptPassword = "";
String salt = "";
if (org.apache.commons.lang3.StringUtils.isNotBlank(password)) {
String[] encrypts = PasswordUtil.encrypt(password);
encrptPassword = encrypts[0];
salt = encrypts[1];
}
sql = " update hrmresource set loginid='" + loginid + "', password='" + encrptPassword + "'," +
"seclevel=" + seclevel + ",dsporder=" + dsporder +
",salt='" + salt + "',workstartdate='" + workstartdate + "',companystartdate='" + companystartdate + "' where id = " + id;
} else {
sql = " update hrmresource set seclevel=" + seclevel + ",dsporder=" + dsporder +
" ,workstartdate='" + workstartdate + "',companystartdate='" + companystartdate + "' where id = " + id;
}
updateWorkInfo(String.valueOf(id), user, params);
rs.execute(sql);
HrmFaceCheckManager.setUserPassowrd(id + "", password);
HrmFaceCheckManager.sync(id + "", HrmFaceCheckManager.getOptUpdate(), "HrmResourceAddService_saveSimple_update", HrmFaceCheckManager.getOaResource());
LogUtil.writeBizLog(logger.getBizLogContexts());
}
//同步RTX端的用户信息.
new OrganisationCom().checkUser(id);
new Thread(new OrganisationComRunnable("user", "add", "" + id)).start();
ResourceComInfo.updateResourceInfoCache("" + id);
new PluginUserCheck().clearPluginUserCache("messager");
//OA与第三方接口单条数据同步方法开始
new HrmServiceManager().SynInstantHrmResource("" + id, "1");
//OA与第三方接口单条数据同步方法结束
//BBS集成相关
String bbsLingUrl = new weaver.general.BaseBean().getPropValue(GCONST.getConfigFile(), "ecologybbs.linkUrl");
if (!password.equals("0")) {
if (!bbsLingUrl.equals("")) {
new Thread(new weaver.bbs.BBSRunnable(loginid, password)).start();
}
}
retmap.put("id", id);
retmap.put("status", "1");
} catch (Exception e) {
new BaseBean().writeLog("保存新建人员simple错误" + e);
retmap.put("status", "-1");
retmap.put("message", "" + weaver.systeminfo.SystemEnv.getHtmlLabelName(22620, weaver.general.ThreadVarLanguage.getLang()) + "");
}
return retmap;
}
private static Map<String, String> addResourceBase(User user, Map<String, Object> params) {
Map<String, String> retmap = new HashMap<>();
try {
retmap.put("id", "0");
RecordSet rs = new RecordSet();
DepartmentComInfo DepartmentComInfo = new DepartmentComInfo();
ResourceComInfo ResourceComInfo = new ResourceComInfo();
SalaryManager SalaryManager = new SalaryManager();
ChgPasswdReminder reminder = new ChgPasswdReminder();
RemindSettings settings = reminder.getRemindSettings();
SysRemindWorkflow SysRemindWorkflow = new SysRemindWorkflow();
DepartmentVirtualComInfo DepartmentVirtualComInfo = new DepartmentVirtualComInfo();
StringBuilder para;
String cmd = Util.null2String(params.get("cmd"));
String id = Util.null2String(params.get("id"));
String workcode = Util.fromScreen3(Util.null2String(params.get("workcode")), user.getLanguage());
String lastname = Util.fromScreen3(Util.null2String(params.get("lastname")), user.getLanguage()).trim();
String sex = Util.fromScreen3(Util.null2String(params.get("sex")), user.getLanguage());
String resourceimageid = Util.null2String(params.get("resourceimageid"));
if (resourceimageid.length() > 0) {
resourceimageid = "" + DocDownloadCheckUtil.getDownloadfileidstr(resourceimageid);
}
String departmentid = Util.fromScreen3(Util.null2String(params.get("departmentid")), user.getLanguage());
String costcenterid = Util.fromScreen3(Util.null2String(params.get("costcenterid")), user.getLanguage());
String jobtitle = Util.fromScreen3(Util.null2String(params.get("jobtitle")), user.getLanguage());
String joblevel = Util.fromScreen3(Util.null2String(params.get("joblevel")), user.getLanguage());
String jobactivitydesc = Util.fromScreen3(Util.null2String(params.get("jobactivitydesc")), user.getLanguage());
String managerid = Util.fromScreen3(Util.null2String(params.get("managerid")), user.getLanguage());
String assistantid = Util.fromScreen3(Util.null2String(params.get("assistantid")), user.getLanguage());
String status = Util.fromScreen3(Util.null2String(params.get("status")), user.getLanguage());
String locationid = Util.fromScreen3(Util.null2String(params.get("locationid")), user.getLanguage());
String workroom = Util.fromScreen3(Util.null2String(params.get("workroom")), user.getLanguage());
String telephone = Util.fromScreen3(Util.null2String(params.get("telephone")), user.getLanguage());
String mobile = Util.fromScreen3(Util.null2String(params.get("mobile")), user.getLanguage());
String mobileshowtype = Util.fromScreen3(Util.null2String(params.get("mobileshowtype")), user.getLanguage());
String mobilecall = Util.fromScreen3(Util.null2String(params.get("mobilecall")), user.getLanguage());
String fax = Util.fromScreen3(Util.null2String(params.get("fax")), user.getLanguage());
String jobcall = Util.fromScreen3(Util.null2String(params.get("jobcall")), user.getLanguage());
String email = Util.fromScreen3(Util.null2String(params.get("email")), user.getLanguage());
String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage());
String accounttype = Util.fromScreen3(Util.null2String(params.get("accounttype")), user.getLanguage());
String systemlanguage = Util.null2String(params.get("systemlanguage"));
if (systemlanguage.equals("") || systemlanguage.equals("0")) systemlanguage = "7";
String belongto = Util.fromScreen3(Util.null2String(params.get("belongto")), user.getLanguage());
//应聘人员id
String rcid = Util.null2String(params.get("rcId"));
CheckItemBean mobileBean = new CheckItemBean("mobile", mobile, id);
ValidateFieldManager.validate(mobileBean);
if (!mobileBean.isPass()) {
retmap.put("status", "-1");
retmap.put("message", mobileBean.getCheckMsg());
return retmap;
}
CheckItemBean telephoneBean = new CheckItemBean("telephone", telephone, id);
ValidateFieldManager.validate(telephoneBean);
if (!telephoneBean.isPass()) {
retmap.put("status", "-1");
retmap.put("message", telephoneBean.getCheckMsg());
return retmap;
}
if (dsporder.length() == 0) dsporder = id;
if (accounttype.equals("0")) {
belongto = "-1";
}
String departmentvirtualids = Util.null2String(params.get("departmentvirtualids"));//虚拟部门id;
//Td9325,解决多账号次账号没有登陆Id在浏览框组织结构中无法显示的问题。
boolean falg = false;
String loginid = "";
if (accounttype.equals("1")) {
rs.execute("select loginid from HrmResource where id =" + belongto);
if (rs.next()) {
loginid = rs.getString("loginid");
}
if (!loginid.equals("")) {
String maxidsql = "select max(id) as id from HrmResource where loginid like '" + loginid + "%'";
rs.execute(maxidsql);
if (rs.next()) {
loginid = loginid + (rs.getInt("id") + 1);
falg = true;
}
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
id = "" + rs.getInt(1);
if (!"".equals(rcid)) {
id = rcid;
}
SimpleBizLogger logger = new SimpleBizLogger();
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD);//所属大类型
bizLogContext.setBelongTypeTargetName(SystemEnv.getHtmlLabelName(1361, user.getLanguage()));
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD_BASE);//当前小类型
bizLogContext.setOperateType(BizLogOperateType.ADD);
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String cusFieldNames = ServiceUtil.getCusFieldNames("HrmCustomFieldByInfoType", -1, "b");
String mainSql = "select a.*" + (cusFieldNames.length() > 0 ? "," + cusFieldNames : "") + " from hrmresource a left join cus_fielddata b on a.id=b.id and b.scope='HrmCustomFieldByInfoType' and b.scopeid=-1 where a.id=" + id;
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("lastname");//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);//写入操作前日志
String sql = "select managerstr, seclevel from HrmResource where id = " + Util.getIntValue(managerid);
rs.execute(sql);
String managerstr = "";
while (rs.next()) {
String tmp_managerstr = rs.getString("managerstr");
//处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 begin
if (!tmp_managerstr.startsWith(",")) tmp_managerstr = "," + tmp_managerstr;
if (!tmp_managerstr.endsWith(",")) tmp_managerstr = tmp_managerstr + ",";
//处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 end
managerstr += tmp_managerstr;
managerstr = "," + managerid + managerstr;
managerstr = managerstr.endsWith(",") ? managerstr : (managerstr + ",");
}
String subcmpanyid1 = DepartmentComInfo.getSubcompanyid1(departmentid);
RecordSetTrans rst = new RecordSetTrans();
rst.setAutoCommit(false);
try {
if (resourceimageid.length() == 0) resourceimageid = "null";
if (costcenterid.length() == 0) costcenterid = "null";
if (managerid.length() == 0) managerid = "null";
if (assistantid.length() == 0) assistantid = "null";
if (accounttype.length() == 0) accounttype = "null";
if (belongto.length() == 0) belongto = "null";
if (jobcall.length() == 0) jobcall = "null";
if (mobileshowtype.length() == 0) mobileshowtype = "null";
if (rst.getDBType().equalsIgnoreCase("postgresql")) {
if (joblevel.length() == 0) joblevel = null;
if (dsporder.length() == 0) dsporder = null;
}
workcode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.USER, subcmpanyid1, departmentid, jobtitle, workcode);
para = new StringBuilder("" + id + separator + workcode + separator + lastname + separator + sex + separator + resourceimageid + separator +
departmentid + separator + costcenterid + separator + jobtitle + separator + joblevel + separator + jobactivitydesc + separator +
managerid + separator + assistantid + separator + status + separator + locationid + separator + workroom + separator + telephone +
separator + mobile + separator + mobilecall + separator + fax + separator + jobcall + separator + subcmpanyid1 + separator + managerstr +
separator + accounttype + separator + belongto + separator + systemlanguage + separator + email + separator + dsporder + separator + mobileshowtype);
rst.executeProc("HrmResourceBasicInfo_Insert", para.toString());
if (Util.null2String(locationid).length() > 0) {
rst.executeSql("update hrmresource set countryid=(select countryid from HrmLocations where id=" + locationid + "),"
+ DbFunctionUtil.getInsertUpdateSetSql(rst.getDBType(), user.getUID()) + " where id=" + id);
}
String logidsql, quickSearchStr = new HrmCommonServiceImpl().generateQuickSearchStr(lastname);
if (falg) {
logidsql = "update HrmResource set loginid = ?, pinyinlastname = ?, ecology_pinyin_search = ? where id = ?";
rst.executeUpdate(logidsql, loginid, quickSearchStr, quickSearchStr, id);
} else {
logidsql = "update HrmResource set pinyinlastname = ?, ecology_pinyin_search = ? where id = ?";
rst.executeUpdate(logidsql, quickSearchStr, quickSearchStr, id);
}
rst.commit();
} catch (Exception e) {
rst.rollback();
e.printStackTrace();
}
boolean formdefined = false;
weaver.system.CusFormSettingComInfo CusFormSettingComInfo = new weaver.system.CusFormSettingComInfo();
weaver.system.CusFormSetting CusFormSetting = CusFormSettingComInfo.getCusFormSetting("hrm", "HrmResourceBase");
if (CusFormSetting != null) {
if (CusFormSetting.getStatus() == 2) {
//自定义布局页面
formdefined = true;
}
}
int userid = user.getUID();
String userpara = "" + userid + separator + today;
para = new StringBuilder("" + id);
for (int i = 0; i < 5; i++) {
int idx = i;
if (formdefined) idx++;
String datefield = Util.null2String(params.get("datefield" + idx));
String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0);
String textfield = Util.null2String(params.get("textfield" + idx));
String tinyintfield = "" + Util.getIntValue(Util.null2String(params.get("tinyintfield" + idx)), 0);
para.append(separator).append(datefield).append(separator).append(numberfield).append(separator).append(textfield).append(separator).append(tinyintfield);
}
rs.executeProc("HrmResourceDefine_Update", para.toString());
rs.executeProc("HrmResource_CreateInfo", "" + id + separator + userpara + separator + userpara);
//421944 用户自定义隐私设置
UserPrivacyComInfo upc = new UserPrivacyComInfo();
PrivacyComInfo pc = new PrivacyComInfo();
Map<String, String> mapShowSets = pc.getMapShowSets();
String insertSql;
rs = new RecordSet();
try {
String deletePriSql = " delete from userprivacysetting where userid= '" + id + "'";
rs.execute(deletePriSql);
for (Map.Entry<String, String> me : mapShowSets.entrySet()) {
String fieldName = me.getKey();
String fieldVal = Util.null2String(mapShowSets.get(fieldName));
if (fieldVal.equals("1")) {
String tmpPK = id + "__" + fieldName;
String tmpPvalue = Util.null2String(params.get(fieldName + "showtype"));
insertSql = "insert into userprivacysetting (combinedid,userid,ptype,pvalue) values('" + tmpPK + "','" + id + "','" + fieldName + "','" + tmpPvalue + "')";
rs.execute(insertSql);
}
}
upc.removeUserPrivacyCache();
} catch (Exception e) {
e.printStackTrace();
}
// 改为只进行该人缓存信息的添加
ResourceComInfo.addResourceInfoCache(id);
SalaryManager.initResourceSalary(id);
para = new StringBuilder("" + id + separator + managerid + separator + departmentid + separator + subcmpanyid1 + separator + "0" + separator + managerstr);
rs.executeProc("HrmResource_Trigger_Insert", para.toString());
String sql_1 = ("insert into HrmInfoStatus (itemid,hrmid) values(1," + id + ")");
rs.execute(sql_1);
String sql_2 = ("insert into HrmInfoStatus (itemid,hrmid) values(2," + id + ")");
rs.execute(sql_2);
String sql_3 = ("insert into HrmInfoStatus (itemid,hrmid) values(3," + id + ")");
rs.execute(sql_3);
String sql_10 = ("insert into HrmInfoStatus (itemid,hrmid) values(10," + id + ")");
rs.execute(sql_10);
String CurrentUser = "" + user.getUID();
String CurrentUserName = "" + user.getUsername();
String SWFAccepter;
String SWFTitle;
String SWFRemark;
String SWFSubmiter;
String Subject;
Subject = SystemEnv.getHtmlLabelName(15670, user.getLanguage());
Subject += ":" + lastname;
//modifier by lvyi 2013-12-31
if (settings.getEntervalid().equals("1")) {//入职提醒
String thesql = "select hrmids from HrmInfoMaintenance where id<4 or id = 10";
rs.execute(thesql);
StringBuilder members = new StringBuilder();
while (rs.next()) {
String hrmid_tmp = Util.null2String(rs.getString("hrmids"));//TD9392
if (hrmid_tmp.length() != 0) {
members.append(",").append(rs.getString("hrmids"));
}
}
if (!members.toString().equals("")) {
members = new StringBuilder(members.substring(1));
members = new StringBuilder(new HrmResourceBaseService().duplicateRemoval(members.toString(), user.getUID() + ""));
SWFAccepter = members.toString();
SWFTitle = SystemEnv.getHtmlLabelName(15670, user.getLanguage());
SWFTitle += ":" + lastname;
SWFTitle += "-" + CurrentUserName;
SWFTitle += "-" + today;
SWFRemark = "<a class='wea-hrm-new-employee-set' onClick=\"openHrmNewEmployeeSetDialog(" + id + ")\" style=\"cursor:pointer;\" id = '" + id + "'>" + Util.fromScreen2(Subject, user.getLanguage()) + "</a>";
SWFSubmiter = CurrentUser;
SysRemindWorkflow.setPrjSysRemind(SWFTitle, 0, Util.getIntValue(SWFSubmiter), SWFAccepter, SWFRemark);
}
}
//CustomFieldTreeManager.editCustomDataE9Add("HrmCustomFieldByInfoType", -1, fu, Util.getIntValue(id, 0));
//应聘人员的个人信息18条
if (!"".equals(rcid)) {
sql = "select * from HrmCareerApply where id = ?";
rs.executeQuery(sql, id);
if (rs.next()) {
String birthday = Util.null2String(rs.getString("birthday"));
String folk = Util.null2String(rs.getString("folk"));
String nativeplace = Util.null2String(rs.getString("nativeplace"));
String regresidentplace = Util.null2String(rs.getString("regresidentplace"));
String certificatenum = Util.null2String(rs.getString("certificatenum"));
String maritalstatus = Util.null2String(rs.getString("maritalstatus"));
String policy = Util.null2String(rs.getString("policy"));
String bememberdate = Util.null2String(rs.getString("bememberdate"));
String bepartydate = Util.null2String(rs.getString("bepartydate"));
String islabouunion = Util.null2String(rs.getString("islabouunion"));
String educationlevel = Util.null2String(rs.getString("educationlevel"));
String degree = Util.null2String(rs.getString("degree"));
String healthinfo = Util.null2String(rs.getString("healthinfo"));
String height = Util.null2String(rs.getString("height"));
if (height.contains(".")) height = height.substring(0, height.indexOf("."));
String weight = Util.null2String(rs.getString("weight"));
if (weight.contains(".")) weight = weight.substring(0, weight.indexOf("."));
String residentplace = Util.null2String(rs.getString("residentplace"));
String homeaddress = Util.null2String(rs.getString("homeaddress"));
String tempresidentnumber = Util.null2String(rs.getString("tempresidentnumber"));
para = new StringBuilder("" + id + separator + birthday + separator + folk + separator + nativeplace + separator + regresidentplace + separator + maritalstatus + separator + policy + separator + bememberdate + separator + bepartydate + separator + islabouunion + separator + educationlevel + separator + degree + separator + healthinfo + separator + height + separator + weight + separator + residentplace + separator + homeaddress + separator + tempresidentnumber + separator + certificatenum);
RecordSet rs1 = new RecordSet();
rs1.executeProc("HrmResourcePersonalInfo_Insert", para.toString());
}
}
//更新虚拟组织部门id
if (departmentvirtualids.length() > 0) {
//保存前先删除需要删除的数据因为有managerid 所以不能全部删除再保存
sql = "delete from hrmresourcevirtual where resourceid=" + id + " and departmentid not in (" + departmentvirtualids + ")";
rs.execute(sql);
String[] departmentvirtualid = departmentvirtualids.split(",");
for (String s : departmentvirtualid) {
rs.execute(" select count(*) from HrmResourceVirtual where departmentid ='" + s + "' and resourceid = " + id);
if (rs.next()) {
//如果已存在 无需处理
if (rs.getInt(1) > 0) continue;
}
//写入
int tmpid = 0;
rs.execute("select max(id) from HrmResourceVirtual ");
if (rs.next()) {
tmpid = rs.getInt(1) + 1;
}
String subcompanyid = DepartmentVirtualComInfo.getSubcompanyid1(s);
sql = " insert into HrmResourceVirtual (id,resourceid,subcompanyid,departmentid ) " +
" values (" + tmpid + "," + id + "," + subcompanyid + "," + s + ")";
rs.execute(sql);
}
}
LogUtil.writeBizLog(logger.getBizLogContexts());
HrmFaceCheckManager.sync(id, HrmFaceCheckManager.getOptInsert(), "hrm_e9_HrmResourceBaseService_addResourceBase", HrmFaceCheckManager.getOaResource());
//同步RTX端的用户信息.
new OrganisationCom().checkUser(Util.getIntValue(id));
new Thread(new OrganisationComRunnable("user", "add", "" + id)).start();
ResourceComInfo.updateResourceInfoCache("" + id);
new PluginUserCheck().clearPluginUserCache("messager");
//OA与第三方接口单条数据同步方法开始
new HrmServiceManager().SynInstantHrmResource("" + id, "1");
//OA与第三方接口单条数据同步方法结束
//新增人员实时同步到CoreMail邮件系统
//CoreMailAPI.synUser(id);
if (cmd.equals("SaveAndNew")) {
retmap.put("status", "1");
} else if (cmd.equals("SaveAndNext")) {
retmap.put("status", "2");
} else {
retmap.put("status", "3");
}
retmap.put("id", id);
} catch (Exception e) {
new BaseBean().writeLog("新建人员基本信息错误:" + e);
retmap.put("status", "-1");
}
return retmap;
}
public static Map<String, Object> editResourceBase(User user, Map<String, Object> params) {
Map<String, Object> retMap = new HashMap<>();
try {
boolean canEdit = HrmUserVarify.checkUserRight("HrmResourceEdit:Edit", user);
if (!canEdit) {
retMap.put("status", "-1");
retMap.put("message", ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(22620,weaver.general.ThreadVarLanguage.getLang())+"");
return retMap;
}
RecordSet rs = new RecordSet();
DepartmentComInfo DepartmentComInfo = new DepartmentComInfo();
ResourceComInfo ResourceComInfo = new ResourceComInfo();
HrmServiceManager HrmServiceManager = new HrmServiceManager();
CrmShareBase CrmShareBase = new CrmShareBase();
StringBuilder para;
String id = Util.null2String(params.get("id"));
if (id.length()==0) {
retMap.put("status", "-1");
retMap.put("message", ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(22620,weaver.general.ThreadVarLanguage.getLang())+"");
return retMap;
}
String workcode = Util.fromScreen3(Util.null2String(params.get("workcode")), user.getLanguage());
String lastname = Util.fromScreen3(Util.null2String(params.get("lastname")), user.getLanguage()).trim();
String sex = Util.fromScreen3((Util.null2String(params.get("sex"))), user.getLanguage());
String resourceimageid = Util.null2String(params.get("resourceimageid"));
if(resourceimageid.length()>0) {
resourceimageid = "" + DocDownloadCheckUtil.getDownloadfileidstr(resourceimageid);
}
String resourceimageBase64 = Util.null2String(params.get("resourceimageBase64"));
if(resourceimageBase64.length()>0){
resourceimageid = ServiceUtil.saveResourceImage(resourceimageBase64);
}
String oldresourceimageid = Util.null2String(params.get("oldresourceimage"));
if (resourceimageid.equals("")) resourceimageid = oldresourceimageid;
String departmentid = Util.fromScreen3(Util.null2String(params.get("departmentid")), user.getLanguage());
String costcenterid = Util.fromScreen3(Util.null2String(params.get("costcenterid")), user.getLanguage());
String jobtitle = Util.fromScreen3(Util.null2String(params.get("jobtitle")), user.getLanguage());
String joblevel = Util.fromScreen3(Util.null2String(params.get("joblevel")), user.getLanguage());
String jobactivitydesc = Util.fromScreen3(Util.null2String(params.get("jobactivitydesc")), user.getLanguage());
String managerid = Util.fromScreen3(Util.null2String(params.get("managerid")), user.getLanguage());
String assistantid = Util.fromScreen3(Util.null2String(params.get("assistantid")), user.getLanguage());
String status = Util.fromScreen3(Util.null2String(params.get("status")), user.getLanguage());
String locationid = Util.fromScreen3(Util.null2String(params.get("locationid")), user.getLanguage());
String workroom = Util.fromScreen3(Util.null2String(params.get("workroom")), user.getLanguage());
String telephone = Util.fromScreen3(Util.null2String(params.get("telephone")), user.getLanguage());
String mobile = Util.fromScreen3(Util.null2String(params.get("mobile")), user.getLanguage());
String mobileshowtype = Util.fromScreen3(Util.null2String(params.get("mobileshowtype")), user.getLanguage());
String mobilecall = Util.fromScreen3(Util.null2String(params.get("mobilecall")), user.getLanguage());
String fax = Util.fromScreen3(Util.null2String(params.get("fax")), user.getLanguage());
String email = Util.fromScreen3(Util.null2String(params.get("email")), user.getLanguage());
String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage());
String jobcall = Util.fromScreen3(Util.null2String(params.get("jobcall")), user.getLanguage());
String systemlanguage = Util.fromScreen3(Util.null2String(params.get("systemlanguage")), user.getLanguage());
if (systemlanguage.equals("") || systemlanguage.equals("0")) {
systemlanguage = "7";
}
String accounttype = Util.fromScreen3(Util.null2String(params.get("accounttype")), user.getLanguage());
String belongto = Util.fromScreen3(Util.null2String(params.get("belongto")), user.getLanguage());
if (dsporder.length() == 0) dsporder = id;
if (accounttype.equals("0")) {
belongto = "-1";
}
CheckItemBean mobileBean = new CheckItemBean("mobile", mobile, id);
ValidateFieldManager.validate(mobileBean);
if (!mobileBean.isPass()) {
retMap.put("status", "-1");
retMap.put("message", mobileBean.getCheckMsg());
return retMap;
}
CheckItemBean telephoneBean = new CheckItemBean("telephone", telephone, id);
ValidateFieldManager.validate(telephoneBean);
if (!telephoneBean.isPass()) {
retMap.put("status", "-1");
retMap.put("message", telephoneBean.getCheckMsg());
return retMap;
}
SimpleBizLogger logger = new SimpleBizLogger();
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD);//所属大类型
bizLogContext.setBelongTypeTargetName(SystemEnv.getHtmlLabelName(1361, user.getLanguage()));
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_RSOURCE_CARD_BASE);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String cusFieldNames = ServiceUtil.getCusFieldNames("HrmCustomFieldByInfoType", -1, "b");
String mainSql = "select a.*" + (cusFieldNames.length() > 0 ? "," + cusFieldNames : "") + " from hrmresource a left join cus_fielddata b on a.id=b.id and b.scope='HrmCustomFieldByInfoType' and b.scopeid=-1 where a.id=" + id;
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("lastname");//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);//吸入操作前日志
//Td9325,解决多账号次账号没有登陆Id在浏览框组织结构中无法显示的问题。
String oldbelongto = "";
boolean falg = false;
String loginid = "";
rs.execute("select * from HrmResource where id =" + id);
if (rs.next()) {
loginid = rs.getString("loginid");
float idsporder = rs.getFloat("dsporder");
if (idsporder <= 0) {
dsporder = rs.getString("id");
} else {
dsporder = "" + idsporder;
}
String thisAccounttype = rs.getString("accounttype");
if (thisAccounttype.equals("1") && accounttype.equals("0")) {
oldbelongto = rs.getString("belongto");
}
}
if (accounttype.equals("1") && loginid.equalsIgnoreCase("")) {
rs.execute("select loginid from HrmResource where id =" + belongto);
if (rs.next()) {
loginid = rs.getString(1);
}
if (!loginid.equals("")) {
loginid = loginid + (id + 1);
falg = true;
}
}
String sql = "select * from HrmResource where id = " + Util.getIntValue(id);
rs.execute(sql);
String oldmanagerid = "";
String oldmanagerstr = "";
while (rs.next()) {
oldmanagerid = rs.getString("managerid");
oldmanagerstr = rs.getString("managerstr");
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 begin
if (!oldmanagerstr.startsWith(",")) oldmanagerstr = "," + oldmanagerstr;
if (!oldmanagerstr.endsWith(",")) oldmanagerstr = oldmanagerstr + ",";
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 end
}
//mysql报错问题java.sql.SQLException: Incorrect integer value: '' for column 'COSTCENTERID' at row 1
if(resourceimageid.length()==0)resourceimageid="null";
if(costcenterid.length()==0)costcenterid="null";
if(managerid.length()==0)managerid="null";
if(assistantid.length()==0)assistantid="null";
if(accounttype.length()==0)accounttype="null";
if(belongto.length()==0)belongto="null";
if(jobcall.length()==0)jobcall="null";
if(mobileshowtype.length()==0)mobileshowtype="null";
if (StringUtils.isNotEmpty(workcode)) {
CodeRuleManager.getCodeRuleManager().checkReservedIfDel(RuleCodeType.USER.getValue(), workcode);
}
para = new StringBuilder("" + id + separator + workcode + separator + lastname + separator + sex + separator + resourceimageid
+ separator + departmentid + separator + costcenterid + separator + jobtitle + separator + joblevel
+ separator + jobactivitydesc + separator + managerid + separator + assistantid + separator + status
+ separator + locationid + separator + workroom + separator + telephone + separator + mobile
+ separator + mobilecall + separator + fax + separator + jobcall + separator + systemlanguage
+ separator + accounttype + separator + belongto + separator + email + separator + dsporder + separator + mobileshowtype);
RecordSetTrans rst = new RecordSetTrans();
rst.setAutoCommit(false);
try {
rst.executeProc("HrmResourceBasicInfo_Update", para.toString());
if(Util.null2String(locationid).length()>0) {
rst.executeSql("update hrmresource set countryid=(select countryid from HrmLocations where id=" + locationid + ") where id=" + id);
}
String logidsql, quickSearchStr = new HrmCommonServiceImpl().generateQuickSearchStr(lastname);
if (falg) {
logidsql = "update HrmResource set loginid = ?, pinyinlastname = ?, ecology_pinyin_search = ? where id = ?";
rst.executeUpdate(logidsql, loginid, quickSearchStr, quickSearchStr, id);
} else {
logidsql = "update HrmResource set pinyinlastname = ?, ecology_pinyin_search = ? where id = ?";
rst.executeUpdate(logidsql, quickSearchStr, quickSearchStr, id);
}
rst.commit();
} catch (Exception e) {
rst.rollback();
e.printStackTrace();
}
if(!"7".equals(systemlanguage) && StringUtils.isNotBlank(systemlanguage)){
User.setUserLang(Util.getIntValue(id),Util.getIntValue(systemlanguage, 7));
}
//421944 用户自定义隐私设置
UserPrivacyComInfo upc = new UserPrivacyComInfo();
PrivacyComInfo pc = new PrivacyComInfo();
Map<String, String> mapShowSets = pc.getMapShowSets();
String insertSql;
rs = new RecordSet();
try {
String deletePriSql = " delete from userprivacysetting where userid= '" + id + "'";
rs.execute(deletePriSql);
for (Map.Entry<String, String> me : mapShowSets.entrySet()) {
String fieldName = me.getKey();
String fieldVal = Util.null2String(mapShowSets.get(fieldName));
if (fieldVal.equals("1")) {
String tmpPK = id + "__" + fieldName;
String tmpPvalue = Util.null2String(params.get(fieldName + "showtype"));
insertSql = "insert into userprivacysetting (combinedid,userid,ptype,pvalue) values('" + tmpPK + "','" + id + "','" + fieldName + "','" + tmpPvalue + "')";
rs.execute(insertSql);
}
}
upc.removeUserPrivacyCache();
} catch (Exception e) {
e.printStackTrace();
}
int userid = user.getUID();
String userpara = "" + userid + separator + today;
rs.executeProc("HrmResource_ModInfo", "" + id + separator + userpara);
String managerstr = "";
if (!id.equals(managerid)) {
sql = "select managerstr from HrmResource where id = " + Util.getIntValue(managerid);
rs.execute(sql);
while (rs.next()) {
managerstr = rs.getString("managerstr");
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 begin
if (!managerstr.startsWith(",")) managerstr = "," + managerstr;
if (!managerstr.endsWith(",")) managerstr = managerstr + ",";
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 end
managerstr = "," + managerid + managerstr;
managerstr = managerstr.endsWith(",") ? managerstr : (managerstr + ",");
}
} else {
managerstr = "," + managerid + ",";
}
rst = new RecordSetTrans();
rst.setAutoCommit(false);
try {
para = new StringBuilder("" + id + separator + managerstr);
rst.executeProc("HrmResource_UpdateManagerStr", para.toString());
rst.commit();
} catch (Exception e) {
rst.rollback();
e.printStackTrace();
}
managerid = Util.null2String(managerid).trim();
oldmanagerid = Util.null2String(oldmanagerid).trim();
if(!managerid.equals(oldmanagerid) && !(("".equals(managerid) || "0".equals(managerid)) && ("".equals(oldmanagerid) || "0".equals(oldmanagerid)))){
String temOldmanagerstr = "," + id + oldmanagerstr;
temOldmanagerstr = temOldmanagerstr.endsWith(",") ? temOldmanagerstr : (temOldmanagerstr + ",");
sql = "select id,departmentid,subcompanyid1,managerid,seclevel,managerstr from HrmResource where managerstr like '%" + temOldmanagerstr + "'";
rs.execute(sql);
while (rs.next()) {
String nowmanagerstr = Util.null2String(rs.getString("managerstr"));
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 begin
if (!nowmanagerstr.startsWith(",")) nowmanagerstr = "," + nowmanagerstr;
if (!nowmanagerstr.endsWith(",")) nowmanagerstr = nowmanagerstr + ",";
// 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr8 end
String resourceid = rs.getString("id");
//指定上级为自身的情况,不更新自身上级
if (id.equals(resourceid))
continue;
String nowmanagerstr2 = "";
int index = nowmanagerstr.lastIndexOf(oldmanagerstr);
if (index != -1) {
if (!"".equals(managerstr)) {
nowmanagerstr2 = nowmanagerstr.substring(0, index) + ("".equals(oldmanagerstr) ? managerstr.substring(1) : managerstr);
} else {
nowmanagerstr2 = nowmanagerstr.substring(0, index) + ("".equals(oldmanagerstr) ? "" : ",");
}
}
rst = new RecordSetTrans();
rst.setAutoCommit(false);
try {
para = new StringBuilder(resourceid + separator + nowmanagerstr2);
rst.executeProc("HrmResource_UpdateManagerStr", para.toString());
rst.commit();
ResourceComInfo.updateResourceInfoCache(resourceid); //更新缓存
} catch (Exception e) {
rst.rollback();
e.printStackTrace();
}
}
}
String subcmpanyid1 = DepartmentComInfo.getSubcompanyid1(departmentid);
para = new StringBuilder("" + id + separator + subcmpanyid1);
rst = new RecordSetTrans();
rst.setAutoCommit(false);
try {
rst.executeProc("HrmResource_UpdateSubCom", para.toString());
rst.commit();
} catch (Exception e) {
rst.rollback();
e.printStackTrace();
}
if(!managerid.equals(oldmanagerid) && !(("".equals(managerid) || "0".equals(managerid)) && ("".equals(oldmanagerid) || "0".equals(oldmanagerid)))){//修改人力资源经理,对客户和日程共享重新计算
CrmShareBase.setShareForNewManager(id);
}
boolean formdefined = false;
CusFormSettingComInfo CusFormSettingComInfo = new weaver.system.CusFormSettingComInfo();
CusFormSetting CusFormSetting = CusFormSettingComInfo.getCusFormSetting("hrm", "HrmResourceBase");
if (CusFormSetting != null) {
if (CusFormSetting.getStatus() == 2) {
//自定义布局页面
formdefined = true;
}
}
para = new StringBuilder("" + id);
for (int i = 0; i < 5; i++) {
int idx = i;
if (formdefined) idx++;
String datefield = Util.null2String(params.get("datefield" + idx));
String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0);
String textfield = Util.null2String(params.get("textfield" + idx));
String tinyintfield = "" + Util.getIntValue(Util.null2String(params.get("tinyintfield" + idx)), 0);
para.append(separator).append(datefield).append(separator).append(numberfield).append(separator).append(textfield).append(separator).append(tinyintfield);
}
rs.executeProc("HrmResourceDefine_Update", para.toString());
new Thread(new OrganisationComRunnable("user", "editbasicinfo", id + "-" + status)).start();
// 改为自进行修正
ResourceComInfo.updateResourceInfoCache(id);
try {
//OA与第三方接口单条数据同步方法开始
HrmServiceManager.SynInstantHrmResource(id, "2");
//OA与第三方接口单条数据同步方法结束
} catch (Exception e) {
new BaseBean().writeLog("OA与第三方接口单条数据同步失败" + e);
}
//处理次账号修改为主账号时,检查次账号所属 主账号的 其他设置是否需要修改 add by kzw QC159888
try {
if (!oldbelongto.equals("")) {
HrmUserSettingComInfo userSetting = new HrmUserSettingComInfo();
String belongtoshow = userSetting.getBelongtoshowByUserId(oldbelongto);
if (belongtoshow.equals("1")) {
rs.execute("select id from hrmresource where belongto = " + oldbelongto);
if (!rs.next()) {
String setId = userSetting.getId(oldbelongto);
rs.execute("update HrmUserSetting set belongtoshow=0 where id=" + setId);
userSetting.removeHrmUserSettingComInfoCache();
}
}
}
} catch (Exception e) {
new BaseBean().writeLog(e.getMessage());
}
rs.execute("update HrmResource set " + DbFunctionUtil.getUpdateSetSql(rs.getDBType(), user.getUID()) + " where id=" + id);
rs.execute("update HrmResourceManager set " + DbFunctionUtil.getUpdateSetSql(rs.getDBType(), user.getUID()) + " where id=" + id);
//写入操作后日志
LogUtil.writeBizLog(logger.getBizLogContexts());
HrmFaceCheckManager.sync(id, HrmFaceCheckManager.getOptUpdate(), "hrm_e9_HrmResourceBaseService_editResourceBase", HrmFaceCheckManager.getOaResource());
retMap.put("status", "1");
retMap.put("id", id);
} catch (Exception e) {
new BaseBean().writeLog(e);
retMap.put("status", "-1");
retMap.put("message", ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(22620,weaver.general.ThreadVarLanguage.getLang())+"");
}
return retMap;
}
private static void updateWorkInfo(String id, User user, Map<String, Object> params) {
try {
RecordSet rs = new RecordSet();
String sql;
String companystartdate = Util.fromScreen3(Util.null2String(params.get("companystartdate")), user.getLanguage());
String workstartdate = Util.fromScreen3(Util.null2String(params.get("workstartdate")), user.getLanguage());
List<String> lsParams = new ArrayList<>();
lsParams.add(companystartdate.length() == 0 ? null : companystartdate);
lsParams.add(workstartdate.length() == 0 ? null : workstartdate);
lsParams.add(id);
sql = " update hrmresource set companystartdate=?,workstartdate=? where id=?";
rs.executeUpdate(sql, lsParams);
HrmDateCheck hrmDateCheck = new HrmDateCheck();
hrmDateCheck.calWorkInfo(id);
} catch (Exception e) {
new BaseBean().writeLog(e);
}
}
public static Map<String,Object> convertEcResourceParams(Map<String, Object> params){
// TODO 先查询原有EC人员信息再封装传参
Map<String, Object> convertParams = new HashMap<>();
String jclResourceId = Util.null2String(params.get("id"));
String ecResourceId = "";
if(StringUtils.isNotBlank(jclResourceId)){
ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(jclResourceId);
}
// 更新人员时,初始化人员参数
if(StringUtils.isNotBlank(ecResourceId)){
RecordSet rs = new RecordSet();
rs.execute("select * from hrmresource where id = '" + ecResourceId + "'");
if(rs.next()){
convertParams.put("id",rs.getString("id"));
convertParams.put("loginid",rs.getString("loginid"));
convertParams.put("accounttype",rs.getString("accounttype"));
convertParams.put("password",rs.getString("password"));
convertParams.put("seclevel",rs.getString("seclevel"));
convertParams.put("workstartdate",rs.getString("workstartdate"));
convertParams.put("companystartdate",rs.getString("companystartdate"));
convertParams.put("dsporder",rs.getString("dsporder"));
convertParams.put("workcode",rs.getString("workcode"));
convertParams.put("lastname",rs.getString("lastname"));
convertParams.put("sex",rs.getString("sex"));
convertParams.put("resourceimageid",rs.getString("resourceimageid"));
convertParams.put("joblevel",rs.getString("joblevel"));
convertParams.put("jobactivitydesc",rs.getString("jobactivitydesc"));
convertParams.put("managerid",rs.getString("managerid"));
convertParams.put("assistantid",rs.getString("assistantid"));
convertParams.put("status",rs.getString("status"));
convertParams.put("locationid",rs.getString("locationid"));
convertParams.put("workroom",rs.getString("workroom"));
convertParams.put("telephone",rs.getString("telephone"));
convertParams.put("mobile",rs.getString("mobile"));
convertParams.put("mobilecall",rs.getString("mobilecall"));
convertParams.put("fax",rs.getString("fax"));
convertParams.put("jobcall",rs.getString("jobcall"));
convertParams.put("email",rs.getString("email"));
convertParams.put("systemlanguage",rs.getString("systemlanguage"));
convertParams.put("belongto",rs.getString("belongto"));
convertParams.put("mobileshowtype",rs.getString("mobileshowtype"));
convertParams.put("costcenterid",rs.getString("costcenterid"));
convertParams.put("cmd",rs.getString("cmd"));
convertParams.put("rcId",rs.getString("rcId"));
convertParams.put("departmentvirtualids",rs.getString("departmentvirtualids"));
// 更新EC人员用到参数
convertParams.put("editcontact",rs.getString("editcontact"));
convertParams.put("resourceimageBase64",rs.getString("resourceimageBase64"));
convertParams.put("oldresourceimage",rs.getString("oldresourceimage"));
}
}
// 部门ID
convertParams.put("departmentid",params.get("ec_department"));
// EC岗位
String jclJobId = Util.null2String(params.get("job_title"));
String ecJobId = "1";
if (StringUtils.isNotBlank(jclJobId)) {
ecJobId = EcHrmRelationUtil.getEcJobId(Long.parseLong(jclJobId));
}
convertParams.put("jobtitle",ecJobId);
convertParams.put("workcode",params.get("work_code"));
convertParams.put("lastname",params.get("last_name"));
convertParams.put("sex",params.get("sex"));
convertParams.put("status",params.get("status"));
convertParams.put("accounttype",params.get("account_type"));
convertParams.put("belongto",params.get("belong_to"));
convertParams.put("locationid",params.get("location_id"));
convertParams.put("dsporder",params.get("show_order"));
convertParams.put("companystartdate",params.get("company_start_date"));
convertParams.put("workstartdate",params.get("work_start_date"));
convertParams.put("resourceimageid",params.get("resource_image_id"));
convertParams.put("jobactivitydesc",params.get("job_activity_desc"));
convertParams.put("mobile",params.get("mobile"));
convertParams.put("telephone",params.get("telephone"));
convertParams.put("email",params.get("email"));
return convertParams;
}
}