Exemple #1
0
        /// <summary>
        /// 将DataRedar转换为List
        /// </summary>
        private List <BizProcess.Data.Model.Organize> DataReaderToList(OracleDataReader dataReader)
        {
            List <BizProcess.Data.Model.Organize> List = new List <BizProcess.Data.Model.Organize>();

            BizProcess.Data.Model.Organize model = null;
            while (dataReader.Read())
            {
                model              = new BizProcess.Data.Model.Organize();
                model.ID           = dataReader.GetString(0).ToGuid();
                model.Name         = dataReader.GetString(1);
                model.Number       = dataReader.GetString(2);
                model.Type         = dataReader.GetInt32(3);
                model.Status       = dataReader.GetInt32(4);
                model.ParentID     = dataReader.GetString(5).ToGuid();
                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);
        }
        public ActionResult BodyAdd(FormCollection collection)
        {
            BizProcess.Platform.Organize   borganize = new BizProcess.Platform.Organize();
            BizProcess.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 (collection != null && org != null)
            {
                name   = Request.Form["Name"];
                type   = Request.Form["Type"];
                status = Request.Form["Status"];
                note   = Request.Form["note"];

                BizProcess.Data.Model.Organize org1 = new BizProcess.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();
                }

                BizProcess.Platform.Log.Add("添加了组织机构", org1.Serialize(), BizProcess.Platform.Log.Types.组织机构);
                ViewBag.Script = "alert('添加成功!');parent.frames[0].reLoad('" + id + "');window.location=window.location;";
            }
            ViewBag.TypeRadios   = borganize.GetTypeRadio("Type", type, "validate=\"radio\"");
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", "0", "validate=\"radio\"");
            return(View());
        }
