/// <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); }
/// <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; }