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 addResource(User user, Map params) { Map 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 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 addResourceBase(User user, Map params) { Map 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 不以逗号开始或者结束的情况 形如 managerstr:8 begin if (!tmp_managerstr.startsWith(",")) tmp_managerstr = "," + tmp_managerstr; if (!tmp_managerstr.endsWith(",")) tmp_managerstr = tmp_managerstr + ","; //处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 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 mapShowSets = pc.getMapShowSets(); String insertSql; rs = new RecordSet(); try { String deletePriSql = " delete from userprivacysetting where userid= '" + id + "'"; rs.execute(deletePriSql); for (Map.Entry 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 = "" + Util.fromScreen2(Subject, user.getLanguage()) + ""; 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 editResourceBase(User user, Map params) { Map 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 不以逗号开始或者结束的情况 形如 managerstr:8 begin if (!oldmanagerstr.startsWith(",")) oldmanagerstr = "," + oldmanagerstr; if (!oldmanagerstr.endsWith(",")) oldmanagerstr = oldmanagerstr + ","; // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 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 mapShowSets = pc.getMapShowSets(); String insertSql; rs = new RecordSet(); try { String deletePriSql = " delete from userprivacysetting where userid= '" + id + "'"; rs.execute(deletePriSql); for (Map.Entry 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 不以逗号开始或者结束的情况 形如 managerstr:8 begin if (!managerstr.startsWith(",")) managerstr = "," + managerstr; if (!managerstr.endsWith(",")) managerstr = managerstr + ","; // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 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 不以逗号开始或者结束的情况 形如 managerstr:8 begin if (!nowmanagerstr.startsWith(",")) nowmanagerstr = "," + nowmanagerstr; if (!nowmanagerstr.endsWith(",")) nowmanagerstr = nowmanagerstr + ","; // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 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 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 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 convertEcResourceParams(Map params){ // TODO 先查询原有EC人员信息,再封装传参 Map 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; } }