Exemple #3
0
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="model">BizProcess.Data.Model.Organize实体类</param>
        public int Update(BizProcess.Data.Model.Organize model)
        {
            string sql = @"UPDATE Organize SET 
				Name=:Name,""NUMBER""=:Number1,Type=:Type,Status=:Status,ParentID=:ParentID,Sort=:Sort,Depth=:Depth,ChildsLength=:ChildsLength,ChargeLeader=:ChargeLeader,Leader=:Leader,Note=:Note
				WHERE ID=:ID"                ;

            OracleParameter[] parameters = new OracleParameter[] {
                new OracleParameter(":Name", OracleDbType.Varchar2, 2000)
                {
                    Value = model.Name
                },
                new OracleParameter(":Number1", OracleDbType.Varchar2, 900)
                {
                    Value = model.Number
                },
                new OracleParameter(":Type", OracleDbType.Int32)
                {
                    Value = model.Type
                },
                new OracleParameter(":Status", OracleDbType.Int32)
                {
                    Value = model.Status
                },
                new OracleParameter(":ParentID", OracleDbType.Char, 36)
                {
                    Value = model.ParentID
                },
                new OracleParameter(":Sort", OracleDbType.Int32)
                {
                    Value = model.Sort
                },
                new OracleParameter(":Depth", OracleDbType.Int32)
                {
                    Value = model.Depth
                },
                new OracleParameter(":ChildsLength", OracleDbType.Int32)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new OracleParameter(":Note", OracleDbType.NClob)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Note", OracleDbType.NClob)
                {
                    Value = model.Note
                },
                new OracleParameter(":ID", OracleDbType.Char, 36)
                {
                    Value = model.ID
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
Exemple #4
0
        /// <summary>
        /// 添加记录
        /// </summary>
        /// <param name="model">BizProcess.Data.Model.Organize实体类</param>
        /// <returns>操作所影响的行数</returns>
        public int Add(BizProcess.Data.Model.Organize model)
        {
            string sql = @"INSERT INTO Organize
				(ID,Name,""NUMBER"",Type,Status,ParentID,Sort,Depth,ChildsLength,ChargeLeader,Leader,Note) 
				VALUES(:ID,:Name,:Number1,:Type,:Status,:ParentID,:Sort,:Depth,:ChildsLength,:ChargeLeader,:Leader,:Note)"                ;

            OracleParameter[] parameters = new OracleParameter[] {
                new OracleParameter(":ID", OracleDbType.Char, 36)
                {
                    Value = model.ID
                },
                new OracleParameter(":Name", OracleDbType.Varchar2, 2000)
                {
                    Value = model.Name
                },
                new OracleParameter(":Number1", OracleDbType.Varchar2, 900)
                {
                    Value = model.Number
                },
                new OracleParameter(":Type", OracleDbType.Int32)
                {
                    Value = model.Type
                },
                new OracleParameter(":Status", OracleDbType.Int32)
                {
                    Value = model.Status
                },
                new OracleParameter(":ParentID", OracleDbType.Char, 36)
                {
                    Value = model.ParentID
                },
                new OracleParameter(":Sort", OracleDbType.Int32)
                {
                    Value = model.Sort
                },
                new OracleParameter(":Depth", OracleDbType.Int32)
                {
                    Value = model.Depth
                },
                new OracleParameter(":ChildsLength", OracleDbType.Int32)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":ChargeLeader", OracleDbType.Varchar2, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Leader", OracleDbType.Varchar2, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new OracleParameter(":Note", OracleDbType.NClob)
                {
                    Value = DBNull.Value
                } : new OracleParameter(":Note", OracleDbType.NClob)
                {
                    Value = model.Note
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
Exemple #5
0
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="model">BizProcess.Data.Model.Organize实体类</param>
        public int Update(BizProcess.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"                ;

            MySqlParameter[] parameters = new MySqlParameter[] {
                new MySqlParameter("@Name", MySqlDbType.VarChar, 2000)
                {
                    Value = model.Name
                },
                new MySqlParameter("@Number", MySqlDbType.VarChar, 900)
                {
                    Value = model.Number
                },
                new MySqlParameter("@Type", MySqlDbType.Int32, -1)
                {
                    Value = model.Type
                },
                new MySqlParameter("@Status", MySqlDbType.Int32, -1)
                {
                    Value = model.Status
                },
                new MySqlParameter("@ParentID", MySqlDbType.VarChar, 36)
                {
                    Value = model.ParentID
                },
                new MySqlParameter("@Sort", MySqlDbType.Int32, -1)
                {
                    Value = model.Sort
                },
                new MySqlParameter("@Depth", MySqlDbType.Int32, -1)
                {
                    Value = model.Depth
                },
                new MySqlParameter("@ChildsLength", MySqlDbType.Int32, -1)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new MySqlParameter("@Leader", MySqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@Leader", MySqlDbType.VarChar, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new MySqlParameter("@Note", MySqlDbType.Text, -1)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@Note", MySqlDbType.Text, -1)
                {
                    Value = model.Note
                },
                new MySqlParameter("@ID", MySqlDbType.VarChar, 36)
                {
                    Value = model.ID
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
Exemple #6
0
        /// <summary>
        /// 添加记录
        /// </summary>
        /// <param name="model">BizProcess.Data.Model.Organize实体类</param>
        /// <returns>操作所影响的行数</returns>
        public int Add(BizProcess.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)"                ;

            MySqlParameter[] parameters = new MySqlParameter[] {
                new MySqlParameter("@ID", MySqlDbType.VarChar, 36)
                {
                    Value = model.ID
                },
                new MySqlParameter("@Name", MySqlDbType.VarChar, 2000)
                {
                    Value = model.Name
                },
                new MySqlParameter("@Number", MySqlDbType.VarChar, 900)
                {
                    Value = model.Number
                },
                new MySqlParameter("@Type", MySqlDbType.Int32, -1)
                {
                    Value = model.Type
                },
                new MySqlParameter("@Status", MySqlDbType.Int32, -1)
                {
                    Value = model.Status
                },
                new MySqlParameter("@ParentID", MySqlDbType.VarChar, 36)
                {
                    Value = model.ParentID
                },
                new MySqlParameter("@Sort", MySqlDbType.Int32, -1)
                {
                    Value = model.Sort
                },
                new MySqlParameter("@Depth", MySqlDbType.Int32, -1)
                {
                    Value = model.Depth
                },
                new MySqlParameter("@ChildsLength", MySqlDbType.Int32, -1)
                {
                    Value = model.ChildsLength
                },
                model.ChargeLeader == null ? new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@ChargeLeader", MySqlDbType.VarChar, 200)
                {
                    Value = model.ChargeLeader
                },
                model.Leader == null ? new MySqlParameter("@Leader", MySqlDbType.VarChar, 200)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@Leader", MySqlDbType.VarChar, 200)
                {
                    Value = model.Leader
                },
                model.Note == null ? new MySqlParameter("@Note", MySqlDbType.Text, -1)
                {
                    Value = DBNull.Value
                } : new MySqlParameter("@Note", MySqlDbType.Text, -1)
                {
                    Value = model.Note
                }
            };
            return(dbHelper.Execute(sql, parameters));
        }
        public ActionResult User(FormCollection collection)
        {
            BizProcess.Platform.Organize      borganize     = new BizProcess.Platform.Organize();
            BizProcess.Platform.Users         busers        = new BizProcess.Platform.Users();
            BizProcess.Platform.UsersRelation buserRelation = new BizProcess.Platform.UsersRelation();
            BizProcess.Data.Model.Users       user          = null;
            BizProcess.Data.Model.Organize    organize      = null;
            string id       = Request.QueryString["id"];
            string parentID = Request.QueryString["parentid"];

            string name    = string.Empty;
            string account = string.Empty;
            string status  = string.Empty;
            string note    = string.Empty;

            string parentString = string.Empty;

            Guid userID, organizeID;

            if (id.IsGuid(out userID))
            {
                user = busers.Get(userID);
                if (user != null)
                {
                    name    = user.Name;
                    account = user.Account;
                    status  = user.Status.ToString();
                    note    = user.Note;

                    //所在组织字符串
                    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>");
                    }
                    ViewBag.ParentString = sb.ToString();
                    var roles = new BizProcess.Platform.UsersRole().GetByUserIDFromCache(userID);
                    BizProcess.Platform.Role  brole  = new BizProcess.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(",");
                    }
                    ViewBag.RoleString = rolesb.ToString().TrimEnd(',');
                }
            }
            if (parentID.IsGuid(out organizeID))
            {
                organize = borganize.Get(organizeID);
            }

            if (collection != null)
            {
                //保存
                if (!Request.Form["Save"].IsNullOrEmpty() && user != null)
                {
                    name    = Request.Form["Name"];
                    account = Request.Form["Account"];
                    status  = Request.Form["Status"];
                    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);
                    BizProcess.Platform.Log.Add("修改了用户", "", BizProcess.Platform.Log.Types.组织机构, oldXML, user.Serialize());
                    ViewBag.Script = "alert('保存成功!');parent.frames[0].reLoad('" + parentID + "');";
                }

                //删除用户
                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 BizProcess.Platform.UsersInfo().Delete(user.ID);
                        new BizProcess.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?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?id=" + parentID + "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&parentid=" + organize.ParentID;
                    }
                    BizProcess.Platform.Log.Add("删除了用户", user.Serialize(), BizProcess.Platform.Log.Types.组织机构);
                    ViewBag.Script = "alert('删除成功');parent.frames[0].reLoad('" + refreshID + "');window.location='" + url + "'";
                    new BizProcess.Platform.AppLibrary().ClearUseMemberCache();
                }

                //初始化密码
                if (!Request.Form["InitPass"].IsNullOrEmpty() && user != null)
                {
                    string initpass = busers.GetInitPassword();
                    busers.InitPassword(user.ID);
                    BizProcess.Platform.Log.Add("初始化了用户密码", user.Serialize(), BizProcess.Platform.Log.Types.组织机构);
                    ViewBag.Script = "alert('密码已初始化为:" + initpass + "');";
                }

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

                            BizProcess.Data.Model.UsersRelation ur = new BizProcess.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();
                            ViewBag.Script = "alert('调动成功!');parent.frames[0].reLoad('" + parentID + "');parent.frames[0].reLoad('" + moveto + "')";
                        }

                        BizProcess.Platform.Log.Add(("1" == movetostationjz ? "兼职" : "全职") + "调动了人员的岗位", "将人员调往岗位(" + moveto + ")", BizProcess.Platform.Log.Types.组织机构);
                        new BizProcess.Platform.AppLibrary().ClearUseMemberCache();
                    }
                }
            }
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", status, "validate=\"radio\"");
            return(View(user));
        }
        public ActionResult Body(FormCollection collection)
        {
            BizProcess.Data.Model.Organize org       = null;
            BizProcess.Platform.Organize   borganize = new BizProcess.Platform.Organize();
            string id = Request.QueryString["id"];

            if (id.IsGuid())
            {
                org = borganize.Get(id.ToGuid());
            }

            //保存
            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);
                BizProcess.Platform.Log.Add("修改了组织机构", "", BizProcess.Platform.Log.Types.组织机构, oldXML, org.Serialize());
                string rid = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                ViewBag.Script = "alert('保存成功!');parent.frames[0].reLoad('" + rid + "');";
            }

            //移动
            if (!Request.Form["Move1"].IsNullOrEmpty() && org != null)
            {
                string toOrgID = Request.Form["deptmove"];
                Guid   toID;
                if (toOrgID.IsGuid(out toID) && borganize.Move(org.ID, toID))
                {
                    BizProcess.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, BizProcess.Platform.Log.Types.组织机构);
                    string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                    ViewBag.Script = "alert('移动成功!');parent.frames[0].reLoad('" + refreshID + "');parent.frames[0].reLoad('" + toOrgID + "')";
                }
                else
                {
                    ViewBag.Script = "alert('移动失败!');";
                }
            }

            //删除
            if (!Request.Form["Delete"].IsNullOrEmpty())
            {
                int i = borganize.DeleteAndAllChilds(org.ID);
                BizProcess.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), BizProcess.Platform.Log.Types.组织机构);
                string refreshID = org.ParentID == Guid.Empty ? org.ID.ToString() : org.ParentID.ToString();
                ViewBag.Script = "alert('共删除了" + i.ToString() + "项!');parent.frames[0].reLoad('" + refreshID + "');";
            }

            if (org == null)
            {
                org = new BizProcess.Data.Model.Organize();
            }
            ViewBag.TypeRadios   = borganize.GetTypeRadio("Type", org.Type.ToString(), "validate=\"radio\"");
            ViewBag.StatusRadios = borganize.GetStatusRadio("Status", org.Status.ToString(), "validate=\"radio\"");

            return(View(org));
        }
Exemple #9
0
 /// <summary>
 /// 更新
 /// </summary>
 public int Update(BizProcess.Data.Model.Organize model)
 {
     return(dataOrganize.Update(model));
 }
Exemple #10
0
 /// <summary>
 /// 新增
 /// </summary>
 public int Add(BizProcess.Data.Model.Organize model)
 {
     return(dataOrganize.Add(model));
 }