using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.DataShow { public partial class ProjectDivision : PageBase { #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); //BLL.ProjectService.InitProjectDropDownList(this.drpProject, true); // 绑定表格t BindGrid(); //合计 OutputSummaryData(); this.Panel1.Title = "工程划分数据(" + BLL.UnitService.GetUnitNameByUnitId(BLL.CommonService.GetThisUnitId()) + ")"; } } #endregion protected void changeTree(object sender, EventArgs e) { this.ProjectId = this.ucTree.ProjectId; this.BindGrid(); } #region 加载页面 /// /// 绑定数据 /// private void BindGrid() { var db = Funs.DB; var model = (from p in db.Base_Project where p.ProjectState == "1" && (p.IsDelete == null || p.IsDelete ==false) select new { p.ProjectId, p.ProjectCode, p.ProjectName, Count1 = db.Project_Installation.Count(a => a.ProjectId == p.ProjectId && a.SuperInstallationId == "0"), Count2 = db.WBS_UnitWork.Count(b => b.ProjectId == p.ProjectId), Count3 = db.WBS_DivisionProject.Count(c => c.ProjectId == p.ProjectId && c.SubItemType == "1"), Count4 = db.WBS_DivisionProject.Count(d => d.ProjectId == p.ProjectId && d.SubItemType == "3"), Count5 = db.WBS_BreakdownProject.Count(e => e.ProjectId == p.ProjectId) }).ToList(); if (!string.IsNullOrEmpty(this.ucTree.SelectedNodeID)) { if (!string.IsNullOrEmpty(this.ucTree.ProjectId)) { model = model.Where(x => x.ProjectId == this.ucTree.ProjectId).ToList(); } else { var BeUnderConstructionList = ProjectService.GetProjectWorkList().Where(x => (x.ProjectAttribute == "GONGCHENG" || x.ProjectAttribute == null) && x.UnitId == this.ucTree.UnitId).Select(x => x.ProjectId).ToList(); model = model.Where(x => BeUnderConstructionList.Contains(x.ProjectId)).ToList(); } } //if (!string.IsNullOrEmpty(this.txtStartTime.Text)) //{ // strSql += " AND h.RegisterDate >=@StartTime"; // listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text)); //} //if (!string.IsNullOrEmpty(this.txtEndTime.Text)) //{ // strSql += " AND h.RegisterDate <=@EndTime"; // listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text)); //}Grid1.RecordCount =model.Count; Grid1.DataSource = model.OrderBy(x => x.ProjectId); Grid1.DataBind(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 表排序、分页、关闭窗口 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region 合计 private void OutputSummaryData() { string strSql = @"SELECT P.ProjectId,P.ProjectCode,P.ProjectName ,(SELECT COUNT(*) FROM Project_Installation AS A WHERE A.ProjectId =P.ProjectId AND A.SuperInstallationId='0') AS count1 ,(SELECT COUNT(*) FROM WBS_UnitWork AS B WHERE B.ProjectId =P.ProjectId) AS count2 ,(SELECT COUNT(*) FROM WBS_DivisionProject AS C WHERE C.ProjectId =P.ProjectId AND C.SubItemType= '1') AS count3 ,(SELECT COUNT(*) FROM WBS_DivisionProject AS D WHERE D.ProjectId =P.ProjectId AND D.SubItemType= '3') AS count4 ,(SELECT COUNT(*) FROM WBS_BreakdownProject AS E WHERE E.ProjectId =P.ProjectId ) AS count5 FROM Base_Project AS P WHERE P.ProjectState = 1 "; List listStr = new List(); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); int count1 =0, count2=0, count3=0, count4=0, count5 = 0; foreach (DataRow row in tb.Rows) { count1 += Convert.ToInt32(row["count1"]); count2 += Convert.ToInt32(row["count2"]); count3 += Convert.ToInt32(row["count3"]); count4 += Convert.ToInt32(row["count4"]); count5 += Convert.ToInt32(row["count5"]); } JObject summary = new JObject(); summary.Add("ProjectName", "合计:"); summary.Add("count1", count1.ToString()); summary.Add("count2", count2.ToString()); summary.Add("count3", count3.ToString()); summary.Add("count4", count4.ToString()); summary.Add("count5", count5.ToString()); Grid1.SummaryData = summary; } #endregion } }