新增部门合并、拆分接口

This commit is contained in:
Administrator 2025-08-21 17:11:28 +08:00
parent 2bc014699b
commit e2669b8b56
4 changed files with 496 additions and 56 deletions

View File

@ -1,14 +1,12 @@
package com.weaver.seconddev.jcl.organization.controller;
import com.weaver.common.authority.annotation.WeaPermission;
import com.weaver.seconddev.jcl.organization.entity.Department;
import com.weaver.seconddev.jcl.organization.service.SysDepartmentService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
@ -54,4 +52,32 @@ public class SysDepartmentController {
return actionMap;
}
/**
* 部门合并
* @return
*/
@WeaPermission(publicPermission = true)
@Produces(MediaType.APPLICATION_JSON)
@PostMapping("/mergeDepartment")
public Map<String, Object> mergeDepartment(@RequestBody Department department){
log.error("mergeDepartment department[{}]",department);
Map<String, Object> actionMap = new HashMap<>();
sysDepartmentService.mergeDepartment(department);
return actionMap;
}
/**
* 部门拆分
* @return
*/
@WeaPermission(publicPermission = true)
@Produces(MediaType.APPLICATION_JSON)
@PostMapping("/splitDepartment")
public Map<String, Object> splitDepartment(@RequestBody List<Department> list){
log.error("splitDepartment list[{}]",list);
Map<String, Object> actionMap = new HashMap<>();
sysDepartmentService.splitDepartment(list);
return actionMap;
}
}

View File

@ -76,6 +76,14 @@ public class Department {
* 所属成本
*/
private String sscb;
/**
* 部门自定义表form_id
*/
private String form_id;
/**
* 部门自定义表layout_id
*/
private String layout_id;
}

View File

@ -1,9 +1,15 @@
package com.weaver.seconddev.jcl.organization.service;
import com.weaver.seconddev.jcl.organization.entity.Department;
import java.util.List;
import java.util.Map;
public interface SysDepartmentService {
Map<String,List<String>> checkIsNotDisableDept(String deptId);
void mergeDepartment(Department department);
void splitDepartment(List<Department> list);
}

View File

