Esempio n. 1
0
        public object GetDepartments([FromBody] JObject json)
        {
            string  res    = json.Value <string>("json");
            dynamic dy     = JsonConvert.DeserializeObject <ExpandoObject>(res);
            string  userid = dy.userid;

            //获取用户基本信息
            OperatorProvider.AppUserId = userid;  //设置当前用户
            Operator curUser = OperatorProvider.Provider.Current();

            if (null == curUser)
            {
                return(new { code = -1, count = 0, info = "请求失败,请登录!" });
            }
            //获取当前部门
            string           organizeId = curUser.OrganizeId;
            string           parentId   = "0";
            IList <DeptData> list       = new List <DeptData>();
            //获取当前机构下的所有部门
            OrganizeEntity org  = orgBLL.GetEntity(organizeId);
            DeptData       dept = new DeptData();

            dept.deptid     = org.OrganizeId;
            dept.code       = org.EnCode;
            dept.oranizeid  = org.OrganizeId;
            dept.parentcode = "";
            dept.parentid   = parentId;
            dept.name       = org.FullName;
            list.Add(dept);
            List <DepartmentEntity> data = new List <DepartmentEntity>();

            if (!curUser.IsSystem)
            {
                if (curUser.RoleName.Contains("厂级") || curUser.RoleName.Contains("公司"))
                {
                    data = departmentBLL.GetList().Where(t => t.OrganizeId == organizeId).OrderBy(t => t.SortCode).ToList();
                }
                else if (curUser.RoleName.Contains("部门"))
                {
                    data = departmentBLL.GetList().Where(x => x.DepartmentId == curUser.DeptId || x.SendDeptID == curUser.DeptId || (x.Description == "外包工程承包商" && x.OrganizeId == organizeId)).OrderBy(t => t.SortCode).ToList();
                }
                else
                {
                    list = new List <DeptData>();
                    data = departmentBLL.GetDepts(curUser.DeptId).OrderBy(t => t.SortCode).ToList();
                }
            }
            foreach (DepartmentEntity entity in data)
            {
                DeptData depts = new DeptData();
                depts.deptid    = entity.DepartmentId;
                depts.code      = entity.EnCode;
                depts.oranizeid = entity.OrganizeId;
                depts.parentid  = entity.ParentId;
                var parentDept = data.Where(p => p.DepartmentId == depts.parentid).FirstOrDefault();
                if (null != parentDept)
                {
                    depts.parentcode = parentDept.EnCode;
                }
                else
                {
                    depts.parentcode = "";
                }
                depts.name = entity.FullName;
                list.Add(depts);
            }
            return(new { code = 0, info = "获取数据成功", count = data.Count(), data = list });
        }
        public object getDeptList([FromBody] JObject json)
        {
            string res = json.Value <string>("json");

            dynamic dy = JsonConvert.DeserializeObject <ExpandoObject>(res);

            if (null == curUser)
            {
                return(new { code = -1, count = 0, info = "请求失败,请登录!" });
            }
            string userId = dy.userid;

            //获取用户基本信息
            OperatorProvider.AppUserId = userId;  //设置当前用户
            Operator user = OperatorProvider.Provider.Current();

            IList <DeptData> result     = new List <DeptData>();
            var provdata                = departmentBLL.GetList().Where(t => t.Nature == "省级" && !t.FullName.Contains("各电厂") && t.FullName != "区域子公司" && t.DeptCode.StartsWith(user.NewDeptCode.Substring(0, 3)));
            DepartmentEntity provEntity = null;

            //省级根节点
            if (provdata.Count() > 0)
            {
                provEntity = provdata.FirstOrDefault();
                DeptData deptdata1 = new DeptData();
                deptdata1.deptid  = provEntity.DepartmentId;
                deptdata1.code    = provEntity.EnCode;
                deptdata1.name    = provEntity.FullName;
                deptdata1.newcode = provEntity.DeptCode;
                result.Add(deptdata1);
            }
            try
            {
                if (curUser.RoleName.Contains("省级用户"))
                {
                    var dtDept = departmentBLL.GetAllFactory(curUser);
                    foreach (DataRow row in dtDept.Rows)
                    {
                        DeptData entity = new DeptData();
                        entity.deptid  = row["departmentid"].ToString();
                        entity.code    = row["encode"].ToString();
                        entity.name    = row["fullname"].ToString();
                        entity.newcode = row["deptcode"].ToString();
                        result.Add(entity);
                    }
                }
                else
                {
                    //当前用户的所属机构
                    DepartmentEntity dept     = userbll.GetUserOrgInfo(curUser.UserId);
                    DeptData         deptdata = new DeptData();
                    deptdata.deptid  = dept.DepartmentId;
                    deptdata.code    = dept.EnCode;
                    deptdata.name    = dept.FullName;
                    deptdata.newcode = dept.DeptCode;
                    result.Add(deptdata);
                }
            }
            catch (Exception)
            {
                return(new
                {
                    code = -1,
                    info = "获取数据失败",
                    count = 0
                });
            }

            return(new
            {
                code = 0,
                info = "获取数据成功",
                count = 0,
                data = result
            });
        }
