Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        public static void InputEmpPrivchecker(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <R_Station_Action_Para> Paras)
        {
            if (Paras.Count == 0)
            {
                throw new Exception("參數數量不正確!");
            }
            MESStationSession EMP_NOLoadPoint = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (EMP_NOLoadPoint == null)
            {
                EMP_NOLoadPoint = new MESStationSession()
                {
                    MESDataType = "INPUTEMP", InputValue = Input.Value.ToString(), SessionKey = "1", ResetInput = Input
                };
                Station.StationSession.Add(EMP_NOLoadPoint);
            }
            bool   bPrivilege = false;
            string empNo      = Input.Value.ToString();
            //T_c_user cUser = new T_c_user(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            //Row_c_user rUser = cUser.getC_Userbyempno(empNo, Station.SFCDB, DB_TYPE_ENUM.Oracle);

            T_c_user_role       cUserRole  = new T_c_user_role(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            List <get_c_roleid> roleList   = cUserRole.GetRoleID(empNo, Station.SFCDB);
            List <string>       listRoleID = new List <string>();

            foreach (var item in roleList)
            {
                listRoleID.Add(item.ROLE_ID);
            }
            T_C_ROLE_PRIVILEGE tRolePrivilege = new T_C_ROLE_PRIVILEGE(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            List <c_role_privilegeinfobyemp> privilegeList = new List <c_role_privilegeinfobyemp>();

            foreach (string item in listRoleID)
            {
                List <c_role_privilegeinfobyemp> tempList = tRolePrivilege.QueryRolePrivilege(item, Station.SFCDB);
                privilegeList.AddRange(tempList);
            }
            EMP_NOLoadPoint.Value = privilegeList;
            foreach (var item in privilegeList)
            {
                if (item.PRIVILEGE_NAME == Station.DisplayName)
                {
                    bPrivilege = true;
                }
            }
            if (bPrivilege)
            {
                Station.AddMessage("MES00000001", new string[] { }, MESReturnView.Station.StationMessageState.Pass);
            }
            else
            {
                throw new Exception("no privilege");
            }
        }
Ejemplo n.º 4
0
        /// <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;
            }
        }
Ejemplo n.º 5
0
        public void LoadUserRoleInfo(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec                sfcdb = null;
            T_c_user_role          UserRoleInfo;
            List <c_load_userrole> UserRoleInfoList;
            string EMP_NO = Data["EMP_NO"].ToString();

            try
            {
                sfcdb                 = this.DBPools["SFCDB"].Borrow();
                UserRoleInfo          = new T_c_user_role(sfcdb, DBTYPE);
                UserRoleInfoList      = UserRoleInfo.QueryUserRoleInfo(EMP_NO, this.LoginUser.DPT_NAME, this.LoginUser.BU, this.LoginUser.FACTORY, this.LoginUser.EMP_LEVEL, sfcdb);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "獲取成功";
                StationReturn.Data    = UserRoleInfoList;
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Ejemplo n.º 6
0
        /// <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;
            }
        }