public JsonResult Page(int pageIndex, int pageSize, string name, int?parentId) { var sql = Sql.Builder.Where("dept_code like @0 or dept_name like @0", "%" + name + "%"); if (parentId.HasValue) { sql.Where("parent_id=@0", parentId.Value); } var page = SysDept.Page(pageIndex, pageSize, sql); return(Json(new ResponseData { Total = page.TotalItems, Data = page.Items.Select(d => new { d.ID, d.Code, d.Name, d.Sort, d.ParentID, ParentName = d.ParentID.ToDept().Name }) })); }
public virtual async Task UpdateDeptAsync(string oldDeptPids, SysDept dept, CancellationToken cancellationToken = default) { var updatingProps = UpdatingProps <SysDept>(x => x.FullName, x => x.SimpleName, x => x.Tips, x => x.Ordinal, x => x.Pid, x => x.Pids); await _deptRepository.UpdateAsync(dept, updatingProps); //zz.efcore 不支持 //await _deptRepository.UpdateRangeAsync(d => d.Pids.Contains($"[{dept.ID}]"), c => new SysDept { Pids = c.Pids.Replace(oldDeptPids, dept.Pids) }); var originalDeptPids = $"{oldDeptPids}[{dept.Id}],"; var nowDeptPids = $"{dept.Pids}[{dept.Id}],"; var subDepts = await _deptRepository .Where(d => d.Pids.StartsWith(originalDeptPids)) .Select(d => new { d.Id, d.Pids }) .ToListAsync(); //var subDepts = await _deptRepository.SelectAsync(d => new { d.Id, d.Pids } // , d => d.Pids.StartsWith(originalDeptPids) // ); foreach (var c in subDepts) { await _deptRepository.UpdateAsync(new SysDept { Id = c.Id, Pids = c.Pids.Replace(originalDeptPids, nowDeptPids) }, UpdatingProps <SysDept>(c => c.Pids)); } ; }
private void tsbAddChild_Click(object sender, EventArgs e) { try { if (!String.IsNullOrEmpty(tvDept.SelectedValue.ToString())) { OnInitData(); CtrlHelper.EnableCtrls(allCtrls); CtrlHelper.DisableCtrls(newCtrls); SysDept sd = SqlBaseProvider.GetSysDept(tvDept.SelectedValue.ToString()); CtrlHelper.SelectDropDownList(ddlCoID, sd.CoID); txtDeptPID.Text = sd.DeptID; fState = FormState.New; tsbSave.Visible = true; tsbCancel.Visible = true; } else { Global.ShowSysInfo("请选择需要增加同级部门的相关部门!"); } } catch (Exception ex) { Global.ShowSysError(ex); } }
/** * 构建前端所需要树结构 * * @param depts 部门列表 * @return 树结构列表 */ public List <SysDept> buildDeptTree(List <SysDept> depts) { List <SysDept> returnList = new List <SysDept>(); List <long> tempList = new List <long>(); foreach (SysDept dept in depts) { tempList.Add(dept.Id); } var it = depts.GetEnumerator(); while (it.MoveNext()) { SysDept dept = (SysDept)it.Current; // 如果是顶级节点, 遍历该父节点的所有子节点 if (!tempList.Contains(dept.ParentId)) { recursionFn(depts, dept); returnList.Add(dept); } } if (returnList.Count > 0) { returnList = depts; } return(returnList); }
/** * 修改该部门的父级部门状态 * * @param dept 当前部门 */ private void updateParentDeptStatus(SysDept dept) { String updateBy = dept.UpdateBy; dept = sysDeptRepository.selectDeptById(dept.Id); dept.UpdateBy = (updateBy); sysDeptRepository.updateDeptStatus(dept); }
public AjaxReponseBase add([FromBody] SysDept dept) { if (YouGeUserConstants.NOT_UNIQUE.Equals(deptService.checkDeptNameUnique(dept))) { return(AjaxReponseBase.Error("新增部门'" + dept.DeptName + "'失败,部门名称已存在")); } dept.CreateBy = (SecurityUtils.getUsername(tokenService, httpContextAccessor.HttpContext.Request)); return(toAjax(deptService.insertDept(dept))); }
public TreeSelect(SysDept dept) { this.id = dept.Id; this.label = dept.DeptName; this.children = new List <TreeSelect>(); for (int i = 0; i < dept.getChildren().Count; i++) { this.children.Add(new TreeSelect()); } //= dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); }
public static string GetFullDeptName(this SysDept dept) { string name = dept.Name; while (dept.ParentID != 0) { dept = BasicDataCache.listDepts.Single(d => d.ID == dept.ParentID); name = string.Format("{0} > {1}", dept.Name, name); } return(name); }
/// <summary> /// /// </summary> /// <param name="dept"></param> /// <returns></returns> public string checkDeptNameUnique(SysDept dept) { long deptId = dept.Id == 0 ? -1L : dept.Id; SysDept info = sysDeptRepository.checkDeptNameUnique(dept.DeptName, dept.ParentId); if (info != null && info.Id != dept.Id) { return(YouGeUserConstants.NOT_UNIQUE); } return(YouGeUserConstants.UNIQUE); }
public JsonResult Update(SysDept dept) { var old = SysDept.SingleOrDefault(dept.ID); old.Code = dept.Code; old.Name = dept.Name; old.Sort = dept.Sort; old.ParentID = dept.ParentID; old.Update(); return(Json(ArtDialogResponseResult.SuccessResult)); }
public string Update(SysDept org) { try { _app.Update(org); } catch (Exception ex) { Result.Code = 500; Result.Message = ex.InnerException?.Message ?? ex.Message; } return(JsonHelper.Instance.Serialize(Result)); }
/// <summary> /// /// </summary> /// <param name="dept"></param> /// <returns></returns> public int insertDept(SysDept dept) { SysDept info = sysDeptRepository.selectDeptById(dept.ParentId); // 如果父节点不为正常状态,则不允许新增子节点 if (!YouGeUserConstants.DEPT_NORMAL.Equals(info.Status)) { throw new CustomException("部门停用,不允许新增"); } dept.Ancestors = info.Ancestors + "," + dept.ParentId; return(sysDeptRepository.insertDept(dept)); }
public static SysDept ToDept(this int id) { var dept = BasicDataCache.listDepts.SingleOrDefault(d => d.ID == id); if (dept == null) { dept = new SysDept(); if (id == 0) { dept.Name = "一级部门"; } } return(dept); }
/** * 得到子节点列表 */ private List <SysDept> getChildList(List <SysDept> list, SysDept t) { List <SysDept> tlist = new List <SysDept>(); var it = list.GetEnumerator(); while (it.MoveNext()) { SysDept n = (SysDept)it.Current; if (n.ParentId != 0 && n.ParentId == t.Id) { tlist.Add(n); } } return(tlist); }
private async Task SetDeptPids(SysDept sysDept) { if (sysDept.Pid.HasValue && sysDept.Pid.Value > 0) { var dept = await _deptRepository.FetchAsync(d => new { d.ID, d.Pid, d.Pids }, x => x.ID == sysDept.Pid.Value); string pids = dept?.Pids ?? ""; sysDept.Pids = $"{pids}[{sysDept.Pid}],"; } else { sysDept.Pid = 0; sysDept.Pids = "[0],"; } }
private async Task <SysDept> SetDeptPids(SysDept sysDept) { if (sysDept.Pid.HasValue && sysDept.Pid.Value > 0) { var dept = (await _cacheService.GetAllDeptsFromCacheAsync()).FirstOrDefault(x => x.Id == sysDept.Pid.Value); string pids = dept?.Pids ?? ""; sysDept.Pids = $"{pids}[{sysDept.Pid}],"; } else { sysDept.Pid = 0; sysDept.Pids = "[0],"; } return(sysDept); }
public AjaxReponseBase excludeChild(long deptId) { List <SysDept> depts = deptService.selectDeptList(new SysDept()); var it = depts.GetEnumerator(); while (it.MoveNext()) { SysDept d = (SysDept)it.Current; if (d.Id == deptId || d.Ancestors.Split(",").ToList().Contains(deptId.ToString())) { depts.Remove(d); } } return(AjaxReponseBase.Success(depts)); }
private void btn_AddInt_Click(object sender, EventArgs e) { SysDept dept = new SysDept(); dept.Name = "aaa" + Guid.NewGuid().ToString(); SaveResult saveResult = Mydb.Insert(dept); if (saveResult.OK) { MessageBox.Show(saveResult.PK_Int.ToString()); } else { MessageBox.Show(saveResult.Msg); } }
private async Task <SysDept> SetDeptPids(SysDept sysDept) { if (sysDept.Pid.HasValue && sysDept.Pid.Value > 0) { //var depts = await this.GetAllFromCache(); //var dept = depts.Select(d => new { d.Id, d.Pid, d.Pids }).Where(d => d.Id == sysDept.Pid.Value).FirstOrDefault(); var dept = (await GetAllFromCacheAsync()).FirstOrDefault(x => x.Id == sysDept.Pid.Value); string pids = dept?.Pids ?? ""; sysDept.Pids = $"{pids}[{sysDept.Pid}],"; } else { sysDept.Pid = 0; sysDept.Pids = "[0],"; } return(sysDept); }
private async Task <SysDept> SetDeptPids(SysDept sysDept) { if (sysDept.Pid.HasValue && sysDept.Pid.Value > 0) { var depts = await this.GetAll(); var dept = depts.Select(d => new { d.ID, d.Pid, d.Pids }).Where(d => d.ID == sysDept.Pid.Value).FirstOrDefault(); //var dept = await _deptRepository.FetchAsync(d => new { d.ID, d.Pid, d.Pids }, x => x.ID == sysDept.Pid.Value); string pids = dept?.Pids ?? ""; sysDept.Pids = $"{pids}[{sysDept.Pid}],"; } else { sysDept.Pid = 0; sysDept.Pids = "[0],"; } return(sysDept); }
public AjaxReponseBase edit([FromBody] SysDept dept) { if (YouGeUserConstants.NOT_UNIQUE.Equals(deptService.checkDeptNameUnique(dept))) { return(AjaxReponseBase.Error("修改部门'" + dept.DeptName + "'失败,部门名称已存在")); } else if (dept.ParentId.Equals(dept.Id)) { return(AjaxReponseBase.Error("修改部门'" + dept.DeptName + "'失败,上级部门不能是自己")); } else if (YouGeUserConstants.DEPT_DISABLE.Equals(dept.Status) && deptService.selectNormalChildrenDeptById(dept.Id) > 0) { return(AjaxReponseBase.Error("该部门包含未停用的子部门!")); } dept.UpdateBy = (SecurityUtils.getUsername(tokenService, httpContextAccessor.HttpContext.Request)); return(toAjax(deptService.updateDept(dept))); }
/** * 递归列表 */ private void recursionFn(List <SysDept> list, SysDept t) { // 得到子节点列表 List <SysDept> childList = getChildList(list, t); t.setChildren(childList); foreach (SysDept tChild in childList) { if (hasChild(list, tChild)) { // 判断是否有子节点 var it = childList.GetEnumerator(); while (it.MoveNext()) { SysDept n = (SysDept)it.Current; recursionFn(list, n); } } } }
public async Task UpdateDept(string oldDeptPids, SysDept dept, CancellationToken cancellationToken = default) { await _deptRepository.UpdateAsync(dept); //zz.efcore 不支持 //await _deptRepository.UpdateRangeAsync(d => d.Pids.Contains($"[{dept.ID}]"), c => new SysDept { Pids = c.Pids.Replace(oldDeptPids, dept.Pids) }); var originalDeptPids = $"{oldDeptPids}[{dept.ID}],"; var nowDeptPids = $"{dept.Pids}[{dept.ID}],"; var subDepts = await _deptRepository.SelectAsync(d => new { d.ID, d.Pids } , d => d.Pids.StartsWith(originalDeptPids) ); subDepts.ForEach(c => { _deptRepository.UpdateAsync(new SysDept { ID = c.ID, Pids = c.Pids.Replace(originalDeptPids, nowDeptPids) }, c => c.Pids).Wait(); }); }
/// <summary> /// /// </summary> /// <param name="dept"></param> /// <returns></returns> public int updateDept(SysDept dept) { SysDept newParentDept = sysDeptRepository.selectDeptById(dept.ParentId); SysDept oldDept = sysDeptRepository.selectDeptById(dept.Id); if (null != newParentDept && null != oldDept) { string newAncestors = newParentDept.Ancestors + "," + newParentDept.Id; string oldAncestors = oldDept.Ancestors; dept.Ancestors = (newAncestors); updateDeptChildren(dept.Id, newAncestors, oldAncestors); } int result = sysDeptRepository.updateDept(dept); if (YouGeUserConstants.DEPT_NORMAL.Equals(dept.Status)) { // 如果该部门是启用状态,则启用该部门的所有上级部门 updateParentDeptStatus(dept); } return(result); }
public static DeptDto ToDeptDto(SysDept sysDept) { var dto = new DeptDto { Fullname = sysDept.Fullname, Simplename = sysDept.Simplename, CreateBy = sysDept.CreateBy?.ToString() ?? string.Empty, CreateTime = sysDept.CreateTime?.ToString() ?? string.Empty, Id = sysDept.Id.ToString(), ModifyBy = sysDept.ModifyBy?.ToString() ?? string.Empty, ModifyTime = sysDept.ModifyTime?.ToString() ?? string.Empty, Num = sysDept.Num ?? 1, Pid = sysDept.Pid.Value().ToString(), Pids = sysDept.Pids, Tips = sysDept.Tips, Version = sysDept.Version?.ToString() ?? "1", Children = new List <DeptDto>() }; return(dto); }
/// <summary> /// 部门递归 /// </summary> /// <param name="parent">上级部门</param> /// <param name="prefix">前缀</param> /// <returns></returns> private static List <ComboBox> DeptRecursion(SysDept parent, string prefix) { List <ComboBox> result = new List <ComboBox>(); prefix = string.IsNullOrEmpty(prefix) ? "┝" : prefix + "─"; var depts = BasicDataCache.listDepts.Where(d => d.ParentID == parent.ID); foreach (var dept in depts) { ComboBox combo = new ComboBox(); combo.ID = dept.ID; combo.Text = string.Format("{0}{1}", prefix, dept.Name); combo.Value = dept.ID.ToString(); result.Add(combo); result.AddRange(DeptRecursion(dept, prefix)); } return(result); }
public static AccountInfoDto ToAccountInfoDto( SysUser user, SysDept dept, List <SysRole> roles, List <string> permissions) { var dto = new AccountInfoDto { Name = user.Name, Role = user.Account, // todo?? Roles = roles.Select(it => it.Tips).ToList(), Profile = new AccountProfileDto { Dept = dept.Fullname, Deptid = dept.Id, Account = user.Account, Sex = (int)user.Sex, Avatar = user.Avatar, Birthday = user.Birthday, Version = user.Version, CreateBy = user.CreateBy, CreateTime = user.CreateTime, Email = user.Email, Id = user.Id, ModifyBy = user.ModifyBy, ModifyTime = user.ModifyTime, Name = user.Name, Phone = user.Phone, Roleid = user.Roleid, Roles = roles.Select(it => it.Name).ToList(), Status = user.Status == AccountStatus.Active, DeptName = dept.Simplename, RoleName = string.Join(',', roles.Select(it => it.Name)), }, Permissions = permissions }; return(dto); }
protected void OnLoadData() { try { SysDept sd = SqlBaseProvider.GetSysDept(tvDept.SelectedValue.ToString()); txtDeptID.Text = sd.DeptID; txtDeptPID.Text = sd.DeptPID; txtDeptAddress.Text = sd.DeptAddress; txtDeptName.Text = sd.DeptName; if (!String.IsNullOrEmpty(sd.DeptMan)) { txtDeptMan.CodeText = sd.DeptMan; SysMan sm = SqlBaseProvider.GetSysMan(sd.DeptMan); txtDeptMan.NameText = sm.ManName; } else { txtDeptMan.CodeText = String.Empty; txtDeptMan.NameText = String.Empty; } txtDeptEMail.Text = sd.DeptEMail; txtDeptFax.Text = sd.DeptFax; txtDeptPost.Text = sd.DeptPost; txtDeptTele.Text = sd.DeptTele; txtSortOrder.Text = sd.SortOrder.ToString(); txtDeptShort.Text = sd.DeptShort; CtrlHelper.SelectDropDownList(ddlCoID, sd.CoID); CtrlHelper.SelectDropDownList(ddlDeptType, sd.DeptType.ToString()); CtrlHelper.SelectDropDownList(ddlDeptStatus, sd.DeptStatus.ToString()); CtrlHelper.SelectDropDownList(ddlDeptLevel, sd.DeptLevel.ToString()); } catch (Exception ex) { Global.ShowSysError(ex); } }
/// <summary> /// /// </summary> /// <param name="dept"></param> /// <returns></returns> public List <SysDept> selectDeptList(SysDept dept) { return(sysDeptRepository.selectDeptList(dept)); }
/** * 判断是否有子节点 */ private bool hasChild(List <SysDept> list, SysDept t) { return(getChildList(list, t).Count > 0 ? true : false); }