组织变更新版
This commit is contained in:
parent
cc6f21487c
commit
74aa8a4eb9
|
|
@ -11,7 +11,6 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
|
@ -80,6 +79,10 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface {
|
|||
String objId = ebTableInfo.get("objId");
|
||||
String ebTableName = ebTableInfo.get("table_name");
|
||||
log.error("SyncRzglPersonInfo.ebTableName:{}", ebTableName);
|
||||
|
||||
//查询员工信息表字段
|
||||
List<String> listOfEmployeeInformationColumns = getTableColumnsOfTableName(ebTableName);
|
||||
log.error("SyncOrganizationPersonInfo1111.listOfEmployeeInformationColumns:{}", listOfEmployeeInformationColumns);
|
||||
/**
|
||||
* 新增返回的人员id
|
||||
*/
|
||||
|
|
@ -92,22 +95,30 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface {
|
|||
/**
|
||||
* 清除申请表字段
|
||||
*/
|
||||
map.remove("id");
|
||||
map.remove("rzzt_obj");
|
||||
map.remove("rzzt");
|
||||
map.remove("rzsqlc_obj");
|
||||
map.remove("rzsqlc");
|
||||
map.remove("sec_level");
|
||||
map.remove("form_data_id");
|
||||
map.remove("lrfs_obj");
|
||||
map.remove("lrfs");
|
||||
// map.remove("id");
|
||||
// map.remove("rzzt_obj");
|
||||
// map.remove("rzzt");
|
||||
// map.remove("rzsqlc_obj");
|
||||
// map.remove("rzsqlc");
|
||||
// map.remove("sec_level");
|
||||
// map.remove("form_data_id");
|
||||
// map.remove("lrfs_obj");
|
||||
// map.remove("lrfs");
|
||||
//对比字段,相同字段才推送
|
||||
// 遍历并移除(不包含则移除掉)
|
||||
Map<String, Object> employeeInformation_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
for (String key : listOfEmployeeInformationColumns) {
|
||||
if (containsKeyIgnoreCase(map,key)&&getIgnoreCase(map, key)!=null) {
|
||||
employeeInformation_new.put(key,getIgnoreCase(map, key));
|
||||
}
|
||||
}
|
||||
//跟换id值,然后主键冲突
|
||||
ryid = createPrimarykey();
|
||||
log.error("SyncRzglPersonInfo88888.primarykey:{}", ryid);
|
||||
map.put("id",ryid);
|
||||
map.put("form_data_id",ryid);
|
||||
log.error("SyncRzglPersonInfo88888.map:{}", map);
|
||||
code = insert(ebTableName,map);
|
||||
employeeInformation_new.put("id",ryid);
|
||||
employeeInformation_new.put("form_data_id",ryid);
|
||||
log.error("SyncRzglPersonInfo88888.employeeInformation_new:{}", employeeInformation_new);
|
||||
code = insert(ebTableName,employeeInformation_new);
|
||||
log.error("SyncRzglPersonInfo.code:{}", code);
|
||||
|
||||
/**
|
||||
|
|
@ -118,42 +129,49 @@ public class SyncRzglPersonInfo implements EsbServerlessRpcRemoteInterface {
|
|||
/**
|
||||
* 写入表单引擎数据大表
|
||||
*/
|
||||
insertFormdata(map,form_id,layout_id);
|
||||
insertFormdata(employeeInformation_new,form_id,layout_id);
|
||||
|
||||
/**
|
||||
* 写入EB表单数据大表
|
||||
*/
|
||||
insertPhysical(map,obj_id);
|
||||
insertPhysical(employeeInformation_new,obj_id);
|
||||
|
||||
}
|
||||
}else{
|
||||
//更新
|
||||
//3.更新元素据到员工信息表,移除id(清楚系统列)
|
||||
map.remove("id");
|
||||
map.remove("updater");
|
||||
map.remove("create_time");
|
||||
map.remove("creator");
|
||||
map.remove("delete_type");
|
||||
map.remove("is_delete");
|
||||
map.remove("form_data_id");
|
||||
map.remove("flow_id");
|
||||
map.remove("is_flow");
|
||||
map.remove("flow_status");
|
||||
map.remove("eb_workflow_id");
|
||||
map.remove("current_step");
|
||||
map.remove("name");
|
||||
|
||||
map.remove("rzzt_obj");
|
||||
map.remove("rzzt");
|
||||
map.remove("rzsqlc_obj");
|
||||
map.remove("rzsqlc");
|
||||
map.remove("sec_level");
|
||||
|
||||
if(!map.isEmpty()){
|
||||
// map.remove("id");
|
||||
// map.remove("updater");
|
||||
// map.remove("create_time");
|
||||
// map.remove("creator");
|
||||
// map.remove("delete_type");
|
||||
// map.remove("is_delete");
|
||||
// map.remove("form_data_id");
|
||||
// map.remove("flow_id");
|
||||
// map.remove("is_flow");
|
||||
// map.remove("flow_status");
|
||||
// map.remove("eb_workflow_id");
|
||||
// map.remove("current_step");
|
||||
// map.remove("name");
|
||||
//
|
||||
// map.remove("rzzt_obj");
|
||||
// map.remove("rzzt");
|
||||
// map.remove("rzsqlc_obj");
|
||||
// map.remove("rzsqlc");
|
||||
// map.remove("sec_level");
|
||||
// 遍历并移除(不包含则移除掉)
|
||||
Map<String, Object> employeeInformation_new = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
for (String key : listOfEmployeeInformationColumns) {
|
||||
if (containsKeyIgnoreCase(map,key)&&getIgnoreCase(map, key)!=null) {
|
||||
employeeInformation_new.put(key,getIgnoreCase(map, key));
|
||||
}
|
||||
}
|
||||
if(!employeeInformation_new.isEmpty()){
|
||||
//更新前先处理一下时间
|
||||
cleanUpTime(map);
|
||||
code = update(ebTableName,map,"glyg",ygid);
|
||||
log.error("SyncRzglPersonInfo.code:{}", code);
|
||||
cleanUpTime(employeeInformation_new);
|
||||
log.error("SyncRzglPersonInfo_update.employeeInformation_new:{}", employeeInformation_new);
|
||||
code = update(ebTableName,employeeInformation_new,"glyg",ygid);
|
||||
log.error("SyncRzglPersonInfo_update.cod222e:{}", code);
|
||||
}
|
||||
//查询一下员工信息表id
|
||||
String employeeId = getEmployeeId(ygid);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,743 @@
|
|||
package com.weaver.seconddev.jcl.organization.esb.cbd;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.common.distribution.genid.IdGenerator;
|
||||
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
|
||||
import com.weaver.seconddev.jcl.organization.util.DatabaseUtils;
|
||||
import com.weaver.seconddev.jcl.organization.util.RecruitModuleUtils;
|
||||
import com.weaver.seconddev.jcl.organization.util.SyncDataUtils;
|
||||
import com.weaver.teams.security.context.UserContext;
|
||||
import com.weaver.teams.security.user.User;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @use:开放平台-组织人事接口-同步部门-对比前后组织树方式
|
||||
* @date 2025年7月31日
|
||||
* @author xuxy
|
||||
*/
|
||||
@Service("SyncDepartmentChanges_jcl")
|
||||
public class SyncDepartmentChanges implements EsbServerlessRpcRemoteInterface {
|
||||
|
||||
@Autowired
|
||||
private DatabaseUtils databaseUtils;
|
||||
@Autowired
|
||||
RecruitModuleUtils recruitModuleUtils;
|
||||
@Autowired
|
||||
private SyncDataUtils syncDataUtils;
|
||||
|
||||
public static String path = "/api/hrm/restful/syncDepartment";
|
||||
public static String deletedPath = "/api/hrm/restful/disableDepartment";
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SyncDepartmentChanges.class);
|
||||
|
||||
@Override
|
||||
public WeaResult<Map<String, Object>> execute(Map<String, Object> params) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
String bgsxrq = null != params.get("bgsxrq") ? String.valueOf(params.get("bgsxrq").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()) : "";
|
||||
log.error("SyncDepartmentChanges.form_id:{},layout_id:{}", form_id, layout_id);
|
||||
/**
|
||||
* 根据入参查询组织变更前后数据
|
||||
*/
|
||||
List<Map<String, Object>> originalTree = getOriginalTree("0", bgsxrq);
|
||||
List<Map<String, Object>> changedTree = getOriginalTree("1", bgsxrq);
|
||||
log.error("SyncDepartmentChanges.changedTree:{}", changedTree);
|
||||
|
||||
// 比对并获取差异
|
||||
//List<Map<Object, Map<String, Object>>> differences = findDifferences(changedTree);
|
||||
|
||||
|
||||
// /**
|
||||
// * 需新增的部门
|
||||
// */
|
||||
// List<Map<String, Object>> addedChanges = differences.stream().filter(map -> "added".equals(map.get("type"))).collect(Collectors.toList());
|
||||
//
|
||||
// /**
|
||||
// * 需修改的部门
|
||||
// */
|
||||
// List<Map<String, Object>> modifiedChanges = differences.stream().filter(map -> "modified".equals(map.get("type"))).collect(Collectors.toList());
|
||||
//
|
||||
// /**
|
||||
// * 需删除的部门
|
||||
// */
|
||||
// List<Map<String, Object>> deletedChanges = differences.stream().filter(map -> "deleted".equals(map.get("type"))).collect(Collectors.toList());
|
||||
|
||||
|
||||
/**
|
||||
* 多租户查询主表名称(JCL_开放平台接口配置表)
|
||||
*/
|
||||
Map<String, String> ebTablePzInfo = recruitModuleUtils.getEbTableInfo("uf_jcl_employee_information_apptag", "uf_jcl_kfptjkpzb_tag");
|
||||
String objPzId = ebTablePzInfo.get("objId");
|
||||
String ebTablePzName = ebTablePzInfo.get("table_name");
|
||||
log.error("SyncDepartmentChanges.objPzId:{},ebTablePzName:{}", objPzId, ebTablePzName);
|
||||
|
||||
/**
|
||||
* 获取token系统参数信息查询
|
||||
*/
|
||||
Map<String, Object> apiInfo = getApiInfo(ebTablePzName);
|
||||
String host = String.valueOf(apiInfo.get("ipdz"));
|
||||
log.error("SyncDepartmentChanges.apiInfo:{}", apiInfo);
|
||||
/**
|
||||
* 循环changedTree,按照时间顺序判断先执行哪个操作,保存新增部门时上级组织存在
|
||||
*/
|
||||
if (CollectionUtils.isNotEmpty(changedTree)) {
|
||||
for (Map<String, Object> map : changedTree) {
|
||||
log.error("SyncDepartmentChanges.map:{}", map);
|
||||
String czlx = null!=map.get("czlx")?String.valueOf(map.get("czlx").toString()):"";
|
||||
/**
|
||||
* 根据时间先后顺序,按照操作类型执行对应操作
|
||||
*/
|
||||
if("0".equals(czlx)){
|
||||
/**
|
||||
* 多次调用接口逻辑(新增)
|
||||
*/
|
||||
addSysDept(map, apiInfo, host, form_id, layout_id);
|
||||
}else if("1".equals(czlx)){
|
||||
/**
|
||||
* 删除部门
|
||||
*/
|
||||
String zz = null!=map.get("zz")?String.valueOf(map.get("zz").toString()):"";
|
||||
Map<String, Object> deleteMap = deleteSysDept(zz, apiInfo, host);
|
||||
log.error("SyncDepartmentChanges1111.deleteMap:{}", deleteMap);
|
||||
}else if("2".equals(czlx)){
|
||||
/**
|
||||
* 多次调用接口逻辑(更新)
|
||||
*/
|
||||
updateSysDept(map, apiInfo, host, form_id, layout_id);
|
||||
}else if("3".equals(czlx)){
|
||||
/**
|
||||
* 多次调用接口逻辑(合并)
|
||||
*/
|
||||
//1.新增合并后部门:目标部门(新增这些部门)
|
||||
Map<String, Object> sysDept = addSysDept(map, apiInfo, host, form_id, layout_id);
|
||||
log.error("SyncDepartmentChanges.sysDept:{}", sysDept);
|
||||
//2.先将被合并部门下人员(有的话)迁移到目标合并部门下面
|
||||
//查询被合并部门下所有人员
|
||||
/**
|
||||
* 查询被合并部门的一级下级部门
|
||||
*/
|
||||
String bhbbmid = null != map.get("bhbbmid") ? String.valueOf(map.get("bhbbmid").toString()) : "";
|
||||
String code = null != map.get("bh") ? String.valueOf(map.get("bh").toString()) : "";
|
||||
List<String> firstLevelDepts = getFirstLevelDepts(bhbbmid);
|
||||
log.error("SyncDepartmentChanges.firstLevelDepts:{}", firstLevelDepts);
|
||||
/**
|
||||
* 更改下级部门的上级部门为新增部门以及被合并部门下的全部人员
|
||||
*/
|
||||
updateFirstLevelDeptAndEmployee(code, firstLevelDepts, bhbbmid);
|
||||
//3.删除被合并部门
|
||||
/**
|
||||
* 根据部门code查询部门id222
|
||||
*/
|
||||
String sql = "select id from eteams.department where code in (" + bhbbmid+ ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("SyncDepartmentChanges222.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("SyncDepartmentChanges222.recordList:{}", recordList);
|
||||
String deptids = recordList.stream()
|
||||
.map(map1 -> map1.get("id")) // 提取 "id" 对应的值
|
||||
.filter(Objects::nonNull) // 过滤掉 null 值(可选)
|
||||
.map(Object::toString) // 转为 String(如果 id 不是 String 类型)
|
||||
.collect(Collectors.joining(","));
|
||||
log.error("SyncDepartmentChanges222.deptids:{}", deptids);
|
||||
Map<String, Object> deleteMap = deleteSysDept(deptids, apiInfo, host);
|
||||
log.error("SyncDepartmentChanges222.deleteMap:{}", deleteMap);
|
||||
}else if("4".equals(czlx)){
|
||||
/**
|
||||
* 多次调用接口逻辑(拆分)
|
||||
*/
|
||||
//1.新增拆分后部门
|
||||
addSysDept(map, apiInfo, host, form_id, layout_id);
|
||||
//2.删除被拆分的部门
|
||||
String bcfzzid = null != map.get("bcfzzid") ? String.valueOf(map.get("bcfzzid").toString()) : "";
|
||||
log.error("SyncDepartmentChanges3333.bcfzzid:{}", bcfzzid);
|
||||
//3.将code转化为id
|
||||
/**
|
||||
* 4.根据部门code查询部门id222
|
||||
*/
|
||||
String sql = "select id from eteams.department where code in (" + bcfzzid+ ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("SyncDepartmentChanges3333.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("SyncDepartmentChanges3333.recordList:{}", recordList);
|
||||
String deptids = recordList.stream()
|
||||
.map(map1 -> map1.get("id")) // 提取 "id" 对应的值
|
||||
.filter(Objects::nonNull) // 过滤掉 null 值(可选)
|
||||
.map(Object::toString) // 转为 String(如果 id 不是 String 类型)
|
||||
.collect(Collectors.joining(","));
|
||||
log.error("SyncDepartmentChanges3333.deptids:{}", deptids);
|
||||
Map<String, Object> deleteMap = deleteSysDept(deptids, apiInfo, host);
|
||||
log.error("SyncDepartmentChanges3333.deleteMap:{}", deleteMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
return WeaResult.success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除部门
|
||||
* @param bhbbmids
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> deleteSysDept(String bhbbmids,Map<String, Object> apiInfo,String host){
|
||||
/**
|
||||
* 3.组装数据
|
||||
*/
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
JSONArray paramArray = new JSONArray();
|
||||
String[] ids = bhbbmids.split(",");
|
||||
for (String s : ids) {
|
||||
JSONObject paramJson = new JSONObject();
|
||||
//此处应该有多个id
|
||||
paramJson.put("id", s);
|
||||
paramArray.add(paramJson);
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("datas", paramArray);
|
||||
log.error("SyncDepartmentChanges222.jsonObject:{}", jsonObject);
|
||||
try {
|
||||
String accessToken = syncDataUtils.getToken(apiInfo);
|
||||
log.error("SyncDepartmentChanges222.accessToken:{}", accessToken);
|
||||
if (StringUtils.isNotBlank(accessToken)) {
|
||||
jsonObject.put("access_token", accessToken);
|
||||
result = syncDataUtils.doPostHttp(jsonObject, deletedPath, host);
|
||||
log.error("SyncDepartmentChanges222.result:111{}", result);
|
||||
} else {
|
||||
result.put("status2", "fail");
|
||||
}
|
||||
log.error("SyncDepartmentChanges222.result:{}", result);
|
||||
} catch (Exception e) {
|
||||
result.put("status2", "exception");
|
||||
log.error("Exception_em:" + e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询被合并部门的一级下级部门
|
||||
* @return deptids
|
||||
*/
|
||||
public List<String> getFirstLevelDepts(String dept){
|
||||
/**
|
||||
* 根据部门code查询新增部门id
|
||||
*/
|
||||
String sql = "select id from eteams.department where code in (" + dept+ ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("getFirstLevelDepts111.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getFirstLevelDepts111.recordList:{}", recordList);
|
||||
String deptid = recordList.stream()
|
||||
.map(map -> String.valueOf(map.get("id"))) // 提取 "id" 的值并转为 String
|
||||
.filter(id -> id != null && !id.isEmpty()) // 过滤掉 null 或空值
|
||||
.collect(Collectors.joining(", "));
|
||||
log.error("getFirstLevelDepts111.deptid:{}", deptid);
|
||||
List<String> deptids = new ArrayList<>();
|
||||
//String depts = splitStr(deptid);
|
||||
//log.error("getFirstLevelDepts111.depts:{}", depts);
|
||||
sql = "select id from eteams.department where parent in (" + deptid+ ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("getFirstLevelDepts111.sql:{}", sql);
|
||||
rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> records = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getFirstLevelDepts111.records:{}", records);
|
||||
if(CollectionUtils.isNotEmpty(records)){
|
||||
deptids = records.stream()
|
||||
.map(map -> map.get("id").toString())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
return deptids;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更改下级部门的上级部门为新增部门
|
||||
* @return
|
||||
*/
|
||||
public void updateFirstLevelDeptAndEmployee(String code,List<String> firstLevelDepts,String dept){
|
||||
/**
|
||||
* 根据部门code查询新增部门id
|
||||
*/
|
||||
String sql = "select id from eteams.department where code = '"+ code +"' and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("updateFirstLevelDept111.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("updateFirstLevelDept.recordList:{}", recordList);
|
||||
String deptid = String.valueOf(recordList.get(0).get("id"));
|
||||
log.error("updateFirstLevelDept111.deptid:{}", deptid);
|
||||
if(CollectionUtils.isNotEmpty(firstLevelDepts)){
|
||||
String departmentids = String.join(",", firstLevelDepts);
|
||||
log.error("updateFirstLevelDept111.departmentids:{}", departmentids);
|
||||
/**
|
||||
* 更新新增部门id为新上级
|
||||
*/
|
||||
String str = "update eteams.department set parent = '"+deptid+"' where id in (" + departmentids + ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("updateFirstLevelDept111.str:{}", str);
|
||||
Map<String, Object> rt = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", str);
|
||||
List<Map<String, Object>> records = databaseUtils.getDataSourceList(rt);
|
||||
log.error("updateFirstLevelDept111.records:{}", records);
|
||||
}
|
||||
String depts = splitStr(dept);
|
||||
log.error("updateFirstLevelDept.depts:{}", depts);
|
||||
/**
|
||||
* 更新depts部门中的人员为新部门下人员
|
||||
*/
|
||||
String sdf = "update eteams.employee set department = '"+deptid+"' where department in (" + depts + ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("updateFirstLevelDept111.sdf:{}", sdf);
|
||||
Map<String, Object> rw = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sdf);
|
||||
List<Map<String, Object>> record = databaseUtils.getDataSourceList(rw);
|
||||
log.error("updateFirstLevelDept111.record:{}", record);
|
||||
}
|
||||
/**
|
||||
* 字符串转化
|
||||
*/
|
||||
private String splitStr(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();
|
||||
}
|
||||
/**
|
||||
* 新增部门
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> addSysDept(Map<String, Object> map,Map<String, Object> apiInfo,String host,String form_id,String layout_id){
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
//for (Map<String, Object> map : addList) {
|
||||
String bh = null!=map.get("bh")?String.valueOf(map.get("bh").toString()):"";
|
||||
String zz = null!=map.get("zz")?String.valueOf(map.get("zz").toString()):"";
|
||||
String sjzz = null!=map.get("sjzz")?String.valueOf(map.get("sjzz").toString()):"";
|
||||
String sjzzbh = null!=map.get("sjzzbh")?String.valueOf(map.get("sjzzbh").toString()):"";
|
||||
String bmfzr = null!=map.get("bmfzr")?String.valueOf(map.get("bmfzr").toString()):"";
|
||||
String fgld = null!=map.get("fgld")?String.valueOf(map.get("fgld").toString()):"";
|
||||
String sscb = null!=map.get("sscb")?String.valueOf(map.get("sscb").toString()):"";
|
||||
String bmsqcj = null!=map.get("bmsqcj")?String.valueOf(map.get("bmsqcj").toString()):"";
|
||||
String bz = null!=map.get("bz")?String.valueOf(map.get("bz").toString()):"";
|
||||
String zzmc = null!=map.get("zzmc")?String.valueOf(map.get("zzmc").toString()):"";
|
||||
|
||||
/**
|
||||
* 3.组装数据
|
||||
*/
|
||||
JSONArray paramArray = new JSONArray();
|
||||
|
||||
JSONObject paramJson = new JSONObject();
|
||||
paramJson.put("name",zzmc);
|
||||
paramJson.put("code", bh);
|
||||
paramJson.put("parent", sjzzbh);
|
||||
paramArray.add(paramJson);
|
||||
|
||||
/***
|
||||
* 数据规则
|
||||
*/
|
||||
JSONObject dataRule = new JSONObject();
|
||||
dataRule.put("employee","id");
|
||||
dataRule.put("department","code");
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("data",paramArray);
|
||||
jsonObject.put("dataRule",dataRule);
|
||||
log.error("addSysDept.jsonObject:{}", jsonObject);
|
||||
try {
|
||||
String accessToken = syncDataUtils.getToken(apiInfo);
|
||||
log.error("addSysDept.accessToken:{}", accessToken);
|
||||
if(StringUtils.isNotBlank(accessToken)){
|
||||
jsonObject.put("access_token",accessToken);
|
||||
result = syncDataUtils.doPostHttp(jsonObject, path,host);
|
||||
log.error("addSysDept.result:111{}", result);
|
||||
/**
|
||||
* 新增部门成功之后,需要同步插入部门自定义表字段信息
|
||||
*/
|
||||
String tenant_key = RecruitModuleUtils.getCurrentTenantKey();
|
||||
log.error("syncDepartment.tenant_key:{}", tenant_key);
|
||||
String sql = "select id,module from eteams.FORM where (module='hrm' and ownership='company' and delete_type='0' and SORT=2) and TENANT_KEY= '"+tenant_key+"' ";
|
||||
log.error("addSysDept.FORM:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> personFormList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("addSysDept.personFormList:{}", personFormList);
|
||||
Map<String,String> deptFormMap = personFormList.stream().collect(Collectors.toMap(e->e.get("module").toString(), e->e.get("id").toString()));
|
||||
log.error("addSysDept.deptFormMap:{}", deptFormMap);
|
||||
String deptCustomfieldFormid=deptFormMap.get("hrm");
|
||||
String tableName = "ft_"+deptCustomfieldFormid;
|
||||
|
||||
//给部门自定义表插入入参信息
|
||||
insertDeptCustomField(tableName,bh,bmfzr,fgld,sscb,bmsqcj,form_id,layout_id);
|
||||
}else{
|
||||
result.put("status2","fail");
|
||||
}
|
||||
log.error("addSysDept.result:{}", result);
|
||||
}catch (Exception e) {
|
||||
result.put("status2","exception");
|
||||
log.error("Exception_em:"+e);
|
||||
}
|
||||
//}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新部门
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> updateSysDept(Map<String, Object> map,Map<String, Object> apiInfo,String host,String form_id,String layout_id){
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
//for (Map<String, Object> map : updateList) {
|
||||
String bh = null!=map.get("bh")?String.valueOf(map.get("bh").toString()):"";
|
||||
String zz = null!=map.get("zz")?String.valueOf(map.get("zz").toString()):"";
|
||||
String sjzz = null!=map.get("sjzz")?String.valueOf(map.get("sjzz").toString()):"";
|
||||
String sjzzbh = null!=map.get("sjzzbh")?String.valueOf(map.get("sjzzbh").toString()):"";
|
||||
String bmfzr = null!=map.get("bmfzr")?String.valueOf(map.get("bmfzr").toString()):"";
|
||||
String fgld = null!=map.get("fgld")?String.valueOf(map.get("fgld").toString()):"";
|
||||
String sscb = null!=map.get("sscb")?String.valueOf(map.get("sscb").toString()):"";
|
||||
String bmsqcj = null!=map.get("bmsqcj")?String.valueOf(map.get("bmsqcj").toString()):"";
|
||||
String bz = null!=map.get("bz")?String.valueOf(map.get("bz").toString()):"";
|
||||
String zzmc = null!=map.get("zzmc")?String.valueOf(map.get("zzmc").toString()):"";
|
||||
|
||||
/**
|
||||
* 3.组装数据
|
||||
*/
|
||||
JSONArray paramArray = new JSONArray();
|
||||
|
||||
JSONObject paramJson = new JSONObject();
|
||||
paramJson.put("name",zzmc);
|
||||
paramJson.put("code", bh);
|
||||
paramJson.put("parent", sjzzbh);
|
||||
paramArray.add(paramJson);
|
||||
|
||||
/***
|
||||
* 数据规则
|
||||
*/
|
||||
JSONObject dataRule = new JSONObject();
|
||||
dataRule.put("employee","id");
|
||||
dataRule.put("department","code");
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("data",paramArray);
|
||||
jsonObject.put("dataRule",dataRule);
|
||||
log.error("updateSysDept.jsonObject:{}", jsonObject);
|
||||
try {
|
||||
String accessToken = syncDataUtils.getToken(apiInfo);
|
||||
log.error("updateSysDept.accessToken:{}", accessToken);
|
||||
if (StringUtils.isNotBlank(accessToken)) {
|
||||
jsonObject.put("access_token", accessToken);
|
||||
result = syncDataUtils.doPostHttp(jsonObject, path, host);
|
||||
log.error("updateSysDept.result:111{}", result);
|
||||
/**
|
||||
* 新增部门成功之后,需要同步插入部门自定义表字段信息
|
||||
*/
|
||||
String tenant_key = RecruitModuleUtils.getCurrentTenantKey();
|
||||
log.error("updateSysDept.tenant_key:{}", tenant_key);
|
||||
String sql = "select id,module from eteams.FORM where (module='hrm' and ownership='company' and delete_type='0' and SORT=2) and TENANT_KEY= '" + tenant_key + "' ";
|
||||
log.error("updateSysDept.FORM:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> personFormList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("updateSysDept.personFormList:{}", personFormList);
|
||||
Map<String, String> deptFormMap = personFormList.stream().collect(Collectors.toMap(e -> e.get("module").toString(), e -> e.get("id").toString()));
|
||||
log.error("updateSysDept.deptFormMap:{}", deptFormMap);
|
||||
String deptCustomfieldFormid = deptFormMap.get("hrm");
|
||||
String tableName = "ft_" + deptCustomfieldFormid;
|
||||
|
||||
//修改部门信息
|
||||
String formData = getDeptFormData(bh);
|
||||
updatatDeptCustomField(tableName, formData, bmfzr, fgld, sscb, bmsqcj);
|
||||
} else {
|
||||
result.put("status2", "fail");
|
||||
}
|
||||
log.error("updateSysDept.result:{}", result);
|
||||
}catch (Exception e) {
|
||||
result.put("status2","exception");
|
||||
log.error("Exception_em:"+e);
|
||||
}
|
||||
//}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<Map<Object, Map<String, Object>>> findDifferences(List<Map<String, Object>> changedTree) {
|
||||
List<Map<Object, Map<String, Object>>> mapList = new ArrayList<>();
|
||||
// 变更后组织数据分类
|
||||
Map<Object, Map<String, Object>> addedChanges = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> "0".equals(m.get("czlx")), m -> m));
|
||||
|
||||
Map<Object, Map<String, Object>> deletedChanges = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> "1".equals(m.get("czlx")), m -> m));
|
||||
|
||||
Map<Object, Map<String, Object>> updatedChanges = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> "2".equals(m.get("czlx")), m -> m));
|
||||
|
||||
Map<Object, Map<String, Object>> mergedChanges = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> "3".equals(m.get("czlx")), m -> m));
|
||||
|
||||
Map<Object, Map<String, Object>> splitChanges = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> "4".equals(m.get("czlx")), m -> m));
|
||||
|
||||
mapList.add(addedChanges);
|
||||
mapList.add(deletedChanges);
|
||||
mapList.add(updatedChanges);
|
||||
mapList.add(mergedChanges);
|
||||
mapList.add(splitChanges);
|
||||
log.error("findDifferences.mapList:{}", mapList);
|
||||
|
||||
return mapList;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static List<Map<String, Object>> findDifferences111(
|
||||
List<Map<String, Object>> originalTree,
|
||||
List<Map<String, Object>> changedTree) {
|
||||
|
||||
// 原组织数据转化
|
||||
Map<Object, Map<String, Object>> originalMap = originalTree.stream()
|
||||
.collect(Collectors.toMap(m -> m.get("bh"), m -> m));
|
||||
|
||||
// 变更后组织数据转化
|
||||
Map<Object, Map<String, Object>> changedMap = changedTree.stream()
|
||||
.collect(Collectors.toMap(m -> m.get("bh"), m -> m));
|
||||
|
||||
// 收集所有不同的id(包括新增、删除和修改的)
|
||||
Set<Object> allBhs = new HashSet<>();
|
||||
allBhs.addAll(originalMap.keySet());
|
||||
allBhs.addAll(changedMap.keySet());
|
||||
|
||||
// 筛选出有差异的条目
|
||||
return allBhs.stream()
|
||||
.filter(bh -> {
|
||||
// 情况1: id只存在于其中一个列表中(新增或删除)
|
||||
if (!originalMap.containsKey(bh) || !changedMap.containsKey(bh)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 情况2: 比较两个Map的内容是否不同(排除parentId可能为null的情况)
|
||||
Map<String, Object> original = originalMap.get(bh);
|
||||
Map<String, Object> changed = changedMap.get(bh);
|
||||
|
||||
return !Objects.equals(original.get("bh"), changed.get("bh")) ||
|
||||
!Objects.equals(original.get("zz"), changed.get("zz")) ||
|
||||
!Objects.equals(original.get("sjzz"), changed.get("sjzz"))||
|
||||
!Objects.equals(original.get("bmfzr"), changed.get("bmfzr"))||
|
||||
!Objects.equals(original.get("fgld"), changed.get("fgld"))||
|
||||
!Objects.equals(original.get("bmsqcj"), changed.get("bmsqcj"))||
|
||||
!Objects.equals(original.get("bz"), changed.get("bz"))||
|
||||
!Objects.equals(original.get("sscbzx"), changed.get("sscb"))||
|
||||
!Objects.equals(original.get("sjzzbh"), changed.get("sjzzbh"));
|
||||
})
|
||||
.map(bh -> {
|
||||
// 构建差异结果,标记是新增、删除还是修改
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("bh", bh);
|
||||
|
||||
boolean inOriginal = originalMap.containsKey(bh);
|
||||
boolean inChanged = changedMap.containsKey(bh);
|
||||
|
||||
if (inOriginal && inChanged) {
|
||||
result.put("type", "modified");
|
||||
//result.put("original", originalMap.get(bh));
|
||||
result.put("changed", changedMap.get(bh));
|
||||
} else if (inOriginal) {
|
||||
result.put("type", "deleted");
|
||||
result.put("original", originalMap.get(bh));
|
||||
} else {
|
||||
result.put("type", "added");
|
||||
result.put("changed", changedMap.get(bh));
|
||||
}
|
||||
|
||||
return result;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public static List<Map<String, Object>> getMapsWithKeyZeroStream(List<Map<Object, Map<String, Object>>> list,String key) {
|
||||
return list.stream()
|
||||
.flatMap(outerMap -> outerMap.entrySet().stream())
|
||||
.filter(entry -> entry.getKey() != null &&
|
||||
(key.equals(entry.getKey().toString()) ||
|
||||
(entry.getKey() instanceof Number && ((Number) entry.getKey()).intValue() == 0)))
|
||||
.map(Map.Entry::getValue)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 写入部门自定义表
|
||||
* @return
|
||||
*/
|
||||
public void insertDeptCustomField(String tableName,String code,String bmfzr,String fgld,String cbzx,String sqcj,String form_id,String layout_id){
|
||||
// 生成随机 ID
|
||||
long id = IdGenerator.generate();
|
||||
log.error("insertDeptCustomField.id:{}", id);
|
||||
/**
|
||||
* 根据部门编号查询部门表:formdata
|
||||
*/
|
||||
//String formData = getDepartmentFormData(code);
|
||||
//当前时间
|
||||
// 获取当前时间
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
// 定义日期时间格式化器
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
// 格式化当前日期
|
||||
String nowData = now.format(formatter);
|
||||
log.error("insertDeptCustomField.nowData:{}", nowData);
|
||||
String tenant_key = RecruitModuleUtils.getCurrentTenantKey();
|
||||
log.error("insertDeptCustomField.tenant_key:{}", tenant_key);
|
||||
User currentUser = UserContext.getCurrentUser();
|
||||
log.error("insertDeptCustomField.currentUser:{}", currentUser);
|
||||
String userId = "1147262704872284161";
|
||||
log.error("insertDeptCustomField.userId:{}", userId);
|
||||
String tableNameNew = "eteams."+tableName;
|
||||
String sql="insert into "+tableNameNew+"(ID, FORM_DATA_ID, DATA_INDEX, CREATE_TIME, UPDATE_TIME, TENANT_KEY, " +
|
||||
" IS_DELETE, CREATOR, UPDATER, DELETE_TYPE, FT_STATUS, bmfzr,fgld,cbzx,sqcj)" +
|
||||
" values('" + id + "','" + id + "','0','"+nowData+"','" + nowData + "','" + tenant_key + "','0'," +
|
||||
" '"+userId+"','"+userId+"','0','0','" + bmfzr + "','" + fgld + "','" + cbzx + "','" + sqcj + "')";
|
||||
log.error("insertDeptCustomField.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("insertDeptCustomField.recordList:{}", recordList);
|
||||
/**
|
||||
* 跟新部门主表的formdata字段
|
||||
*/
|
||||
sql="update eteams.department set formdata = '"+id+"' where code = '"+code+"' ";
|
||||
log.error("updatatDeptCustomField222.sql:{}", sql);
|
||||
Map<String, Object> rt = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> records = databaseUtils.getDataSourceList(rt);
|
||||
log.error("insertDeptCustomField.records:{}", records);
|
||||
/**
|
||||
* 插入formdata表
|
||||
*/
|
||||
sql="insert into eteams.formdata(id, form_id, layout_id, data_status, tenant_key, operator, create_time, update_time, " +
|
||||
" module, client, is_delete, creator, delete_type)" +
|
||||
" values('" + id + "','" + form_id + "','" + layout_id + "','submit','" + tenant_key + "','" +userId + "','" + nowData + "'," +
|
||||
" '" + nowData + "','hrm','pc','0','" + userId + "','0')";
|
||||
log.error("insertFormdata333.sql:{}", sql);
|
||||
Map<String, Object> rs2 = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> records2 = databaseUtils.getDataSourceList(rs2);
|
||||
log.error("insertFormdata.records2:{}", records2);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改部门自定义表
|
||||
* @return
|
||||
*/
|
||||
public void updatatDeptCustomField(String tableName,String deptFormData,String bmfzr,String fgld,String cbzx,String sqcj){
|
||||
String tableNameNew = "eteams."+tableName;
|
||||
String sql="update "+tableNameNew+" set bmfzr = '"+bmfzr+"',fgld = '"+fgld+"',cbzx='"+cbzx+"',sqcj='"+sqcj+"'" +
|
||||
" where FORM_DATA_ID = '"+deptFormData+"' ";
|
||||
log.error("updatatDeptCustomField.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("updatatDeptCustomField.recordList:{}", recordList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门code获取部门formdata
|
||||
* @return
|
||||
*/
|
||||
public String getDepartmentFormData(String code){
|
||||
log.error("getDepartmentFormData.code:{}", code);
|
||||
String sql = "select formdata from eteams.department where code = '"+ code +"' and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("getDepartmentFormData.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getDepartmentFormData.recordList:{}", recordList);
|
||||
return String.valueOf(recordList.get(0).get("formdata"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门id获取部门code
|
||||
* @return
|
||||
*/
|
||||
public List<String> getDepartmentId(String bh){
|
||||
log.error("getDepartmentId.id:{}", bh);
|
||||
String sql = "select id from eteams.department where code = '"+ bh +"' and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
|
||||
log.error("getDepartmentId.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getDepartmentId.recordList:{}", recordList);
|
||||
return recordList.stream().filter(map -> map.containsKey("id")).map(map -> map.get("id").toString()).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入参查询变更前信息
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, Object>> getOriginalTree(String flag,String bgsxrq){
|
||||
log.error("getOriginalTree.bgsxrq:{}", bgsxrq);
|
||||
String sql = "";
|
||||
if("0".equals(flag)){
|
||||
sql = "select b.* from uf_organization_zzsj b \n" +
|
||||
"left join uf_organizational_changes a on a.id = b.form_data_id where a.delete_type = 0 and b.delete_type = 0 ORDER BY b.create_time asc ";
|
||||
}else if("1".equals(flag)){
|
||||
sql = "select b.* from uf_organization_bghzzsj b \n" +
|
||||
"left join uf_organizational_changes a on a.id = b.form_data_id where a.delete_type = 0 and b.delete_type = 0 ORDER BY b.create_time asc ";
|
||||
}
|
||||
if(StringUtils.isNotBlank(bgsxrq)){
|
||||
sql += " and a.bgsxrq = '"+bgsxrq+"' ";
|
||||
}
|
||||
log.error("getOriginalTree.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getOriginalTree.recordList:{}", recordList);
|
||||
return recordList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据接口标识查询开放平台接口参数
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> getApiInfo(String ebTablePzName){
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String sql = "select id,ipdz,jkbs,app_key,app_sec,corpid from "+ebTablePzName+" where DELETE_TYPE=0 and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' and jkbs ='syncDepartment' ";
|
||||
log.error("getApiInfo.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getApiInfo.recordList:{}", recordList);
|
||||
if(CollectionUtils.isNotEmpty(recordList)){
|
||||
map = recordList.get(0);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门code查询部门自定义表form_data_id
|
||||
* @param code
|
||||
* @return formdata
|
||||
*/
|
||||
public String getDeptFormData(String code) {
|
||||
String formdata = "";
|
||||
String sql = "SELECT formdata FROM eteams.department WHERE code = '" + code + "' ";
|
||||
log.error("getDeptFormData.sql:{}", sql);
|
||||
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
|
||||
log.error("getDeptFormData.recordList:{}", recordList);
|
||||
if(CollectionUtils.isNotEmpty(recordList)){
|
||||
Object formdataValue = recordList.get(0).get("formdata");
|
||||
if (formdataValue instanceof Long) {
|
||||
formdata = String.valueOf(formdataValue); // 转换为 String
|
||||
} else if (formdataValue instanceof String) {
|
||||
formdata = (String) formdataValue; // 如果是 String 类型,直接赋值
|
||||
}else {
|
||||
formdata = String.valueOf(formdataValue);
|
||||
}
|
||||
}
|
||||
return formdata;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue