/// <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> ///刪除用戶添加角色 DELETE C_USER_ROLE /// </summary> public void DeleteUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; T_c_user_role GetUserRole; string EMP_NO = Data["EMP_NO"].ToString(); // string[] ROLE_ID = Data["ROLE_ID"].ToString().Split(','); try { sfcdb = this.DBPools["SFCDB"].Borrow(); GetUserRole = new T_c_user_role(sfcdb, DBTYPE); string USER_ID = GetUserRole.GetUserID(EMP_NO, sfcdb); sfcdb.BeginTrain(); foreach (string item in Data["ROLE_ID"]) { string strroleid = item.Trim('\'').Trim('\"'); Row_c_user_role row = (Row_c_user_role)GetUserRole.GetObjByUserIDRoleID(USER_ID, strroleid, sfcdb, this.DBTYPE); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; } 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> ///給用戶添加角色 INSERT C_USER_ROLE,并更新C_USER LEVEL_FLAG欄位的值 0表示普通用戶,1表示普通管理員,9 IT所有 /// </summary> public void AddUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string InsertSql = "", UpdateSql = ""; T_c_user_role UserRoler; T_c_user EmpLevel; string EMP_NO = Data["EMP_NO"].ToString(); string LEVEL_FLAG = Data["LEVEL_FLAG"].ToString(); // string[] ROLE_ID = Data["ROLE_ID"].ToString().Trim('[').Trim(']').Split(','); try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); UserRoler = new T_c_user_role(sfcdb, DBTYPE); EmpLevel = new T_c_user(sfcdb, DBTYPE); string USER_ID = UserRoler.GetUserID(EMP_NO, sfcdb); foreach (string item in Data["ROLE_ID"]) { string strroleid = item.Trim('\'').Trim('\"'); if (UserRoler.CheckUserRole(USER_ID, strroleid, sfcdb)) { Row_c_user_role row = (Row_c_user_role)UserRoler.NewRow(); row.ID = UserRoler.GetNewID(BU, sfcdb); row.USER_ID = USER_ID; row.ROLE_ID = strroleid; row.EDIT_EMP = LoginUser.EMP_NO; row.SYSTEM_NAME = SystemName; row.EDIT_TIME = GetDBDateTime(); InsertSql += row.GetInsertString(DBTYPE) + ";\n"; } else { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "該用戶已擁有該角色"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(sfcdb); return; } } InsertSql = "begin\n" + InsertSql + "end;"; sfcdb.ExecSQL(InsertSql); if (EmpLevel.CheckEmpLevel(USER_ID, LEVEL_FLAG, sfcdb)) { Row_c_user RowLevel = (Row_c_user)EmpLevel.GetObjByID(USER_ID, sfcdb); RowLevel.ID = USER_ID; RowLevel.EMP_LEVEL = LEVEL_FLAG; RowLevel.EDIT_EMP = LoginUser.EMP_NO; RowLevel.EDIT_TIME = GetDBDateTime(); UpdateSql = RowLevel.GetUpdateString(DBTYPE); sfcdb.ExecSQL(UpdateSql); } 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; } }