Пример #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;
            }
        }
Пример #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;
            }
        }
Пример #3
0
        /// <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;
            }
        }
Пример #4
0
        /// <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;
            }
        }
Пример #5
0
        /// <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;
            }
        }
Пример #6
0
        /// <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;
            }
        }
Пример #7
0
        /// <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;
            }
        }