#EC_HJ153# 人员MQ同步优化接口

main
shilei 1 year ago
parent 5519bf896d
commit d48c77364f

@ -638,6 +638,8 @@ public class RocketmqUtil {
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"));
@ -648,87 +650,152 @@ public class RocketmqUtil {
try {
String userId = "";
String departmentcode = "" ;
String roleId = "";
if (StringUtils.isNotEmpty(systemUserCode)) {
String sql = " select id from hrmresource where loginid=?";
rs.executeQuery(sql, new Object[]{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"));
}
}
if(StringUtils.isNotEmpty(roleCode)) {
bb.writeLog("userId:"+userId);
bb.writeLog("departmentcode:"+departmentcode);
bb.writeLog("istrue:"+(StringUtils.isNotBlank(departmentcode) && departmentcode.equals(orgCode)));
String queryRoleIdSql = " select id from hrmroles where rolesmark=?";
rs.executeQuery(queryRoleIdSql, new Object[]{roleCode});
if (rs.next()) {
roleId = rs.getString("id");
}
}
bb.writeLog("userId:" + userId + " roleId:" + roleId);
if(StringUtils.isNotBlank(departmentcode) && departmentcode.equals(orgCode))
{
if(StringUtils.isNotEmpty(roleCode)) {
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 = rs.getString("id");
String queryRoleIdSql = " select id from hrmroles where rolesmark=?";
rs.executeQuery(queryRoleIdSql, new Object[]{roleCode});
if (rs.next()) {
roleId = rs.getString("id");
}
}
bb.writeLog("userId:" + userId + " roleId:" + roleId + "releationId:" + releationId);
if (StringUtils.isNotEmpty(releationId)) {
if ("D".equals(actType)) {
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
boolean flag = rs.executeUpdate(delHrmrolemembersSql, releationId);
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","角色成员删除成功");
}
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","角色成员系统已存在操作类型为A或者M");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
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 = rs.getString("id");
}
} else {
if ("A".equals(actType)) {
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolemembersSql, new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()});
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","角色成员新增成功");
bb.writeLog("userId:" + userId + " roleId:" + roleId + "releationId:" + releationId);
if (StringUtils.isNotEmpty(releationId)) {
if ("D".equals(actType)) {
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
boolean flag = rs.executeUpdate(delHrmrolemembersSql, releationId);
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","角色成员删除成功");
}
recordErrorData(dataMap);
}else if("M".equals(actType)){
if("1100".equals(statusCd)){
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
boolean flag = rs.executeUpdate(delHrmrolemembersSql, releationId);
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","角色成员删除成功");
}
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);
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);
recordErrorData(dataMap);
}
} else {
if ("A".equals(actType)) {
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolemembersSql, new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()});
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","角色成员新增成功");
}
recordErrorData(dataMap);
}else if("M".equals(actType)){
if("1000".equals(statusCd)){
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolemembersSql, new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()});
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","角色成员新增成功");
}
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);
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);
recordErrorData(dataMap);
}
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);
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);
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("errmessage","数据中的orgCode:"+orgCode+"和"+systemUserName+"所属的部门编码不一致,无法更新数据");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
@ -1424,7 +1491,7 @@ public class RocketmqUtil {
if(status1count == 0) {
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id,status from hrmresource where loginid = '"+staffCode+"' and status = 5";
sql = " select id,status from hrmresource where (loginid = '"+staffCode+"' or loginid like '"+staffCode+"_cf%') and status = 5";
bb.writeLog("loginidisnotnull-sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {

Loading…
Cancel
Save