This commit is contained in:
2024-02-01 16:50:40 +08:00
3 changed files with 206 additions and 31 deletions
@@ -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))
{
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;
}
/// <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")
{
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