/// <summary> /// 将DataRedar转换为List /// </summary> private List <FoWoSoft.Data.Model.Organize> DataReaderToList(SqlDataReader dataReader) { List <FoWoSoft.Data.Model.Organize> List = new List <FoWoSoft.Data.Model.Organize>(); FoWoSoft.Data.Model.Organize model = null; while (dataReader.Read()) { model = new FoWoSoft.Data.Model.Organize(); model.ID = dataReader.GetGuid(0); model.Name = dataReader.GetString(1); model.Number = dataReader.GetString(2); model.Type = dataReader.GetInt32(3); model.Status = dataReader.GetInt32(4); model.ParentID = dataReader.GetGuid(5); model.Sort = dataReader.GetInt32(6); model.Depth = dataReader.GetInt32(7); model.ChildsLength = dataReader.GetInt32(8); if (!dataReader.IsDBNull(9)) { model.ChargeLeader = dataReader.GetString(9); } if (!dataReader.IsDBNull(10)) { model.Leader = dataReader.GetString(10); } if (!dataReader.IsDBNull(11)) { model.Note = dataReader.GetString(11); } List.Add(model); } return(List); }
protected void Page_Load(object sender, EventArgs e) { FoWoSoft.Platform.Organize borganize = new FoWoSoft.Platform.Organize(); FoWoSoft.Data.Model.Organize org = null; string id = Request.QueryString["id"]; string name = string.Empty; string type = string.Empty; string status = string.Empty; string note = string.Empty; Guid orgID; if (id.IsGuid(out orgID)) { org = borganize.Get(orgID); } if (IsPostBack && org != null) { name = Request.Form["Name"]; type = Request.Form["Type"]; status = Request.Form["Status"]; note = Request.Form["note"]; FoWoSoft.Data.Model.Organize org1 = new FoWoSoft.Data.Model.Organize(); Guid org1ID = Guid.NewGuid(); org1.ID = org1ID; org1.Name = name.Trim(); org1.Note = note.IsNullOrEmpty() ? null : note.Trim(); org1.Number = org.Number + "," + org1ID.ToString().ToLower(); org1.ParentID = org.ID; org1.Sort = borganize.GetMaxSort(org.ID); org1.Status = status.IsInt() ? status.ToInt() : 0; org1.Type = type.ToInt(); org1.Depth = org.Depth + 1; using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { borganize.Add(org1); //更新父级[ChildsLength]字段 borganize.UpdateChildsLength(org.ID); scope.Complete(); } FoWoSoft.Platform.Log.Add("添加了组织机构", org1.Serialize(), FoWoSoft.Platform.Log.Types.组织机构); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;", true); } this.TypeRadios.Text = borganize.GetTypeRadio("Type", type, "validate=\"radio\""); this.StatusRadios.Text = borganize.GetStatusRadio("Status", "0", "validate=\"radio\""); }
/// <summary> /// 更新 /// </summary> public int Update(FoWoSoft.Data.Model.Organize model) { return(dataOrganize.Update(model)); }
/// <summary> /// 新增 /// </summary> public int Add(FoWoSoft.Data.Model.Organize model) { return(dataOrganize.Add(model)); }
protected void Page_Load(object sender, EventArgs e) { FoWoSoft.Data.Model.Organize org = null; FoWoSoft.Platform.Organize borganize = new FoWoSoft.Platform.Organize(); string id = Request.QueryString["id"]; if (id.IsGuid()) { org = borganize.Get(id.ToGuid()); } if (IsPostBack) { //保存 if (!Request.Form["Save"].IsNullOrEmpty() && org != null) { string name = Request.Form["Name"]; string type = Request.Form["Type"]; string status = Request.Form["Status"]; string chargeLeader = Request.Form["ChargeLeader"]; string leader = Request.Form["Leader"]; string note = Request.Form["note"]; string oldXML = org.Serialize(); org.Name = name.Trim(); org.Type = type.ToInt(1); org.Status = status.ToInt(0); org.ChargeLeader = chargeLeader; org.Leader = leader; org.Note = note.IsNullOrEmpty() ? null : note.Trim(); borganize.Update(org); FoWoSoft.Platform.Log.Add("修改了组织机构", "", FoWoSoft.Platform.Log.Types.组织机构, oldXML, org.Serialize()); string rid = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('保存成功!');parent.frames[0].reLoad('" + rid + "');", true); } //移动 if (!Request.Form["Move1"].IsNullOrEmpty() && org != null) { string toOrgID = Request.Form["deptmove"]; Guid toID; if (toOrgID.IsGuid(out toID) && borganize.Move(org.ID, toID)) { FoWoSoft.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, FoWoSoft.Platform.Log.Types.组织机构); string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('移动成功!');parent.frames[0].reLoad('" + refreshID + "');parent.frames[0].reLoad('" + toOrgID + "')", true); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('移动失败!');", true); } } //删除 if (!Request.Form["Delete"].IsNullOrEmpty()) { int i = borganize.DeleteAndAllChilds(org.ID); FoWoSoft.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), FoWoSoft.Platform.Log.Types.组织机构); string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('共删除了" + i.ToString() + "项!');parent.frames[0].reLoad('" + refreshID + "');", true); } } if (org != null) { this.Name.Value = org.Name; this.TypeRadios.Text = borganize.GetTypeRadio("Type", org.Type.ToString(), "validate=\"radio\""); this.StatusRadios.Text = borganize.GetStatusRadio("Status", org.Status.ToString(), "validate=\"radio\""); this.ChargeLeader.Value = org.ChargeLeader; this.Leader.Value = org.Leader; this.Note.Value = org.Note; } else { this.TypeRadios.Text = borganize.GetTypeRadio("Type", "", "validate=\"radio\""); this.StatusRadios.Text = borganize.GetStatusRadio("Status", "", "validate=\"radio\""); } }
//重建组织时用 public void AddOrganize(DataSet ds) { FoWoSoft.Platform.Guid_id guidIdService = new FoWoSoft.Platform.Guid_id(); var dt = ds.Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { var dr = dt.Rows[i]; #region 部门编号转换成GUID string id = dr["BMBH"].ToString(); var guidId = guidIdService.Get(id); Guid org1ID; if (guidId == null) { org1ID = GetGuid(id); //插入对应表guid--id FoWoSoft.Data.Model.Guid_id guidIdModel = new FoWoSoft.Data.Model.Guid_id() { GuidId = org1ID, useId = id }; guidIdService.Add(guidIdModel); } else { org1ID = guidId.GuidId; } dr["BMBH"] = org1ID; #endregion var orgrion = borganize.Get(org1ID); if (orgrion != null) { continue; } #region 转上级编号为GUID id = dr["SJBM"].ToString(); guidId = guidIdService.Get(id); if (guidId == null) { org1ID = GetGuid(id); //插入对应表guid--id FoWoSoft.Data.Model.Guid_id guidIdModel = new FoWoSoft.Data.Model.Guid_id() { GuidId = org1ID, useId = id }; guidIdService.Add(guidIdModel); } else { org1ID = guidId.GuidId; } dr["SJBM"] = org1ID; #endregion #region 插入组织结构 FoWoSoft.Data.Model.Organize org = new FoWoSoft.Data.Model.Organize(); org.ID = Guid.Parse(dr["BMBH"].ToString()); org.Name = dr["BMMC"].ToString(); org.Note = null; org.Number = ""; // org.Number + "," + org1ID.ToString().ToLower(); org.ParentID = Guid.Parse(dr["SJBM"].ToString()); org.Sort = 0; // borganize.GetMaxSort(org.ID); org.Status = 0; org.Type = 0; // type.ToInt(); org.Depth = 0; // org.Depth + 1; //using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) // { borganize.Add(org); //更新父级[ChildsLength]字段 //borganize.UpdateChildsLength(org.ID); // scope.Complete(); // } #endregion } }
protected void Page_Load(object sender, EventArgs e) { FoWoSoft.Platform.Organize borganize = new FoWoSoft.Platform.Organize(); FoWoSoft.Platform.Users busers = new FoWoSoft.Platform.Users(); FoWoSoft.Platform.UsersRelation buserRelation = new FoWoSoft.Platform.UsersRelation(); FoWoSoft.Data.Model.Users user = null; FoWoSoft.Data.Model.Organize organize = null; string id = Request.QueryString["id"]; string parentID = Request.QueryString["parentid"]; string parentString = string.Empty; this.Account.Attributes.Add("validate_url", "CheckAccount.ashx?id=" + id); Guid userID, organizeID; if (id.IsGuid(out userID)) { user = busers.Get(userID); if (user != null) { //所在组织字符串 System.Text.StringBuilder sb = new System.Text.StringBuilder(); var userRelations = buserRelation.GetAllByUserID(user.ID).OrderByDescending(p => p.IsMain); foreach (var userRelation in userRelations) { sb.Append("<div style='margin:3px 0;'>"); sb.Append(borganize.GetAllParentNames(userRelation.OrganizeID, true)); if (userRelation.IsMain == 0) { sb.Append("<span style='color:#999'> [兼职]</span>"); } sb.Append("</div>"); } this.ParentString.Text = sb.ToString(); var roles = new FoWoSoft.Platform.UsersRole().GetByUserIDFromCache(userID); FoWoSoft.Platform.Role brole = new FoWoSoft.Platform.Role(); System.Text.StringBuilder rolesb = new System.Text.StringBuilder(); foreach (var role in roles) { var role1 = brole.Get(role.RoleID); if (role1 == null) { continue; } rolesb.Append(role1.Name); rolesb.Append(","); } this.RoleString.Text = rolesb.ToString().TrimEnd(','); } } if (parentID.IsGuid(out organizeID)) { organize = borganize.Get(organizeID); } if (IsPostBack) { #region 保存 if (!Request.Form["Save"].IsNullOrEmpty() && user != null) { string name = Request.Form["Name"]; string account = Request.Form["Account"]; string status = Request.Form["Status"]; string note = Request.Form["Note"]; string oldXML = user.Serialize(); user.Name = name.Trim(); user.Account = account.Trim(); user.Status = status.ToInt(1); user.Note = note.IsNullOrEmpty() ? null : note.Trim(); busers.Update(user); FoWoSoft.Platform.Log.Add("修改了用户", "", FoWoSoft.Platform.Log.Types.组织机构, oldXML, user.Serialize()); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('保存成功!');parent.frames[0].reLoad('" + parentID + "');", true); } #endregion #region 除用户 if (!Request.Form["DeleteBut"].IsNullOrEmpty() && user != null && organize != null) { using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { var urs = buserRelation.GetAllByUserID(user.ID); busers.Delete(user.ID); buserRelation.DeleteByUserID(user.ID); new FoWoSoft.Platform.UsersInfo().Delete(user.ID); new FoWoSoft.Platform.UsersRole().DeleteByUserID(user.ID); //更新父级[ChildsLength]字段 foreach (var ur in urs) { borganize.UpdateChildsLength(ur.OrganizeID); } scope.Complete(); } string refreshID = parentID; string url = string.Empty; var users = borganize.GetAllUsers(refreshID.ToGuid()); if (users.Count > 0) { url = "User.aspx?id=" + users.Last().ID + "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&parentid=" + parentID; } else { refreshID = organize.ParentID == Guid.Empty ? organize.ID.ToString() : organize.ParentID.ToString(); url = "Body.aspx?id=" + parentID + "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&parentid=" + organize.ParentID; } FoWoSoft.Platform.Log.Add("删除了用户", user.Serialize(), FoWoSoft.Platform.Log.Types.组织机构); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('删除成功');parent.frames[0].reLoad('" + refreshID + "');window.location='" + url + "'", true); new FoWoSoft.Platform.AppLibrary().ClearUseMemberCache(); } #endregion #region 初始化密码 if (!Request.Form["InitPass"].IsNullOrEmpty() && user != null) { string initpass = busers.GetInitPassword(); busers.InitPassword(user.ID); FoWoSoft.Platform.Log.Add("初始化了用户密码", user.Serialize(), FoWoSoft.Platform.Log.Types.组织机构); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('密码已初始化为:" + initpass + "');", true); } #endregion #region 调动 if (!Request.Form["Move1"].IsNullOrEmpty() && user != null) { string moveto = Request.Form["movetostation"]; string movetostationjz = Request.Form["movetostationjz"]; Guid moveToID; if (moveto.IsGuid(out moveToID)) { using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { var us = buserRelation.GetAllByUserID(user.ID); if ("1" != movetostationjz) { buserRelation.DeleteByUserID(user.ID); } FoWoSoft.Data.Model.UsersRelation ur = new FoWoSoft.Data.Model.UsersRelation(); ur.UserID = user.ID; ur.OrganizeID = moveToID; ur.IsMain = "1" == movetostationjz ? 0 : 1; ur.Sort = buserRelation.GetMaxSort(moveToID); buserRelation.Add(ur); foreach (var u in us) { borganize.UpdateChildsLength(u.OrganizeID); } borganize.UpdateChildsLength(organizeID); borganize.UpdateChildsLength(moveToID); scope.Complete(); Page.ClientScript.RegisterStartupScript(Page.GetType(), "ok", "alert('调动成功!');parent.frames[0].reLoad('" + parentID + "');parent.frames[0].reLoad('" + moveto + "')", true); } FoWoSoft.Platform.Log.Add(("1" == movetostationjz ? "兼职" : "全职") + "调动了人员的岗位", "将人员调往岗位(" + moveto + ")", FoWoSoft.Platform.Log.Types.组织机构); new FoWoSoft.Platform.AppLibrary().ClearUseMemberCache(); } } #endregion } if (user != null) { this.Name.Value = user.Name; this.Account.Value = user.Account; this.Note.Value = user.Note; } this.StatusRadios.Text = borganize.GetStatusRadio("Status", user != null ? user.Status.ToString() : "", "validate=\"radio\""); }
/// <summary> /// 更新记录 /// </summary> /// <param name="model">FoWoSoft.Data.Model.Organize实体类</param> public int Update(FoWoSoft.Data.Model.Organize model) { string sql = @"UPDATE Organize SET Name=@Name,Number=@Number,Type=@Type,Status=@Status,ParentID=@ParentID,Sort=@Sort,Depth=@Depth,ChildsLength=@ChildsLength,ChargeLeader=@ChargeLeader,Leader=@Leader,Note=@Note WHERE ID=@ID" ; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@Name", SqlDbType.VarChar, 2000) { Value = model.Name }, new SqlParameter("@Number", SqlDbType.VarChar, 900) { Value = model.Number }, new SqlParameter("@Type", SqlDbType.Int, -1) { Value = model.Type }, new SqlParameter("@Status", SqlDbType.Int, -1) { Value = model.Status }, new SqlParameter("@ParentID", SqlDbType.UniqueIdentifier, -1) { Value = model.ParentID }, new SqlParameter("@Sort", SqlDbType.Int, -1) { Value = model.Sort }, new SqlParameter("@Depth", SqlDbType.Int, -1) { Value = model.Depth }, new SqlParameter("@ChildsLength", SqlDbType.Int, -1) { Value = model.ChildsLength }, model.ChargeLeader == null ? new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200) { Value = DBNull.Value } : new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200) { Value = model.ChargeLeader }, model.Leader == null ? new SqlParameter("@Leader", SqlDbType.VarChar, 200) { Value = DBNull.Value } : new SqlParameter("@Leader", SqlDbType.VarChar, 200) { Value = model.Leader }, model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, -1) { Value = DBNull.Value } : new SqlParameter("@Note", SqlDbType.NVarChar, -1) { Value = model.Note }, new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1) { Value = model.ID } }; return(dbHelper.Execute(sql, parameters)); }
/// <summary> /// 添加记录 /// </summary> /// <param name="model">FoWoSoft.Data.Model.Organize实体类</param> /// <returns>操作所影响的行数</returns> public int Add(FoWoSoft.Data.Model.Organize model) { string sql = @"INSERT INTO Organize (ID,Name,Number,Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note) VALUES(@ID,@Name,@Number,@Type,@Status,@ParentID,@Sort,@Depth,@ChildsLength,@ChargeLeader,@Leader,@Note)" ; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1) { Value = model.ID }, new SqlParameter("@Name", SqlDbType.VarChar, 2000) { Value = model.Name }, new SqlParameter("@Number", SqlDbType.VarChar, 900) { Value = model.Number }, new SqlParameter("@Type", SqlDbType.Int, -1) { Value = model.Type }, new SqlParameter("@Status", SqlDbType.Int, -1) { Value = model.Status }, new SqlParameter("@ParentID", SqlDbType.UniqueIdentifier, -1) { Value = model.ParentID }, new SqlParameter("@Sort", SqlDbType.Int, -1) { Value = model.Sort }, new SqlParameter("@Depth", SqlDbType.Int, -1) { Value = model.Depth }, new SqlParameter("@ChildsLength", SqlDbType.Int, -1) { Value = model.ChildsLength }, model.ChargeLeader == null ? new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200) { Value = DBNull.Value } : new SqlParameter("@ChargeLeader", SqlDbType.VarChar, 200) { Value = model.ChargeLeader }, model.Leader == null ? new SqlParameter("@Leader", SqlDbType.VarChar, 200) { Value = DBNull.Value } : new SqlParameter("@Leader", SqlDbType.VarChar, 200) { Value = model.Leader }, model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, -1) { Value = DBNull.Value } : new SqlParameter("@Note", SqlDbType.NVarChar, -1) { Value = model.Note } }; return(dbHelper.Execute(sql, parameters)); }