Example #1
0
        /// <summary>
        /// 根据userid返回相关部门信息
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public List <DeptPost> GetUdp(string userid)
        {
            List <DeptPost> dpuList      = new List <DeptPost>();
            string          strDeleteSql = string.Format(@"SELECT b.ID AS DeptID, b.Name AS DeptName, a.FK_PostID as PostID,a.LeaderType
	                                            FROM "     + DeptPost.TableName + @" a
	                                            INNER JOIN "     + Department.TableName + @" b ON a.FK_DeptID = b.ID 
	                                            Where a.RecordStatus=1 and a.FK_UserID = '"     + userid + "'");
            DataTable       dt           = RunQuery(strDeleteSql);

            foreach (DataRow dr in dt.Rows)
            {
                DeptPost dpu = new DeptPost();
                dpu.LeaderType = 0;
                if (!string.IsNullOrEmpty(dr["DeptID"].ToString()))
                {
                    dpu.FK_DeptID = int.Parse(dr["DeptID"].ToString());
                }
                if (!string.IsNullOrEmpty(dr["PostID"].ToString()))
                {
                    dpu.FK_PostID = int.Parse(dr["PostID"].ToString());
                }
                if (!string.IsNullOrEmpty(dr["LeaderType"].ToString()))
                {
                    try
                    {
                        dpu.LeaderType = Convert.ToInt32(dr["LeaderType"]);
                    }
                    catch { }
                }
                dpuList.Add(dpu);
            }
            return(dpuList);
        }
Example #2
0
        /// <summary>
        /// 设置领导和负责人
        /// </summary>
        /// <param name="mType">领导或负责人枚举</param>
        /// <param name="strIDs">用户IDs</param>
        /// <param name="bSetOrReset">取消或者设置</param>
        /// <param name="strMessage">错误消息</param>
        /// <returns></returns>
        public static bool SetUserLeaderType(Common.LeaderType mType, List <string> strIDs, bool bSetOrReset, out string strMessage)
        {
            bool bRet = false;

            strMessage = string.Empty;
            DeptPost     dp   = new DeptPost();
            User         user = new User();
            ViewDeptPost v_dp = new ViewDeptPost();

            dp.EnTrans.Begin();
            dp.EnTrans.IsBatch = true;
            foreach (string strID in strIDs)
            {
                if (strID.Length == 0)
                {
                    continue;
                }
                bRet = dp.Load(Convert.ToInt32(strID));

                if (mType == Common.LeaderType.Manager && bSetOrReset)
                {
                    v_dp.EnTrans   = dp.EnTrans;
                    v_dp.Field     = "a.ID";
                    v_dp.Condition = " FK_DeptID = " + dp.FK_DeptID + " and LeaderType in (" + (int)Common.LeaderType.Manager + "," + (int)Common.LeaderType.LeaderAndManager + ")";

                    if (v_dp.DtTable != null)
                    {
                        if (v_dp.DtTable.Rows.Count > 0)
                        {
                            user.EnTrans = dp.EnTrans;
                            user.Load(dp.FK_UserID);
                            bRet       = false;
                            strMessage = string.Format("({0})所在的部门以存在负责人", user.Name);
                            return(bRet);
                        }
                    }
                }
                if (dp.LeaderType == int.MinValue)
                {
                    dp.LeaderType = 0;
                }
                if (bSetOrReset)
                {
                    dp.LeaderType |= (int)mType;
                }
                else
                {
                    if (dp.LeaderType == (int)mType || (dp.LeaderType == ((int)(Common.LeaderType.Leader | Common.LeaderType.Manager))))
                    {
                        dp.LeaderType ^= (int)mType;
                    }
                }
                bRet = dp.Save();
            }
            dp.EnTrans.Commit();
            return(bRet);
        }
Example #3
0
        /// <summary>
        /// 设置职位
        /// </summary>
        /// <param name="postID"></param>
        /// <param name="IDs"></param>
        /// <returns></returns>
        public static bool SetPosition(string postID, List <string> IDs)
        {
            bool bRet = false;

            if (string.IsNullOrEmpty(postID) == false)
            {
                DeptPost dp = new DeptPost();
                dp.EnTrans.Begin();
                dp.EnTrans.IsBatch = true;
                foreach (string strID in IDs)
                {
                    bRet         = dp.Load(Convert.ToInt32(strID));
                    dp.FK_PostID = Convert.ToInt32(postID);
                    bRet         = dp.Save() && DeptPost.UpdateUserSortNum(dp.FK_UserID, dp.Post);
                }
                dp.EnTrans.Commit();
            }
            return(bRet);
        }
 /// <summary>
 /// 设置职位
 /// </summary>
 /// <param name="postID"></param>
 /// <param name="IDs"></param>
 /// <returns></returns>
 public static bool SetPosition(string postID, List<string> IDs)
 {
     bool bRet = false;
     if (string.IsNullOrEmpty(postID) == false)
     {
         DeptPost dp = new DeptPost();
         dp.EnTrans.Begin();
         dp.EnTrans.IsBatch = true;
         foreach (string strID in IDs)
         {
             bRet = dp.Load(Convert.ToInt32(strID));
             dp.FK_PostID = Convert.ToInt32(postID);
             bRet = dp.Save() && DeptPost.UpdateUserSortNum(dp.FK_UserID, dp.Post);
         }
         dp.EnTrans.Commit();
     }
     return bRet;
 }
 /// <summary>
 /// 根据userid返回相关部门信息
 /// </summary>
 /// <param name="userid"></param>
 /// <returns></returns>
 public List<DeptPost> GetUdp(string userid)
 {
     List<DeptPost> dpuList = new List<DeptPost>();
     string strDeleteSql = string.Format(@"SELECT b.ID AS DeptID, b.Name AS DeptName, a.FK_PostID as PostID,a.LeaderType
                                         FROM " + DeptPost.TableName + @" a
                                         INNER JOIN " + Department.TableName + @" b ON a.FK_DeptID = b.ID
                                         Where a.RecordStatus=1 and a.FK_UserID = '" + userid + "'");
     DataTable dt = RunQuery(strDeleteSql);
     foreach (DataRow dr in dt.Rows)
     {
         DeptPost dpu = new DeptPost();
         dpu.LeaderType = 0;
         if (!string.IsNullOrEmpty(dr["DeptID"].ToString()))
         {
             dpu.FK_DeptID = int.Parse(dr["DeptID"].ToString());
         }
         if (!string.IsNullOrEmpty(dr["PostID"].ToString()))
         {
             dpu.FK_PostID = int.Parse(dr["PostID"].ToString());
         }
         if (!string.IsNullOrEmpty(dr["LeaderType"].ToString()))
         {
             try
             {
                 dpu.LeaderType = Convert.ToInt32(dr["LeaderType"]);
             }
             catch { }
         }
         dpuList.Add(dpu);
     }
     return dpuList;
 }
        /// <summary>
        /// 设置领导和负责人
        /// </summary>
        /// <param name="mType">领导或负责人枚举</param>
        /// <param name="strIDs">用户IDs</param>
        /// <param name="bSetOrReset">取消或者设置</param>
        /// <param name="strMessage">错误消息</param>
        /// <returns></returns>
        public static bool SetUserLeaderType(Common.LeaderType mType, List<string> strIDs, bool bSetOrReset,out string strMessage)
        {
            bool bRet = false;
            strMessage = string.Empty;
            DeptPost dp = new DeptPost();
            User user = new User();
            ViewDeptPost v_dp = new ViewDeptPost();
            dp.EnTrans.Begin();
            dp.EnTrans.IsBatch = true;
            foreach (string strID in strIDs)
            {
                if (strID.Length == 0) continue;
                bRet = dp.Load(Convert.ToInt32(strID));

                if (mType == Common.LeaderType.Manager && bSetOrReset)
                {
                    v_dp.EnTrans = dp.EnTrans;
                    v_dp.Field = "a.ID";
                    v_dp.Condition = " FK_DeptID = " + dp.FK_DeptID + " and LeaderType in (" + (int)Common.LeaderType.Manager + "," + (int)Common.LeaderType.LeaderAndManager + ")";

                    if (v_dp.DtTable != null)
                    {
                        if (v_dp.DtTable.Rows.Count > 0)
                        {
                            user.EnTrans = dp.EnTrans;
                            user.Load(dp.FK_UserID);
                            bRet = false;
                            strMessage = string.Format("({0})所在的部门以存在负责人",user.Name);
                            return bRet;
                        }
                    }
                }
                if (dp.LeaderType == int.MinValue)
                {
                    dp.LeaderType = 0;
                }
                if (bSetOrReset)
                {
                    dp.LeaderType |= (int)mType;
                }
                else
                {
                    if (dp.LeaderType == (int)mType || (dp.LeaderType == ((int)(Common.LeaderType.Leader | Common.LeaderType.Manager))))
                    {
                        dp.LeaderType ^= (int)mType;
                    }
                }
                bRet = dp.Save();
            }
            dp.EnTrans.Commit();
            return bRet;
        }