diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllOrgPersonInfo.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllOrgPersonInfo.java index 015076f..3bdf1be 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllOrgPersonInfo.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/SyncAllOrgPersonInfo.java @@ -127,10 +127,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { cleanUpTime(employee_info); //employee_info //1.查询employee表字段 - List> employeeColumns = getTableColumnsOfTableName("employee"); - List listOfEmployee = employeeColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfEmployee = getTableColumnsOfTableName("employee"); // 遍历并移除(不包含则移除掉) Map employee_new = new HashMap<>(); for (String key : listOfEmployee) { @@ -177,10 +174,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { code2 = update(tableName,employeeCustomize_new,"FORM_DATA_ID",formdata); } //3查询个人信息表 - List> userInfoColumns = getTableColumnsOfTableName("hr_userinfo"); - List listOfUserInfoColumns = userInfoColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) Map userInfo_new = new HashMap<>(); for (String key : listOfUserInfoColumns) { @@ -285,10 +279,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String gzsql = "select * from uf_jcl_emp_gzll where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - List> gzllColumns = getTableColumnsOfTableName("hr_employment_record"); - List listOfgzllColumns = gzllColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("updateAllYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("updateAllYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { @@ -311,10 +302,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String jysql = "select * from uf_jcl_emp_jyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - List> jyjlColumns = getTableColumnsOfTableName("hr_education"); - List listOfjyjlColumns = jyjlColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("updateAllYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); log.error("updateAllYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { @@ -337,12 +325,9 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String jtxxsql = "select * from uf_jcl_emp_jtxx where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - List> jtxxColumns = getTableColumnsOfTableName("hr_family"); - List listOfjtxxColumns = jtxxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("updateAllYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - log.error("updateAllYgxxDetailInfo.jtxxColumns:{}", jtxxColumns); + log.error("updateAllYgxxDetailInfo.listOfjtxxColumns:{}", listOfjtxxColumns); for (Map map : jtxxInfo) { Map jtxxInfo_new = new HashMap<>(); for (String key : listOfjtxxColumns) { @@ -363,10 +348,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String bzsql = "select * from uf_jcl_emp_bzyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - List> bzColumns = getTableColumnsOfTableName("hr_rewards_before"); - List listOfbzColumns = bzColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("updateAllYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("updateAllYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { @@ -389,10 +371,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String pxsql = "select * from uf_jcl_emp_pxjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - List> pxColumns = getTableColumnsOfTableName("hr_train"); - List listOfpxColumns = pxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("updateAllYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("updateAllYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { @@ -415,10 +394,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String yysql = "select * from uf_jcl_emp_yynl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - List> yyColumns = getTableColumnsOfTableName("hr_language"); - List listOfyyColumns = yyColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("updateAllYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("updateAllYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { @@ -441,10 +417,7 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String qwsql = "select * from uf_jcl_emp_qwjgzgrz where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - List> qwColumns = getTableColumnsOfTableName("hr_certification"); - List listOfqwColumns = qwColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("updateAllYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("updateAllYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { @@ -624,13 +597,29 @@ public class SyncAllOrgPersonInfo implements EsbServerlessRpcRemoteInterface { return form_data; } - public List> getTableColumnsOfTableName(String tableName) { - String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; - log.error("getTableColumnsOfTableName111.sql:{}", sql); +// public List> getTableColumnsOfTableName(String tableName) { +// String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; +// log.error("getTableColumnsOfTableName111.sql:{}", sql); +// Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); +// List> recordList = databaseUtils.getDataSourceList(rs); +// log.error("getTableColumnsOfTableName.recordList:{}", recordList); +// return recordList; +// } + + public Set getTableColumnsOfTableName(String tableName) { + String sql = "SELECT * FROM " + tableName; + log.error("getTableColumnsOfTableName222.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return recordList; + return extractFieldNames(recordList); + } + + public Set extractFieldNames(List> recordList) { + // 使用 Stream API 提取所有字段名 + return recordList.stream() + .flatMap(record -> record.keySet().stream()) + .collect(Collectors.toSet()); } public static String getIgnoreCase(Map map, String key) { 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 6b0cda3..a2d5642 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 @@ -135,10 +135,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { log.error("SyncAllYgxxInfoOfOrg.userCustomize_infos:{}", userCustomize_infos); //1.查询uf_jcl_employee_information表字段 - List> employeeColumns = getTableColumnsOfTableName("uf_jcl_employee_information"); - List listOfEmployee = employeeColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfEmployee = getTableColumnsOfTableName("uf_jcl_employee_information"); /** * 映射表数据 */ @@ -379,10 +376,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String gzsql = "select * from hr_employment_record where user_id = '" + zzid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - List> gzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); - List listOfgzllColumns = gzllColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); log.error("updateAllYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("updateAllYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { @@ -405,10 +399,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String jysql = "select * from hr_education where employee_id = '" + zzid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - List> jyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); - List listOfjyjlColumns = jyjlColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); log.error("updateAllYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); log.error("updateAllYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { @@ -431,12 +422,9 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String jtxxsql = "select * from hr_family where employee_id = '" + zzid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - List> jtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); - List listOfjtxxColumns = jtxxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); log.error("updateAllYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - log.error("updateAllYgxxDetailInfo.jtxxColumns:{}", jtxxColumns); + log.error("updateAllYgxxDetailInfo.listOfjtxxColumns:{}", listOfjtxxColumns); for (Map map : jtxxInfo) { Map jtxxInfo_new = new HashMap<>(); for (String key : listOfjtxxColumns) { @@ -457,10 +445,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String bzsql = "select * from hr_rewards_before where employeeid = '" + zzid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - List> bzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); - List listOfbzColumns = bzColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); log.error("updateAllYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("updateAllYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { @@ -483,10 +468,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String pxsql = "select * from hr_train where employee_id = '" + zzid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - List> pxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); - List listOfpxColumns = pxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); log.error("updateAllYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("updateAllYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { @@ -509,10 +491,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String yysql = "select * from hr_language where employee_id = '" + zzid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - List> yyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); - List listOfyyColumns = yyColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); log.error("updateAllYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("updateAllYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { @@ -535,10 +514,7 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { * */ String qwsql = "select * from hr_certification where employee_id = '" + zzid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - List> qwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); - List listOfqwColumns = qwColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); log.error("updateAllYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("updateAllYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { @@ -718,13 +694,29 @@ public class SyncAllYgxxInfoOfOrg implements EsbServerlessRpcRemoteInterface { return form_data; } - public List> getTableColumnsOfTableName(String tableName) { - String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; - log.error("getTableColumnsOfTableName111.sql:{}", sql); +// public List> getTableColumnsOfTableName(String tableName) { +// String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; +// log.error("getTableColumnsOfTableName111.sql:{}", sql); +// Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); +// List> recordList = databaseUtils.getDataSourceList(rs); +// log.error("getTableColumnsOfTableName.recordList:{}", recordList); +// return recordList; +// } + + public Set getTableColumnsOfTableName(String tableName) { + String sql = "SELECT * FROM " + tableName; + log.error("getTableColumnsOfTableName222.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return recordList; + return extractFieldNames(recordList); + } + + public Set extractFieldNames(List> recordList) { + // 使用 Stream API 提取所有字段名 + return recordList.stream() + .flatMap(record -> record.keySet().stream()) + .collect(Collectors.toSet()); } public static String getIgnoreCase(Map map, String key) { 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 08d1a57..420d887 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 @@ -131,10 +131,11 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa if(StringUtils.isBlank(glzzyg)){ //新增员工 //1.查询employee表字段 - List> employeeColumns = getTableColumnsOfTableName("employee"); - List listOfEmployee = employeeColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + //List> employeeColumns = getTableColumnsOfTableName("employee"); + Set listOfEmployee = getTableColumnsOfTableName("employee"); +// List listOfEmployee = employeeColumns.stream() +// .map(map -> map.get("column_name").toString()) +// .collect(Collectors.toList()); log.error("SyncOrganizationPersonInfo.listOfEmployee:{}", listOfEmployee); // 遍历并移除(不包含则移除掉) Map employee_new = new HashMap<>(); @@ -188,10 +189,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa log.error("SyncOrganizationPersonInfo.employeeCustomize_new:{}", employeeCustomize_new); code2 = insert(tableName,employeeCustomize_new); //3查询个人信息表 - List> userInfoColumns = getTableColumnsOfTableName("hr_userinfo"); - List listOfUserInfoColumns = userInfoColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) Map userInfo_new = new HashMap<>(); log.error("SyncOrganizationPersonInfo.listOfUserInfoColumns:{}", listOfUserInfoColumns); @@ -267,10 +265,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa cleanUpTime(employee_info); //employee_info //1.查询employee表字段 - List> employeeColumns = getTableColumnsOfTableName("employee"); - List listOfEmployee = employeeColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfEmployee = getTableColumnsOfTableName("employee"); // 遍历并移除(不包含则移除掉) Map employee_new = new HashMap<>(); for (String key : listOfEmployee) { @@ -315,10 +310,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa code2 = update(tableName,employeeCustomize_new,"FORM_DATA_ID",formdata); } //3查询个人信息表 - List> userInfoColumns = getTableColumnsOfTableName("hr_userinfo"); - List listOfUserInfoColumns = userInfoColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) Map userInfo_new = new HashMap<>(); for (String key : listOfUserInfoColumns) { @@ -389,10 +381,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String gzsql = "select * from uf_jcl_emp_gzll where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - List> gzllColumns = getTableColumnsOfTableName("hr_employment_record"); - List listOfgzllColumns = gzllColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("getYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("getYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { @@ -416,10 +405,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String jysql = "select * from uf_jcl_emp_jyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - List> jyjlColumns = getTableColumnsOfTableName("hr_education"); - List listOfjyjlColumns = jyjlColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("getYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { @@ -443,12 +429,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String jtxxsql = "select * from uf_jcl_emp_jtxx where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - List> jtxxColumns = getTableColumnsOfTableName("hr_family"); - List listOfjtxxColumns = jtxxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - log.error("getYgxxDetailInfo.jtxxColumns:{}", jtxxColumns); for (Map map : jtxxInfo) { Map jtxxInfo_new = new HashMap<>(); for (String key : listOfjtxxColumns) { @@ -470,10 +452,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String bzsql = "select * from uf_jcl_emp_bzyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - List> bzColumns = getTableColumnsOfTableName("hr_rewards_before"); - List listOfbzColumns = bzColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { @@ -497,10 +476,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String pxsql = "select * from uf_jcl_emp_pxjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - List> pxColumns = getTableColumnsOfTableName("hr_train"); - List listOfpxColumns = pxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { @@ -524,10 +500,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String yysql = "select * from uf_jcl_emp_yynl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - List> yyColumns = getTableColumnsOfTableName("hr_language"); - List listOfyyColumns = yyColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { @@ -551,10 +524,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String qwsql = "select * from uf_jcl_emp_qwjgzgrz where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - List> qwColumns = getTableColumnsOfTableName("hr_certification"); - List listOfqwColumns = qwColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { @@ -590,10 +560,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String gzsql = "select * from uf_jcl_emp_gzll where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - List> gzllColumns = getTableColumnsOfTableName("hr_employment_record"); - List listOfgzllColumns = gzllColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("getYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("getYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { @@ -624,10 +591,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String jysql = "select * from uf_jcl_emp_jyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - List> jyjlColumns = getTableColumnsOfTableName("hr_education"); - List listOfjyjlColumns = jyjlColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("getYgxxDetailInfo.jyjlInfo0172:{}", jyjlInfo); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { @@ -658,12 +622,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String jtxxsql = "select * from uf_jcl_emp_jtxx where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - List> jtxxColumns = getTableColumnsOfTableName("hr_family"); - List listOfjtxxColumns = jtxxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - log.error("getYgxxDetailInfo.jtxxColumns:{}", jtxxColumns); for (Map map : jtxxInfo) { Map jtxxInfo_new = new HashMap<>(); for (String key : listOfjtxxColumns) { @@ -692,10 +652,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String bzsql = "select * from uf_jcl_emp_bzyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - List> bzColumns = getTableColumnsOfTableName("hr_rewards_before"); - List listOfbzColumns = bzColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { @@ -726,10 +683,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String pxsql = "select * from uf_jcl_emp_pxjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - List> pxColumns = getTableColumnsOfTableName("hr_train"); - List listOfpxColumns = pxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { @@ -760,10 +714,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String yysql = "select * from uf_jcl_emp_yynl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - List> yyColumns = getTableColumnsOfTableName("hr_language"); - List listOfyyColumns = yyColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { @@ -794,10 +745,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa deleteDetailData(sql); String qwsql = "select * from uf_jcl_emp_qwjgzgrz where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - List> qwColumns = getTableColumnsOfTableName("hr_certification"); - List listOfqwColumns = qwColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { @@ -849,10 +797,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa //deleteDetailData(sql); String gzsql = "select * from uf_jcl_emp_gzll where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - List> gzllColumns = getTableColumnsOfTableName("hr_employment_record"); - List listOfgzllColumns = gzllColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("updateAllYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("updateAllYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { @@ -875,10 +820,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String jysql = "select * from uf_jcl_emp_jyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - List> jyjlColumns = getTableColumnsOfTableName("hr_education"); - List listOfjyjlColumns = jyjlColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("updateAllYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); log.error("updateAllYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { @@ -901,12 +843,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String jtxxsql = "select * from uf_jcl_emp_jtxx where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - List> jtxxColumns = getTableColumnsOfTableName("hr_family"); - List listOfjtxxColumns = jtxxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("updateAllYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - log.error("updateAllYgxxDetailInfo.jtxxColumns:{}", jtxxColumns); for (Map map : jtxxInfo) { Map jtxxInfo_new = new HashMap<>(); for (String key : listOfjtxxColumns) { @@ -927,10 +865,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String bzsql = "select * from uf_jcl_emp_bzyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - List> bzColumns = getTableColumnsOfTableName("hr_rewards_before"); - List listOfbzColumns = bzColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("updateAllYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("updateAllYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { @@ -953,10 +888,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String pxsql = "select * from uf_jcl_emp_pxjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - List> pxColumns = getTableColumnsOfTableName("hr_train"); - List listOfpxColumns = pxColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("updateAllYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("updateAllYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { @@ -979,10 +911,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String yysql = "select * from uf_jcl_emp_yynl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - List> yyColumns = getTableColumnsOfTableName("hr_language"); - List listOfyyColumns = yyColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("updateAllYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("updateAllYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { @@ -1005,10 +934,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa * */ String qwsql = "select * from uf_jcl_emp_qwjgzgrz where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - List> qwColumns = getTableColumnsOfTableName("hr_certification"); - List listOfqwColumns = qwColumns.stream() - .map(map -> map.get("column_name").toString()) - .collect(Collectors.toList()); + Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("updateAllYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("updateAllYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { @@ -1235,15 +1161,23 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa return form_data; } - public List> getTableColumnsOfTableName(String tableName) { + public Set getTableColumnsOfTableName(String tableName) { //Oracle:SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='" + tableName + "' "; //databaseUtils.getDataSourceList() - String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; - log.error("getTableColumnsOfTableName111.sql:{}", sql); + //String sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; + String sql = "SELECT * FROM " + tableName; + log.error("getTableColumnsOfTableName222.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return recordList; + return extractFieldNames(recordList); + } + + public Set extractFieldNames(List> recordList) { + // 使用 Stream API 提取所有字段名 + return recordList.stream() + .flatMap(record -> record.keySet().stream()) + .collect(Collectors.toSet()); } public static String getIgnoreCase(Map map, String key) {