Пример #1
0
        public static ContractWorkload StatisHSDepartmentYearCategoryWorkLoad(HSDepartment department, int year, ContractCategory category)
        {
            if (department.IsHigherDepatmentHasSub() == true)   //  如果当前部门是一个有下属部门的一级部门
            {
                //Console.WriteLine("部门{0}是一个有子部门的一级部门", department.Name);
                return(DALContractStatistic.StatisHigherDepartmentYearCategoryWorkLoad(department, year, category));
            }
            else if (department.IsHigherDepatmentNoSub() == true)
            {
                //Console.WriteLine("部门{0}是无子部门的一级部门", department.Name);
                return(DALContractStatistic.StatisDepartmentYearCategoryWorkLoad(department, year, category));
            }
            else if (department.IsStatisTotalDepartment() == true)
            {
                //Console.WriteLine("部门{0}要求统计所有部门的总和", department.Name);
                return(DALContractStatistic.StatisYearCategoryWorkLoad(year, category));
            }
            else if (department.IsStatisRegularDepartment() == true)
            {
                //Console.WriteLine("部门{0}要求统计计划任务额度", department.Name);
                return(DALContractStatistic.StatisYearCategoryRegularLoad(year, category));
            }
            else if (department.IsSubDepartment() == true)      //  如果当前部门是一个下属子部门
            {
                // Console.WriteLine("部门{0}是下属子部门", department.Name);
                return(null);
            }

            return(null);
        }
Пример #2
0
        /// <summary>
        /// 查询当前部门的二级部门信息
        /// </summary>
        /// <param name="higherDepartmentId"></param>
        /// <returns></returns>
        public static List <HSDepartment> QuerySubHSDepartment(int higherDepartmentId)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            List <HSDepartment> departments = new List <HSDepartment>();

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = QUERY_SUB_HSDEPARTMENT_STR;
                cmd.Parameters.AddWithValue("HigherDepartmentId", higherDepartmentId);

                MySqlDataReader sqlRead = cmd.ExecuteReader();
                cmd.Dispose();

                while (sqlRead.Read())
                {
                    HSDepartment department = new HSDepartment();

                    ///  部门基本信息
                    department.Id        = int.Parse(sqlRead["id"].ToString());
                    department.Name      = sqlRead["name"].ToString();
                    department.ShortCall = sqlRead["shortcall"].ToString();

                    ///  申请权限信息
                    department.CanBoundary  = int.Parse(sqlRead["canboundary"].ToString());
                    department.CanInland    = int.Parse(sqlRead["caninland"].ToString());
                    department.CanEmergency = int.Parse(sqlRead["canemergency"].ToString());
                    department.CanRegular   = int.Parse(sqlRead["canregular"].ToString());

                    ///  上级部门信息
                    department.HigherDepartmentId = int.Parse(sqlRead["highdepid"].ToString());


                    departments.Add(department);
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(departments);
        }
Пример #3
0
        /// <summary>
        ///  统计当前部门申请的所有工程Project下的会签单信息[Search数据填写SDepartmentShortCall + ItemId]
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public static ContractWorkload StatisDepartmentYearProjectWorkLoad(HSDepartment department, int year, ContractProject project)
        {
            if (project.Id == 10)
            {
            }
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_DEPARTMENT_YEAR_PROJECT_STR;
                cmd.Parameters.AddWithValue("@SDepartmentYear", department.ShortCall + "__" + year.ToString() + "%");
                cmd.Parameters.AddWithValue("@ProjectId", project.Id);
                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = STATIS_KIND.STATIS_DEPARTMENT_YEAR_PROJECT_WORKLOAD.ToString();

                    workload.Work    = double.Parse(sqlRead["works"].ToString());
                    workload.Expense = double.Parse(sqlRead["expenses"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id       = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
Пример #4
0
        /// SELECT * FROM conidcategory WHERE categoryid = @CategoryId
        /// SELECT departmentid FROM conidcategory WHERE categoryid = @CategoryId ORDER BY departmentid
        /// SELECT d.id depid, d.name depname, d.shortcall depshortcall FROM conidcategory c, department d WHERE c.departmentid = d.id AND c.categoryid = 1
        /// SELECT d.id depid, d.name depname, d.shortcall depshortcall, c.category, c.shortcall FROM conidcategory cc, department d, category c WHERE c.id = cc.categoryid AND cc.departmentid = d.id AND cc.categoryid =
        public static List <HSDepartment> QueryCategoryHigherDepartment(int categoryId)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            List <HSDepartment> departments = new List <HSDepartment>();

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = QUERY_CATEGORY_HIGHDEPARTMENT_STR;
                cmd.Parameters.AddWithValue("@CategoryId", categoryId);
                MySqlDataReader sqlRead = cmd.ExecuteReader();
                cmd.Dispose();

                while (sqlRead.Read())
                {
                    HSDepartment department = new HSDepartment();

                    department.Id        = int.Parse(sqlRead["depid"].ToString());
                    department.Name      = sqlRead["depname"].ToString();
                    department.ShortCall = sqlRead["depshortcall"].ToString();

                    department.HigherDepartmentId = int.Parse(sqlRead["highdepid"].ToString());

                    departments.Add(department);
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(departments);
        }
Пример #5
0
        public static ContractWorkload StatisHigherDepartmentYearCategoryWorkLoad(HSDepartment highDepartment, int year, ContractCategory category)
        {
            //  首先获取到当前一级部门的所有下级部门信息
            List <HSDepartment> departments    = DALHSDepartment.QuerySubHSDepartment(highDepartment.Id);
            ContractWorkload    totalWorkloads = new ContractWorkload
            {
                Work    = 0,
                Expense = 0,
            };

            foreach (HSDepartment department in departments)
            {
                ContractWorkload workload = DALContractStatistic.StatisDepartmentYearCategoryWorkLoad(department, year, category);
                totalWorkloads.Work    += workload.Work;
                totalWorkloads.Expense += workload.Expense;
            }

            return(totalWorkloads);
        }