You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haojing/src/weaver/interfaces/dito/mq/RocketmqUtil.java

2539 lines
141 KiB
Java

package weaver.interfaces.dito.mq;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cloudstore.dev.api.bean.MessageBean;
import com.cloudstore.dev.api.bean.MessageType;
import com.cloudstore.dev.api.util.Util_Message;
import okhttp3.*;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.LabelUtil;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.cachecenter.bean.RolemembersComInfo;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.definedfield.HrmFieldComInfo;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.hrm.roles.RolesComInfo;
import weaver.interfaces.dito.comInfo.PropBean;
import weaver.matrix.MatrixUtil;
import weaver.systeminfo.systemright.CheckUserRight;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class RocketmqUtil {
private List<ConsumerBase> consumerBases;
{
consumerBases = new ArrayList<>();
consumerBases.add(new SignatureConsumer());
}
private Lock lock = new ReentrantLock();
public int updateOrgData(String data)
{
BaseBean bb = new BaseBean();
int errcount = 0;
lock.lock();
try{
JSONObject jsonObject = JSONObject.parseObject(data);
if(jsonObject.containsKey("requestObject"))
{
JSONArray requestArray = jsonObject.getJSONArray("requestObject");
for(int i=0;i<requestArray.size();i++)
{
JSONObject requestObject = requestArray.getJSONObject(i);
System.out.println(requestObject.toJSONString());
if(!requestObject.isEmpty()){
if(requestObject.containsKey("tableName") && requestObject.containsKey("content"))
{
String tableName = requestObject.getString("tableName");
JSONArray jsonArray = requestObject.getJSONArray("content");
bb.writeLog("tableName:"+tableName);
if("organization".equals(tableName)){
updasteSysOrgData(jsonArray,tableName);
}else if("system_user".equals(tableName)){
// updateSysUserData(jsonArray,tableName);
}else if("system_roles".equals(tableName)){
updasteSysRoleData(jsonArray,tableName);
}else if("system_post".equals(tableName)){
updasteSysPostData(jsonArray,tableName);
}else if("system_user_role".equals(tableName)){
updateSystemUserRoleData(jsonArray,tableName);
}else if("system_user_post".equals(tableName)){
updateSystemUserPostData(jsonArray,tableName);
}else if("staff".equals(tableName)){
updateStaffData(jsonArray,tableName);
}
for (ConsumerBase consumerBase :consumerBases){
if (consumerBase.support(tableName)){
consumerBase.consumer(jsonArray,tableName);
}
}
}
}
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}finally {
lock.unlock();
}
return errcount;
}
//{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},
// "svcCode":"70300100030001","requestObject":[{"content":[
// {"statusDate":"2022-07-18 11:25:41","updateDate":"2022-07-22 10:52:56",
// "regionNbr":"1","expDate":"2999-12-31 23:59:59","userOrgId":"2",
// "password":"{bcrypt}$2a$10$wQrGr6zHlqaKbAZGaK7PC.VdmZdq4HJn6t7R4XpGsf/yKqPj6smHq",
// "effDate":"2021-07-13 10:33:57","orgCode":"2",
// "staffName":"zhouhan","pwdNewtime":"2022-05-18 14:42:15",
// "pwdContinErrCnt":"0","actType":"M","sysUserId":"14002","email":"2112@qq.com",
// "createDate":"2021-07-13 10:33:58","staffCode":"zhouhan",
// "sysUserCode":"zhouhan","pwdErrCnt":"0","pwdEffectDays":"90","statusCd":"1000",
// "systemInfoId":"-1","userName":"zhouhan","createStaff":"1","pwdStatus":"1100",
// "regionId":"731","pwdSmsTel":"21423523523","loginedNum":"78","staffId":"12002",
// "updateStaff":"1"}],"tableName":"system_user","primaryKey":"sysUserId"}],"key":"svcCont"}
/***
*
* @param jsonArray
*/
public void updateSysUserData(JSONArray jsonArray, String tableName){
// RecordSet rs = new RecordSet();
// BaseBean bb = new BaseBean();
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
// String nowDateTime = sdf.format(new Date());
// String locationid = "2" ;
// String seclevel = "20" ;
// String createrid = "1" ;
// String lastmodid = "1" ;
// String creator = "1";
// String systemlanguage = "8" ;
// String currentDate = TimeUtil.getCurrentDateString();//当前日期
// String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
//
// String jobTitleId = "" ;
// String defaultJobCode = PropBean.getUfPropValue("defaultJobCode");
// if(StringUtils.isNotEmpty(defaultJobCode)){
// String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
// rs.executeQuery(sql,new Object[]{defaultJobCode});
// if(rs.next()){
// jobTitleId = Util.null2String(rs.getString("id"));
// }
// }
//
// for(int i=0;i<jsonArray.size();i++)
// {
// JSONObject jsonObject = jsonArray.getJSONObject(i);
// String statusDate = Util.null2String(jsonObject.get("statusDate"));
// String updateDate = Util.null2String(jsonObject.get("updateDate"));
// String regionNbr = Util.null2String(jsonObject.get("regionNbr"));
// String userOrgId = Util.null2String(jsonObject.get("userOrgId"));
// String orgCode = Util.null2String(jsonObject.get("orgCode"));
//
// String staffId = Util.null2String(jsonObject.get("staffId"));
// String staffName = Util.null2String(jsonObject.get("staffName"));
// String staffCode = Util.null2String(jsonObject.get("staffCode"));
// String actType = Util.null2String(jsonObject.get("actType"));
//
// String email = "" ;
// if(jsonObject.containsKey("eMail")){
// email = Util.null2String(jsonObject.get("eMail"));
// }else if(jsonObject.containsKey("email")){
// email = Util.null2String(jsonObject.get("email"));
// }
//
// String sysUserId = Util.null2String(jsonObject.get("sysUserId"));
// String sysUserCode = Util.null2String(jsonObject.get("sysUserCode"));
// String userName = Util.null2String(jsonObject.get("userName"));
// String pwdSmsTel = Util.null2String(jsonObject.get("pwdSmsTel"));
//
// String loginedNum = Util.null2String(jsonObject.get("sysUserId"));
//
// String statusCd = Util.null2String(jsonObject.get("statusCd"));
// String status = "1";
//
// try{
// String subcompanyid1 = "" ;
// String deptId = "";
// if(StringUtils.isNotEmpty(orgCode)){
// String sql = " select id,subcompanyid1 from hrmdepartment where departmentcode = ?" ;
// rs.executeQuery(sql,new Object[]{orgCode});
// if(rs.next()){
// deptId = Util.null2String(rs.getString("id"));
// subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
// }
// }
// bb.writeLog("deptId:"+deptId);
// bb.writeLog("subcompanyid1:"+subcompanyid1);
// bb.writeLog("currentDate:"+currentDate);
//
// int datacount = 0;
// String sql = " select id from hrmresource where workcode=?" ;
// bb.writeLog("sql:"+sql);
// bb.writeLog("staffCode:"+staffCode);
// rs.executeQuery(sql,new Object[]{staffCode});
// while (rs.next()){
// datacount++;
// }
// bb.writeLog("datacount:"+datacount);
// if(datacount <= 1){
//
// String loginid = "";
// String user_status = "" ;
// sql = " select loginid,status from hrmresource where workcode='"+staffCode+"' " ;
// bb.writeLog("sql:"+sql);
// rs.executeQuery(sql);
// if(rs.next()){
// loginid = Util.null2String(rs.getString("loginid"));
// user_status = Util.null2String(rs.getString("status"));
// bb.writeLog("loginid:"+loginid);
// bb.writeLog("user_status:"+user_status);
// if(StringUtils.isBlank(loginid)){
// if("5".equals(user_status)){
// loginid = staffCode;
// }
// }
// }
// bb.writeLog("loginid:"+loginid);
// bb.writeLog("user_status2:"+user_status);
// bb.writeLog("statusCd2:"+statusCd);
//
// String lastname = staffName ;
// bb.writeLog("loginid2:"+loginid);
// if(StringUtils.isNotEmpty(deptId))
// {
// if(StringUtils.isNotEmpty(loginid))
// {
// if("M".equalsIgnoreCase(actType))
// {
// if("1000".equals(statusCd)){
// status = "1";
// }else if("1100".equals(statusCd) || "1240".equals(statusCd)){
// status = "5";
// }
// bb.writeLog("status2:"+status);
//
// String userUpdateSql = " update hrmresource set loginid=?,lastname=?,departmentid=?,subcompanyid1=?," +
// " creater=?,email=?,mobile=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? ";
// bb.writeLog("updateSysUserData-userUpdateSql:"+userUpdateSql);
//
// boolean flag = rs.executeUpdate(userUpdateSql,new Object[]{loginid,lastname,deptId,subcompanyid1,creator,email,
// pwdSmsTel,status,loginedNum,currentDate,currentDateTime,staffCode});
// bb.writeLog("flag:"+flag);
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("systable",tableName);
// if(!flag){
// dataMap.put("errmessage","人员信息更新sql执行错误");
//
// }else {
// dataMap.put("errmessage","人员信息更新sql执行成功");
// }
// recordErrorData(dataMap);
// }else if("D".equals(actType)){
// status = "5";
// String userUpdateSql = " update hrmresource set status=? where workcode=? ";
// bb.writeLog("userUpdateSql:"+userUpdateSql);
// boolean flag = rs.executeUpdate(userUpdateSql,new Object[]{status,staffCode});
// bb.writeLog("flag:"+flag);
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("systable",tableName);
// if(!flag){
// dataMap.put("errmessage","人员离职更新sql执行错误");
// }else {
// dataMap.put("errmessage","人员离职更新sql执行成功");
// }
// recordErrorData(dataMap);
// }else{
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","人员系统中已存在操作类型为A");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
//
// String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中已存在操作类型为A请检查数据" ;
// recordErrorMessage(staffCode,context);
// }
// }else{
// if("A".equalsIgnoreCase(actType))
// {
// int status1count = 0;
// sql = " select id from hrmresource where loginid = ? and status in(0,1,2,3) " ;
// bb.writeLog("sql:"+sql);
// rs.executeQuery(sql,new Object[]{staffCode});
// if(rs.next()){
// status1count++;
// }
// bb.writeLog("status1count:"+status1count);
//
// if(status1count == 0) {
// int status5count = 0;
// List<String> loginList = new ArrayList<String>();
// sql = " select id,status from hrmresource where loginid = ? and status = 5";
// rs.executeQuery(sql, new Object[]{staffCode});
// while (rs.next()) {
// String user_id = Util.null2String(rs.getString("id"));
// String upsql = " update hrmresource set loginid='" + staffCode + "_" + status5count + "' where id = " + user_id;
// bb.writeLog("upsql:" + upsql);
// loginList.add(upsql);
// status5count++;
// }
// bb.writeLog("status5count:"+status5count);
// if (status5count > 0) {
// for (String upsql : loginList) {
// boolean isTrue = rs.executeUpdate(upsql);
// bb.writeLog("isTrue:"+isTrue);
// }
// }
//
// String pwd = "1";
// String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密
// bb.writeLog("password:"+password);
//
// rs.executeProc("HrmResourceMaxId_Get", "");
// rs.next();
// String id = "" + rs.getInt(1);
// bb.writeLog("id:"+id);
//
// if(StringUtils.isNotEmpty(id)){
// String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
// "creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
// "locationid,seclevel,createrid,lastmodid) " +
// " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
// bb.writeLog("userInsertSql:"+userInsertSql);
// boolean flag = rs.executeUpdate(userInsertSql,new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
// creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
// locationid,seclevel,createrid,lastmodid});
// bb.writeLog("flag:"+flag);
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("systable",tableName);
// if(!flag){
// dataMap.put("errmessage","人员新增sql执行错误");
// }else {
// dataMap.put("errmessage","人员新增sql执行成功");
// }
// recordErrorData(dataMap);
// }
// }else{
//
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","人员:"+staffCode+"在系统中已存在操作类型为A");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
//
// String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中已存在操作类型为A请检查数据" ;
// recordErrorMessage(staffCode,context);
// }
// }else{
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","人员在系统中不存在操作类型为M或者D");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
//
// String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中不存在操作类型为M或者D请检查数据" ;
// recordErrorMessage(staffCode,context);
// }
// }
// }else{
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","人员所属部门为空");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
//
// String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工所属部门为空,请检查数据" ;
// recordErrorMessage(staffCode,context);
// }
// }else{
//
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount",datacount+"");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","工号:"+staffCode+"的员工现为在职"+datacount+"组数据,无法进行处理");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
//
// String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工现为在职"+datacount+"组数据,请检查数据" ;
// recordErrorMessage(staffCode,context);
//
// }
//
// }catch (Exception e){
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("staffcodecount","");
// dataMap.put("staffcode",staffCode);
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","人力资源异常:"+e.getMessage());
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
// }
// }
}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":
// "70300100030001","requestObject":[{"content":[{
// "updateDate":"2022-07-22 11:05:22","orgName":"testOrg722","parentOrgCode":"LNP000001",
// "regionNbr":"TST_PR_CSS","orgLevel":"2","statusCd":"1000",
// "parentOrgName":"Vivia","orgId":"17012",
// "createStaff":"1","orgType":"1000",
// "regionId":"36","parentOrgId":"1",
// "orgCode":"testOrg722",
// "pathCode":"-1.1.17012","actType":"A","partyId":"0",
// "parRegionNbr":"1",
// "createDate":"2022-07-22 11:05:22"
// }],"tableName":"organization","primaryKey":"orgId"}],"key":"svcCont"}
/****
*
* @param jsonArray
* @return
*/
public void updasteSysOrgData(JSONArray jsonArray, String tableName){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
for(int i=0;i<jsonArray.size();i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
String orgName = Util.null2String(jsonObject.get("orgName"));
String parentOrgCode = Util.null2String(jsonObject.get("parentOrgCode"));
String statusCd = Util.null2String(jsonObject.get("statusCd"));
String parentOrgName = Util.null2String(jsonObject.get("parentOrgName"));
String orgId = Util.null2String(jsonObject.get("orgId"));
String orgType = Util.null2String(jsonObject.get("orgType"));
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String actType = Util.null2String(jsonObject.get("actType"));
String canceled = "";
try{
String supdepid = "0";
String subcompanyid1 = "" ;
if(StringUtils.isNotEmpty(parentOrgCode))
{
rs.executeQuery(" select id from hrmsubcompany where subcompanycode=? ",new Object[]{parentOrgCode});
if(rs.next()){
subcompanyid1 = Util.null2String(rs.getString("id"));
}
if(StringUtils.isBlank(subcompanyid1)){
String sql = " select id,subcompanyid1 from hrmdepartment where departmentcode = ?" ;
rs.executeQuery(sql,new Object[]{parentOrgCode});
if(rs.next()){
supdepid = Util.null2String(rs.getString("id"));
subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
}
}
}
bb.writeLog("actType:"+actType);
bb.writeLog("supdepid:"+supdepid);
bb.writeLog("subcompanyid1:"+subcompanyid1);
String departmentmark = orgName;
if(StringUtils.isNotEmpty(subcompanyid1))
{
String deptid = "" ;
String sql = " select id from hrmdepartment where departmentcode=?" ;
rs.executeQuery(sql,new Object[]{orgCode});
if(rs.next()){
deptid = Util.null2String(rs.getString("id"));
}
bb.writeLog("deptid:"+deptid);
if(StringUtils.isNotEmpty(deptid))
{
if("M".equalsIgnoreCase(actType))
{
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
Object[] objects = new Object[]{departmentmark,departmentmark,subcompanyid1,orgId,supdepid,orgCode} ;
boolean flag = rs.executeUpdate(deptUpdateSql,objects);
bb.writeLog("flag:"+flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","更新部门SQL语句执行错误");
2 years ago
}else {
dataMap.put("errmessage","更新部门SQL语句执行成功");
}
dataMap.put("zxyj",deptUpdateSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",orgCode);
2 years ago
recordErrorData(dataMap);
}else if("D".equalsIgnoreCase(actType))
{
canceled = "1";
int hrmResourceCount = 0 ;
String queryHrmResourceSql = " select id from hrmresource where departmentid = ? and status !=5 " ;
rs.executeQuery(queryHrmResourceSql,new Object[]{deptid});
if(rs.next()){
hrmResourceCount++;
}
if(hrmResourceCount == 0 ){
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
Object[] objects = new Object[]{departmentmark,departmentmark,canceled,subcompanyid1,orgId,supdepid,orgCode};
boolean flag = rs.executeUpdate(deptUpdateSql,objects);
bb.writeLog("flag:"+flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","封存部门SQL语句执行错误");
2 years ago
}else {
dataMap.put("errmessage","封存部门SQL语句执行成功");
}
dataMap.put("zxyj",deptUpdateSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",orgCode);
2 years ago
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","部门在系统中已存在操作类型为A");
dataMap.put("systable",tableName);
dataMap.put("staffcode",orgCode);
recordErrorData(dataMap);
}
}else{
if("A".equalsIgnoreCase(actType))
{
String deptInsertSql = " insert into hrmdepartment(departmentmark,departmentname,departmentcode,subcompanyid1,supdepid,showorder) values(?,?,?,?,?,?) ";
bb.writeLog("deptInsertSql:"+deptInsertSql);
Object[] objects = new Object[]{departmentmark,departmentmark,orgCode,subcompanyid1,supdepid,orgId};
boolean flag = rs.executeUpdate(deptInsertSql,objects);
bb.writeLog("flag:"+flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","新增部门SQL语句执行错误");
2 years ago
}else {
dataMap.put("errmessage","新增部门SQL语句执行成功");
}
dataMap.put("zxyj",deptInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",orgCode);
2 years ago
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","部门在系统中不存在操作类型为M或者D");
dataMap.put("systable",tableName);
dataMap.put("staffcode",orgCode);
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","部门所属分部在系统为空");
dataMap.put("systable",tableName);
dataMap.put("staffcode",orgCode);
recordErrorData(dataMap);
}
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","部门异常:"+e.getMessage());
dataMap.put("systable",tableName);
dataMap.put("staffcode",orgCode);
recordErrorData(dataMap);
}
}
}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":
// "70300100030001","requestObject":[{"content":[{"sysUserRoleId":"23444","updateDate":"2022-07-22 11:08:33",
// "systemInfoCode":"TYMH","sysRoleId":"17013","statusCd":"1000",
// "systemInfoId":"727001","operType":"1000",
// "systemUserCode":"finaceManager",
// "expDate":"2120-01-01 00:00:00","orgId":"17012",
// "createStaff":"1","effDate":"2022-07-21 10:17:51",
// "systemUserName":"financeManager",
// "orgCode":"testOrg722","roleCode":"orgManager","manageClass":"1000","roleName":"orgManager",
// "actType":"A","sysUserId":"20047","createDate":"2022-07-22 11:08:33"}],
// "tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"sysUserRoleId":"23503","updateDate":"2022-07-27 09:32:48","systemInfoCode":"TYMH",
// "hisId":"20182","sysRoleId":"17015","statusCd":"1100","hasUserRole":false,"systemInfoId":"727001",
// "operType":"1000","systemUserCode":"testQian722","expDate":"2120-01-01 00:00:00","orgId":"2","createStaff":"1",
// "effDate":"2022-07-25 13:59:59","systemUserName":"testQian722","orgCode":"2","roleCode":"testQian722",
// "manageClass":"1000","roleName":"testQian722","actType":"D","sysUserId":"20055",
// "createDate":"2022-07-25 15:43:24","updateStaff":"1"}],"tableName":"system_user_role",
// "primaryKey":"sysUserRoleId"}],"key":"svcCont"}
//{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"sysUserRoleId":"24031","updateDate":"2022-08-09 10:26:15","systemInfoCode":"TYMH",
// "sysRoleId":"17020","statusCd":"1000","systemInfoId":"727001","systemUserCode":"weaver12",
// "expDate":"2120-01-01 00:00:00","orgId":"11205","createStaff":"1","effDate":"2022-08-09 10:26:16",
// "systemUserName":"weaver12","orgCode":"GTR000593","roleCode":"weaver role","manageClass":"1000",
// "roleName":"weaver role","actType":"A","sysUserId":"20104","createDate":"2022-08-09 10:26:15"}],
// "tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"sysUserRoleId":"32411","updateDate":"2022-10-24 19:10:40",
// "systemInfoCode":"TYMH","hisId":"30145","sysRoleId":"23005",
// "statusCd":"1100","hasUserRole":false,"systemInfoId":"727001",
// "systemUserCode":"weaver44","expDate":"2120-01-01 00:00:00","orgId":"17012","createStaff":"1",
// "effDate":"2022-10-24 19:10:11","systemUserName":"weaver44",
// "orgCode":"testOrg722","roleCode":"TestRole02","manageClass":"1000",
// "roleName":"TestRole02","actType":"D","sysUserId":"28025","createDate":"2022-10-24 19:10:19",
// "updateStaff":"1"}],"tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"}
/***
*
* @param jsonArray
*/
public void updateSystemUserRoleData(JSONArray jsonArray, String tableName) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
String rolelevel = "2" ; //总部=2;分部=1;部门=0
String resourcetype = "1"; //1=人力资源
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
for (int i = 0; i < jsonArray.size(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode"));
if("PC_OA".equalsIgnoreCase(systemInfoCode))
{
String roleCode = Util.null2String(jsonObject.get("roleCode")).replace(" ", "");
String roleName = Util.null2String(jsonObject.get("roleName"));
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String systemUserName = Util.null2String(jsonObject.get("systemUserName"));
String sysUserId = Util.null2String(jsonObject.get("sysUserId"));
//所有角色
Set<String> set = getSysRoles(sysUserId);
String actType = Util.null2String(jsonObject.get("actType"));
String statusCd = Util.null2String(jsonObject.get("statusCd"));
bb.writeLog("statusCd:" + statusCd + " actType:" + actType);
try {
String userId = "";
String departmentcode = "" ;
String roleId = "";
if (StringUtils.isNotEmpty(systemUserCode)) {
String sql =" select h.id,d.departmentcode from hrmresource h \n" +
" inner join hrmdepartment d on d.id = h.departmentid \n" +
" where loginid='"+systemUserCode+"'";
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if (rs.next()) {
userId = Util.null2String(rs.getString("id"));
departmentcode = Util.null2String(rs.getString("departmentcode"));
}
}
bb.writeLog("userId:"+userId);
bb.writeLog("departmentcode:"+departmentcode);
bb.writeLog("istrue:"+(StringUtils.isNotBlank(departmentcode) && departmentcode.equals(orgCode)));
// if(StringUtils.isNotBlank(departmentcode))
// {
if(StringUtils.isNotEmpty(roleCode)) {
String queryRoleIdSql = " select id from hrmroles where rolesmark=?";
rs.executeQuery(queryRoleIdSql, new Object[]{roleCode});
if (rs.next()) {
roleId = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("userId:" + userId + " roleId:" + roleId);
if (StringUtils.isNotEmpty(userId) && StringUtils.isNotEmpty(roleId)) {
//查看是否已存在角色用户关系
String releationId = "";
String ifExistSql = "select id from hrmrolemembers where roleid=? and resourceid=?";
rs.executeQuery(ifExistSql,new Object[]{roleId, userId});
if (rs.next()) {
releationId = Util.null2String(rs.getString("id"));
}
bb.writeLog("userId:" + userId + " roleId:" + roleId + "releationId:" + releationId);
if (StringUtils.isNotEmpty(releationId)) {
if ("D".equals(actType)) {
// 不包含 角色
if(!set.contains(roleCode)){
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
bb.writeLog("delHrmrolemembersSql:"+delHrmrolemembersSql);
Object[] objects = new Object[]{releationId};
boolean flag = rs.executeUpdate(delHrmrolemembersSql, objects);
bb.writeLog("delHrmrolemembersSql : " + flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","角色成员删除失败");
}else {
dataMap.put("errmessage","角色成员删除成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",delHrmrolemembersSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统已存在,操作类型为"+actType+",statusCd为:"+statusCd);
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}else if("M".equals(actType)){
if("1100".equals(statusCd)){
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
bb.writeLog("delHrmrolemembersSql:"+delHrmrolemembersSql);
Object[] objects = new Object[]{releationId};
boolean flag = rs.executeUpdate(delHrmrolemembersSql, objects);
bb.writeLog("delHrmrolemembersSql : " + flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","角色成员删除失败");
}else {
dataMap.put("errmessage","角色成员删除成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",delHrmrolemembersSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统已存在,操作类型为"+actType+",statusCd为:"+statusCd);
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统已存在操作类型为A");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
} else {
if ("A".equals(actType)) {
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
bb.writeLog("insertHrmrolemembersSql:"+insertHrmrolemembersSql);
Object[] objects = new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()} ;
boolean flag = rs.executeUpdate(insertHrmrolemembersSql,objects);
bb.writeLog("insertHrmrolemembersSql : " + flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","角色成员新增失败");
}else {
dataMap.put("errmessage","角色成员新增成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",insertHrmrolemembersSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else if("M".equals(actType)){
if("1000".equals(statusCd)){
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
bb.writeLog("insertHrmrolemembersSql:"+insertHrmrolemembersSql);
Object[] objects = new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()} ;
boolean flag = rs.executeUpdate(insertHrmrolemembersSql, objects);
bb.writeLog("insertHrmrolemembersSql : " + flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","角色成员新增失败");
}else {
dataMap.put("errmessage","角色成员新增成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",insertHrmrolemembersSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统不存在,操作类型为"+actType+",statusCd为:"+statusCd);
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统不存在操作类型为D");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员角色数据,人员或者角色系统不存在");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
// } else{
// Map<String,String> dataMap = new HashMap<String,String>();
// dataMap.put("syndate",nowDateTime);
// dataMap.put("reqmessage",jsonObject.toJSONString());
// dataMap.put("errmessage","数据中的orgCode:"+orgCode+"和"+systemUserName+"所属的部门编码不一致,无法更新数据");
// dataMap.put("systable",tableName);
// recordErrorData(dataMap);
// }
} catch (Exception e) {
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员异常:"+e.getMessage());
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}
}
RolemembersComInfo RolemembersComInfo = new RolemembersComInfo();
RolemembersComInfo.removeCache();
CheckUserRight CheckUserRight = new CheckUserRight();
CheckUserRight.removeMemberRoleCache();
CheckUserRight.removeRoleRightdetailCache();
}
//{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"updateDate":"2022-07-27 09:32:48","systemInfoCode":"TYMH","relType":"1100","orgId":"2",
// "sysUserPostId":"123089","orgType":"1000","systemUserName":"testQian722","orgCode":"2","postName":"testXiao",
// "staffName":"testQian722","actType":"D","sysUserId":"20055","createDate":"2022-07-25 15:43:24","defaultFlag":"0",
// "staffCode":"testQian722","orgName":"Default Branch 1","sysPostId":"18007","hisId":"322425",
// "statusCd":"1100","systemInfoId":"727001","systemUserCode":"testQian722","createStaff":"1",
// "postCode":"testXiao","staffId":22021,"updateStaff":"1"}],"tableName":"system_user_post",
// "primaryKey":"sysUserPostId"}],"key":"svcCont"}
/***
*
* @param jsonArray
*/
public void updateSystemUserPostData(JSONArray jsonArray, String tableName) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String postCode = Util.null2String(jsonObject.get("postCode"));
String postName = Util.null2String(jsonObject.get("postName"));
String DBName = PropBean.getUfPropValue("DBName");
Set<String> stringSet = getDeptMatrixColumns(DBName);
if(postCode.startsWith("MSS_CTO"))
{
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String actType = Util.null2String(jsonObject.get("actType"));
2 years ago
String defaultFlag = Util.null2String(jsonObject.get("defaultFlag"));
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
if(StringUtils.isEmpty(updateStaff)){
updateStaff = "1";
}
String userId = "";
String jobtitlesId = "";
String departmentId = "";
String jobtitlecode = "" ;
try {
if(StringUtils.isNotEmpty(orgCode)){
String querDepartmentIdSql = " select id from hrmdepartment where departmentcode=? ";
bb.writeLog("querDepartmentIdSql:"+querDepartmentIdSql);
rs.executeQuery(querDepartmentIdSql,new Object[]{orgCode});
if (rs.next()){
departmentId = Util.null2String(rs.getString("id"));
}
}
if(StringUtils.isNotEmpty(departmentId) && StringUtils.isNotEmpty(systemUserCode))
{
String sql = " select h.id,k.jobtitlecode " +
" from hrmresource h " +
" left join HrmJobTitles k on h.jobtitle = k.id " +
" where h.workcode=? and h.departmentid = ? ";
bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{systemUserCode, departmentId});
if (rs.next()) {
userId = Util.null2String(rs.getString("id"));
jobtitlecode = Util.null2String(rs.getString("jobtitlecode"));
}
}
if(StringUtils.isNotEmpty(postCode)) {
String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? ";
bb.writeLog("queryRoleIdSql:" + queryRoleIdSql);
rs.executeQuery(queryRoleIdSql, new Object[]{postCode});
if (rs.next()) {
jobtitlesId = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("jobtitlesId:"+jobtitlesId);
if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId))
{
if("A".equals(actType) || "M".equals(actType))
{
if(StringUtils.isNotEmpty(postName)) {
postName = postName.toLowerCase().replaceAll("\\s+", "").replaceAll("_", "");
if(stringSet.contains(postName)){
String sql = "update matrixtable_2 set "+postName+"=? where id=?";
boolean bool = rs.executeUpdate(sql,new Object[]{userId,departmentId});
if(bool){
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","更新人员岗位同步到部门矩阵执行成功");
dataMapp.put("staffcode",systemUserCode);
recordErrorData(dataMapp);
}else{
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","更新人员岗位同步到部门矩阵执行错误");
dataMapp.put("staffcode",systemUserCode);
recordErrorData(dataMapp);
}
}
}
2 years ago
//当岗位为主岗位时才更新1主岗位
// if ("1".equals(defaultFlag)){
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
Object[] objects = new Object[]{jobtitlesId,currentDateTime,updateStaff,userId};
boolean flag = rs.executeUpdate(updateUserJobSql,objects);
bb.writeLog(" updateUserJobFlag: "+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","更新人员岗位sql执行错误");
}else {
dataMap.put("errmessage","更新人员岗位sql执行成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",updateUserJobSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
// }
}else if("D".equals(actType)){
if(StringUtils.isNotBlank(jobtitlecode)){
if(jobtitlecode.equals(postCode)){
if(StringUtils.isNotEmpty(postName)) {
postName = postName.toLowerCase().replaceAll("\\s+", "");
if(stringSet.contains(postName)){
String sql = "update matrixtable_2 set "+postName+"=null where id=?";
boolean bool = rs.executeUpdate(sql,new Object[]{departmentId});
if(bool){
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","删除人员岗位同步到部门矩阵执行成功");
dataMapp.put("staffcode",systemUserCode);
recordErrorData(dataMapp);
}else{
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","删除人员岗位同步到部门矩阵执行错误");
dataMapp.put("staffcode",systemUserCode);
recordErrorData(dataMapp);
}
}
}
jobtitlesId = null;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
Object[] objects = new Object[]{jobtitlesId,currentDateTime,updateStaff,userId};
boolean flag = rs.executeUpdate(updateUserJobSql,objects);
bb.writeLog(" updateUserJobFlag: "+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","删除人员岗位sql执行错误");
}else {
dataMap.put("errmessage","删除人员岗位sql执行成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",updateUserJobSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中人对应的岗位不存在,无法删除");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中人对应的岗位为空,无法删除");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中岗位或者人员ID在系统中不存在");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","人员岗位中岗位或者人员ID在系统中不存在同步到部门矩阵执行错误");
dataMapp.put("staffcode",systemUserCode);
recordErrorData(dataMapp);
}
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位异常:"+e.getMessage());
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}
}
}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"updateDate":"2022-08-09 10:24:01",
// "systemInfoCode":"TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17020",
// "sysRoleName":"weaver role","statusCd":"1000","systemInfoId":"727001","sysRoleCode":"weaver role",
// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-08-09 10:24:01"}],
// "tableName":"system_roles","primaryKey":"sysRoleId"}],"key":"svcCont"}
// {"updateDate":"2022-08-09 10:24:01",
// "systemInfoCode":"TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17020",
// "sysRoleName":"weaver role","statusCd":"1000","systemInfoId":"727001","sysRoleCode":"weaver role",
// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-08-09 10:24:01"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},
// "svcCode":"70300100030001","requestObject":[{"content":[{"updateDate":"2022-07-27 11:04:19","systemInfoCode":
// "TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17016","sysRoleName":"role727",
// "statusCd":"1000","sysRoleDesc":"test727","systemInfoId":"727001","sysRoleCode":"role727",
// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-07-27 11:04:19"}],
// "tableName":"system_roles","primaryKey":"sysRoleId"}],"key":"svcCont"}
/***
*
* @param jsonArray
*/
public void updasteSysRoleData(JSONArray jsonArray, String tableName) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
String type = "0";
String subcompanyid = "0" ;
for (int i = 0; i < jsonArray.size(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
//角色标识
String sysRoleCode = Util.null2String(jsonObject.get("sysRoleCode")).replace(" ","");
//角色名称
String sysRoleName = Util.null2String(jsonObject.get("sysRoleName"));
//状态1000 有效1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//角色描述
// String sysRoleDesc = Util.null2String(jsonObject.get("sysRoleDesc"));
//角色类型1100管理角色1000普通角色
String sysRoleType = Util.null2String(jsonObject.get("sysRoleType"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
bb.writeLog("sysRoleName:"+sysRoleName);
bb.writeLog("sysRoleCode:"+sysRoleCode);
// String rolesmark = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`~" ;
// String rolesname = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`~" ;
String rolesmark = sysRoleCode ;
String rolesname = sysRoleName ;
bb.writeLog("rolesmark:"+rolesmark);
bb.writeLog("rolesname:"+rolesname);
String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode"));
if("PC_OA".equalsIgnoreCase(systemInfoCode)){
String uuid = UUID.randomUUID().toString();
String rolesid = "";
try{
if(StringUtils.isNotEmpty(sysRoleCode)){
String queryRoleSql = "select id from hrmroles where rolesmark=?";
rs.executeQuery(queryRoleSql,new Object[]{sysRoleCode});
bb.writeLog(queryRoleSql);
if (rs.next()){
rolesid = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("rolesid:"+rolesid);
if (StringUtils.isNotEmpty(rolesid)){
if ("M".equals(actType)) { //修改
String updateHrmrolesSql = " update hrmroles set rolesmark=?,rolesname=? where id=?";
bb.writeLog("updateHrmrolesSql:"+updateHrmrolesSql);
Object[] objects = new Object[]{sysRoleCode, sysRoleName, rolesid} ;
boolean flag = rs.executeUpdate(updateHrmrolesSql, objects);
bb.writeLog("updateHrmroles : " + flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","系统角色更新SQL执行错误");
2 years ago
}else {
dataMap.put("errmessage","系统角色更新SQL执行成功");
}
dataMap.put("staffcode",sysRoleCode);
dataMap.put("zxyj",updateHrmrolesSql);
dataMap.put("zxcs",convertObject2String(objects));
2 years ago
recordErrorData(dataMap);
}else if("D".equals(actType)) {
int membercount = 0;
String queryHrmRolesSql = " select id from hrmrolemembers where roleid = ?";
rs.executeQuery(queryHrmRolesSql,new Object[]{rolesid});
while (rs.next()){
membercount++;
}
if(membercount == 0){
String deleteHrmRolesSql = " delete from hrmroles where id = ?";
Object[] objects = new Object[]{rolesid} ;
boolean flag = rs.executeUpdate(deleteHrmRolesSql,objects);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","系统角色删除SQL执行错误");
2 years ago
}else {
dataMap.put("errmessage","系统角色删除SQL执行成功");
}
dataMap.put("staffcode",sysRoleCode);
dataMap.put("zxyj",deleteHrmRolesSql);
dataMap.put("zxcs",convertObject2String(objects));
2 years ago
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统角色存在角色成员,无法删除系统角色");
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysRoleCode);
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统已存在操作类型为A");
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysRoleCode);
recordErrorData(dataMap);
}
}else {
if ("A".equals(actType)){ //新增
String insertHrmrolesSql = " insert into hrmroles(rolesmark,rolesname,type,subcompanyid,ecology_pinyin_search,uuid) values(?,?,?,?,?,?)";
Object[] objects = new Object[]{rolesmark,rolesname,type,subcompanyid,sysRoleCode, uuid};
boolean flag = rs.executeUpdate(insertHrmrolesSql,objects);
bb.writeLog("insertHrmroles : "+flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","新增系统角色SQL执行错误");
2 years ago
}else {
dataMap.put("errmessage","新增系统角色SQL执行成功");
}
dataMap.put("zxyj",insertHrmrolesSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",sysRoleCode);
2 years ago
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统角色系统不存在操作类型为M或者D");
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysRoleCode);
recordErrorData(dataMap);
}
}
RolesComInfo RolesComInfo = new RolesComInfo();
RolesComInfo.removeRolesCache();
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统角色:"+e.getMessage());
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysRoleCode);
recordErrorData(dataMap);
}
}
}
}
//{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"updateDate":"2022-07-27 11:04:39","orgName":"Vivia","regionNbr":"TST_PR_CSS",
// "initFlag":"0","sysPostId":"18008","statusCd":"1000","systemInfoId":"727001",
// "sysPostType":"1000","orgId":"1","createStaff":"1","regionId":"36","orgCode":"LNP000001","sysPostCode":"position727",
// "actType":"A","sysPostDesc":"test727","sysPostName":"position727","createDate":"2022-07-27 11:04:39"}],
// "tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"updateDate":"2022-07-19 00:51:32",
// "orgName":"Default Company","regionNbr":"1","initFlag":"0",
// "sysPostId":"6006","statusCd":"1000","systemInfoId":"727001",
// "sysPostType":"1000","orgId":"1","createStaff":"1","regionId":"731","orgCode":"1",
// "sysPostCode":"CASH_ADMIN","actType":"M","sysPostDesc":"CASH_ADMIN","sysPostName":"CASH_ADMIN",
// "createDate":"2020-11-13 11:02:11","updateStaff":"1"}],"tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"}
/***
*
* @param jsonArray
*/
public void updasteSysPostData(JSONArray jsonArray, String tableName) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
String creater ="1";
String modifier = "1" ;
String created = TimeUtil.getCurrentTimeString() ;
String modified = TimeUtil.getCurrentTimeString() ;
for (int i = 0; i < jsonArray.size(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
//系统岗位编码
String sysPostType = Util.null2String(jsonObject.get("sysPostType"));
String sysPostCode = Util.null2String(jsonObject.get("sysPostCode"));
if("1300".equals(sysPostType) && sysPostCode.startsWith("MSS_CTO"))
{
//系统岗位名称
String sysPostName = Util.null2String(jsonObject.get("sysPostName"));
//部门编码
String orgCode = Util.null2String(jsonObject.get("orgCode"));
//系统岗位状态1000 有效 1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//修改时间
String updateDate = Util.null2String(jsonObject.get("updateDate"));
//修改人
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
//创建时间
String createDate = Util.null2String(jsonObject.get("createDate"));
//创建人
String createStaff = Util.null2String(jsonObject.get("createStaff"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
//String allname = "~`~`7 " + sysPostName + "`~`8 " + sysPostName + "`~`~";
String jobtitlemark = sysPostName;
String jobtitlename = sysPostName;
JobTitlesComInfo jobTitlesComInfo ;
try {
String departmentId = "-1";
if(StringUtils.isNotEmpty(orgCode)){
String querDepartmentIdSql = "select id from hrmdepartment where departmentcode=?";
rs.executeQuery(querDepartmentIdSql, new Object[]{orgCode});
if (rs.next()) {
departmentId = Util.null2String(rs.getString("id"),"null");
}
}
String groupsid = "";
String jobgroupname = "DITO_MSS_LEADERSHIP";
String sql = " select * from hrmjobgroups where jobgroupname like '%"+jobgroupname+"%'";
rs.executeQuery(sql);
if (rs.next()) {
groupsid = Util.null2String(rs.getString("id"));
}
String jobactivitiesid = "";
String jobactivityname = "MSS_LEADERSHIP";
if (StringUtils.isNotEmpty(groupsid) && StringUtils.isNotEmpty(jobactivityname)) {
sql = " select id from hrmjobactivities where jobgroupid = ? and jobactivityname like '%" + jobactivityname + "%'";
rs.executeQuery(sql, new Object[]{groupsid});
if (rs.next()) {
jobactivitiesid = Util.null2String(rs.getString("id"));
}
}
String jobtitleid = "";
if (StringUtils.isNotEmpty(jobactivitiesid))
{
String queryRoleSql = " select id from hrmjobtitles where jobtitlecode =? and jobactivityid = ?";
rs.executeQuery(queryRoleSql, new Object[]{sysPostCode, jobactivitiesid});
if (rs.next()) {
jobtitleid = Util.null2String(rs.getString("id"));
}
}
if (StringUtils.isNotEmpty(jobtitleid))
{
if ("M".equals(actType)) { //修改
rs.executeQuery("select * from hrmjobtitles where id=?",jobtitleid);
rs.next();
String oldjobtitlename = Util.null2String(rs.getString("jobtitlename"));
String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=? where id=?";
Object[] objects = new Object[]{jobtitlemark, jobtitlename, modified, modifier, jobtitleid} ;
boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql,objects);
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","系统岗位更新SQL执行错误");
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","修改岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
2 years ago
}else {
dataMap.put("errmessage","系统岗位更新SQL执行成功");
//岗位修改同步到部门自定义字段以及部门矩阵
boolean bool = updateDeptMatrix(oldjobtitlename,jobtitlename);
if(bool){
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","修改岗位同步到部门自定义字段以及部门矩阵执行成功");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}else{
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","修改岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}
}
dataMap.put("zxyj",updateHrmjobactivitiesSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",sysPostCode);
2 years ago
recordErrorData(dataMap);
} else if ("D".equals(actType)) {
String canceled = "1";
String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=?,canceled = ? where id=?";
Object[] objects = new Object[]{jobtitlemark, jobtitlename, modified, modifier, canceled, jobtitleid} ;
boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql,objects);
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","系统岗位封存SQL执行错误");
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","删除岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
2 years ago
}else {
dataMap.put("errmessage","系统岗位封存SQL执行成功");
//岗位删除同步到部门自定义字段以及部门矩阵
boolean bool = deleteDeptMatrix(jobtitlename);
if(bool){
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","删除岗位同步到部门自定义字段以及部门矩阵执行成功");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}else{
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","删除岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}
}
dataMap.put("zxyj",updateHrmjobactivitiesSql);
dataMap.put("zxcs",convertObject2String(objects));
dataMap.put("staffcode",sysPostCode);
2 years ago
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统岗位系统已存在操作类型为A");
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysPostCode);
recordErrorData(dataMap);
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","系统岗位不存在无法修改或者删除部门矩阵");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}
}else{
if ("A".equals(actType)) { //新增
String uuid = UUID.randomUUID().toString();
String insertHrmjobactivitiesSql = " insert into hrmjobtitles(jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode,created,creater,modified,modifier,uuid) values(?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{jobtitlemark, jobtitlename, jobactivitiesid, departmentId, sysPostCode, created, creater, modified, modifier, uuid} ;
boolean flag = rs.executeUpdate(insertHrmjobactivitiesSql,objects);
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if (!flag) {
dataMap.put("errmessage","系统岗位新增SQL执行错误");
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","新增岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
2 years ago
}else {
dataMap.put("errmessage","系统岗位新增SQL执行成功");
jobTitlesComInfo = new JobTitlesComInfo();
jobTitlesComInfo.addCache(jobtitleid);
//岗位新增同步到部门自定义字段以及部门矩阵
boolean bool = insertDeptMatrix(jobtitlename);
if(bool){
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","新增岗位同步到部门自定义字段以及部门矩阵执行成功");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}else{
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","新增岗位同步到部门自定义字段以及部门矩阵执行错误");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}
}
dataMap.put("staffcode",sysPostCode);
dataMap.put("zxyj",insertHrmjobactivitiesSql);
dataMap.put("zxcs",convertObject2String(objects));
2 years ago
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统岗位系统不存在操作类型为D或者M");
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysPostCode);
recordErrorData(dataMap);
Map<String,String> dataMapp = new HashMap<String,String>();
dataMapp.put("syndate",nowDateTime);
dataMapp.put("reqmessage",jsonObject.toJSONString());
dataMapp.put("systable",tableName);
dataMapp.put("errmessage","系统岗位不存在无法修改或者删除部门矩阵");
dataMapp.put("staffcode",sysPostCode);
recordErrorData(dataMapp);
}
}
jobTitlesComInfo = new JobTitlesComInfo();
jobTitlesComInfo.removeJobTitlesCache();
}catch (Exception e) {
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","系统角色:"+e.getMessage());
dataMap.put("systable",tableName);
dataMap.put("staffcode",sysPostCode);
recordErrorData(dataMap);
}
}
}
}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"statusDate":"2022-08-09 09:47:54","updateDate":"2022-08-09 09:47:54",
// "staffCode":"fanweiceshi12","orgName":"yhwgfz","regionNbr":"TST_PR_CSS",
// "staffAccount":"fanweiceshi12","statusCd":"1000","staffType":"1000","orgId":"11205","createStaff":"1",
// "eMail":"123453243132312","mobilePhone":"44553321","commonRegionId":"36","orgCode":"GTR000593",
// "staffName":"fanweiceshi12","actType":"A","sysUserId":20102,"partyId":"-1","staffId":"22061",
// "createDate":"2022-08-09 09:47:54","updateStaff":"1"}],"tableName":"staff","primaryKey":"staffId"}],"key":"svcCont"}
public void updateStaffData(JSONArray jsonArray, String tableName){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
String locationid = "2" ;
String seclevel = "20" ;
String createrid = "1" ;
String lastmodid = "1" ;
String creator = "1";
String systemlanguage = "8" ;
String pwd = PropBean.getUfPropValue("user_pwd") ;
String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密
bb.writeLog("password:"+password);
String scopeid = "-1";
String scope = "HrmCustomFieldByInfoType" ;
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String cus_eid = PropBean.getUfPropValue("cus_eid") ;
String cus_sysuserid = PropBean.getUfPropValue("cus_sysuserid") ;
String currentDate = TimeUtil.getCurrentDateString();//当前日期
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
bb.writeLog("currentDate:"+currentDate);
String jobTitleId = "" ;
String defaultJobCode = PropBean.getUfPropValue("defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode});
if(rs.next()){
jobTitleId = Util.null2String(rs.getString("id"));
}
}
for(int i=0;i<jsonArray.size();i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String staffName = Util.null2String(jsonObject.get("staffName"));
String staffCode = Util.null2String(jsonObject.get("staffCode"));
bb.writeLog("staffCode:"+staffCode);
String actType = Util.null2String(jsonObject.get("actType"));
String email = "" ;
if(jsonObject.containsKey("eMail")){
email = Util.null2String(jsonObject.getString("eMail"),"null");
}else if(jsonObject.containsKey("email")){
email = Util.null2String(jsonObject.getString("email"),"null");
}
bb.writeLog("email:"+email);
String pwdSmsTel = Util.null2String(jsonObject.getString("mobilePhone"),"null");
bb.writeLog("pwdSmsTel:"+pwdSmsTel);
String loginedNum = Util.null2String(jsonObject.getString("sysUserId"),"null");
bb.writeLog("loginedNum:"+loginedNum);
String statusCd = Util.null2String(jsonObject.get("statusCd"));
bb.writeLog("statusCd:"+statusCd);
String staffType = Util.null2String(jsonObject.get("staffType"));
String status = "1";
// String lastname = " ~`~`7 "+staffName+"`~`8 "+staffName+"`~`~";
String lastname = staffName;
String staffId = Util.null2String(jsonObject.get("staffId"));
String eId = "" ;
if(jsonObject.containsKey("eid")){
eId = Util.null2String(jsonObject.get("eid"));
}else if(jsonObject.containsKey("eId")){
eId = Util.null2String(jsonObject.get("eId"));
}
String sysUserId = Util.null2String(jsonObject.get("sysUserId"));
bb.writeLog("eId:"+eId);
bb.writeLog("staffId:"+staffId);
bb.writeLog("sysUserId:"+sysUserId);
try {
String subcompanyid1 = "" ;
String deptId = "";
if(StringUtils.isNotEmpty(orgCode)){
String sql = " select id,subcompanyid1 from hrmdepartment where departmentcode = ?" ;
rs.executeQuery(sql,new Object[]{orgCode});
if(rs.next()){
deptId = Util.null2String(rs.getString("id"));
subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
}
}
bb.writeLog("deptId:"+deptId);
bb.writeLog("subcompanyid1:"+subcompanyid1);
int datacount = 0;
String sql = " select id from hrmresource where workcode=?" ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql,new Object[]{staffCode});
while (rs.next()){
datacount++;
}
bb.writeLog("datacount:"+datacount);
if(datacount <=1)
{
String userid = "" ;
String loginid = "";
String user_status = "";
if(StringUtils.isNotEmpty(staffCode))
{
sql = " select loginid,id,status from hrmresource where workcode='"+staffCode+"'" ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if(rs.next()){
loginid = Util.null2String(rs.getString("loginid"));
userid = Util.null2String(rs.getString("id"));
user_status = Util.null2String(rs.getString("status"));
bb.writeLog("loginid:"+loginid);
bb.writeLog("user_status:"+user_status);
if(StringUtils.isBlank(loginid)){
if("5".equals(user_status)){
loginid = staffCode;
}
}
}
}
bb.writeLog("user_status:"+user_status);
bb.writeLog("loginid:"+loginid);
if(StringUtils.isNotEmpty(deptId))
{
if(StringUtils.isNotEmpty(loginid))
{
if("M".equalsIgnoreCase(actType))
{
if("1000".equals(statusCd)){
status = "1";
}else if("1100".equals(statusCd) || "1240".equals(statusCd)){
status = "5";
}
bb.writeLog("status:"+status);
String userUpdateSql = " update hrmresource set loginid=?,lastname=?,departmentid=?,subcompanyid1=?," +
" creater=?,email=?,mobile=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? ";
Object[] objects = new Object[]{loginid,lastname,deptId,subcompanyid1,creator,email,pwdSmsTel,status,loginedNum,currentDate,currentDateTime,staffCode};
bb.writeLog("updateSysUserData-userUpdateSql:"+userUpdateSql);
boolean flag = rs.executeUpdate(userUpdateSql,objects);
bb.writeLog("flag:"+flag);
2 years ago
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
2 years ago
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",userUpdateSql);
dataMap.put("zxcs",convertObject2String(objects));
if(!flag){
dataMap.put("errmessage","人员更新SQL执行错误");
}else {
dataMap.put("errmessage","人员更新SQL执行成功");
}
recordErrorData(dataMap);
}else if("D".equals(actType)){
status = "5";
// String staffCodenew = loginid+"_cf_0";
// String userUpdateSql = " update hrmresource set status=?,loginid=?,workcode=? where id=? ";
//
// Object[] objects = new Object[]{status,staffCodenew,staffCodenew,userid};
// bb.writeLog("userUpdateSql:"+userUpdateSql);
String userUpdateSql = " update hrmresource set status=? where id=? ";
Object[] objects = new Object[]{status,userid};
bb.writeLog("userUpdateSql:"+userUpdateSql);
boolean flag = rs.executeUpdate(userUpdateSql,objects);
bb.writeLog("flag:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",userUpdateSql);
dataMap.put("zxcs",convertObject2String(objects));
if(!flag){
dataMap.put("errmessage","人员离职SQL执行错误");
}else {
dataMap.put("errmessage","人员离职SQL执行成功");
}
2 years ago
recordErrorData(dataMap);
}else if("A".equalsIgnoreCase(actType)){
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("loginidisnotnull-sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
String user_id = Util.null2String(rs.getString("id"));
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id ;
bb.writeLog("loginidisnotnull-upsql:" + upsql);
loginList.add(upsql);
status5count++;
}
bb.writeLog("loginidisnotnull-status5count:" + status5count);
if (status5count > 0) {
for (String upsql : loginList) {
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("loginidisnotnull-isTrue:" + isTrue);
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("loginidisnotnull-id:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}
}else{
if("A".equalsIgnoreCase(actType))
{
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("staff-sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String user_id = Util.null2String(rs.getString("id")) ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" ";
bb.writeLog("upsql:"+upsql);
loginList.add(upsql);
status5count ++ ;
}
bb.writeLog("staff-status5count:"+status5count);
if(status5count > 0){
for(String upsql : loginList){
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("isTrue:"+isTrue);
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("id:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}else if("M".equalsIgnoreCase(actType)){
int status1count = 0;
sql = " select id from hrmresource where loginid = '"+staffCode+"' and status in(0,1,2,3) " ;
bb.writeLog("staff-M-sql:"+sql);
rs.executeQuery(sql);
if(rs.next()){
status1count++;
}
bb.writeLog("staff-M-status1count:"+status1count);
if(status1count == 0)
{
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("staff-M-sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String user_id = Util.null2String(rs.getString("id")) ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" " ;
bb.writeLog("upsql-M:"+upsql);
loginList.add(upsql);
status5count ++ ;
}
bb.writeLog("staff-M-status5count:"+status5count);
if(status5count > 0){
for(String upsql : loginList){
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("isTrue-M:"+isTrue);
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("id-M:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql-M:"+userInsertSql);
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag-M:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(flag){
userid = id+"";
dataMap.put("errmessage","人员M新增SQL执行成功");
}else{
dataMap.put("errmessage","人员M新增SQL执行错误");
}
recordErrorData(dataMap);
}
}else{
bb.writeLog("staff-M-status1count:"+status1count);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","工号:"+staffCode+"的员工现为在职无法进行M新增操作类型为M");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中已存在操作类型为M新增请检查数据" ;
recordErrorMessage(staffCode,context);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员在系统中不存在操作类型为D");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中不存在操作类型为M或者D请检查数据" ;
recordErrorMessage(staffCode,context);
}
}
if(StringUtils.isNotEmpty(userid))
{
String seqorder = "" ;
rs.executeQuery(" select seqorder from cus_fielddata where scopeid=? and scope = ? and id=? ",new Object[]{scopeid,scope,userid} );
if(rs.next()){
seqorder = Util.null2String(rs.getString("seqorder"));
}
if (StringUtils.isNotEmpty(seqorder)) {
String cusUpdateSql = " update cus_fielddata set "+cus_staff+"=?,"+cus_eid+"=? where scope=? and scopeid=? and id=?";
bb.writeLog(cusUpdateSql);
Object[] objects = new Object[]{staffId, eId, scope,scopeid,userid} ;
boolean deflag = rs.executeUpdate(cusUpdateSql, objects);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",cusUpdateSql);
dataMap.put("zxcs",convertObject2String(objects));
if(!deflag){
dataMap.put("errmessage","更新人员自定义信息失败");
}else {
dataMap.put("errmessage","更新人员自定义信息成功");
}
recordErrorData(dataMap);
} else {
String cusInsertSql = " insert into cus_fielddata(scope,scopeid,id,"+cus_staff+","+cus_eid+","+cus_sysuserid+") values(?,?,?,?,?,?)";
bb.writeLog(cusInsertSql);
Object[] objects = new Object[]{scope, scopeid, userid, staffId, eId, sysUserId} ;
boolean deflag = rs.executeUpdate(cusInsertSql, objects);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
dataMap.put("zxyj",cusInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(!deflag){
dataMap.put("errmessage","新增人员自定义信息失败");
}else {
dataMap.put("errmessage","新增人员自定义信息成功");
}
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员所属部门为空");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工所属部门为空,请检查数据" ;
recordErrorMessage(staffCode,context);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","工号:"+staffCode+"的员工现为在职"+datacount+"组数据,无法进行处理");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工现为在职"+datacount+"组数据,请检查数据" ;
recordErrorMessage(staffCode,context);
}
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcode",staffCode);
dataMap.put("staffcodecount","");
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人力资源异常:"+e.getMessage());
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}
}
/***
*
*/
public void recordErrorData(Map<String,String> dataMap){
String uftable = "uf_orgmq" ;
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
ModeRightInfo mode=new ModeRightInfo();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//当前时间日期
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
int formmodeid = 0 ;
String modedatacreater = "1" ;
String modedatacreatertype = "0" ;
String modedatacreatedate = sdf1.format(new Date());
String modedatacreatetime = sdf2.format(new Date());
String uuid = UUID.randomUUID().toString();
try {
String sql =" select k.id from modeinfo k \n" +
" inner join workflow_bill l on formid = l.id\n" +
" where l.tablename = ? " ;
rs.executeQuery(sql,new Object[]{uftable});
if(rs.next()){
formmodeid = Util.getIntValue(Util.null2String(rs.getString("id")));
}
String syndate = Util.null2String(dataMap.get("syndate"));
String reqmessage = Util.null2String(dataMap.get("reqmessage"));
String errmessage = Util.null2String(dataMap.get("errmessage"));
String systable = Util.null2String(dataMap.get("systable"));
String staffcodecount = Util.null2String(dataMap.get("staffcodecount"));
String staffcode = Util.null2String(dataMap.get("staffcode"));
String zxyj = Util.null2String(dataMap.get("zxyj"));
String zxcs = Util.null2String(dataMap.get("zxcs"));
int bool = 0;
sql =" insert into "+uftable+"(uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable,staffcodecount,staffcode,zxyj,zxcs)" +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)" ;
boolean flag = rs.executeUpdate(sql,new Object[]{uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable,staffcodecount,staffcode,zxyj,zxcs});
bb.writeLog("sql;"+sql);
if(flag){
bool++;
}
bb.writeLog("bool;"+bool);
if(bool>0)
{
String dataid = "";
sql = " select * from "+uftable+" where uuid=? ";
bb.writeLog("sql:" + sql);
rs.executeQuery(sql,new Object[]{uuid});
if (rs.next()) {
dataid = Util.null2String(rs.getString("id"));
}
bb.writeLog("sql:" + sql);
bb.writeLog("dataid:" + dataid);
bb.writeLog("modeid:" + formmodeid);
if (StringUtils.isNotEmpty(dataid))
{
mode.setNewRight(true);
mode.editModeDataShare(Integer.valueOf(modedatacreater), formmodeid, Integer.parseInt(dataid));
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
}
/***
*
*/
public void removeCache(){
ResourceComInfo resComInfo;
DepartmentComInfo deptComInfo;
try {
resComInfo = new ResourceComInfo();
resComInfo.removeResourceCache();
deptComInfo = new DepartmentComInfo();
deptComInfo.removeCompanyCache();
} catch (Exception e) {
new BaseBean().writeLog(e);
}
}
/***
*
* @param staffCode
* @param context
*/
public void recordErrorMessage(String staffCode,String context){
BaseBean bb = new BaseBean();
bb.writeLog("recordErrorMessage");
try{
int code = Util.getIntValue(PropBean.getUfPropValue("MQMessageType"),0);
if(code>0){
MessageType messageType = MessageType.newInstance(code); // 消息来源(见文档第四点补充 必填)
Set<String> userIdList = new HashSet<String>(); // 接收人id 必填
userIdList.add("1");
String title = "人员MQ消息同步"; // 标题
String detailtitle = "人员MQ消息同步数据异常"; // 标题
String linkUrl = "/bpm/spa/cube/index.html#/main/cube/search?customid=131&staffcode="+staffCode; // PC端链接
String linkMobileUrl = "/bpm/spa/cube/index.html#/main/cube/search?customid=131&staffcode="+staffCode; // 移动端链接
try {
MessageBean messageBean = Util_Message.createMessage(messageType, userIdList, title, context, linkUrl, linkMobileUrl);
messageBean.setCreater(1);// 创建人id
messageBean.setDetailTitle(detailtitle);
Util_Message.store(messageBean);
} catch (IOException e) {
e.printStackTrace();
}
}
}catch (Exception e){
bb.writeLog("e"+e);
}
}
public static Set<String> getSysRoles(String sysUserId){
Set<String> set = new HashSet<>();
BaseBean bb = new BaseBean();
String dataJson = "{\"sysUserId\": "+ sysUserId +",\"pageNum\": 1,\"pageSize\": 5555}";
String getAllSysUserRolesUrl = PropBean.getUfPropValue("getAllSysUserRolesUrl");
String Authorization = PropBean.getUfPropValue("Authorization");
try {
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, dataJson);
Request request = new Request.Builder()
.url(getAllSysUserRolesUrl)
.method("POST", body)
.addHeader("Authorization", Authorization)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String bodyMsg = response.body().string();
bb.writeLog("response.code():"+code);
bb.writeLog("response.body():"+bodyMsg);
if(code == 200){
JSONObject msgObject = JSONObject.parseObject(bodyMsg);
if(msgObject.containsKey("list")){
String roleList = msgObject.getString("list");
JSONArray roleArray = JSONArray.parseArray(roleList);
for(int i=0;i<roleArray.size();i++){
JSONObject roleObject = (JSONObject) roleArray.get(i);
String systemRoles = roleObject.getString("systemRoles");
JSONObject rolesObject = JSONObject.parseObject(systemRoles);
String sysRoleCode = rolesObject.getString("sysRoleCode");
set.add(sysRoleCode);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return set;
}
public static String convertObject2String(Object[] obj) {
String datas = "";
if (null != obj) {
for (int i = 0; i < obj.length; i++) {
String data = obj[i].toString();
System.out.println(data);
datas += StringUtils.isBlank(datas) ? data : "," + data;
}
}
return datas;
}
/**
*
* @return
* String DBName = PropBean.getUfPropValue("DBName");
*/
public static Set<String> getDeptMatrixColumns( String DBName){
Set<String> set = new HashSet<>();
RecordSet rs = new RecordSet();
rs.executeQuery("SELECT COLUMN_NAME FROM information_schema.COLUMNS " +
" WHERE TABLE_SCHEMA = '"+ DBName +"' " +
" AND TABLE_NAME = 'matrixtable_2'");
while(rs.next()){
String columnName = Util.null2String(rs.getString("COLUMN_NAME"));
// 全部转化为 小写存储
columnName = columnName.toLowerCase().replaceAll("\\s+", "");
set.add(columnName);
}
return set;
}
/**
*
* @param oldjobtitlename
* @param newjobtitlename
* @return
*/
public static boolean updateDeptMatrix(String oldjobtitlename,String newjobtitlename){
boolean bool = false;
RecordSet rs = new RecordSet();
try {
rs.executeUpdate("update htmllabelinfo set labelname='"+ newjobtitlename +"' where labelname='"+ oldjobtitlename +"'");
oldjobtitlename = oldjobtitlename.toLowerCase().replaceAll("\\s+", "").replaceAll("_", "");
newjobtitlename = newjobtitlename.toLowerCase().replaceAll("\\s+", "").replaceAll("_", "");
rs.executeQuery("select * from hrm_formfield where fieldname=?",oldjobtitlename);
rs.next();
String fieldid = Util.null2String(rs.getString("fieldid"));
if(!oldjobtitlename.equals(newjobtitlename)){
rs.writeLog("============ RocketmqUtil deleteDeptMatrix oldjobtitlename 111 ====================== " + oldjobtitlename);
rs.writeLog("============ RocketmqUtil deleteDeptMatrix oldjobtitlename 222 ====================== " + newjobtitlename);
HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo();
rs.executeUpdate("UPDATE hrm_formfield SET fieldname=? where fieldid=?",newjobtitlename,fieldid);
rs.execute("ALTER TABLE hrmdepartmentdefined CHANGE "+ oldjobtitlename + " "+ newjobtitlename +" TEXT");
HrmFieldComInfo.removeFieldCache();
//同步部门数据到矩阵
MatrixUtil.sysDepartmentData();
bool = true;
}
}catch (Exception e){
e.printStackTrace();
rs.writeLog(e);
bool = false;
}
return bool;
}
/**
*
* @param jobtitlename
* @return
*/
public static boolean deleteDeptMatrix(String jobtitlename){
boolean bool = false;
RecordSet rs = new RecordSet();
try {
jobtitlename = jobtitlename.toLowerCase().replaceAll("\\s+", "").replaceAll("_", "");
HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo();
rs.writeLog("============ RocketmqUtil deleteDeptMatrix jobtitlename 111 ====================== " + jobtitlename);
String htmlLabelInfoSql = "delete from htmllabelinfo where labelname=?";
rs.executeUpdate(htmlLabelInfoSql, new Object[]{jobtitlename});
String hrmFormFieldSql = "delete from hrm_formfield where fieldname=?";
rs.executeUpdate(hrmFormFieldSql, new Object[]{jobtitlename});
rs.execute("UPDATE hrmdepartmentdefined set "+ jobtitlename +"=null");
rs.execute("ALTER TABLE hrmdepartmentdefined DROP COLUMN " + jobtitlename + " ");
HrmFieldComInfo.removeFieldCache();
//同步部门数据到矩阵
MatrixUtil.sysDepartmentData();
bool = true;
}catch (Exception e){
e.printStackTrace();
rs.writeLog(e);
bool = false;
}
return bool;
}
/**
*
* @param jobtitlename
* @return
*/
public static boolean insertDeptMatrix(String jobtitlename){
boolean bool = false;
RecordSet rs = new RecordSet();
try {
HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo();
rs.writeLog("============ RocketmqUtil InsertDeptMatrix jobtitlename 111 ====================== " + jobtitlename);
int lableid = new LabelUtil().getLabelId(jobtitlename);
int hrmfieldid = getMaxFieldId();
rs.writeLog("============ RocketmqUtil InsertDeptMatrix hrmfieldid ====================== " + hrmfieldid);
int hrmfieldorder = getMaxOrder();
rs.writeLog("============ RocketmqUtil InsertDeptMatrix hrmfieldorder ====================== " + hrmfieldorder);
jobtitlename = jobtitlename.toLowerCase().replaceAll("\\s+", "").replaceAll("_", "");
rs.writeLog("============ RocketmqUtil InsertDeptMatrix jobtitlename 222 ====================== " + jobtitlename);
String hrmFormFieldSql = "insert into hrm_formfield(fieldid,fielddbtype,fieldname,fieldlabel,fieldhtmltype,type,fieldorder,ismand,isuse,groupid,allowhide) " +
"values(?,?,?,?,?,?,?,?,?,?,?)";
rs.executeUpdate(hrmFormFieldSql, new Object[]{hrmfieldid, "text", jobtitlename, "" + lableid, "3", "17", hrmfieldorder, "0", "1", "7", "1"});
rs.execute("ALTER TABLE hrmdepartmentdefined ADD COLUMN " + jobtitlename + " TEXT ");
HrmFieldComInfo.removeFieldCache();
//同步部门数据到矩阵
MatrixUtil.sysDepartmentData();
bool = true;
}catch (Exception e){
e.printStackTrace();
rs.writeLog(e);
bool = false;
}
return bool;
}
public static int getMaxFieldId(){
RecordSet rs = new RecordSet();
rs.executeQuery("select max(fieldid)as ordee from hrm_formfield");
rs.next();
return rs.getInt("ordee") + 1;
}
public static int getMaxOrder(){
RecordSet rs = new RecordSet();
rs.executeQuery("select max(fieldorder)as ordee from hrm_formfield");
rs.next();
return rs.getInt("ordee") + 1;
}
public static int getMinLabelIndexId(){
RecordSet rs = new RecordSet();
rs.executeQuery("select min(indexid)as ordee from htmllabelinfo");
rs.next();
return rs.getInt("ordee") - 1;
}
}