/// <summary> /// 统计方案数据 /// </summary> /// <param name="time0"></param> /// <param name="time1"></param> /// <returns></returns> private DataSet GetTongJiData(String time0, String time1) { DataSet ds0 = new DataSet(); DataTable dt0 = new DataTable("Table0"); ds0.Tables.Add(dt0); dt0.Columns.Add("depart"); for (int i = 1; i <= 12; i++) { dt0.Columns.Add("num" + i); } List <SearchField> condition = new List <SearchField>(); if (time0.Trim() != String.Empty) { condition.Add(new SearchField("shijian1", time0, SearchOperator.大于等于)); } if (time1.Trim() != String.Empty) { condition.Add(new SearchField("shijian1", time1, SearchOperator.小于等于)); } //设置查询范围 U_RolesBU role1 = new U_RolesBU(); bool isAllCanSee = role1.isRole(new string[] { "公司领导", "评审部角色", "会计", "出纳", "领导秘书" }); role1.Close(); //1)公司领导、会计、出纳、领导秘书 可查询所有的项目 if (isAllCanSee == false) { //普通的用户只能查询自己负责(或下属负责的项目) List <SearchField> condition1 = new List <SearchField>(); U_UserNameBU user1 = new U_UserNameBU(); String userName1 = user1.GetSelfAndXiaShu(User.Identity.Name); user1.Close(); if (userName1 != String.Empty) { condition.Add(new SearchField("zeren", userName1, SearchOperator.集合)); } } //2)统计新数据 int[] sum1 = new int[12]; String fdepart = ""; CommTable comm1 = new CommTable(); comm1.TabName = "U_ZC2"; DataSet ds1 = comm1.SearchData("id,depart,status,spstatus,spkind", condition, "depart"); DataRow dr1 = null; foreach (DataRow dr in ds1.Tables[0].Rows) { if (dr["depart"].ToString().Trim() != fdepart) { if (dr1 != null) { ds0.Tables[0].Rows.Add(dr1); } //设置初值 dr1 = ds0.Tables[0].NewRow(); dr1["depart"] = dr["depart"]; fdepart = dr["depart"].ToString().Trim(); for (int i = 1; i <= 12; i++) { dr1["num" + i] = 0; } } //设置值 String spstatus = dr["spstatus"].ToString().Trim(); if (spstatus == "0") { dr1["num1"] = int.Parse(dr1["num1"].ToString()) + 1; sum1[0] += 1; } else if (spstatus == "1") { dr1["num2"] = int.Parse(dr1["num2"].ToString()) + 1; dr1["num4"] = int.Parse(dr1["num4"].ToString()) + 1; sum1[1] += 1; sum1[3] += 1; } else if (spstatus == "2") { dr1["num3"] = int.Parse(dr1["num3"].ToString()) + 1; dr1["num4"] = int.Parse(dr1["num4"].ToString()) + 1; sum1[2] += 1; sum1[3] += 1; } String status = dr["status"].ToString().Trim(); if (status == "21") { dr1["num5"] = int.Parse(dr1["num5"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[4] += 1; sum1[11] += 1; } else if (status == "22") { dr1["num6"] = int.Parse(dr1["num6"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[5] += 1; sum1[11] += 1; } else if (status == "23") { dr1["num7"] = int.Parse(dr1["num7"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[6] += 1; sum1[11] += 1; } else if (status == "24") { dr1["num8"] = int.Parse(dr1["num8"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[7] += 1; sum1[11] += 1; } else if (status == "25") { dr1["num9"] = int.Parse(dr1["num9"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[8] += 1; sum1[11] += 1; } else if (status == "26") { dr1["num10"] = int.Parse(dr1["num10"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[9] += 1; sum1[11] += 1; } else if (status == "27") { dr1["num11"] = int.Parse(dr1["num11"].ToString()) + 1; dr1["num12"] = int.Parse(dr1["num12"].ToString()) + 1; sum1[10] += 1; sum1[11] += 1; } else { ; } } if (dr1 != null) { ds0.Tables[0].Rows.Add(dr1); dr1 = ds0.Tables[0].NewRow(); dr1["depart"] = "合计"; for (int i = 1; i <= 12; i++) { dr1["num" + i] = sum1[i - 1]; } ds0.Tables[0].Rows.Add(dr1); } comm1.Close(); return(ds0); }