@ -1,32 +1,44 @@
package com.weaver.seconddev.jcl.organization.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.weaver.ebuilder.form.client.entity.obj.Obj;
import com.weaver.ebuilder.form.client.service.obj.RemoteEBObjService;
import com.weaver.common.distribution.genid.IdGenerator;
import com.weaver.publishkit.api.util.PublishKitRuntimeUtil;
import com.weaver.seconddev.jcl.organization.entity.Department;
import com.weaver.seconddev.jcl.organization.service.SysDepartmentService;
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.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class SysDepartmentServiceImpl implements SysDepartmentService {
private static final Logger log = LoggerFactory.getLogger(SysDepartmentServiceImpl.class);
private static final String tenantKey = RecruitModuleUtils.getCurrentTenantKey();
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
@Autowired
private DatabaseUtils databaseUtils;
@Autowired
PublishKitRuntimeUtil publishKitRuntimeUtil;
@Autowired
private SyncDataUtils syncDataUtils;
@Autowired
RecruitModuleUtils recruitModuleUtils;
public static String path = "/api/hrm/restful/syncDepartment";
public static String deletedPath = "/api/hrm/restful/disableDepartment";
@Override
@ -64,74 +76,462 @@ public class SysDepartmentServiceImpl implements SysDepartmentService {
return map;
}
@Override
public void mergeDepartment(Department department) {
/**
* 根据应用id和表单tag获取当前租户下对应表单id和表名
* 多租户查询主表名称JCL_开放平台接口配置表
*/
private Map<String,String> getEbTableInfo(String appTag,String objTag){
Map<String,String> map = new HashMap<>();
String appId = getEbAppId(appTag);
log.error("getEbTableName.appId:{}", appId);
String sql = "select id, table_name from ebdf_obj where tag = '"+objTag+"' and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' and app_id = "+appId;
log.error("getEbTableName.sql:{}", sql);
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("mergeDepartment.objPzId:{},ebTablePzName:{}", objPzId, ebTablePzName);
/**
* 获取token系统参数信息查询
*/
Map<String, Object> apiInfo = getApiInfo(ebTablePzName);
String host = String.valueOf(apiInfo.get("ipdz"));
log.error("mergeDepartment.apiInfo:{}", apiInfo);
/**
* 新增部门
*/
addSysDept(department, apiInfo, host);
/**
* 封存部门
*/
List<String> departmentId = getDepartmentId(department.getBhbbmid());
Map<String, Object> deleteMap = deleteSysDept(departmentId, apiInfo, host);
log.error("mergeDepartment.deleteMap:{}", deleteMap);
/**
* 查询被合并部门的一级下级部门
*/
String bhbbmcode = null!= department.getBhbbmid()? department.getBhbbmid() : "";
String code = null!= department.getBh()? department.getBh() : "";
List<String> firstLevelDepts = getFirstLevelDepts(bhbbmcode);
log.error("mergeDepartment.firstLevelDepts:{}", firstLevelDepts);
/**
* 更改下级部门的上级部门为新增部门以及被合并部门下的全部人员
*/
updateFirstLevelDeptAndEmployee(code, firstLevelDepts, bhbbmcode);
}
@Override
public void splitDepartment(List<Department> list) {
/**
* 多租户查询主表名称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("splitDepartment.objPzId:{},ebTablePzName:{}", objPzId, ebTablePzName);
/**
* 获取token系统参数信息查询
*/
Map<String, Object> apiInfo = getApiInfo(ebTablePzName);
String host = String.valueOf(apiInfo.get("ipdz"));
log.error("splitDepartment.apiInfo:{}", apiInfo);
/**
* 新增部门
*/
if(CollectionUtils.isNotEmpty(list)){
for (Department department : list) {
addSysDept(department, apiInfo, host);
}
}
/**
* 封存部门
*/
if(CollectionUtils.isNotEmpty(list)){
List<String> departmentId = getDepartmentId(list.get(0).getBcfzzid());
Map<String, Object> deleteMap = deleteSysDept(departmentId, apiInfo, host);
log.error("splitDepartment.deleteMap:{}", deleteMap);
}
}
/**
* 根据接口标识查询开放平台接口参数
* @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("getEbTableName.recordList:{}", recordList);
log.error("getApiInfo.recordList:{}", recordList);
if(CollectionUtils.isNotEmpty(recordList)){
String objId = String.valueOf(recordList.get(0).get("id"));
String table_name = String.valueOf(recordList.get(0).get("table_name"));
map.put("objId",objId);
map.put("table_name",table_name);
map = recordList.get(0);
}
log.error("getEbTableName.map:{}", map);
return map;
}
/**
* 根据应用标签和租户key获取当前租户下对应标签的应用
* 根据部门code获取部门id
* @return
*/
private String getEbAppId(String appTag){
String appId = "";
String sql = "select id from ebda_app where tag = '"+appTag+"' and tenant_key = '" + RecruitModuleUtils.getCurrentTenantKey()+"'";
log.error("getEbAppId.sql:{}", sql);
public List<String> getDepartmentId(String bh){
log.error("getDepartmentId.bh:{}", bh);
String sql = "select id from eteams.department where code in ("+ 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("getEbAppId.recordList:{}", recordList);
if(CollectionUtils.isNotEmpty(recordList)){
appId = String.valueOf(recordList.get(0).get("id"));
}
log.error("getEbAppId.appId:{}", appId);
return appId;
log.error("getDepartmentId.recordList:{}", recordList);
return recordList.stream().filter(map -> map.containsKey("id")).map(map -> map.get("id").toString()).collect(Collectors.toList());
}
/**
* 获取明细表名称
* @param objId
* @param originTableName
* 新增部门
* @param department
* @return
*/
public String getDetailTableNameByMasterId(long objId, String originTableName) {
RemoteEBObjService ebuilderform = publishKitRuntimeUtil.buildRpcService(RemoteEBObjService.class, "ebuilderform", "1109718089457483777");
log.info("getDetailTableNameByMasterId.ebuilderform:{}",ebuilderform);
List<Obj> detailForms = ebuilderform.getAllTablesByMasterId(objId, RecruitModuleUtils.getCurrentTenantKey());
log.info("getDetailTableNameByMasterId.detailForms:{}",detailForms);
if (CollectionUtils.isEmpty(detailForms)) {
return null;
private Map<String, Object> addSysDept(Department department,Map<String, Object> apiInfo,String host){
Map<String, Object> result = new HashMap<>();
log.error("addSysDept.department:{}", department);
//for (Map<String, Object> map : addList) {
String bh = null!=department.getBh()? department.getBh() :"";
String zz = null!=department.getZz()? department.getZz() :"";
String sjzz = null!=department.getSjzz()? department.getSjzz() :"";
String sjzzbh = null!=department.getSjzzbh()? department.getSjzzbh() :"";
String bmfzr = null!=department.getBmfzr()? department.getBmfzr() :"";
String fgld = null!=department.getFgld()? department.getFgld() :"";
String sscb = null!=department.getSscb()? department.getSscb() :"";
String bmsqcj = null!=department.getBmsqcj()? department.getBmsqcj() :"";
String bz = null!=department.getBz()? department.getBz() :"";
String zzmc = null!=department.getZzmc()? department.getZzmc() :"";
String form_id = null!=department.getForm_id()? department.getForm_id() :"";
String layout_id = null!=department.getLayout_id()? department.getLayout_id() :"";
/**
* 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;
/**
* 根据编号查询系统是否已有此部门
*/
boolean b = checkIsNotDept(bh);
if(b){
//修改部门信息
String formData = getDeptFormData(bh);
updatatDeptCustomField(tableName, formData, bmfzr, fgld, sscb, bmsqcj);
}else{
//给部门自定义表插入入参信息
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;
}
String tableName = null;
for (Obj obj : detailForms) {
//DataKey不为空的才是明细表
if (StringUtils.isEmpty(obj.getDataKey())) {
continue;
/**
* 封存部门
* @param bhbbmids
* @return
*/
private Map<String, Object> deleteSysDept(List<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 : bhbbmids) {
JSONObject paramJson = new JSONObject();
//此处应该有多个id
paramJson.put("id", s);
paramArray.add(paramJson);
}
if (obj.getTableName().startsWith(originTableName)) {
tableName = obj.getName();
log.info("getDetailTableNameByMasterId.obj:{}",obj);
log.info("getDetailTableNameByMasterId.obj:{}",obj.getShowName());
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);
}
/**
* 根据部门code查询新增部门id
*/
sql = "select id from eteams.department where code in (" + dept+ ") and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
log.error("updateFirstLevelDept111.sql:{}", sql);
Map<String, Object> rt = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> records = databaseUtils.getDataSourceList(rt);
log.error("updateFirstLevelDept111.recordList:{}", records);
String deptids = records.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);
String depts = splitStr(deptids);
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();
}
/**
* 根据部门code查询是否存在此部门
* @return
*/
public boolean checkIsNotDept(String code){
boolean flag= false;
log.error("checkIsNotDept.code:{}", code);
String sql = "select id from eteams.department where code = '"+ code +"' and tenant_key = '"+RecruitModuleUtils.getCurrentTenantKey()+"' ";
log.error("checkIsNotDept.sql:{}", sql);
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
log.error("checkIsNotDept.recordList:{}", recordList);
if(CollectionUtils.isNotEmpty(recordList)){
flag = true;
}
return flag;
}
/**
* 根据部门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);
}
}
log.info("getDetailTableNameByMasterId.tableName:{}",tableName);
return tableName;
return formdata;
}
/**
* 修改部门自定义表
* @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);
}
/**
* 写入部门自定义表
* @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);
}
}