/// <summary> /// 查詢該USE擁有的角色 C_USER_ROLE /// </summary> public void SelectUserRoleInfo(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; List <c_role1> RoleInfoLevel; T_C_ROLE RoleInfo; T_c_user_role GetUserID; string EMP_NO = Data["EMP_NO"].ToString(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); RoleInfo = new T_C_ROLE(sfcdb, DBTYPE); GetUserID = new T_c_user_role(sfcdb, DBTYPE); string USERID = GetUserID.GetUserID(EMP_NO, sfcdb); string LoginUserID = GetUserID.GetUserID(this.LoginUser.EMP_NO, sfcdb); bool LoginEmp = false; if (USERID == LoginUserID) { LoginEmp = true; } RoleInfoLevel = RoleInfo.GetUserRolelist(USERID, LoginEmp, this.LoginUser.EMP_LEVEL, this.LoginUser.DPT_NAME, sfcdb); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "用戶所擁有的角色獲取成功"; StationReturn.Data = RoleInfoLevel; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 根據用戶等級帶出該USER所能管理的角色 EMP_LEVEL=9 代表超級管理員 1代表可以管理本部門所有角色 0 代表普通用戶 /// </summary> public void SelectRoleByEmp_level(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; List <c_role_byempl> RoleInfoLevel; T_C_ROLE RoleInfo; T_c_user_role GetRoleID; string EMP_LEVEL = this.LoginUser.EMP_LEVEL; string FACTORY = this.LoginUser.FACTORY; string BU_NAME = this.LoginUser.BU; string DPT_NAME = this.LoginUser.DPT_NAME; string EDIT_EMP = Data["EDIT_EMP"].ToString(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); RoleInfo = new T_C_ROLE(sfcdb, DBTYPE); GetRoleID = new T_c_user_role(sfcdb, DBTYPE); List <get_c_roleid> ROLE_ID = GetRoleID.GetRoleID(EDIT_EMP, sfcdb); RoleInfoLevel = RoleInfo.ManageRoleByUser(ROLE_ID, DPT_NAME, BU_NAME, FACTORY, EMP_LEVEL, sfcdb); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "用戶所的角色獲取成功"; StationReturn.Data = RoleInfoLevel; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 查詢角色ID(單純查詢c_role表BY字段ROLE_NAME) /// </summary> public void SelectRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; List <c_role1> rolelist = new List <c_role1>(); T_C_ROLE Roler; string RoleName = Data["ROLE_NAME"].ToString(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); Roler = new T_C_ROLE(sfcdb, DBTYPE); rolelist = Roler.Getrolelist(RoleName, this.LoginUser.EMP_LEVEL, this.LoginUser.DPT_NAME, sfcdb); if (rolelist != null) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "獲取成功"; StationReturn.Data = rolelist; this.DBPools["SFCDB"].Return(sfcdb); } else { this.DBPools["SFCDB"].Return(sfcdb); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "無角色信息"; StationReturn.Data = rolelist; } } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 刪除角色ID信息刪除C_ROLE表,C_ROLE_PRIVILEGE ,C_USER_ROLE /// </summary> public void DeleteRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string strid = ""; T_C_ROLE GetRoleInformation; T_C_ROLE_PRIVILEGE GetRolePrivilegeInfo; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); GetRoleInformation = new T_C_ROLE(sfcdb, DBTYPE); GetRolePrivilegeInfo = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE); foreach (string item in Data["ID"]) { strid = item.Trim('\'').Trim('\"'); if (GetRoleInformation.CheckRole(strid, sfcdb)) { Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(strid, sfcdb); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; if (!GetRolePrivilegeInfo.CheckRolePrivilege(strid, sfcdb)) //檢查C_ROLE_PRIVILEGE是否有添加角色權限,如果存在就刪除 { Row_C_PRIVILEGE PrivilegeRow = (Row_C_PRIVILEGE)GetRolePrivilegeInfo.GetObjByRoleID(strid, sfcdb); DeleteSql += PrivilegeRow.GetDeleteString(DBTYPE) + ";\n"; } } else { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "該角色已被賦予用戶使用,不能刪除"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(sfcdb); return; } } DeleteSql = "BEGIN\n" + DeleteSql + "END;"; sfcdb.ExecSQL(DeleteSql); sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "刪除成功"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 更新角色ID信息,更新C_ROLE表相關內容 /// </summary> public void UpdateRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string UpdateSql = ""; T_C_ROLE GetRoleInformation; string ID = Data["ID"].ToString(); string ROLE_NAME = Data["ROLE_NAME"].ToString(); string ROLE_DESC = Data["ROLE_DESC"].ToString(); string ROLE_TYPE = Data["ROLE_TYPE"].ToString(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); GetRoleInformation = new T_C_ROLE(sfcdb, DBTYPE); Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(Data["ID"].ToString(), sfcdb); row.ID = ID; row.ROLE_NAME = ROLE_NAME; row.ROLE_DESC = ROLE_DESC; row.ROLE_TYPE = ROLE_TYPE; row.EDIT_EMP = LoginUser.EMP_NO; row.SYSTEM_NAME = SystemName; row.EDIT_TIME = GetDBDateTime(); UpdateSql = row.GetUpdateString(DBTYPE); sfcdb.ExecSQL(UpdateSql); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "更新成功"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 根據傳入角色 除掉登錄人能管理的角色中存在和該角色相同的權限ID /// </summary> public void CheckTwoRolePrivilegeID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_ROLE_PRIVILEGE CheckRolePrivilege; T_C_ROLE GetMangeRole; List <c_role_privilegeinfobyemp> CheckRolePrivilegeList; List <c_role_byempl> GetMangeRoleList; string EDITROLE_ID = Data["EDITROLE_ID"].ToString(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); CheckRolePrivilege = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE); GetMangeRole = new T_C_ROLE(sfcdb, DBTYPE); GetMangeRoleList = GetMangeRole.ManageRoleByUser(new List <get_c_roleid>(), this.LoginUser.DPT_NAME, this.LoginUser.BU, this.LoginUser.FACTORY, this.LoginUser.EMP_LEVEL, sfcdb); if (GetMangeRoleList.Count == 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "無角色能管理"; this.DBPools["SFCDB"].Return(sfcdb); return; } CheckRolePrivilegeList = CheckRolePrivilege.CheckTwoRolePrivilegeID(GetMangeRoleList, EDITROLE_ID, this.LoginUser.EMP_LEVEL, sfcdb); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000026"; // StationReturn.Message = "獲取成功"; StationReturn.Data = CheckRolePrivilegeList; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 創建角色ID Inser into C_ROLE /// </summary> public void CreateRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec SFCDB = null; string InsertSql = ""; T_C_ROLE Roler; string EMP_LEVEL = this.LoginUser.EMP_LEVEL; string DPT_NAME = this.LoginUser.DPT_NAME; string ROLE_NAME = Data["ROLE_NAME"].ToString(); string ROLE_TYPE = Data["ROLE_TYPE"].ToString(); try { SFCDB = this.DBPools["SFCDB"].Borrow(); Roler = new T_C_ROLE(SFCDB, DBTYPE); if (Roler.CheckRoleData(ROLE_NAME, ROLE_TYPE, EMP_LEVEL, DPT_NAME, SFCDB)) { Row_C_ROLE row = (Row_C_ROLE)Roler.NewRow(); row.ID = Roler.GetNewID(BU, SFCDB); row.ROLE_NAME = Data["ROLE_NAME"].ToString(); row.ROLE_DESC = Data["ROLE_DESC"].ToString(); if (this.LoginUser.EMP_LEVEL == "9") { row.ROLE_TYPE = Data["ROLE_TYPE"].ToString(); row.EDIT_EMP = LoginUser.EMP_NO; row.SYSTEM_NAME = SystemName; row.EDIT_TIME = GetDBDateTime(); InsertSql = row.GetInsertString(DBTYPE); SFCDB.ExecSQL(InsertSql); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "創建角色成功"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(SFCDB); } else { row.ROLE_TYPE = this.LoginUser.DPT_NAME; if (Data["ROLE_TYPE"].ToString() != this.LoginUser.DPT_NAME) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "该用户等级不能创建本部门之外的权限"; this.DBPools["SFCDB"].Return(SFCDB); } else { row.EDIT_EMP = LoginUser.EMP_NO; row.SYSTEM_NAME = SystemName; row.EDIT_TIME = GetDBDateTime(); InsertSql = row.GetInsertString(DBTYPE); SFCDB.ExecSQL(InsertSql); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "創建角色成功"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(SFCDB); } } } else { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "角色11已存在"; this.DBPools["SFCDB"].Return(SFCDB); } } catch (Exception e) { this.DBPools["SFCDB"].Return(SFCDB); throw e; } }