From d48c77364f5e00f42edf5d49d26553286d7a3bac Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Wed, 13 Dec 2023 14:40:58 +0800 Subject: [PATCH] =?UTF-8?q?#EC=5FHJ153#=20=E4=BA=BA=E5=91=98MQ=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaces/dito/mq/RocketmqUtil.java | 193 ++++++++++++------ 1 file changed, 130 insertions(+), 63 deletions(-) diff --git a/src/weaver/interfaces/dito/mq/RocketmqUtil.java b/src/weaver/interfaces/dito/mq/RocketmqUtil.java index 18b8f819..fe25f732 100644 --- a/src/weaver/interfaces/dito/mq/RocketmqUtil.java +++ b/src/weaver/interfaces/dito/mq/RocketmqUtil.java @@ -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 dataMap = new HashMap(); - 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 dataMap = new HashMap(); - 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 dataMap = new HashMap(); - 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 dataMap = new HashMap(); + 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 dataMap = new HashMap(); + 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 dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统已存在,操作类型为"+actType+",statusCd为:"+statusCd); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + 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 dataMap = new HashMap(); + 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 dataMap = new HashMap(); + 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 dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统不存在,操作类型为"+actType+",statusCd为:"+statusCd); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统不存在,操作类型为D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); } - recordErrorData(dataMap); - }else{ - Map dataMap = new HashMap(); - dataMap.put("syndate",nowDateTime); - dataMap.put("reqmessage",jsonObject.toJSONString()); - dataMap.put("errmessage","角色成员系统不存在,操作类型为M或者D"); - dataMap.put("systable",tableName); - recordErrorData(dataMap); } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员角色数据,人员或者角色系统不存在"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); } }else{ Map dataMap = new HashMap(); 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 loginList = new ArrayList(); - 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()) {