Esempio n. 3
0
        public object GetInst([FromBody] JObject json)
        {
            string  res = json.Value <string>("json");
            dynamic dy  = JsonConvert.DeserializeObject <ExpandoObject>(res);

            if (null == curUser)
            {
                return(new { code = -1, count = 0, info = "请求失败,请登录!" });
            }
            //选中的所属单位
            string orgid = string.Empty;

            string organizeId = string.Empty;

            string           parentId = string.Empty;
            IList <DeptData> result   = new List <DeptData>();

            parentId = departmentBLL.GetEntity(curUser.OrganizeId).ParentId;

            List <DepartmentEntity> plist = new List <DepartmentEntity>();
            IList <DeptData>        list  = new List <DeptData>();

            try
            {
                DepartmentEntity org  = null;
                DeptData         dept = new DeptData();
                if (curUser.RoleName.Contains("厂级部门") || curUser.RoleName.Contains("公司级"))
                {
                    organizeId = curUser.OrganizeId;
                    org        = departmentBLL.GetEntity(organizeId);
                    parentId   = org.DepartmentId;

                    plist = departmentBLL.GetList().Where(t => t.ParentId == parentId && (t.Nature == "厂级" || t.Nature == "部门")).OrderBy(t => t.SortCode).ToList();
                }
                else if (curUser.RoleName.Contains("专业级") || curUser.RoleName.Contains("班组级"))
                {
                    var deptEntity = new DepartmentBLL().GetParentDeptBySpecialArgs(curUser.ParentId, "部门");
                    organizeId = deptEntity.DepartmentId;
                    org        = departmentBLL.GetEntity(organizeId);
                    parentId   = deptEntity.DepartmentId;
                    plist      = departmentBLL.GetList().Where(t => t.ParentId == parentId && t.Nature == "部门").OrderBy(t => t.SortCode).ToList();
                }
                else
                {
                    organizeId = curUser.DeptId;
                    org        = departmentBLL.GetEntity(organizeId);
                    parentId   = curUser.DeptId;
                    plist      = departmentBLL.GetList().Where(t => t.ParentId == parentId && t.Nature == "部门").OrderBy(t => t.SortCode).ToList();
                }
                dept.deptid     = org.DepartmentId;
                dept.code       = org.EnCode;
                dept.newcode    = org.DeptCode;
                dept.isorg      = 1;
                dept.oranizeid  = org.OrganizeId;
                dept.parentcode = "";
                dept.parentid   = parentId;
                dept.name       = org.FullName;
                dept.isparent   = true;

                foreach (DepartmentEntity entity in plist)
                {
                    DeptData depts = new DeptData();
                    depts.deptid = entity.DepartmentId;

                    depts.code      = entity.EnCode;
                    depts.oranizeid = entity.OrganizeId;
                    depts.name      = entity.FullName;
                    depts.isorg     = 0;
                    depts.parentid  = entity.ParentId;
                    if (depts.parentid == "0")
                    {
                        depts.parentid = depts.oranizeid;
                    }
                    depts.parentcode = dept.parentcode;
                    list.Add(depts);
                }
                dept.children = list;
                result.Add(dept);
            }
            catch (Exception ex)
            {
                return(new
                {
                    code = -1,
                    info = "获取数据失败",
                    count = 0
                });
            }

            return(new
            {
                code = 0,
                info = "获取数据成功",
                count = 0,
                data = result
            });
        }