示例#1
0
        public IList <Bill_Departments> GetAllDept()
        {
            string    sql = @" select deptCode,deptName,sjDeptCode,deptStatus,IsSell,deptJianma
                         ,forU8id,Row_Number()over(order by deptCode) as crow 
                         from bill_departments 
                         where deptStatus !='D'  order by deptCode";
            DataTable dt  = DataHelper.GetDataTable(sql, null, false);

            IList <Bill_Departments> list = new List <Bill_Departments>();

            foreach (DataRow dr in dt.Rows)
            {
                Bill_Departments dept = new Bill_Departments();
                dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                dept.DeptName   = Convert.ToString(dr["DeptName"]);
                dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                dept.isSell     = Convert.ToString(dr["IsSell"]);
                dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                dept.forU8id    = Convert.ToString(dr["forU8id"]);
                dept.rownum     = Convert.ToInt32(dr["crow"]);
                list.Add(dept);
            }
            return(list);
        }
示例#2
0
        /// <summary>
        /// 获得部门
        /// </summary>
        /// <param name="deptCode">部门编号</param>
        /// <returns></returns>
        public Bill_Departments GetDeptByCode(string deptCode)
        {
            string sql = " select * from bill_departments where deptCode=@deptCode ";

            SqlParameter[] sps = { new SqlParameter("@deptCode", deptCode) };
            using (SqlDataReader dr = DataHelper.GetDataReader(sql, sps))
            {
                if (dr.Read())
                {
                    Bill_Departments dept = new Bill_Departments();
                    dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                    dept.DeptName   = Convert.ToString(dr["DeptName"]);
                    dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                    dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                    dept.isSell     = Convert.ToString(dr["IsSell"]);
                    dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                    dept.forU8id    = Convert.ToString(dr["forU8id"]);
                    return(dept);
                }
                else
                {
                    return(null);
                }
            }
        }
示例#3
0
        /// <summary>
        /// 获得根部门
        /// </summary>
        /// <returns></returns>
        public Bill_Departments GetRoot()
        {
            IList <Bill_Departments> allList = deptDal.GetAllDept();
            Bill_Departments         ret     = new Bill_Departments();

            FindRoot(allList, dept.DeptCode, ret);


            return(ret);
        }
示例#4
0
        /// <summary>
        /// 获得[部门编号]+部门名称
        /// </summary>
        /// <param name="deptCode"></param>
        /// <returns></returns>
        public string GetDeptCodeName(string deptCode)
        {
            Bill_Departments dept = deptDal.GetDeptByCode(deptCode);

            if (dept == null)
            {
                return("");
            }
            else
            {
                return("[" + dept.DeptCode + "]" + dept.DeptName);
            }
        }
示例#5
0
        private void ForeachDept(Bill_Departments dept, IList <Bill_Departments> rootList, ref Bill_Departments ret)
        {
            int cont = (from rootDep in rootList
                        where rootDep.DeptCode == dept.DeptCode
                        select rootDep).Count();

            if (cont < 1)
            {
                dept = depDal.GetDeptByCode(dept.SjDeptCode);
                ForeachDept(dept, rootList, ref ret);
            }
            else
            {
                ret = dept;
            }
        }
示例#6
0
        /// <summary>
        /// 获得所有子部门
        /// </summary>
        /// <returns></returns>
        public IList <Bill_Departments> GetAllRootDept()
        {
            ConfigDal configDal = new ConfigDal();
            //1. 判断是否预算到末级部门
            string                   strismj  = configDal.GetValueByKey("deptjc");//是否预算到末级部门 Y 是 N或者null 否
            Bill_Departments         rootDept = deptDal.GetRootDept();
            IList <Bill_Departments> rootList = new List <Bill_Departments>();

            if (!string.IsNullOrEmpty(strismj) && strismj == "Y")
            {
                rootList = deptDal.GetdeptMj(rootDept.DeptCode);
            }
            else
            {
                rootList = deptDal.GetDeptByRoot(rootDept.DeptCode);
            }
            rootList.Add(rootDept);
            return(rootList);
        }
示例#7
0
        public IList <Bill_Departments> ListMaker(string tempsql, SqlParameter[] sps)
        {
            DataTable dt = DataHelper.GetDataTable(tempsql, sps, false);
            IList <Bill_Departments> list = new List <Bill_Departments>();

            foreach (DataRow dr in dt.Rows)
            {
                Bill_Departments dept = new Bill_Departments();
                dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                dept.DeptName   = Convert.ToString(dr["DeptName"]);
                dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                dept.isSell     = Convert.ToString(dr["IsSell"]);
                dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                dept.forU8id    = Convert.ToString(dr["forU8id"]);
                list.Add(dept);
            }
            return(list);
        }
