按年月统计
This commit is contained in:
parent
8782bbff79
commit
8276d5e70a
|
@ -14,6 +14,7 @@
|
|||
|
||||
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server" Margin="5px">
|
||||
<Regions>
|
||||
|
||||
<f:Region ID="Region1" ShowBorder="false" ShowHeader="false" RegionPosition="Top"
|
||||
BodyPadding="0 5 0 0" Width="200px" Layout="Fit" runat="server" EnableCollapse="true">
|
||||
<Items>
|
||||
|
@ -21,14 +22,24 @@
|
|||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker runat="server" Label="完成时间" ID="txtStarTime" EnableEdit="true" LabelWidth="80px"></f:DatePicker>
|
||||
<f:DropDownList ID="drpdateType" runat="server" Label="日期类型" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="drpdateType_SelectedIndexChanged" Width="100px" LabelWidth="80px">
|
||||
<f:ListItem Value="0" Text="按年月" Selected="true"></f:ListItem>
|
||||
<f:ListItem Value="1" Text="按日期"></f:ListItem>
|
||||
</f:DropDownList>
|
||||
|
||||
<f:DatePicker runat="server" ID="txtEndTime" EnableEdit="true" LabelWidth="80px"></f:DatePicker>
|
||||
<f:DatePicker runat="server" Label="完成时间" ID="txtStarTime" EnableEdit="true" LabelWidth="80px" DateFormatString="yyyy-MM" DisplayType="Month"></f:DatePicker>
|
||||
|
||||
<f:DatePicker runat="server" ID="txtEndTime" EnableEdit="true" LabelWidth="80px" DateFormatString="yyyy-MM" DisplayType="Month"></f:DatePicker>
|
||||
|
||||
<f:DatePicker runat="server" Label="完成时间" ID="txtStarTime1" EnableEdit="true" LabelWidth="80px" Hidden="true"></f:DatePicker>
|
||||
|
||||
<f:DatePicker runat="server" ID="txtEndTime1" EnableEdit="true" LabelWidth="80px" Hidden="true"></f:DatePicker>
|
||||
|
||||
<f:DropDownList ID="drpChartType" runat="server" Label="图形类型" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="drpChartType_SelectedIndexChanged" Width="300px" LabelWidth="80px">
|
||||
<f:ListItem Value="Column" Text="柱形图"></f:ListItem>
|
||||
<f:ListItem Value="Line" Text="折线图" Selected="true"></f:ListItem>
|
||||
<f:ListItem Value="Column" Text="柱形图" Selected="true"></f:ListItem>
|
||||
<f:ListItem Value="Line" Text="折线图"></f:ListItem>
|
||||
</f:DropDownList>
|
||||
|
||||
<%--<f:DropDownList ID="drpChartType" runat="server" LabelWidth="80px" Label="图形类型"
|
||||
|
@ -48,13 +59,13 @@
|
|||
</f:Form>
|
||||
</Items>
|
||||
</f:Region>
|
||||
<f:Region ID="Region2" ShowBorder="false" ShowHeader="false" Position="Center" Layout="VBox"
|
||||
<f:Region ID="Region2" ShowBorder="false" ShowHeader="false" Position="Center" Layout="VBox" AutoScroll="true"
|
||||
BoxConfigAlign="Stretch" BoxConfigPosition="Left" runat="server">
|
||||
<Items>
|
||||
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="800px" ShowBorder="true"
|
||||
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server">
|
||||
<Tabs>
|
||||
<f:Tab ID="Tab2" Title="图表" BodyPadding="5px" Layout="Fit" IconFont="Bookmark"
|
||||
<f:Tab ID="Tab2" Title="图表" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" AutoScroll="true"
|
||||
runat="server" TitleToolTip="按图形显示">
|
||||
<Items>
|
||||
<f:ContentPanel ShowHeader="false" runat="server" ID="cpCostTime" Margin="0 0 0 0" CssStyle="margin-left:200px">
|
||||
|
@ -74,8 +85,8 @@
|
|||
OnNodeCommand="tvControlItem_NodeCommand" CssStyle="width:200px; height:600px"
|
||||
runat="server">
|
||||
</f:Tree>--%>
|
||||
<f:Tree ID="trRectify" Width="200px" EnableCollapse="true" ShowHeader="true"
|
||||
CssStyle="width:200px; height:600px"
|
||||
<f:Tree ID="trRectify" Width="200px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
|
||||
CssStyle="width:200px;"
|
||||
OnNodeCommand="trRectify_NodeCommand" AutoLeafIdentification="true" runat="server">
|
||||
</f:Tree>
|
||||
|
||||
|
|
|
@ -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 统计
|
||||
/// <summary>
|
||||
/// 统计方法
|
||||
|
@ -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))
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
////如果没有填写日期,则是七天内的
|
||||
//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,8 +185,16 @@ 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();
|
||||
).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)
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -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")
|
||||
{
|
||||
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);
|
||||
|
||||
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
|
||||
|
|
|
@ -59,6 +59,15 @@ namespace FineUIPro.Web.Transfer.Chart
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form2;
|
||||
|
||||
/// <summary>
|
||||
/// drpdateType 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpdateType;
|
||||
|
||||
/// <summary>
|
||||
/// txtStarTime 控件。
|
||||
/// </summary>
|
||||
|
@ -77,6 +86,24 @@ namespace FineUIPro.Web.Transfer.Chart
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndTime;
|
||||
|
||||
/// <summary>
|
||||
/// txtStarTime1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStarTime1;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndTime1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndTime1;
|
||||
|
||||
/// <summary>
|
||||
/// drpChartType 控件。
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue