From 608f99b2024eb7925d20ea05b678adf1ba0d3df9 Mon Sep 17 00:00:00 2001 From: Administrator <704728292@qq.com> Date: Thu, 29 May 2025 10:04:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=A1=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esb/SyncOrganizationPersonInfo.java | 365 ++++++------------ .../organization/esb/SyncRzglPersonInfo.java | 89 +++-- .../organization/esb/SyncXxbgPersonInfo.java | 56 +-- 3 files changed, 199 insertions(+), 311 deletions(-) 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 bb46020..9c37137 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 @@ -106,6 +106,7 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa List customFieldDataKeys = customFieldList.stream() .map(map -> (String) map.get("dataKey")) .collect(Collectors.toList()); + log.error("getEmployeeColumns.customFieldDataKeys:{}", customFieldDataKeys); /** * 人力资源-个人信息自定义字段 @@ -118,6 +119,19 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa List infcustomFieldDataKeys = infcustomFieldList.stream() .map(map -> (String) map.get("dataKey")) .collect(Collectors.toList()); + log.error("getEmployeeColumns.infcustomFieldDataKeys:{}", infcustomFieldDataKeys); + //2查询基础信息自定义表 + String tableName = "ft_"+personCustomfieldFormid; + String tableUserName = "ft_"+personInfCustomFormid; + log.error("SyncOrganizationPersonInfo.tableName:{}", tableName); + + //查询基本信息自定义表字段 + List listOfEmployeeCustomizeColumns = getTableColumnsOfTableName(tableName); + log.error("SyncOrganizationPersonInfo1111.listOfEmployeeCustomizeColumns:{}", listOfEmployeeCustomizeColumns); + + //查询个人信息自定义表字段 + List listOfUserInfoCustomizeColumns = getTableColumnsOfTableName(tableUserName); + log.error("SyncOrganizationPersonInfo.listOfUserInfoCustomizeColumns:{}", listOfUserInfoCustomizeColumns); //当前时间 // 获取当前时间 @@ -143,14 +157,14 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa if(StringUtils.isBlank(glzzyg)){ //新增员工 //1.查询employee表字段 - //List> employeeColumns = getTableColumnsOfTableName("employee"); - Set listOfEmployee = getTableColumnsOfTableName("eteams.employee"); -// List listOfEmployee = employeeColumns.stream() -// .map(map -> map.get("column_name").toString()) -// .collect(Collectors.toList()); + List listOfEmployee = getTableColumnsOfTableName("employee"); + //Set listOfEmployee = getTableColumnsOfTableName("eteams.employee"); log.error("SyncOrganizationPersonInfo.listOfEmployee:{}", listOfEmployee); // 遍历并移除(不包含则移除掉) - Map employee_new = new HashMap<>(); + /** + * 创建不区分大小写的Map + */ + Map employee_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfEmployee) { if (containsKeyIgnoreCase(employee_info,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -175,15 +189,14 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa employee_new.put("formdata",getIgnoreCase(employee_info, "id")); employee_new.put("status","normal"); //状态字段换个对应 - employee_new.put("PERSONNEL_STATUS",getIgnoreCase(employee_info, "personnel_status_jcl")); + employee_new.put("personnel_status",getIgnoreCase(employee_info, "personnel_status_jcl")); //关联账号信息表 employee_new.put("user_id",getIgnoreCase(employee_info, "id")); employee_new.put("create_time",nowData); - employee_new.remove("personnel_status");//多列 - //employee_new.put("UPDATE_TIME",nowData); + employee_new.put("update_time",nowData); cleanUpTime(employee_new); //移除可能为null的数据 - //employee_new.entrySet().removeIf(entry -> entry.getValue() == null); + employee_new.entrySet().removeIf(entry -> entry.getValue() == null); log.error("SyncOrganizationPersonInfo.employee_info:{}", employee_info); //插入数据到employee表 log.error("SyncOrganizationPersonInfo.employee_new:{}", employee_new); @@ -209,15 +222,16 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } log.error("SyncOrganizationPersonInfo.yggh:{}", yggh); code = insert("eteams.employee",employee_new); - //2查询基础信息自定义表 - String tableName = "ft_"+personCustomfieldFormid; - String tableUserName = "ft_"+personInfCustomFormid; - log.error("SyncOrganizationPersonInfo.tableName:{}", tableName); + // 遍历并移除(不包含则移除掉) - Map employeeCustomize_new = new HashMap<>(); - for (String key : customFieldDataKeys) { + Map employeeCustomize_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + for (String key : listOfEmployeeCustomizeColumns) { if (containsKeyIgnoreCase(employee_info,key)&&getIgnoreCase(employee_info, key)!=null) { - employeeCustomize_new.put(key,getIgnoreCase(employee_info, key)); + if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)||"FT_STATUS".equalsIgnoreCase(key)){ + employeeCustomize_new.put(key,"0"); + }else { + employeeCustomize_new.put(key,getIgnoreCase(employee_info, key)); + } } } //组装几个必填字段 @@ -229,14 +243,14 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa cleanUpTime(employeeCustomize_new); employeeCustomize_new.remove("hiredate"); //移除可能为null的数据 - //employeeCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + employeeCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null||"".equalsIgnoreCase(String.valueOf(entry.getValue()))); //插入数据到基础信息表的自定义表 log.error("SyncOrganizationPersonInfo.employeeCustomize_new:{}", employeeCustomize_new); code2 = insert(tableName,employeeCustomize_new); //3查询个人信息表 - Set listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); + List listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) - Map userInfo_new = new HashMap<>(); + Map userInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); log.error("SyncOrganizationPersonInfo.listOfUserInfoColumns:{}", listOfUserInfoColumns); for (String key : listOfUserInfoColumns) { if (containsKeyIgnoreCase(employee_info,key)) { @@ -269,16 +283,21 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa userInfo_new.put("update_time",nowData); cleanUpTime(userInfo_new); userInfo_new.remove("hiredate"); - userInfo_new.remove("household_type"); + //userInfo_new.remove("household_type"); + //userInfo_new.remove("POLITICS_STATUS"); //移除可能为null的数据 userInfo_new.entrySet().removeIf(entry -> entry.getValue() == null); //插入 log.error("SyncOrganizationPersonInfo.userInfo_new:{}", userInfo_new); code3 = insert("hr_userinfo",userInfo_new); - Map userInfoCustomize_new = new HashMap<>(); - for (String key : infcustomFieldDataKeys) { + Map userInfoCustomize_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + for (String key : listOfUserInfoCustomizeColumns) { if (containsKeyIgnoreCase(employee_info,key)&&getIgnoreCase(employee_info, key)!=null) { - userInfoCustomize_new.put(key,getIgnoreCase(employee_info, key)); + if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)||"FT_STATUS".equalsIgnoreCase(key)){ + userInfoCustomize_new.put(key,"0"); + }else { + userInfoCustomize_new.put(key,getIgnoreCase(employee_info, key)); + } } } //组装几个必填字段 @@ -289,7 +308,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa userInfoCustomize_new.put("TENANT_KEY",getIgnoreCase(employee_info, "TENANT_KEY")); userInfoCustomize_new.remove("hiredate"); //移除可能为null的数据 - //userInfoCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + userInfoCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + cleanUpTime(userInfoCustomize_new); log.error("SyncOrganizationPersonInfo.userInfoCustomize_new:{}", userInfoCustomize_new); code4 = insert(tableUserName,userInfoCustomize_new); /** @@ -322,9 +342,9 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa cleanUpTime(employee_info); //employee_info //1.查询employee表字段 - Set listOfEmployee = getTableColumnsOfTableName("eteams.employee"); + List listOfEmployee = getTableColumnsOfTableName("employee"); // 遍历并移除(不包含则移除掉) - Map employee_new = new HashMap<>(); + Map employee_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfEmployee) { if (containsKeyIgnoreCase(employee_info,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -345,36 +365,37 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } //key为id的要移除掉,防止串改组织人员id 导致对应不上员工关系表的:关联组织人员id employee_new.remove("id"); - //employee_new.entrySet().removeIf(entry -> entry.getValue() == null); + employee_new.entrySet().removeIf(entry -> entry.getValue() == null); log.error("SyncOrganizationPersonInfo3333.employee_info:{}", employee_info); log.error("SyncOrganizationPersonInfo3333.employee_new:{}", employee_new); //更新employee表数据 code = update("eteams.employee", employee_new, "id", glzzyg); - //2查询基础信息自定义表 - String tableName = "ft_"+personCustomfieldFormid; - String tableUserName = "ft_"+personInfCustomFormid; - log.error("SyncOrganizationPersonInfo333.tableName:{}", tableName); // 遍历并移除(不包含则移除掉) - Map employeeCustomize_new = new HashMap<>(); - for (String key : customFieldDataKeys) { + Map employeeCustomize_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + for (String key : listOfEmployeeCustomizeColumns) { if (containsKeyIgnoreCase(employee_info,key)&&getIgnoreCase(employee_info, key)!=null) { - employeeCustomize_new.put(key,getIgnoreCase(employee_info, key)); + if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)||"FT_STATUS".equalsIgnoreCase(key)){ + employeeCustomize_new.put(key,"0"); + }else { + employeeCustomize_new.put(key,getIgnoreCase(employee_info, key)); + } } } //根据glzzid查询基础数据表的formdata String formdata =getEmployeeFormData(glzzyg); log.error("SyncOrganizationPersonInfo444.formdata:{}", formdata); employeeCustomize_new.remove("hiredate"); - //employeeCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + employeeCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + cleanUpTime(employeeCustomize_new); //更新数据到基础信息表的自定义表 log.error("SyncOrganizationPersonInfo555.employeeCustomize_new:{}", employeeCustomize_new); if(StringUtils.isNotBlank(formdata)){ code2 = update(tableName,employeeCustomize_new,"FORM_DATA_ID",formdata); } //3查询个人信息表 - Set listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); + List listOfUserInfoColumns = getTableColumnsOfTableName("hr_userinfo"); // 遍历并移除(不包含则移除掉) - Map userInfo_new = new HashMap<>(); + Map userInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfUserInfoColumns) { if (containsKeyIgnoreCase(employee_info,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -402,12 +423,17 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa //更新个人信息表 log.error("SyncOrganizationPersonInfo666.userInfo_new:{}", userInfo_new); userInfo_new.remove("hiredate"); - //userInfo_new.entrySet().removeIf(entry -> entry.getValue() == null); + userInfo_new.entrySet().removeIf(entry -> entry.getValue() == null); + cleanUpTime(userInfo_new); code3 = update("hr_userinfo",userInfo_new,"USER",glzzyg); - Map userInfoCustomize_new = new HashMap<>(); - for (String key : infcustomFieldDataKeys) { + Map userInfoCustomize_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + for (String key : listOfUserInfoCustomizeColumns) { if (containsKeyIgnoreCase(employee_info,key)&&getIgnoreCase(employee_info, key)!=null) { - userInfoCustomize_new.put(key,getIgnoreCase(employee_info, key)); + if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)||"FT_STATUS".equalsIgnoreCase(key)){ + userInfoCustomize_new.put(key,"0"); + }else{ + userInfoCustomize_new.put(key,getIgnoreCase(employee_info, key)); + } } } //查询个人信息表的FORM_DATA @@ -415,7 +441,8 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa log.error("SyncOrganizationPersonInfo777.FORM_DATA:{}", FORM_DATA); log.error("SyncOrganizationPersonInfo888.userInfoCustomize_new:{}", userInfoCustomize_new); userInfoCustomize_new.remove("hiredate"); - //userInfoCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + userInfoCustomize_new.entrySet().removeIf(entry -> entry.getValue() == null); + cleanUpTime(userInfoCustomize_new); if(StringUtils.isNotBlank(FORM_DATA)){ code4 = update(tableUserName,userInfoCustomize_new,"FORM_DATA_ID",FORM_DATA); } @@ -452,11 +479,11 @@ 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); - Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); + List listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("getYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("getYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); + Map gzllInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfgzllColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -477,11 +504,11 @@ 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); - Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); + List listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("getYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); + Map jyjlInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjyjlColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -502,10 +529,10 @@ 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); - Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); + List listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); + Map jtxxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjtxxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -526,11 +553,11 @@ 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); - Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); + List listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); + Map bzInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfbzColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -551,11 +578,11 @@ 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); - Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); + List listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); + Map pxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfpxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -576,11 +603,11 @@ 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); - Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); + List listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); + Map yyInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfyyColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -601,11 +628,11 @@ 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); - Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); + List listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); + Map qwInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfqwColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -638,11 +665,11 @@ 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); - Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); + List listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); log.error("getYgxxDetailInfo.gzllInfo:{}", gzllInfo); log.error("getYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); + Map gzllInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfgzllColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -670,11 +697,11 @@ 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); - Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); + List listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); log.error("getYgxxDetailInfo.jyjlInfo0172:{}", jyjlInfo); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); + Map jyjlInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjyjlColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -702,10 +729,10 @@ 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); - Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); + List listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); + Map jtxxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjtxxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -733,11 +760,11 @@ 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); - Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); + List listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); + Map bzInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfbzColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -765,11 +792,11 @@ 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); - Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); + List listOfpxColumns = getTableColumnsOfTableName("hr_train"); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); + Map pxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfpxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -797,11 +824,11 @@ 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); - Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); + List listOfyyColumns = getTableColumnsOfTableName("hr_language"); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); + Map yyInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfyyColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -829,11 +856,11 @@ 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); - Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); + List listOfqwColumns = getTableColumnsOfTableName("hr_certification"); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); + Map qwInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfqwColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -868,176 +895,6 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa } while (randomNumber < 100000000000000000L || randomNumber > 999999999999999999L); return String.valueOf(randomNumber); } - /** - * 更新所有员工信息明细表 - * @return - */ - public void updateAllYgxxDetailInfo_feichu(String ygxxid){ - log.error("updateAllYgxxDetailInfo.ygxxid:{}", ygxxid); - /** - * 工作履历表 - * */ - //先删除原来记录 - String sql = "update hr_employment_record set delete_type = '1',update_time ='" + nowData + "' where USER_ID = '" + ygxxid + "' "; - //deleteDetailData(sql); - String gzsql = "select * from uf_jcl_emp_gzll where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> gzllInfo = getYgxxDetailInfo(gzsql); - Set listOfgzllColumns = getTableColumnsOfTableName("hr_employment_record"); - log.error("updateAllYgxxDetailInfo.gzllInfo:{}", gzllInfo); - log.error("updateAllYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); - for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); - for (String key : listOfgzllColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - gzllInfo_new.put(key,"0"); - }else{ - gzllInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(gzllInfo_new); - } - //更新组织工作履历表 - update("hr_employment_record",gzllInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 教育经历表 - * */ - String jysql = "select * from uf_jcl_emp_jyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> jyjlInfo = getYgxxDetailInfo(jysql); - Set listOfjyjlColumns = getTableColumnsOfTableName("hr_education"); - log.error("updateAllYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); - log.error("updateAllYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); - for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); - for (String key : listOfjyjlColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - jyjlInfo_new.put(key,"0"); - }else{ - jyjlInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(jyjlInfo_new); - } - //更新教育经历表 - update("hr_education",jyjlInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 家庭信息表 - * */ - String jtxxsql = "select * from uf_jcl_emp_jtxx where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - Set listOfjtxxColumns = getTableColumnsOfTableName("hr_family"); - log.error("updateAllYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); - for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); - for (String key : listOfjtxxColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - jtxxInfo_new.put(key,"0"); - }else{ - jtxxInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(jtxxInfo_new); - } - //更新家庭信息表 - update("hr_family",jtxxInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 表彰与奖励 - * */ - String bzsql = "select * from uf_jcl_emp_bzyjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> bzInfo = getYgxxDetailInfo(bzsql); - Set listOfbzColumns = getTableColumnsOfTableName("hr_rewards_before"); - log.error("updateAllYgxxDetailInfo.bzInfo:{}", bzInfo); - log.error("updateAllYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); - for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); - for (String key : listOfbzColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - bzInfo_new.put(key,"0"); - }else{ - bzInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(bzInfo_new); - } - //更新表彰表 - update("hr_rewards_before",bzInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 培训经历 - * */ - String pxsql = "select * from uf_jcl_emp_pxjl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> pxInfo = getYgxxDetailInfo(pxsql); - Set listOfpxColumns = getTableColumnsOfTableName("hr_train"); - log.error("updateAllYgxxDetailInfo.pxInfo:{}", pxInfo); - log.error("updateAllYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); - for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); - for (String key : listOfpxColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - pxInfo_new.put(key,"0"); - }else{ - pxInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(pxInfo_new); - } - //更新培训表 - update("hr_train",pxInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 语言能力 - * */ - String yysql = "select * from uf_jcl_emp_yynl where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> yyInfo = getYgxxDetailInfo(yysql); - Set listOfyyColumns = getTableColumnsOfTableName("hr_language"); - log.error("updateAllYgxxDetailInfo.yyInfo:{}", yyInfo); - log.error("updateAllYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); - for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); - for (String key : listOfyyColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - yyInfo_new.put(key,"0"); - }else{ - yyInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(yyInfo_new); - } - //更新语言能力表 - update("hr_language",yyInfo_new,"id",getIgnoreCase(map, "id")); - } - /** - * 权威机构资格 - * */ - String qwsql = "select * from uf_jcl_emp_qwjgzgrz where FORM_DATA_ID = '" + ygxxid + "' and delete_type=0"; - List> qwInfo = getYgxxDetailInfo(qwsql); - Set listOfqwColumns = getTableColumnsOfTableName("hr_certification"); - log.error("updateAllYgxxDetailInfo.qwInfo:{}", qwInfo); - log.error("updateAllYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); - for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); - for (String key : listOfqwColumns) { - if (containsKeyIgnoreCase(map,key)) { - if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ - qwInfo_new.put(key,"0"); - }else{ - qwInfo_new.put(key,getIgnoreCase(map, key)); - } - } - cleanUpTime(qwInfo_new); - } - //更新权威机构表 - update("hr_certification",qwInfo_new,"id",getIgnoreCase(map, "id")); - } - } /** * 根据明细表名称和关联id查询员工信息明细表数据 @@ -1355,16 +1212,28 @@ public class SyncOrganizationPersonInfo implements EsbServerlessRpcRemoteInterfa return form_data; } - 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 + "' "; - String sql = "SELECT * FROM " + tableName; - log.error("getTableColumnsOfTableName222.sql:{}", sql); + public List getTableColumnsOfTableName(String tableName) { + String sql = ""; + //String sql = "SELECT * FROM " + tableName; + //查询数据库类型 + String databaseId = DatabaseUtil.getDatabaseId(); + log.info("getTableColumnsOfTableName-databaseId{}",databaseId); + if(databaseId.equalsIgnoreCase("oracle")){ + //oracle + sql = "SELECT column_name FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='" + tableName + "' "; + }else{ + //mysql + sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; + } + log.error("getTableColumnsOfTableName.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return extractFieldNames(recordList); + List listOfColumn = recordList.stream() + .map(map -> map.get("column_name").toString()) + .collect(Collectors.toList()); + return listOfColumn; + //return extractFieldNames(recordList); } public Set extractFieldNames(List> recordList) { 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 74d02c7..f268846 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 @@ -2,10 +2,6 @@ package com.weaver.seconddev.jcl.organization.esb; import com.alibaba.nacos.common.utils.CollectionUtils; import com.weaver.common.base.entity.result.WeaResult; -import com.weaver.common.cache.tablecache.impl.ComInfoCache; -import com.weaver.common.distribution.genid.IdGenerator; -import com.weaver.common.hrm.cache.HrmDepartmentComInfo; -import com.weaver.common.hrm.cache.HrmPositionComInfo; import com.weaver.common.mybatis.util.DatabaseUtil; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.seconddev.jcl.organization.util.DatabaseUtils; @@ -18,7 +14,6 @@ import org.springframework.stereotype.Service; import java.security.SecureRandom; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -459,10 +454,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> gzllInfo = getYgxxDetailInfo(gzsql); log.error("getYgxxDetailInfo.gzllInfo:{}", gzllInfo); if(CollectionUtils.isNotEmpty(gzllInfo)){ - Set listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); + List listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); log.error("getYgxxDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); + Map gzllInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfgzllColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -489,10 +484,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> jyjlInfo = getYgxxDetailInfo(jysql); log.error("getYgxxDetailInfo.jyjlInfo:{}", jyjlInfo); if(CollectionUtils.isNotEmpty(jyjlInfo)){ - Set listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); + List listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); + Map jyjlInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjyjlColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -519,10 +514,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> jtxxInfo = getYgxxDetailInfo(jtxxsql); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); if(CollectionUtils.isNotEmpty(jtxxInfo)){ - Set listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); + List listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); log.error("getYgxxDetailInfo.listOfjtxxColumns:{}", listOfjtxxColumns); for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); + Map jtxxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjtxxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -549,10 +544,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> bzInfo = getYgxxDetailInfo(bzsql); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); if(CollectionUtils.isNotEmpty(bzInfo)){ - Set listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); + List listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); + Map bzInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfbzColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -579,10 +574,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> pxInfo = getYgxxDetailInfo(pxsql); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); if(CollectionUtils.isNotEmpty(pxInfo)){ - Set listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); + List listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); + Map pxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfpxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -609,10 +604,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> yyInfo = getYgxxDetailInfo(yysql); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); if(CollectionUtils.isNotEmpty(yyInfo)){ - Set listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); + List listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); + Map yyInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfyyColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -639,10 +634,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> qwInfo = getYgxxDetailInfo(qwsql); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); if(CollectionUtils.isNotEmpty(qwInfo)){ - Set listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); + List listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); + Map qwInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfqwColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -680,10 +675,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> gzllInfo = getYgxxDetailInfo(gzsql); log.error("updateAllXxbgDetailInfo.gzllInfo:{}", gzllInfo); if(CollectionUtils.isNotEmpty(gzllInfo)){ - Set listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); + List listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); log.error("updateAllXxbgDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); + Map gzllInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfgzllColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -715,10 +710,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> jyjlInfo = getYgxxDetailInfo(jysql); log.error("getYgxxDetailInfo.jyjlInfo0172:{}", jyjlInfo); if(CollectionUtils.isNotEmpty(jyjlInfo)){ - Set listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); + List listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); + Map jyjlInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjyjlColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -750,10 +745,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> jtxxInfo = getYgxxDetailInfo(jtxxsql); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); if(CollectionUtils.isNotEmpty(jtxxInfo)){ - Set listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); + List listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); log.error("getYgxxDetailInfo.listOfjtxxColumns:{}", listOfjtxxColumns); for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); + Map jtxxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjtxxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -785,10 +780,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> bzInfo = getYgxxDetailInfo(bzsql); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); if(CollectionUtils.isNotEmpty(bzInfo)){ - Set listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); + List listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); + Map bzInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfbzColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -820,10 +815,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> pxInfo = getYgxxDetailInfo(pxsql); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); if(CollectionUtils.isNotEmpty(pxInfo)){ - Set listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); + List listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); + Map pxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfpxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -855,10 +850,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> yyInfo = getYgxxDetailInfo(yysql); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); if(CollectionUtils.isNotEmpty(yyInfo)){ - Set listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); + List listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); + Map yyInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfyyColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -890,10 +885,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { List> qwInfo = getYgxxDetailInfo(qwsql); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); if(CollectionUtils.isNotEmpty(qwInfo)){ - Set listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); + List listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); + Map qwInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfqwColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -952,16 +947,28 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface { return recordList; } - 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 + "' "; - String sql = "SELECT * FROM " + tableName; - log.error("getTableColumnsOfTableName222.sql:{}", sql); + public List getTableColumnsOfTableName(String tableName) { + String sql = ""; + //String sql = "SELECT * FROM " + tableName; + //查询数据库类型 + String databaseId = DatabaseUtil.getDatabaseId(); + log.info("getTableColumnsOfTableName-databaseId{}",databaseId); + if(databaseId.equalsIgnoreCase("oracle")){ + //oracle + sql = "SELECT column_name FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='" + tableName + "' "; + }else{ + //mysql + sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; + } + log.error("getTableColumnsOfTableName.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); - //log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return extractFieldNames(recordList); + log.error("getTableColumnsOfTableName.recordList:{}", recordList); + List listOfColumn = recordList.stream() + .map(map -> map.get("column_name").toString()) + .collect(Collectors.toList()); + return listOfColumn; + //return extractFieldNames(recordList); } public Set extractFieldNames(List> recordList) { 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 808183c..2f2ab35 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 @@ -347,11 +347,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { * */ String gzsql = "select * from uf_jcl_employ4944 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> gzllInfo = getYgxxDetailInfo(gzsql); - Set listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); + List listOfgzllColumns = getTableColumnsOfTableName("uf_jcl_emp_gzll"); log.error("updateAllXxbgDetailInfo.gzllInfo:{}", gzllInfo); log.error("updateAllXxbgDetailInfo.listOfgzllColumns:{}", listOfgzllColumns); for (Map map : gzllInfo) { - Map gzllInfo_new = new HashMap<>(); + Map gzllInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfgzllColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -379,11 +379,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String jysql = "select * from uf_jcl_employ4991 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> jyjlInfo = getYgxxDetailInfo(jysql); - Set listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); + List listOfjyjlColumns = getTableColumnsOfTableName("uf_jcl_emp_jyjl"); log.error("getYgxxDetailInfo.jyjlInfo0172:{}", jyjlInfo); log.error("getYgxxDetailInfo.listOfjyjlColumns:{}", listOfjyjlColumns); for (Map map : jyjlInfo) { - Map jyjlInfo_new = new HashMap<>(); + Map jyjlInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjyjlColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -411,10 +411,10 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String jtxxsql = "select * from uf_jcl_employ5051 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> jtxxInfo = getYgxxDetailInfo(jtxxsql); - Set listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); + List listOfjtxxColumns = getTableColumnsOfTableName("uf_jcl_emp_jtxx"); log.error("getYgxxDetailInfo.jtxxInfo:{}", jtxxInfo); for (Map map : jtxxInfo) { - Map jtxxInfo_new = new HashMap<>(); + Map jtxxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfjtxxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -442,11 +442,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String bzsql = "select * from uf_jcl_employ5105 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> bzInfo = getYgxxDetailInfo(bzsql); - Set listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); + List listOfbzColumns = getTableColumnsOfTableName("uf_jcl_emp_bzyjl"); log.error("getYgxxDetailInfo.bzInfo:{}", bzInfo); log.error("getYgxxDetailInfo.listOfbzColumns:{}", listOfbzColumns); for (Map map : bzInfo) { - Map bzInfo_new = new HashMap<>(); + Map bzInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfbzColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -474,11 +474,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String pxsql = "select * from uf_jcl_employ5165 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> pxInfo = getYgxxDetailInfo(pxsql); - Set listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); + List listOfpxColumns = getTableColumnsOfTableName("uf_jcl_emp_pxjl"); log.error("getYgxxDetailInfo.pxInfo:{}", pxInfo); log.error("getYgxxDetailInfo.listOfpxColumns:{}", listOfpxColumns); for (Map map : pxInfo) { - Map pxInfo_new = new HashMap<>(); + Map pxInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfpxColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -506,11 +506,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String yysql = "select * from uf_jcl_employ5218 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> yyInfo = getYgxxDetailInfo(yysql); - Set listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); + List listOfyyColumns = getTableColumnsOfTableName("uf_jcl_emp_yynl"); log.error("getYgxxDetailInfo.yyInfo:{}", yyInfo); log.error("getYgxxDetailInfo.listOfyyColumns:{}", listOfyyColumns); for (Map map : yyInfo) { - Map yyInfo_new = new HashMap<>(); + Map yyInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfyyColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -538,11 +538,11 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { deleteDetailData(sql); String qwsql = "select * from uf_jcl_employ5265 where FORM_DATA_ID = '" + lcid + "' and delete_type=0"; List> qwInfo = getYgxxDetailInfo(qwsql); - Set listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); + List listOfqwColumns = getTableColumnsOfTableName("uf_jcl_emp_qwjgzgrz"); log.error("getYgxxDetailInfo.qwInfo:{}", qwInfo); log.error("getYgxxDetailInfo.listOfqwColumns:{}", listOfqwColumns); for (Map map : qwInfo) { - Map qwInfo_new = new HashMap<>(); + Map qwInfo_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); for (String key : listOfqwColumns) { if (containsKeyIgnoreCase(map,key)) { if("delete_type".equalsIgnoreCase(key)||"IS_DELETE".equalsIgnoreCase(key)){ @@ -599,16 +599,28 @@ public class SyncXxbgPersonInfo implements EsbServerlessRpcRemoteInterface { return recordList; } - 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 + "' "; - String sql = "SELECT * FROM " + tableName; - log.error("getTableColumnsOfTableName222.sql:{}", sql); + public List getTableColumnsOfTableName(String tableName) { + String sql = ""; + //String sql = "SELECT * FROM " + tableName; + //查询数据库类型 + String databaseId = DatabaseUtil.getDatabaseId(); + log.info("getTableColumnsOfTableName-databaseId{}",databaseId); + if(databaseId.equalsIgnoreCase("oracle")){ + //oracle + sql = "SELECT column_name FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='" + tableName + "' "; + }else{ + //mysql + sql = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' "; + } + log.error("getTableColumnsOfTableName.sql:{}", sql); Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); - //log.error("getTableColumnsOfTableName.recordList:{}", recordList); - return extractFieldNames(recordList); + log.error("getTableColumnsOfTableName.recordList:{}", recordList); + List listOfColumn = recordList.stream() + .map(map -> map.get("column_name").toString()) + .collect(Collectors.toList()); + return listOfColumn; + //return extractFieldNames(recordList); } public Set extractFieldNames(List> recordList) {