示例#8
0
        /// <summary>
        /// 递归找到根部门
        /// </summary>
        /// <param name="allList">整个部门集合</param>
        /// <param name="deptcode">部门编号</param>
        private void FindRoot(IList <Bill_Departments> allList, string deptcode, Bill_Departments ret)
        {
            if (deptcode == "000001")
            {
                Bill_Departments rt = (from rootDept in allList
                                       where rootDept.DeptCode == "000001"
                                       select rootDept).First();
                ret.DeptCode   = rt.DeptCode;
                ret.DeptName   = rt.DeptName;
                ret.DeptStatus = rt.DeptStatus;
                ret.SjDeptCode = rt.SjDeptCode;
                return;
            }
            Bill_Departments linq = (from rootDept in allList
                                     where rootDept.DeptCode == deptcode
                                     select rootDept).First();

            ConfigBLL config = new ConfigBLL();
            string    sfysmj = config.GetValueByKey("deptjc");

            if (!string.IsNullOrEmpty(sfysmj) && sfysmj == "Y")
            {
                ret.DeptCode   = linq.DeptCode;
                ret.DeptName   = linq.DeptName;
                ret.DeptStatus = linq.DeptStatus;
                ret.SjDeptCode = linq.SjDeptCode;
            }
            else
            {
                if (linq.SjDeptCode == "000001")
                {
                    //深拷贝可以用clone
                    ret.DeptCode   = linq.DeptCode;
                    ret.DeptName   = linq.DeptName;
                    ret.DeptStatus = linq.DeptStatus;
                    ret.SjDeptCode = linq.SjDeptCode;
                }
                else
                {
                    FindRoot(allList, linq.SjDeptCode, ret);
                }
            }
        }
示例#9
0
        /// <summary>
        /// 获取所有二级部门
        /// </summary>
        /// <returns></returns>
        public IList <Bill_Departments> GetAllDeptsed()
        {
            string    sql = " select * from bill_departments where sjDeptCode='000001'";
            DataTable dt  = DataHelper.GetDataTable(sql, null, false);

            IList <Bill_Departments> list = new List <Bill_Departments>();

            foreach (DataRow dr in dt.Rows)
            {
                Bill_Departments dept = new Bill_Departments();
                dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                dept.DeptName   = Convert.ToString(dr["DeptName"]);
                dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                dept.isSell     = Convert.ToString(dr["IsSell"]);
                dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                dept.forU8id    = Convert.ToString(dr["forU8id"]);
                list.Add(dept);
            }
            return(list);
        }
示例#10
0
        /// <summary>
        /// 获取末级部门
        /// </summary>
        /// <param name="rootCode"></param>
        /// <returns></returns>

        public IList <Bill_Departments> GetdeptMj(string rootCode)
        {
            string sql = "select * from bill_departments  where sjdeptcode!='' and sjdeptcode!=@rootCode";

            SqlParameter[] sps = { new SqlParameter("@rootCode", rootCode) };

            DataTable dt = DataHelper.GetDataTable(sql, sps, false);

            IList <Bill_Departments> list = new List <Bill_Departments>();

            foreach (DataRow dr in dt.Rows)
            {
                Bill_Departments dept = new Bill_Departments();
                dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                dept.DeptName   = Convert.ToString(dr["DeptName"]);
                dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                dept.isSell     = Convert.ToString(dr["IsSell"]);
                dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                dept.forU8id    = Convert.ToString(dr["forU8id"]);
                list.Add(dept);
            }
            return(list);
        }
示例#11
0
        /// <summary>
        /// 获得根部门
        /// </summary>
        /// <returns></returns>
        public Bill_Departments GetRootDept()
        {
            string sql = " select top 1 * from bill_departments where isnull(sjDeptCode,'')='' ";

            using (SqlDataReader dr = DataHelper.GetDataReader(sql, null))
            {
                if (dr.Read())
                {
                    Bill_Departments dept = new Bill_Departments();
                    dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                    dept.DeptName   = Convert.ToString(dr["DeptName"]);
                    dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                    dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                    dept.isSell     = Convert.ToString(dr["IsSell"]);
                    dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                    dept.forU8id    = Convert.ToString(dr["forU8id"]);
                    return(dept);
                }
                else
                {
                    return(null);
                }
            }
        }
示例#12
0
        /// <summary>
        /// 通过部门编号 查找部门 (不包含下级)
        /// </summary>
        /// <param name="strCode"></param>
        /// <returns></returns>
        public IList <Bill_Departments> GetListWithOutChild(string strCode)
        {
            if (strCode.Equals(""))
            {
                return(null);
            }
            string    sql = " select * from bill_departments where deptCode='" + strCode + "'";
            DataTable dt  = DataHelper.GetDataTable(sql, null, false);
            IList <Bill_Departments> list = new List <Bill_Departments>();

            foreach (DataRow dr in dt.Rows)
            {
                Bill_Departments dept = new Bill_Departments();
                dept.DeptCode   = Convert.ToString(dr["deptCode"]);
                dept.DeptName   = Convert.ToString(dr["DeptName"]);
                dept.DeptStatus = Convert.ToString(dr["DeptStatus"]);
                dept.SjDeptCode = Convert.ToString(dr["SjDeptCode"]);
                dept.isSell     = Convert.ToString(dr["IsSell"]);
                dept.deptJianma = Convert.ToString(dr["deptJianma"]);
                dept.forU8id    = Convert.ToString(dr["forU8id"]);
                list.Add(dept);
            }
            return(list);
        }
示例#13
0
 public DepartmentManager(string deptCode)
 {
     dept = deptDal.GetDeptByCode(deptCode);
 }
示例#14
0
 public DepartmentManager(Bill_Departments dept)
 {
     this.dept = dept;
 }