提交代码

This commit is contained in:
2024-02-04 14:26:05 +08:00
parent 68c7b95405
commit ca59e12f6d
20 changed files with 759 additions and 10 deletions
@@ -0,0 +1,61 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PunchlistFromChart.aspx.cs" Inherits="FineUIPro.Web.Transfer.Chart.PunchlistFromChart" %>
<%@ Register Src="~/Controls/ChartControl.ascx" TagName="ChartControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="RegionPanel1" AjaxAspnetControls="divAnalyse,divCheck" />
<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>
<f:Form ID="Form2" ShowHeader="false" ShowBorder="false" runat="server">
<Rows>
<f:FormRow ColumnWidths="20% 85%">
<Items>
<f:RadioButtonList runat="server" ID="rblType" Label="统计方式" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="rblType_SelectedIndexChanged" >
<f:RadioItem Text="百分比" Value="1" Selected="true" />
<f:RadioItem Text="数量" Value="2" />
</f:RadioButtonList>
<f:Label runat="server"></f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:Region>
<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="700px" ShowBorder="true"
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server">
<Tabs>
<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">
<div id="divAnalyse">
<uc1:ChartControl ID="ChartUc" runat="server" />
</div>
</f:ContentPanel>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Region>
</Regions>
</f:RegionPanel>
</form>
</body>
</html>
@@ -0,0 +1,137 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using BLL;
namespace FineUIPro.Web.Transfer.Chart
{
public partial class PunchlistFromChart : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]))
{
this.ProjectId = Request.Params["projectId"];
}
this.AnalyseData();
}
}
#endregion
/// <summary>
/// 统计分析
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
this.AnalyseData();
}
#region
private void AnalyseData()
{
if (string.IsNullOrEmpty(ProjectId))
{
Alert.ShowInTop("项目未获取到,请刷新页面。", MessageBoxIcon.Warning);
return;
}
var forms = from x in Funs.DB.Transfer_PunchlistFrom
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var dates = (from x in forms where x.PUNCH_ITEM_FINISH_DATE != null orderby x.PUNCH_ITEM_FINISH_DATE select x.PUNCH_ITEM_FINISH_DATE).Distinct().ToList();
DataTable dtTime = new DataTable();
if (rblType.SelectedValue == "1")
{
dtTime.Columns.Add("日期", typeof(string));
dtTime.Columns.Add("Finished(%)", typeof(string));
if (dates.Count() > 0)
{
List<DateTime> months = new List<DateTime>();
DateTime startDate = Convert.ToDateTime(dates.First());
DateTime endDate = Convert.ToDateTime(dates.Last());
do
{
months.Add(startDate);
startDate = startDate.AddDays(15);
} while (startDate <= endDate);
var nums = forms.Count();
foreach (var item in months)
{
DataRow rowTime = dtTime.NewRow();
Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem();
rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", item);
var finishedNums = forms.Count(x => x.PUNCH_ITEM_FINISH_DATE <= item && x.PUNCH_ITEM_STATUS == "Finished");
if (nums > 0)
{
rowTime["Finished(%)"] = 1.0 * finishedNums / nums;
}
dtTime.Rows.Add(rowTime);
}
this.ChartUc.CreateChartPunchlistFrom(BLL.ChartControlService.GetDataSourceChartByYijiao(dtTime, "PROGRESS REPORT", "Line", 1100, 600, false));
}
}
else
{
dtTime.Columns.Add("日期", typeof(string));
dtTime.Columns.Add("Finished", typeof(string));
if (dates.Count() > 0)
{
List<DateTime> months = new List<DateTime>();
DateTime startDate = Convert.ToDateTime(dates.First());
DateTime endDate = Convert.ToDateTime(dates.Last());
do
{
months.Add(startDate);
startDate = startDate.AddDays(15);
} while (startDate <= endDate);
var nums = forms.Count();
foreach (var item in months)
{
DataRow rowTime = dtTime.NewRow();
Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem();
rowTime["日期"] = string.Format("{0:yyyy-MM-dd}", item);
var finishedNums = forms.Count(x => x.PUNCH_ITEM_FINISH_DATE <= item && x.PUNCH_ITEM_STATUS == "Finished");
rowTime["Finished"] = finishedNums;
dtTime.Rows.Add(rowTime);
}
this.ChartUc.CreateChart(BLL.ChartControlService.GetDataSourceChartByYijiao(dtTime, "PROGRESS REPORT", "Line", 1100, 600, false));
}
}
}
#endregion
protected void rblType_SelectedIndexChanged(object sender, EventArgs e)
{
this.AnalyseData();
}
}
}
@@ -0,0 +1,114 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.Transfer.Chart {
public partial class PunchlistFromChart {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// RegionPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RegionPanel RegionPanel1;
/// <summary>
/// Region1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Region Region1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// rblType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblType;
/// <summary>
/// Region2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Region Region2;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Tab2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab2;
/// <summary>
/// cpCostTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel cpCostTime;
/// <summary>
/// ChartUc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::Web.Controls.ChartControl ChartUc;
}
}