diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java index cb12798..cfd7965 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java @@ -345,7 +345,7 @@ public class EmployeeRelationController { /** - * 在职员工时点花名册 + * 系统打标签方式获取明细表 * @return */ @GetMapping("/getDetailTableNameByMasterId") @@ -358,4 +358,15 @@ public class EmployeeRelationController { } + /** + * 系统表籍贯(字符串)同步到员工信息表(id) + * @return + */ + @GetMapping("/syncSysNativePlace") + @WeaPermission(publicPermission = true) + public List> syncSysNativePlace(){ + return employeeRelationService.syncSysNativePlace(); + + } + } \ No newline at end of file diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllYgxxInfoOfOrg.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllYgxxInfoOfOrg.java index d964e35..83e55da 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllYgxxInfoOfOrg.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllYgxxInfoOfOrg.java @@ -774,6 +774,8 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { create_time = Long.parseLong(time); Date date = new Date(create_time); createDate = sdf.format(date); + }else { + createDate=time; } } if (StringUtils.isNotBlank(getIgnoreCase(employee_info, "update_time"))) { @@ -782,6 +784,8 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { update_time = Long.parseLong(time); Date date = new Date(update_time); updateDate = sdf.format(date); + }else { + updateDate=time; } } // if (StringUtils.isNotBlank(getIgnoreCase(employee_info, "hiredate"))) { diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncOrganizationPersonInfo.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncOrganizationPersonInfo.java index 01d4637..356ac6d 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncOrganizationPersonInfo.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncOrganizationPersonInfo.java @@ -77,17 +77,21 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa String yggh = ""; String ygxxid = null!=params.get("ygxxid")?String.valueOf(params.get("ygxxid").toString()):""; String glzzyg = null!=params.get("glzzyg")?String.valueOf(params.get("glzzyg").toString()):""; + String form_id = null!=params.get("form_id")?String.valueOf(params.get("form_id").toString()):""; + String layout_id = null!=params.get("layout_id")?String.valueOf(params.get("layout_id").toString()):""; + String user_form_id = null!=params.get("user_form_id")?String.valueOf(params.get("user_form_id").toString()):""; + String user_layout_id = null!=params.get("user_layout_id")?String.valueOf(params.get("user_layout_id").toString()):""; //String tenant_key = null!=params.get("tenant_key")?String.valueOf(params.get("tenant_key").toString()):""; - log.error("SyncOrganizationPersonInfo.ygxxid : [{}].glzzyg:[{}]",ygxxid,glzzyg); + log.error("SyncOrganizationPersonInfo.ygxxid : [{}].glzzyg:[{}],form_id:{},layout_id:{},user_form_id:{},user_layout_id:{}",ygxxid,glzzyg,form_id,layout_id,user_form_id,user_layout_id); SimpleEmployee employee = new SimpleEmployee(); Map result = new HashMap<>(); - String sql = "select form_id from form_table where table_name=? and delete_type='0'"; - List paramList = Lists.newArrayList(); - paramList.add(Constants.EMPLOYEE_INFORMATION); - String employee_form_id = CommonUtils.null2String(databaseUtils.getSqlList(sql,paramList).get(0).get("form_id")); - log.error("employee_form_id : [{}]",employee_form_id); +// String sql = "select form_id from form_table where table_name=? and delete_type='0'"; +// List paramList = Lists.newArrayList(); +// paramList.add(Constants.EMPLOYEE_INFORMATION); +// String employee_form_id = CommonUtils.null2String(databaseUtils.getSqlList(sql,paramList).get(0).get("form_id")); +// log.error("employee_form_id : [{}]",employee_form_id); - sql = "select id,module from FORM where (module='hrm' and ownership='personal') or module='hruserinfo' and delete_type='0'"; + String sql = "select id,module from FORM where (module='hrm' and ownership='personal') or module='hruserinfo' and delete_type='0' and TENANT_KEY= '"+RecruitModuleUtils.getCurrentTenantKey()+"'"; Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> personFormList = databaseUtils.getDataSourceList(rs); log.error("getEmployeeColumns.personFormList:{}", personFormList); @@ -197,7 +201,9 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } } //增加一个关联自定义表的formdata - employee_new.put("formdata",getIgnoreCase(employee_info, "id")); + // 生成随机 ID + long formdataid = IdGenerator.generate(); + employee_new.put("formdata",formdataid); employee_new.put("status","normal"); //状态字段换个对应 employee_new.put("personnel_status",getIgnoreCase(employee_info, "personnel_status_jcl")); @@ -246,8 +252,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } } //组装几个必填字段 - employeeCustomize_new.put("id",getIgnoreCase(employee_info, "id")); - employeeCustomize_new.put("FORM_DATA_ID",getIgnoreCase(employee_info, "id")); + employeeCustomize_new.put("id",formdataid); + employeeCustomize_new.put("FORM_DATA_ID",formdataid); employeeCustomize_new.put("DATA_INDEX",0); employeeCustomize_new.put("create_time",nowData); employeeCustomize_new.put("TENANT_KEY",getIgnoreCase(employee_info, "TENANT_KEY")); @@ -258,6 +264,10 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa //插入数据到基础信息表的自定义表 log.error("SyncOrganizationPersonInfo.employeeCustomize_new:{}", employeeCustomize_new); code2 = insert(tableName,employeeCustomize_new); + /** + * 写入表单引擎数据大表 + */ + insertFormdata(employeeCustomize_new,form_id,layout_id,"hrm"); //3查询个人信息表 List listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) @@ -287,7 +297,9 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } //增加必填字段 userInfo_new.put("USER", getIgnoreCase(employee_info, "id")); - userInfo_new.put("FORM_DATA",getIgnoreCase(employee_info, "id")); + // 生成随机 ID + long formuserdataid = IdGenerator.generate(); + userInfo_new.put("FORM_DATA",formuserdataid); //学位字段 //userInfo_new.put("DEGREE",containsKeyIgnoreCase(employee_info,"degreename")?getIgnoreCase(employee_info, "degreename"):null); //userInfo_new.put("CREATE_TIME",nowData); @@ -312,8 +324,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } } //组装几个必填字段 - userInfoCustomize_new.put("id",getIgnoreCase(employee_info, "id")); - userInfoCustomize_new.put("FORM_DATA_ID",getIgnoreCase(employee_info, "id")); + userInfoCustomize_new.put("id",formuserdataid); + userInfoCustomize_new.put("FORM_DATA_ID",formuserdataid); userInfoCustomize_new.put("DATA_INDEX",0); userInfoCustomize_new.put("create_time",nowData); userInfoCustomize_new.put("TENANT_KEY",getIgnoreCase(employee_info, "TENANT_KEY")); @@ -323,6 +335,10 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa userInfoCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); log.error("SyncOrganizationPersonInfo.userInfoCustomize_new:{}", userInfoCustomize_new); code4 = insert(tableUserName,userInfoCustomize_new); + /** + * 写入表单引擎数据大表 + */ + insertFormdata(userInfoCustomize_new,user_form_id,user_layout_id,"hruserinfo"); /** * 账户信息部分同步直接写死 */ @@ -376,6 +392,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } //key为id的要移除掉,防止串改组织人员id 导致对应不上员工关系表的:关联组织人员id employee_new.remove("id"); + //状态字段换个对应 + employee_new.put("personnel_status",getIgnoreCase(employee_info, "personnel_status_jcl")); employee_new.entrySet().removeIf(entry -> entry.getValue() == null); log.error("SyncOrganizationPersonInfo3333.employee_info:{}", employee_info); log.error("SyncOrganizationPersonInfo3333.employee_new:{}", employee_new); @@ -479,6 +497,22 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa return WeaResult.success(result); } + + /** + * 写入表单引擎数据大表 + * @return + */ + public void insertFormdata(Map map,String form_id, String layout_id,String module){ + String sql="insert into formdata(id, form_id, layout_id, data_status, tenant_key, operator, create_time, update_time, " + + " module, client, is_delete, creator, delete_type)" + + " values('" + map.get("id") + "','" + form_id + "','" + layout_id + "','submit','" + map.get("tenant_key") + "','" + map.get("updater") + "','" + map.get("create_time") + "'," + + " '" + map.get("update_time") + "','"+module+"','import','" + map.get("delete_type") + "','" + map.get("creator") + "','" + map.get("delete_type") + "')"; + log.error("insertFormdata.sql:{}", sql); + Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); + List> recordList = databaseUtils.getDataSourceList(rs); + log.error("insertFormdata.recordList:{}", recordList); + } + /** * 数据同步处理明细表 * @return @@ -708,7 +742,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa gzllInfo_new.put("USER_ID",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); gzllInfo_new.put("ID",primarykey); //插入组织工作履历表 @@ -742,7 +777,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa jyjlInfo_new.put("employee_id",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); jyjlInfo_new.put("id",primarykey); //插入教育经历表 @@ -775,7 +811,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa jtxxInfo_new.put("employee_id",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); jtxxInfo_new.put("id",primarykey); //插入家庭信息表 @@ -809,7 +846,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa bzInfo_new.put("Employeeid",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); bzInfo_new.put("id",primarykey); //插入家庭信息表 @@ -843,7 +881,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa pxInfo_new.put("employee_id",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); pxInfo_new.put("id",primarykey); //插入培训表 @@ -877,7 +916,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa yyInfo_new.put("employee_id",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); yyInfo_new.put("id",primarykey); //插入培训表 @@ -911,7 +951,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa qwInfo_new.put("employee_id",ygxxid); } //跟换id值,然后主键冲突 - String primarykey = createPrimarykey(); + //String primarykey = createPrimarykey(); + long primarykey = IdGenerator.generate(); log.error("getYgxxDetailInfo.primarykey:{}", primarykey); qwInfo_new.put("id",primarykey); //插入权威机构表 @@ -1157,6 +1198,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa Date date = new Date(create_time); createDate = sdf.format(date); //parsedDate1 = new Date(sdf.parse(createDate).getTime()); + }else { + createDate = time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "update_time"))){ @@ -1166,6 +1209,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa Date date = new Date(update_time); updateDate = sdf.format(date); //parsedDate2 = new Date(sdf.parse(updateDate).getTime()); + }else { + updateDate = time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "hiredate"))){ @@ -1175,7 +1220,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa Date date = new Date(hiredate_time); hiredate = sdf2.format(date); //parsedDate3 = new Date(sdf2.parse(hiredate).getTime()); - + }else { + hiredate = time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "ft_status"))){ diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncRzglPersonInfo.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncRzglPersonInfo.java index 0c1379e..237e6aa 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncRzglPersonInfo.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncRzglPersonInfo.java @@ -404,6 +404,8 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(create_time); createDate = sdf.format(date); //parsedDate1 = new Date(sdf.parse(createDate).getTime()); + }else{ + createDate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "update_time"))){ @@ -413,6 +415,8 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(update_time); updateDate = sdf.format(date); //parsedDate2 = new Date(sdf.parse(updateDate).getTime()); + }else{ + updateDate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "hiredate"))){ @@ -422,7 +426,8 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(hiredate_time); hiredate = sdf2.format(date); //parsedDate3 = new Date(sdf2.parse(hiredate).getTime()); - + }else{ + hiredate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "ft_status"))){ @@ -555,7 +560,7 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { String uf_jcl_emp_jtxx = recruitModuleUtils.getDetailTableNameByMasterId(objId, "uf_jcl_emp_jtxx"); log.error("syncAllYgxxDetailInfo.uf_jcl_emp_jtxx:{}", uf_jcl_emp_jtxx); - String jtxxsql = "select * from "+uf_jcl_rzgl0867+ "where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; + String jtxxsql = "select * from "+uf_jcl_rzgl0867+ " where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); if(CollectionUtils.isNotEmpty(jtxxInfo)){ diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncXxbgPersonInfo.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncXxbgPersonInfo.java index 72bd9fc..8be8a4c 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncXxbgPersonInfo.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncXxbgPersonInfo.java @@ -295,6 +295,8 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(create_time); createDate = sdf.format(date); //parsedDate1 = new Date(sdf.parse(createDate).getTime()); + }else { + createDate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "update_time"))){ @@ -304,6 +306,8 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(update_time); updateDate = sdf.format(date); //parsedDate2 = new Date(sdf.parse(updateDate).getTime()); + }else { + updateDate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "hiredate"))){ @@ -313,7 +317,8 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { Date date = new Date(hiredate_time); hiredate = sdf2.format(date); //parsedDate3 = new Date(sdf2.parse(hiredate).getTime()); - + }else { + hiredate=time; } } if(StringUtils.isNotBlank(getIgnoreCase(employee_info, "ft_status"))){ diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java index 674f066..21198fb 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java @@ -32,4 +32,6 @@ public interface EmployeeRelationService { List> getRosterInfoByDateRange(String stratDate,String endDate,String subCompany,String department); String getDetailTableNameByMasterId(long objId, String originTableName); + + List> syncSysNativePlace(); } diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java index 2bfb04c..cdc5173 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java @@ -65,6 +65,8 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService { private static String nowData; @RpcReference(group = "ebuilderform") RemoteEBObjService remoteEBObjService; + @Autowired + PublishKitRuntimeUtil publishKitRuntimeUtil; @Override @@ -1318,6 +1320,25 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService { return result.toString(); } + /** + * 字符串转化 + */ + private String splitStrBySlash(String str){ + // 使用 split 方法将字符串分割为数组 + String[] parts = str.split("/"); + // 使用 StringBuilder 构建结果字符串 + StringBuilder result = new StringBuilder(); + for (String part : parts) { + // 在每个部分前后添加单引号 + result.append("'").append(part).append("',"); + } + // 移除最后一个多余的逗号 + if (result.length() > 0) { + result.setLength(result.length() - 1); + } + return result.toString(); + } + /** * 查询员工类型名称 */ @@ -1451,7 +1472,9 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService { * @return */ public String getDetailTableNameByMasterId(long objId, String originTableName) { - List detailForms = remoteEBObjService.getAllTablesByMasterId(objId, tenantKey); + RemoteEBObjService ebuilderform = publishKitRuntimeUtil.buildRpcService(RemoteEBObjService.class, "ebuilderform", "1109718089457483777"); + log.info("getDetailTableNameByMasterId.ebuilderform:{}",ebuilderform); + List detailForms = ebuilderform.getAllTablesByMasterId(objId, tenantKey); log.info("getDetailTableNameByMasterId.detailForms:{}",detailForms); if (CollectionUtils.isEmpty(detailForms)) { return null; @@ -1471,4 +1494,53 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService { return tableName; } + @Override + public List> syncSysNativePlace() { + List> recordList3 = new ArrayList<>(); + String sql = "select id,user,native_place from hr_userinfo where NATIVE_PLACE is not null and TENANT_KEY = '"+RecruitModuleUtils.getCurrentTenantKey()+"'"; + List> recordList = databaseUtils.getSqlList(sql); + log.info("syncSysNativePlace-recordList{}",recordList); + if(CollectionUtils.isNotEmpty(recordList)){ + //2.拆分、组装籍贯字段数据 + for (Map map : recordList) { + String native_place = map.get("native_place")!=null?String.valueOf(map.get("native_place")):""; + String user = map.get("user")!=null?String.valueOf(map.get("user")):""; + if(StringUtils.isNotBlank(native_place)&&StringUtils.isNotBlank(user)){ + String s = splitStrBySlash(native_place); + //3.根据组装好的name查询data_id + sql="select distinct data_id from eteams.administrative_area where name in (" + s + " ) "; + List> recordList2 = databaseUtils.getSqlList(sql); + log.info("syncSysNativePlace-recordList2{}",recordList2); + List listOfNativeId = recordList2.stream() + .map(map1 -> map1.get("data_id").toString()) + .collect(Collectors.toList()); + String dataId = joinStringsWithComma(listOfNativeId); + log.info("syncSysNativePlace-dataId{}",dataId); + //4.更新次id到员工信息表籍贯字段中,根据userid对应 + sql = "update uf_jcl_employee_information set native_place = '" + dataId + "' where id = '" + user + "' and TENANT_KEY = '"+RecruitModuleUtils.getCurrentTenantKey()+"'"; + recordList3 = databaseUtils.getSqlList(sql); + log.info("syncSysNativePlace-recordList3{}",recordList3); + } + + } + } + return recordList3; + } + + public static String joinStringsWithComma(List list) { + if (list == null || list.isEmpty()) { + return ""; + } + + StringBuilder joined = new StringBuilder(); + for (int i = 0; i < list.size(); i++) { + if (i > 0) { + joined.append(","); + } + joined.append(list.get(i)); + } + + return joined.toString(); + } + } diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/util/RecruitModuleUtils.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/util/RecruitModuleUtils.java index ff86ace..59b5f90 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/util/RecruitModuleUtils.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/util/RecruitModuleUtils.java @@ -13,6 +13,7 @@ import com.weaver.ebuilder.form.client.entity.obj.Obj; import com.weaver.ebuilder.form.client.service.obj.RemoteEBObjService; import com.weaver.framework.rpc.annotation.RpcReference; import com.weaver.framework.rpc.context.impl.TenantRpcContext; +import com.weaver.publishkit.api.util.PublishKitRuntimeUtil; import com.weaver.seconddev.jcl.organization.controller.EmployeeRelationController; import com.weaver.teams.api.tenant.Tenant; import com.weaver.teams.domain.user.SimpleEmployee; @@ -58,6 +59,8 @@ public class RecruitModuleUtils { } @Autowired private DatabaseUtils databaseUtils; + @Autowired + PublishKitRuntimeUtil publishKitRuntimeUtil; private static final Logger LOGGER = LoggerFactory.getLogger(RecruitModuleUtils.class); @@ -302,7 +305,10 @@ public class RecruitModuleUtils { * @return */ public String getDetailTableNameByMasterId(long objId, String originTableName) { - List detailForms = remoteEBObjService.getAllTablesByMasterId(objId, RecruitModuleUtils.getCurrentTenantKey()); + //List detailForms = remoteEBObjService.getAllTablesByMasterId(objId, RecruitModuleUtils.getCurrentTenantKey()); + RemoteEBObjService remoteEBService = publishKitRuntimeUtil.buildRpcService(RemoteEBObjService.class, "ebuilderform", getEbAppId("uf_jcl_employee_information_apptag")); + log.info("getDetailTableNameByMasterId.remoteEBService:{}",remoteEBService); + List detailForms = remoteEBService.getAllTablesByMasterId(objId, RecruitModuleUtils.getCurrentTenantKey()); log.info("getDetailTableNameByMasterId.detailForms:{}",detailForms); if (CollectionUtils.isEmpty(detailForms)) { return null;