public bool EditUser(RoadFlow.Data.Model.Users user) { if (user.Mobile.IsNullOrEmpty() && user.Email.IsNullOrEmpty() && user.WeiXin.IsNullOrEmpty()) { return(false); } if (this.GetUser(user.Account).IsNullOrEmpty()) { return(this.AddUser(user)); } string url = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=" + this.GetAccessToken(); List <RoadFlow.Data.Model.UsersRelation> allByUserId = new RoadFlow.Platform.UsersRelation().GetAllByUserID(user.ID); RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize(); StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.UsersRelation usersRelation in allByUserId) { RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation.OrganizeID); if (organize2 != null) { stringBuilder.Append(organize2.IntID); stringBuilder.Append(","); } } string str = "{\"userid\":\"" + user.Account + "\",\"name\":\"" + this.replaceName(user.Name) + "\",\"department\":[" + stringBuilder.ToString().TrimEnd(',') + "],\"position\":\"\",\"mobile\":\"" + user.Mobile + "\"," + (user.Sex.HasValue ? "\"gender\":\"" + (user.Sex.Value + 1).ToString() + "\"," : "") + "\"email\":\"" + user.Email + "\",\"weixinid\":\"" + user.WeiXin + "\",\"enable\":" + (user.Status == 0 ? 1 : 0).ToString() + "}"; string json = HttpHelper.SendPost(url, str); JsonData jsonData = JsonMapper.ToObject(json); bool flag = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0; RoadFlow.Platform.Log.Add("调用了微信修改人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, user.Serialize(), str, (RoadFlow.Data.Model.Users)null); return(flag); }
public bool AddUser(RoadFlow.Data.Model.Users user) { if (user.Mobile.IsNullOrEmpty() && user.Email.IsNullOrEmpty() && user.WeiXin.IsNullOrEmpty()) { return(false); } string url = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=" + GetAccessToken(); List <RoadFlow.Data.Model.UsersRelation> allByUserID = new UsersRelation().GetAllByUserID(user.ID); RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize(); StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.UsersRelation item in allByUserID) { RoadFlow.Data.Model.Organize organize2 = organize.Get(item.OrganizeID); if (organize2 != null) { stringBuilder.Append(organize2.IntID); stringBuilder.Append(","); } } string text = "{\"userid\":\"" + user.Account + "\",\"name\":\"" + replaceName(user.Name) + "\",\"department\":[" + stringBuilder.ToString().TrimEnd(',') + "],\"position\":\"\",\"mobile\":\"" + user.Mobile + "\"," + (user.Sex.HasValue ? ("\"gender\":\"" + (user.Sex.Value + 1).ToString() + "\",") : "") + "\"weixinid\":\"" + user.WeiXin + "\"}"; string text2 = HttpHelper.SendPost(url, text); JsonData jsonData = JsonMapper.ToObject(text2); bool flag = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0; Log.Add("调用了微信添加人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + text2, Log.Types.微信企业号, user.Serialize(), text); return(flag); }
public ActionResult Index() { string pager = string.Empty; //DataTable dt = sms.GetDataPage(out pager, "", pageSize, 1); string query = string.Format("&appid={0}&tabid={1}&flag={2}", Request.QueryString["appid"], Request.QueryString["tabid"], Request.QueryString["flag"]); DataTable dt = sms.GetDataPage(out pager, query, pageSize, RoadFlow.Utility.Tools.GetPageNumber()); ViewBag.Pager = pager; List <RoadFlow.Data.Model.SMSModel> list = dt.ToList <RoadFlow.Data.Model.SMSModel>(); List <RoadFlow.Data.Model.SMSModel> view = new List <RoadFlow.Data.Model.SMSModel>(); foreach (var item in list) { RoadFlow.Platform.UsersBLL user = new RoadFlow.Platform.UsersBLL(); RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize(); //把sendTo里的id取出来,然后清空sendTo string[] sendTo = item.SendTo.Split(','); item.SendTo = string.Empty; foreach (var id in sendTo) { if (id.Contains("u_")) //个人 { string newId = id.Remove(0, 2); if (newId.IsGuid()) { RoadFlow.Data.Model.UsersModel u = user.Get(Guid.Parse(newId)); if (u != null) { item.SendTo += "," + u.Name; } else { item.SendTo = ",用户已删除"; } } } else //选中的是组织 { if (id.IsGuid()) { RoadFlow.Data.Model.Organize o = organize.Get(Guid.Parse(id)); if (o != null) { item.SendTo += "," + o.Name; } else { item.SendTo = ",组织机构已删除"; } } } } item.SendTo = item.SendTo.Remove(0, 1);//去掉第一个多余的",". view.Add(item); } return(View(view)); }
public void UpdateAllUsers() { RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize(); RoadFlow.Platform.UsersRelation usersRelation1 = new RoadFlow.Platform.UsersRelation(); List <RoadFlow.Data.Model.Users> all = new RoadFlow.Platform.Users().GetAll(); DataTable dt = new DataTable(); dt.Columns.Add("姓名", "".GetType()); dt.Columns.Add("帐号", "".GetType()); dt.Columns.Add("微信号", "".GetType()); dt.Columns.Add("手机号", "".GetType()); dt.Columns.Add("邮箱", "".GetType()); dt.Columns.Add("所在部门", "".GetType()); dt.Columns.Add("职位", "".GetType()); foreach (RoadFlow.Data.Model.Users users in all) { StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.UsersRelation usersRelation2 in usersRelation1.GetAllByUserID(users.ID)) { RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation2.OrganizeID); if (organize2 != null) { stringBuilder.Append(organize2.IntID); stringBuilder.Append(","); } } DataRow row = dt.NewRow(); row["姓名"] = (object)this.replaceName(users.Name); row["帐号"] = (object)users.Account; row["微信号"] = (object)users.WeiXin; row["手机号"] = (object)users.Mobile; row["邮箱"] = (object)users.Email; row["所在部门"] = (object)stringBuilder.ToString().TrimEnd(','); row["职位"] = (object)""; dt.Rows.Add(row); } string path = RoadFlow.Platform.Files.FilePath + "WeiXinCsv\\"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string str1 = path + Guid.NewGuid().ToString("N") + ".csv"; NPOIHelper.ExportCSV(dt, str1); string str2 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(str1, "file"); if (str2.IsNullOrEmpty()) { return; } string url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=" + this.GetAccessToken(); string oldXML = "{\"media_id\":\"" + str2 + "\"}"; string data = oldXML; RoadFlow.Platform.Log.Add("调用了微信同步所有人员", "返回:" + HttpHelper.SendPost(url, data), RoadFlow.Platform.Log.Types.微信企业号, oldXML, "", (RoadFlow.Data.Model.Users)null); }
public void UpdateAllOrganize() { RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize(); List <RoadFlow.Data.Model.Organize> all = organize1.GetAll(); DataTable dt = new DataTable(); dt.Columns.Add("部门名称", "".GetType()); dt.Columns.Add("部门ID", 1.GetType()); dt.Columns.Add("父部门ID", 1.GetType()); dt.Columns.Add("排序", 1.GetType()); foreach (RoadFlow.Data.Model.Organize organize2 in all) { int num = -1; if (organize2.ParentID.IsEmptyGuid()) { num = 1; } else { RoadFlow.Data.Model.Organize organize3 = organize1.Get(organize2.ParentID); if (organize3 != null) { num = organize3.IntID; } } if (num != -1) { DataRow row = dt.NewRow(); row["部门名称"] = (object)this.replaceName(organize2.Name); row["部门ID"] = (object)organize2.IntID; row["父部门ID"] = (object)num; row["排序"] = (object)organize2.Sort; dt.Rows.Add(row); } } string path = RoadFlow.Platform.Files.FilePath + "WeiXinCsv\\"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string str1 = path + Guid.NewGuid().ToString("N") + ".csv"; NPOIHelper.ExportCSV(dt, str1); string str2 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(str1, "file"); if (str2.IsNullOrEmpty()) { return; } string url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=" + this.GetAccessToken(); string oldXML = "{\"media_id\":\"" + str2 + "\"}"; string data = oldXML; RoadFlow.Platform.Log.Add("调用了微信同步整个组织架构", "返回:" + HttpHelper.SendPost(url, data), RoadFlow.Platform.Log.Types.微信企业号, oldXML, "", (RoadFlow.Data.Model.Users)null); }
public ActionResult BodyAdd(FormCollection collection) { RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize(); RoadFlow.Data.Model.Organize org = null; string id = Request.QueryString["id"]; string name = string.Empty; string type = string.Empty; string tell = 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"]; tell = Request.Form["Tell"]; note = Request.Form["note"]; RoadFlow.Data.Model.Organize org1 = new RoadFlow.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.Convert <int>() : 0; org1.Type = type.Convert <int>(); org1.Depth = org.Depth + 1; using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { borganize.Add(org1); //更新父级[ChildsLength]字段 borganize.UpdateChildsLength(org.ID); scope.Complete(); } RoadFlow.Platform.Log.Add("添加了组织机构", org1.Serialize(), RoadFlow.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()); }
public bool AddUser(RoadFlow.Data.Model.Users user) { if (user.Mobile.IsNullOrEmpty() && user.Email.IsNullOrEmpty() && user.WeiXin.IsNullOrEmpty()) { return(false); } string url = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=" + this.GetAccessToken(); List <RoadFlow.Data.Model.UsersRelation> allByUserId = new RoadFlow.Platform.UsersRelation().GetAllByUserID(user.ID); RoadFlow.Platform.Organize organize1 = new RoadFlow.Platform.Organize(); StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.UsersRelation usersRelation in allByUserId) { RoadFlow.Data.Model.Organize organize2 = organize1.Get(usersRelation.OrganizeID); if (organize2 != null) { stringBuilder.Append(organize2.IntID); stringBuilder.Append(","); } } string[] strArray = new string[13] { "{\"userid\":\"", user.Account, "\",\"name\":\"", this.replaceName(user.Name), "\",\"department\":[", stringBuilder.ToString().TrimEnd(','), "],\"position\":\"\",\"mobile\":\"", user.Mobile, "\",", null, null, null, null }; int index = 9; int? sex = user.Sex; string str1; if (!sex.HasValue) { str1 = ""; } else { string str2 = "\"gender\":\""; sex = user.Sex; string str3 = (sex.Value + 1).ToString(); string str4 = "\","; str1 = str2 + str3 + str4; } strArray[index] = str1; strArray[10] = "\"weixinid\":\""; strArray[11] = user.WeiXin; strArray[12] = "\"}"; string str5 = string.Concat(strArray); string json = HttpHelper.SendPost(url, str5); JsonData jsonData = JsonMapper.ToObject(json); bool flag = jsonData.ContainsKey("errcode") && jsonData["errcode"].ToString().ToInt() == 0; RoadFlow.Platform.Log.Add("调用了微信添加人员-" + user.Name + "-" + (flag ? "成功" : "失败"), "返回:" + json, RoadFlow.Platform.Log.Types.微信企业号, user.Serialize(), str5, (RoadFlow.Data.Model.Users)null); return(flag); }
protected void Page_Load(object sender, EventArgs e) { RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize(); RoadFlow.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"]; RoadFlow.Data.Model.Organize org1 = new RoadFlow.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(); } RoadFlow.Platform.Log.Add("添加了组织机构", org1.Serialize(), RoadFlow.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\""); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string rootid = context.Request.QueryString["rootid"]; string showtype = context.Request.QueryString["showtype"]; RoadFlow.Platform.Organize BOrganize = new RoadFlow.Platform.Organize(); System.Text.StringBuilder json = new System.Text.StringBuilder("[", 1000); if ("1" == showtype)//显示工作组 { RoadFlow.Platform.WorkGroup BWorkGroup = new RoadFlow.Platform.WorkGroup(); var workGroups = BWorkGroup.GetAll(); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", Guid.Empty); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", "工作组"); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/group.gif"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", workGroups.Count); json.Append("\"childs\":["); int countwg = workGroups.Count; int iwg = 0; foreach (var wg in workGroups) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", wg.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", wg.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", 0); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (iwg++ < countwg - 1) { json.Append(","); } } json.Append("]"); json.Append("}"); json.Append("]"); context.Response.Write(json.ToString()); context.Response.End(); } Guid rootID; RoadFlow.Data.Model.Organize root; if (rootid.IsGuid(out rootID)) { root = BOrganize.Get(rootID); } else { root = BOrganize.GetRoot(); } List <RoadFlow.Data.Model.Users> users = new List <RoadFlow.Data.Model.Users>(); RoadFlow.Platform.Users busers = new RoadFlow.Platform.Users(); users = busers.GetAllByOrganizeID(root.ID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", root.ParentID); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/icon_site.gif"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", root.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", root.ChildsLength == 0 && users.Count == 0 ? "0" : "1"); json.Append("\"childs\":["); var orgs = BOrganize.GetChilds(root.ID); int count = orgs.Count; int i = 0; foreach (var org in orgs) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", org.ID); json.AppendFormat("\"parentID\":\"{0}\",", org.ParentID); json.AppendFormat("\"title\":\"{0}\",", org.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", org.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", org.ChildsLength); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (i++ < count - 1 || users.Count > 0) { json.Append(","); } } if (users.Count > 0) { var userRelations = new RoadFlow.Platform.UsersRelation().GetAllByOrganizeID(root.ID); int count1 = users.Count; int j = 0; foreach (var user in users) { var ur = userRelations.Find(p => p.UserID == user.ID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", user.ID); json.AppendFormat("\"parentID\":\"{0}\",", root.ID); json.AppendFormat("\"title\":\"{0}{1}\",", user.Name, ur != null && ur.IsMain == 0 ? "<span style='color:#999;'>[兼职]</span>" : ""); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (j++ < count1 - 1) { json.Append(","); } } } json.Append("]"); json.Append("}"); json.Append("]"); context.Response.Write(json.ToString()); }
public ActionResult User(FormCollection collection) { RoadFlow.Platform.Organize borganize = new RoadFlow.Platform.Organize(); RoadFlow.Platform.Users busers = new RoadFlow.Platform.Users(); RoadFlow.Platform.UsersRelation buserRelation = new RoadFlow.Platform.UsersRelation(); RoadFlow.Data.Model.Users user = null; RoadFlow.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 RoadFlow.Platform.UsersRole().GetByUserIDFromCache(userID); RoadFlow.Platform.Role brole = new RoadFlow.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); RoadFlow.Platform.Log.Add("修改了用户", "", RoadFlow.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 RoadFlow.Platform.UsersInfo().Delete(user.ID); new RoadFlow.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; } RoadFlow.Platform.Log.Add("删除了用户", user.Serialize(), RoadFlow.Platform.Log.Types.组织机构); ViewBag.Script = "alert('删除成功');parent.frames[0].reLoad('" + refreshID + "');window.location='" + url + "'"; new RoadFlow.Platform.AppLibrary().ClearUseMemberCache(); } //初始化密码 if (!Request.Form["InitPass"].IsNullOrEmpty() && user != null) { string initpass = busers.GetInitPassword(); busers.InitPassword(user.ID); RoadFlow.Platform.Log.Add("初始化了用户密码", user.Serialize(), RoadFlow.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); } RoadFlow.Data.Model.UsersRelation ur = new RoadFlow.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 + "')"; } RoadFlow.Platform.Log.Add(("1" == movetostationjz ? "兼职" : "全职") + "调动了人员的岗位", "将人员调往岗位(" + moveto + ")", RoadFlow.Platform.Log.Types.组织机构); new RoadFlow.Platform.AppLibrary().ClearUseMemberCache(); } } } ViewBag.StatusRadios = borganize.GetStatusRadio("Status", status, "validate=\"radio\""); return(View(user)); }
public ActionResult Body(FormCollection collection) { RoadFlow.Data.Model.Organize org = null; RoadFlow.Platform.Organize borganize = new RoadFlow.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); RoadFlow.Platform.Log.Add("修改了组织机构", "", RoadFlow.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)) { RoadFlow.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, RoadFlow.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); RoadFlow.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), RoadFlow.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 RoadFlow.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)); }
protected void Page_Load(object sender, EventArgs e) { RoadFlow.Data.Model.Organize org = null; RoadFlow.Platform.Organize borganize = new RoadFlow.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); RoadFlow.Platform.Log.Add("修改了组织机构", "", RoadFlow.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)) { RoadFlow.Platform.Log.Add("移动了组织机构", "将机构:" + org.ID + "移动到了:" + toID, RoadFlow.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); RoadFlow.Platform.Log.Add("删除了组织机构及其所有下级共" + i.ToString() + "项", org.Serialize(), RoadFlow.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 UpdateAllUsers() { RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize(); UsersRelation usersRelation = new UsersRelation(); List <RoadFlow.Data.Model.Users> all = new Users().GetAll(); DataTable dataTable = new DataTable { Columns = { { "姓名", "".GetType() }, { "帐号", "".GetType() }, { "微信号", "".GetType() }, { "手机号", "".GetType() }, { "邮箱", "".GetType() }, { "所在部门", "".GetType() }, { "职位", "".GetType() } } }; foreach (RoadFlow.Data.Model.Users item in all) { StringBuilder stringBuilder = new StringBuilder(); foreach (RoadFlow.Data.Model.UsersRelation item2 in usersRelation.GetAllByUserID(item.ID)) { RoadFlow.Data.Model.Organize organize2 = organize.Get(item2.OrganizeID); if (organize2 != null) { stringBuilder.Append(organize2.IntID); stringBuilder.Append(","); } } DataRow dataRow = dataTable.NewRow(); dataRow["姓名"] = replaceName(item.Name); dataRow["帐号"] = item.Account; dataRow["微信号"] = item.WeiXin; dataRow["手机号"] = item.Mobile; dataRow["邮箱"] = item.Email; dataRow["所在部门"] = stringBuilder.ToString().TrimEnd(','); dataRow["职位"] = ""; dataTable.Rows.Add(dataRow); } string text = Files.FilePath + "WeiXinCsv\\"; if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } string text2 = text + Guid.NewGuid().ToString("N") + ".csv"; NPOIHelper.ExportCSV(dataTable, text2); string text3 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(text2, "file"); if (!text3.IsNullOrEmpty()) { string url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=" + GetAccessToken(); string text4 = "{\"media_id\":\"" + text3 + "\"}"; string str = HttpHelper.SendPost(url, text4); Log.Add("调用了微信同步所有人员", "返回:" + str, Log.Types.微信企业号, text4); } }
public void UpdateAllOrganize() { RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize(); List <RoadFlow.Data.Model.Organize> all = organize.GetAll(); DataTable dataTable = new DataTable { Columns = { { "部门名称", "".GetType() }, { "部门ID", 1.GetType() }, { "父部门ID", 1.GetType() }, { "排序", 1.GetType() } } }; foreach (RoadFlow.Data.Model.Organize item in all) { int num = -1; if (item.ParentID.IsEmptyGuid()) { num = 1; } else { RoadFlow.Data.Model.Organize organize2 = organize.Get(item.ParentID); if (organize2 != null) { num = organize2.IntID; } } if (num != -1) { DataRow dataRow = dataTable.NewRow(); dataRow["部门名称"] = replaceName(item.Name); dataRow["部门ID"] = item.IntID; dataRow["父部门ID"] = num; dataRow["排序"] = item.Sort; dataTable.Rows.Add(dataRow); } } string text = Files.FilePath + "WeiXinCsv\\"; if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } string text2 = text + Guid.NewGuid().ToString("N") + ".csv"; NPOIHelper.ExportCSV(dataTable, text2); string text3 = new Media(Config.GetSecret("weixinagents_organize")).UploadTemp(text2, "file"); if (!text3.IsNullOrEmpty()) { string url = "https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=" + GetAccessToken(); string text4 = "{\"media_id\":\"" + text3 + "\"}"; string str = HttpHelper.SendPost(url, text4); Log.Add("调用了微信同步整个组织架构", "返回:" + str, Log.Types.微信企业号, text4); } }
public ActionResult Send(RoadFlow.Data.Model.SMSModel model) { if (ModelState.IsValid) { model.SendUser = RoadFlow.Platform.UsersBLL.CurrentUserID; model.SendUserName = RoadFlow.Platform.UsersBLL.CurrentUserName; if (sms.Add(model) > 0) //保存成功,调用第三方发送短信 { RoadFlow.Platform.UsersBLL user = new RoadFlow.Platform.UsersBLL(); RoadFlow.Platform.Organize organize = new RoadFlow.Platform.Organize(); List <string> tels = new List <string>(); string[] sendTo = model.SendTo.Split(','); foreach (var item in sendTo) { if (item.Contains("u_")) //个人 { string newId = item.Remove(0, 2); if (newId.IsGuid()) { RoadFlow.Data.Model.UsersModel u = user.Get(Guid.Parse(newId)); if (u != null && !u.Tell.IsNullOrEmpty()) { tels.Add(u.Tell); } } } else //选中的是组织 { if (item.IsGuid()) { RoadFlow.Data.Model.Organize o = organize.Get(Guid.Parse(item)); if (o != null) { List <RoadFlow.Data.Model.UsersModel> list = organize.GetAllUsers(Guid.Parse(item)); foreach (var u in list) //遍历组织里所有User { if (!u.Tell.IsNullOrEmpty()) { tels.Add(u.Tell); } } } } } } foreach (var tel in tels) //遍历所有手机号,发送短信 { SMSMessage message = new SMSMessage { Mobile = tel, Content = "【青羊楼宇】" + model.Content }; new SMS().SendSMS(message); } ViewBag.Success = true; } } return(View(model)); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string rootid = context.Request.QueryString["rootid"] ?? ""; string showtype = context.Request.QueryString["showtype"] ?? ""; RoadFlow.Platform.Organize BOrganize = new RoadFlow.Platform.Organize(); RoadFlow.Platform.Users busers = new RoadFlow.Platform.Users(); RoadFlow.Platform.WorkGroup BWorkGroup = new RoadFlow.Platform.WorkGroup(); System.Text.StringBuilder json = new System.Text.StringBuilder("[", 1000); if ("1" == showtype) { #region 显示工作组 var workGroups = BWorkGroup.GetAll(); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", Guid.Empty); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", "工作组"); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/group.gif"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", workGroups.Count); json.Append("\"childs\":["); int countwg = workGroups.Count; int iwg = 0; foreach (var wg in workGroups) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", wg.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", wg.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", 0); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (iwg++ < countwg - 1) { json.Append(","); } } json.Append("]"); json.Append("}"); json.Append("]"); context.Response.Write(json.ToString()); context.Response.End(); #endregion } if (rootid.IsNullOrEmpty()) { rootid = BOrganize.GetRoot().ID.ToString(); } string[] rootIDArray = rootid.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); int m = 0; foreach (string rootID in rootIDArray) { List <RoadFlow.Data.Model.Users> users = new List <RoadFlow.Data.Model.Users>(); Guid rootGuid = Guid.Empty; if (rootID.IsGuid(out rootGuid)) { var root = BOrganize.Get(rootGuid); if (root != null) { users = busers.GetAllByOrganizeID(rootGuid); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", root.ParentID); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", rootIDArray.Length == 1 ? Common.Tools.BaseUrl + "/images/ico/icon_site.gif" : ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", root.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", root.ChildsLength == 0 && users.Count == 0 ? "0" : "1"); json.Append("\"childs\":["); } } else if (rootID.StartsWith(RoadFlow.Platform.Users.PREFIX)) { var root = busers.Get(busers.RemovePrefix1(rootID).ToGuid()); if (root != null) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/contact_grey.png"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); } } else if (rootID.StartsWith(RoadFlow.Platform.WorkGroup.PREFIX)) { var root = BWorkGroup.Get(BWorkGroup.RemovePrefix1(rootID).ToGuid()); if (root != null) { users = BOrganize.GetAllUsers(rootID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "5"); json.AppendFormat("\"hasChilds\":\"{0}\",", users.Count > 0 ? "1" : "0"); json.Append("\"childs\":["); } } #region 只有一个根时显示二级 if (rootIDArray.Length == 1) { List <RoadFlow.Data.Model.Organize> orgs = rootID.IsGuid() ? BOrganize.GetChilds(rootGuid) : new List <RoadFlow.Data.Model.Organize>(); int count = orgs.Count; int i = 0; foreach (var org in orgs) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", org.ID); json.AppendFormat("\"parentID\":\"{0}\",", org.ParentID); json.AppendFormat("\"title\":\"{0}\",", org.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", org.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", org.ChildsLength); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (i++ < count - 1 || users.Count > 0) { json.Append(","); } } if (users.Count > 0) { var userRelations = new RoadFlow.Platform.UsersRelation().GetAllByOrganizeID(rootGuid); int count1 = users.Count; int j = 0; foreach (var user in users) { var ur = userRelations.Find(p => p.UserID == user.ID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", user.ID); json.AppendFormat("\"parentID\":\"{0}\",", rootGuid); json.AppendFormat("\"title\":\"{0}{1}\",", user.Name, ur != null && ur.IsMain == 0 ? "<span style='color:#999;'>[兼职]</span>" : ""); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/contact_grey.png"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (j++ < count1 - 1) { json.Append(","); } } } } #endregion json.Append("]"); json.Append("}"); if (m++ < rootIDArray.Length - 1) { json.Append(","); } } json.Append("]"); context.Response.Write(json.ToString()); }