diff --git a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx index 05366324..fe64043c 100644 --- a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx +++ b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx @@ -14,6 +14,7 @@ + @@ -21,14 +22,24 @@ - + + + + - + + + + + + + - - + + <%-- - - @@ -74,8 +85,8 @@ OnNodeCommand="tvControlItem_NodeCommand" CssStyle="width:200px; height:600px" runat="server"> --%> - diff --git a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.cs b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.cs index c096b319..5ef02520 100644 --- a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.cs +++ b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.cs @@ -41,11 +41,29 @@ namespace FineUIPro.Web.Transfer.Chart this.ProjectId = Request.Params["projectId"]; } - this.AnalyseData(); + //this.AnalyseData(); } } #endregion + protected void drpdateType_SelectedIndexChanged(object sender, EventArgs e) { + if (drpdateType.SelectedValue == "0") + { + txtStarTime.Hidden = false; + txtEndTime.Hidden = false; + + txtStarTime1.Hidden = true; + txtEndTime1.Hidden = true; + } + else { + txtStarTime1.Hidden = false; + txtEndTime1.Hidden = false; + + txtStarTime.Hidden = true; + txtEndTime.Hidden = true; + } + } + #region 统计 /// /// 统计方法 @@ -57,17 +75,42 @@ namespace FineUIPro.Web.Transfer.Chart Alert.ShowInTop("项目未获取到,请刷新页面。", MessageBoxIcon.Warning); return; } - var sTime = DateTime.Now.AddDays(-7); var eTime = DateTime.Now; ; - //如果没有填写日期,则是七天内的 - if (!string.IsNullOrEmpty(txtStarTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text)) - { - sTime = Convert.ToDateTime(txtStarTime.Text); - eTime = Convert.ToDateTime(txtEndTime.Text); + if (drpdateType.SelectedValue == "0") + { + if (string.IsNullOrEmpty(txtStarTime.Text) || string.IsNullOrEmpty(txtEndTime.Text)) + { + Alert.ShowInTop("请选择日期。", MessageBoxIcon.Warning); + return; + } + else { + sTime = Convert.ToDateTime(txtStarTime.Text); + eTime = Convert.ToDateTime(txtEndTime.Text).AddMonths(1).AddDays(-1); + } } + else { + if (string.IsNullOrEmpty(txtStarTime1.Text) || string.IsNullOrEmpty(txtEndTime1.Text)) + { + Alert.ShowInTop("请选择日期。", MessageBoxIcon.Warning); + return; + } + else { + sTime = Convert.ToDateTime(txtStarTime1.Text); + eTime = Convert.ToDateTime(txtEndTime1.Text); + } + } + + + + ////如果没有填写日期,则是七天内的 + //if (!string.IsNullOrEmpty(txtStarTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text)) + // { + + + //} //查询当前日期中的system的具体数目,去除重复 var list = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId @@ -85,18 +128,36 @@ namespace FineUIPro.Web.Transfer.Chart dtTime.Columns.Add("Not Start", typeof(string)); var systemBol = false; - for (var i = sTime; i <= eTime; i=i.AddDays(1)) + for (var i = sTime; i <= eTime; i=returnDay(i)) { var finishedCount = 0; var inProgress = 0; var notStart = 0; DataRow rowTime = dtTime.NewRow(); Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); - rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", i); ; + + //按年月 + if (drpdateType.SelectedValue == "0") + { + rowTime["日期"] = string.Format("{0:yyyy-MM}", i); + } + else { + rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", i); + } + + //根据日期查询当前system的数量 var systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId && x.FDate >= Convert.ToDateTime(rowTime["日期"]) && x.FDate < Convert.ToDateTime(rowTime["日期"]).AddDays(1)).ToList(); + //如果按年月 + if (drpdateType.SelectedValue == "0") + { + systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId + && x.FDate >= Convert.ToDateTime(rowTime["日期"]) + && x.FDate < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)).ToList(); + } + //查询TestPackage 去重 var testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct(); @@ -124,10 +185,18 @@ namespace FineUIPro.Web.Transfer.Chart //如果都是完成,需要最后 12表 test packge 必须是Finished才能是完成 var punchlistFromList= Funs.DB.Transfer_PunchlistFrom.Where(x=>x.ProjectId==ProjectId && x.Test_Package==item - && x.PUNCH_ITEM_FINISH_DATE>= Convert.ToDateTime(rowTime["日期"]) - && x.PUNCH_ITEM_FINISH_DATE < Convert.ToDateTime(rowTime["日期"]).AddDays(1)).ToList(); - //如果查到 - if (punchlistFromList.Count > 0) + ).ToList(); + + ////如果按年月 + //if (drpdateType.SelectedValue == "0") { + // punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId + // && x.Test_Package == item + // && x.PUNCH_ITEM_FINISH_DATE >= Convert.ToDateTime(rowTime["日期"]) + // && x.PUNCH_ITEM_FINISH_DATE < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)).ToList(); + //} + + //如果查到 + if (punchlistFromList.Count > 0) { //12表当前日期完成的数量 var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count(); @@ -141,7 +210,7 @@ namespace FineUIPro.Web.Transfer.Chart } } else { - inProgress += 1; + finishedCount += 1; } } //如果总数量等于not start,未开始量+1 @@ -168,6 +237,20 @@ namespace FineUIPro.Web.Transfer.Chart } + public DateTime returnDay(DateTime x) { + //按年月 + if (drpdateType.SelectedValue == "0") + { + x = x.AddMonths(1); + return x; + } + else + { + x = x.AddDays(1); + return x; + } + } + public class CheckAnalysisModel { public string itemType { get; set; } @@ -207,6 +290,7 @@ namespace FineUIPro.Web.Transfer.Chart }; this.trRectify.Nodes.Add(rootNode); BoundTree(rootNode.Nodes, list); + this.trRectify.AutoScroll = true; } /// @@ -245,13 +329,45 @@ namespace FineUIPro.Web.Transfer.Chart var sTime = DateTime.Now.AddDays(-7); var eTime = DateTime.Now; ; - //如果没有填写日期,则是七天内的 - if (!string.IsNullOrEmpty(txtStarTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text)) + if (drpdateType.SelectedValue == "0") { - sTime = Convert.ToDateTime(txtStarTime.Text); - eTime = Convert.ToDateTime(txtEndTime.Text); + if (string.IsNullOrEmpty(txtStarTime.Text) || string.IsNullOrEmpty(txtEndTime.Text)) + { + Alert.ShowInTop("请选择日期。", MessageBoxIcon.Warning); + return; + } + else + { + sTime = Convert.ToDateTime(txtStarTime.Text); + eTime = Convert.ToDateTime(txtEndTime.Text).AddMonths(1).AddDays(-1); + } } + else + { + if (string.IsNullOrEmpty(txtStarTime1.Text) || string.IsNullOrEmpty(txtEndTime1.Text)) + { + Alert.ShowInTop("请选择日期。", MessageBoxIcon.Warning); + return; + } + else + { + sTime = Convert.ToDateTime(txtStarTime1.Text); + eTime = Convert.ToDateTime(txtEndTime1.Text); + } + } + //var sTime = DateTime.Now.AddDays(-7); + //var eTime = DateTime.Now; ; + + ////如果没有填写日期,则是七天内的 + //if (!string.IsNullOrEmpty(txtStarTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text)) + //{ + // sTime = Convert.ToDateTime(txtStarTime.Text); + // eTime = Convert.ToDateTime(txtEndTime.Text); + + //} + + DataTable dtTime = new DataTable(); dtTime.Columns.Add("日期", typeof(string)); dtTime.Columns.Add("Finished", typeof(string)); @@ -259,19 +375,38 @@ namespace FineUIPro.Web.Transfer.Chart dtTime.Columns.Add("Not Start", typeof(string)); var systemBol = false; - for (var i = sTime; i <= eTime; i = i.AddDays(1)) + for (var i = sTime; i <= eTime; i = returnDay(i)) { var finishedCount = 0; var inProgress = 0; var notStart = 0; DataRow rowTime = dtTime.NewRow(); Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); - rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", i); ; + + //按年月 + if (drpdateType.SelectedValue == "0") + { + rowTime["日期"] = string.Format("{0:yyyy-MM}", i); + } + else + { + rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", i); + } + //根据日期查询当前system的数量 var systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId && x.SystemName == SystemName && x.FDate >= Convert.ToDateTime(rowTime["日期"]) && x.FDate < Convert.ToDateTime(rowTime["日期"]).AddDays(1)).ToList(); + //如果按年月 + if (drpdateType.SelectedValue == "0") + { + systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId && x.SystemName == SystemName + && x.FDate >= Convert.ToDateTime(rowTime["日期"]) + && x.FDate < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)).ToList(); + } + + //查询TestPackage 去重 var testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct(); @@ -299,8 +434,10 @@ namespace FineUIPro.Web.Transfer.Chart var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId && x.SystemName==SystemName && x.Test_Package == item - && x.PUNCH_ITEM_FINISH_DATE >= Convert.ToDateTime(rowTime["日期"]) - && x.PUNCH_ITEM_FINISH_DATE < Convert.ToDateTime(rowTime["日期"]).AddDays(1)).ToList(); + ).ToList(); + + //&& x.PUNCH_ITEM_FINISH_DATE >= Convert.ToDateTime(rowTime["日期"]) + //&& x.PUNCH_ITEM_FINISH_DATE < Convert.ToDateTime(rowTime["日期"]).AddDays(1) //如果查到 if (punchlistFromList.Count > 0) { @@ -318,7 +455,7 @@ namespace FineUIPro.Web.Transfer.Chart } else { - inProgress += 1; + finishedCount += 1; } } //如果总数量等于not start,未开始量+1 diff --git a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.designer.cs b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.designer.cs index 2be7ed02..7669478c 100644 --- a/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/Transfer/Chart/Instrumentation.aspx.designer.cs @@ -59,6 +59,15 @@ namespace FineUIPro.Web.Transfer.Chart /// protected global::FineUIPro.Form Form2; + /// + /// drpdateType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpdateType; + /// /// txtStarTime 控件。 /// @@ -77,6 +86,24 @@ namespace FineUIPro.Web.Transfer.Chart /// protected global::FineUIPro.DatePicker txtEndTime; + /// + /// txtStarTime1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStarTime1; + + /// + /// txtEndTime1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndTime1; + /// /// drpChartType 控件。 ///