修改移交管理,增加统计报表以及添加字段

This commit is contained in:
2024-08-30 17:45:02 +08:00
parent 7311a2b6fa
commit d21533d599
30 changed files with 885 additions and 271 deletions
@@ -49,16 +49,19 @@
<f:Panel ID="Panel4" CssClass="blockpanel" runat="server" EnableCollapse="false"
BodyPadding="10px" ShowBorder="true" ShowHeader="false">
<Items>
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="600px" ShowBorder="true"
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="650px" ShowBorder="true"
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server" AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged">
<Tabs>
<f:Tab ID="Tab1" Title="图形" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"
<f:Tab ID="Tab1" Title="图形" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server" CssStyle="width:100%"
TitleToolTip="图形">
<Items>
<f:ContentPanel ShowHeader="false" runat="server" ID="cpAccidentTime" Margin="0 0 0 0">
<div id="divAccidentTime">
<f:ContentPanel ShowHeader="false" runat="server" ID="cpAccidentTime" Margin="0 0 0 0" CssStyle="width:100%">
<div id="container" style="width: 1300px; height: 580px;"></div>
<%-- <div id="divAccidentTime">
<uc1:ChartControl ID="ChartAccidentTime" runat="server" />
</div>
</div>--%>
</f:ContentPanel>
</Items>
</f:Tab>
@@ -80,13 +83,52 @@
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" EnableTextSelection="true" EnableSummary="true" SummaryPosition="Flow">
<Columns>
<f:BoundField DataField="Disc" ColumnID="Disc" HeaderText="专业" ExpandUnusedSpace="true" MinWidth="150px" />
<f:GroupField HeaderText="类别" TextAlign="Center" MinWidth="600px">
<f:BoundField DataField="Disc" ColumnID="Disc" HeaderText="专业" ExpandUnusedSpace="true" minWidth="80px" TextAlign="Center"/>
<f:GroupField HeaderText="总体情况" TextAlign="Center" >
<Columns>
<f:RenderField Width="150px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="A" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="B" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="C" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="D" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="50px" ColumnID="allCount" DataField="allCount" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="allfinshedCount" DataField="allfinshedCount" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="allWUH" DataField="allWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="allBASF" DataField="allBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="A" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_A_Countf" DataField="Cat_A_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_A_CountWUH" DataField="Cat_A_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_A_CountBASF" DataField="Cat_A_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="B" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_B_Countf" DataField="Cat_B_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_B_CountWUH" DataField="Cat_B_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_B_CountBASF" DataField="Cat_B_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="C" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_C_Countf" DataField="Cat_C_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_C_CountWUH" DataField="Cat_C_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_C_CountBASF" DataField="Cat_C_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="D" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_D_Countf" DataField="Cat_D_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_D_CountWUH" DataField="Cat_D_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_D_CountBASF" DataField="Cat_D_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
</Columns>
@@ -112,14 +154,51 @@
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid2_PageIndexChange"
EnableRowDoubleClickEvent="true" EnableTextSelection="true" EnableSummary="true" SummaryPosition="Flow">
<Columns>
<f:BoundField DataField="Action_By" ColumnID="Action_By" HeaderText="单位" ExpandUnusedSpace="true" MinWidth="150px" />
<f:RenderField Width="150px" ColumnID="Cat_All_Count" DataField="Cat_All_Count" HeaderText="总" TextAlign="Center" FieldType="Double" />
<f:GroupField HeaderText="类别" TextAlign="Center" MinWidth="600px">
<f:BoundField DataField="Action_By" ColumnID="Action_By" HeaderText="单位" ExpandUnusedSpace="true" minWidth="80px" TextAlign="Center" />
<f:GroupField HeaderText="总体情况" TextAlign="Center" >
<Columns>
<f:RenderField Width="150px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="A" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="B" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="C" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="150px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="D" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="50px" ColumnID="allCount" DataField="allCount" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="allfinshedCount" DataField="allfinshedCount" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="allWUH" DataField="allWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="allBASF" DataField="allBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="A" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_A_Countf" DataField="Cat_A_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_A_CountWUH" DataField="Cat_A_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_A_CountBASF" DataField="Cat_A_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="B" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_B_Countf" DataField="Cat_B_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_B_CountWUH" DataField="Cat_B_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_B_CountBASF" DataField="Cat_B_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="C" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_C_Countf" DataField="Cat_C_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_C_CountWUH" DataField="Cat_C_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_C_CountBASF" DataField="Cat_C_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="D" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_D_Countf" DataField="Cat_D_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_D_CountWUH" DataField="Cat_D_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_D_CountBASF" DataField="Cat_D_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
</Columns>
@@ -145,20 +224,57 @@
runat="server" BoxFlex="1" DataKeyNames="System_No" AllowCellEditing="true" EnableColumnLines="true"
ClicksToEdit="2" DataIDField="System_No" AllowSorting="true" OnSort="Grid3_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid3_PageIndexChange"
EnableRowDoubleClickEvent="true" EnableTextSelection="true">
EnableRowDoubleClickEvent="true" EnableTextSelection="true" EnableSummary="true">
<Columns>
<f:BoundField Width="180px" TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="System No." />
<f:BoundField TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="System No." minWidth="80px" />
<f:RenderField Width="180px" TextAlign="Center" ColumnID="SystemNoCount" DataField="SystemNoCount" HeaderText="尾项数量" FieldType="Double" />
<f:GroupField HeaderText="总体情况" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="allCount" DataField="allCount" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="allfinshedCount" DataField="allfinshedCount" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="allWUH" DataField="allWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="allBASF" DataField="allBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:RenderField Width="180px" TextAlign="Center" ColumnID="ActualDateCount" DataField="ActualDateCount" HeaderText="已完成数量" FieldType="Double"/>
<f:RenderField Width="180px" TextAlign="Center" ColumnID="ClearedByCount" DataField="ClearedByCount" HeaderText="Cleared(PIC)" FieldType="Double"/>
<f:RenderField Width="180px" TextAlign="Center" ColumnID="ConfirmedByCount" DataField="ConfirmedByCount" HeaderText="Confirmed(WUH)" FieldType="Double"/>
<f:GroupField HeaderText="A" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_A_Countf" DataField="Cat_A_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_A_CountWUH" DataField="Cat_A_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_A_CountBASF" DataField="Cat_A_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:RenderField Width="180px" TextAlign="Center" ColumnID="VerifiedByCount" DataField="VerifiedByCount" HeaderText="Verified(BASF)" FieldType="Double"/>
<f:GroupField HeaderText="B" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_B_Countf" DataField="Cat_B_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_B_CountWUH" DataField="Cat_B_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_B_CountBASF" DataField="Cat_B_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="C" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_C_Countf" DataField="Cat_C_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_C_CountWUH" DataField="Cat_C_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_C_CountBASF" DataField="Cat_C_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="D" TextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_D_Countf" DataField="Cat_D_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_D_CountWUH" DataField="Cat_D_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_D_CountBASF" DataField="Cat_D_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
</f:GroupField>
</Columns>
<PageItems>
<f:ToolbarText ID="ToolbarText3" runat="server" Text="每页记录数:">
@@ -181,3 +297,106 @@
</form>
</body>
</html>
<script type="text/javascript" src="https://registry.npmmirror.com/echarts/5.5.1/files/dist/echarts.min.js"></script>
<script type="text/javascript">
var dom = document.getElementById('container');
var myChart = echarts.init(dom, null, {
renderer: 'canvas',
useDirtyRect: false
});
var app = {};
var option;
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
}
},
toolbox: {
feature: {
//dataView: { show: true, readOnly: false },
//magicType: { show: true, type: ['line', 'bar'] },
//restore: { show: true },
saveAsImage: { show: true }
}
},
legend: {
data: ['当天计划完成量', '当天实际完成量', '累计计划完成量','累计实际完成量']
},
/*x轴日期*/
xAxis: [
{
type: 'category',
data: [<%=AllxDate%>],
/* data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],*/
axisPointer: {
type: 'shadow'
},
axisLabel: {
interval: 0,
rotate: 40 //值>0向右倾斜,值<0则向左倾斜
}
}
],
/*两边的单位*/
yAxis: [
{
type: 'value',
name: '计划数量',
interval: 20,
axisLabel: {
formatter: '{value}'
}
},
{
type: 'value',
name: '累计数量',
interval: 50,
axisLabel: {
formatter: '{value}'
}
}
],
series: [
{
name: '当天计划完成量',
type: 'bar',
data: [<%=wcl1%>]
},
{
name: '当天实际完成量',
type: 'bar',
data: [<%=wcl2%>]
},
{
name: '累计计划完成量',
type: 'line',
yAxisIndex: 1,
data: [<%=wcl3%>]
},
{
name: '累计实际完成量',
type: 'line',
yAxisIndex: 1,
data: [<%=wcl4%>]
}
]
};
if (option && typeof option === 'object') {
myChart.setOption(option);
}
window.addEventListener('resize', myChart.resize);
</script>
@@ -18,6 +18,11 @@ namespace FineUIPro.Web.Transfer.Chart
{
if (!IsPostBack)
{
ddlSystemNo.Hidden = true;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = true;
var systemNos = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).GroupBy(p => new { p.System_No }).Select(p => new { System_No = p.Key.System_No }).ToList();
int indexRow = 1;
ddlSystemNo.Items.Insert(0, new FineUIPro.ListItem("ALL", ""));
@@ -30,6 +35,28 @@ namespace FineUIPro.Web.Transfer.Chart
}
}
/// <summary>
/// x轴30天日期
/// </summary>
public string AllxDate;
/// <summary>
/// 当天计划完成量
/// </summary>
public string wcl1;
/// <summary>
/// 当天实际完成量
/// </summary>
public string wcl2;
/// <summary>
/// 累计计划完成量
/// </summary>
public string wcl3;
/// <summary>
/// 累计实际完成量
/// </summary>
public string wcl4;
/// <summary>
/// 统计方法
/// </summary>
@@ -47,27 +74,63 @@ namespace FineUIPro.Web.Transfer.Chart
string _dateType = ddlDateType.SelectedValue;
#region
AllxDate = "";
if (_dateType == "1")
{
///按单位统计
DataTable dtTime = new DataTable();
dtTime.Columns.Add("日期", typeof(string));
dtTime.Columns.Add("计划完成数量", typeof(string));
dtTime.Columns.Add("实际完成数量", typeof(string));
for (int i = 6; i >= 0; i--)
#region 30
var nowDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
for (var i = nowDate.AddDays(-30); i <= nowDate; i=i.AddDays(1))
{
DataRow rowTime = dtTime.NewRow();
DateTime QueryTime = DateTime.Now.AddDays(i * -1);
rowTime["日期"] = QueryTime.ToString("yyyy/MM/dd");
DateTime startTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime endTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 23:59:59");
//rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
//rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
dtTime.Rows.Add(rowTime);
//i是日期
var d = i.Month.ToString() + "月" + i.Day.ToString() + "日";
DateTime startTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime endTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 23:59:59");
//当天计划完成量
var dtjhwcl= forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
wcl1 += "'" + dtjhwcl + "',";
//当天实际完成量
var dtsjwcl = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
wcl2 += "'" + dtsjwcl + "',";
//累计计划完成量
var ljjhwcl = forms.Where(x => x.Required_Date <= endTime).Count();
wcl3 += "'" + ljjhwcl + "',";
//累计实际完成量
var ljsjwcl= forms.Where(x => x.Actual_Date <= endTime).Count();
wcl4 += "'" + ljsjwcl + "',";
AllxDate += "'"+ d + "',";
}
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
if (AllxDate.Length>0)
{
AllxDate = AllxDate.Substring(0, AllxDate.Length - 1);
wcl1 = wcl1.Substring(0, wcl1.Length - 1);
wcl2 = wcl2.Substring(0, wcl2.Length - 1);
wcl3 = wcl3.Substring(0, wcl3.Length - 1);
wcl4 = wcl4.Substring(0, wcl4.Length - 1);
}
#endregion
/////按单位统计
//DataTable dtTime = new DataTable();
//dtTime.Columns.Add("日期", typeof(string));
//dtTime.Columns.Add("计划完成数量", typeof(string));
//dtTime.Columns.Add("实际完成数量", typeof(string));
//for (int i = 6; i >= 0; i--)
//{
// DataRow rowTime = dtTime.NewRow();
// DateTime QueryTime = DateTime.Now.AddDays(i * -1);
// rowTime["日期"] = QueryTime.ToString("yyyy/MM/dd");
// DateTime startTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 00:00:00");
// DateTime endTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 23:59:59");
// //rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
// //rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
// rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
// rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
// dtTime.Rows.Add(rowTime);
//}
//this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
///按单位统计
DataTable dtTime1 = new DataTable();
@@ -95,25 +158,25 @@ namespace FineUIPro.Web.Transfer.Chart
//按照当前月份到一月份的数据
if (_dateType == "2")
{
///按单位统计
DataTable dtTime = new DataTable();
dtTime.Columns.Add("月份", typeof(string));
dtTime.Columns.Add("计划完成数量", typeof(string));
dtTime.Columns.Add("实际完成数量", typeof(string));
for (int i = 1; i <= DateTime.Now.Month; i++)
{
DataRow rowTime = dtTime.NewRow();
DateTime QueryTime =Convert.ToDateTime($"{DateTime.Now.Year.ToString()}-{i}-1 00:00:00");
rowTime["月份"] = QueryTime.ToString("yyyy/MM");
DateTime startTime = QueryTime;
DateTime endTime = Convert.ToDateTime(QueryTime.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
//rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
//rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
dtTime.Rows.Add(rowTime);
}
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
/////按单位统计
//DataTable dtTime = new DataTable();
//dtTime.Columns.Add("月份", typeof(string));
//dtTime.Columns.Add("计划完成数量", typeof(string));
//dtTime.Columns.Add("实际完成数量", typeof(string));
//for (int i = 1; i <= DateTime.Now.Month; i++)
//{
// DataRow rowTime = dtTime.NewRow();
// DateTime QueryTime =Convert.ToDateTime($"{DateTime.Now.Year.ToString()}-{i}-1 00:00:00");
// rowTime["月份"] = QueryTime.ToString("yyyy/MM");
// DateTime startTime = QueryTime;
// DateTime endTime = Convert.ToDateTime(QueryTime.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
// //rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
// //rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
// rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
// rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
// dtTime.Rows.Add(rowTime);
//}
//this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
///按单位统计
DataTable dtTime1 = new DataTable();
@@ -269,12 +332,49 @@ namespace FineUIPro.Web.Transfer.Chart
strSql.AppendLine(" AND System_No=@System_No ");
listStr.Add(new SqlParameter("@System_No", _systemNo));
}
strSql.AppendLine(" select Disc,cast(0 as decimal(18,2)) Cat_A_Count,cast(0 as decimal(18,2)) Cat_B_Count,cast(0 as decimal(18,2)) Cat_C_Count,cast(0 as decimal(18,2)) Cat_D_Count INTO #PunchlistFromSortTemp1 from #AllPunchlistFromSortTemp1 Group by Disc; ");
strSql.AppendLine(" update a set a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')) ");
strSql.AppendLine(",a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ");
strSql.AppendLine(",a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ");
strSql.AppendLine(",a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ");
strSql.AppendLine("from #PunchlistFromSortTemp1 a;");
strSql.AppendLine(@" select Disc,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromSortTemp1
from #AllPunchlistFromSortTemp1 Group by Disc; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc),
allfinshedCount=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromSortTemp1 a;");
strSql.AppendLine("select * from #PunchlistFromSortTemp1 ");
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql.AppendLine(" order by Disc ");
@@ -290,12 +390,39 @@ namespace FineUIPro.Web.Transfer.Chart
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf+= Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
@@ -306,6 +433,27 @@ namespace FineUIPro.Web.Transfer.Chart
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid1.SummaryData = summary;
}
@@ -327,13 +475,50 @@ namespace FineUIPro.Web.Transfer.Chart
strSql.AppendLine(" AND System_No=@System_No ");
listStr.Add(new SqlParameter("@System_No", _systemNo));
}
strSql.AppendLine(" select Action_By,cast(0 as decimal(18,2)) Cat_All_Count,cast(0 as decimal(18,2)) Cat_A_Count,cast(0 as decimal(18,2)) Cat_B_Count,cast(0 as decimal(18,2)) Cat_C_Count,cast(0 as decimal(18,2)) Cat_D_Count INTO #PunchlistFromSortTemp2 from #AllPunchlistFromSortTemp2 Group by Action_By; ");
strSql.AppendLine(" update a set a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')) ");
strSql.AppendLine(",a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ");
strSql.AppendLine(",a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ");
strSql.AppendLine(",a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ");
strSql.AppendLine("from #PunchlistFromSortTemp2 a;");
strSql.AppendLine(" update #PunchlistFromSortTemp2 set Cat_All_Count=Cat_A_Count+Cat_B_Count+Cat_C_Count+Cat_D_Count; ");
strSql.AppendLine(@" select Action_By,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromSortTemp2
from #AllPunchlistFromSortTemp2 Group by Action_By; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By),
allfinshedCount=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromSortTemp2 a;");
strSql.AppendLine("select * from #PunchlistFromSortTemp2 ");
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql.AppendLine(" order by Action_By ");
@@ -349,36 +534,90 @@ namespace FineUIPro.Web.Transfer.Chart
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int cat_All_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_All_Count += Convert.ToInt32(row["Cat_All_Count"]);
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
JObject summary = new JObject();
summary.Add("Action_By", "合计");
summary.Add("Cat_All_Count", cat_All_Count.ToString());
summary.Add("Cat_A_Count", cat_A_Count.ToString());
summary.Add("Cat_B_Count", cat_B_Count.ToString());
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid2.SummaryData = summary;
}
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 2)
if (TabStrip1.ActiveTabIndex ==0)
{
ddlSystemNo.Hidden = true;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = true;
}
else if (TabStrip1.ActiveTabIndex == 2)
{
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid1();
}
else if (TabStrip1.ActiveTabIndex == 3)
@@ -386,6 +625,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid2();
}
else if (TabStrip1.ActiveTabIndex == 4)
@@ -393,6 +633,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
ddlSystemNo.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid3();
}
else {
@@ -400,6 +641,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = false;
drpChartType.Hidden = false;
BtnAnalyse.Hidden = false;
}
}
#endregion
@@ -413,16 +655,62 @@ namespace FineUIPro.Web.Transfer.Chart
StringBuilder strSql = new StringBuilder("");
strSql.AppendLine("IF OBJECT_ID('tempdb..#AllPunchlistFromProgressTemp') IS NOT NULL drop table #AllPunchlistFromProgressTemp; ");
strSql.AppendLine("IF OBJECT_ID('tempdb..#PunchlistFromProgressTemp') IS NOT NULL drop table #PunchlistFromProgressTemp; ");
strSql.AppendLine(" select System_No,Actual_Date,Cleared_By,Confirmed_By,Verified_By,ProjectId ");
strSql.AppendLine(" INTO #AllPunchlistFromProgressTemp from Transfer_PunchlistFrom where ProjectId = @ProjectId ");
strSql.AppendLine(" select System_No,count(System_No) SystemNoCount,cast(0 as decimal(18,2)) ActualDateCount ");
strSql.AppendLine(" ,cast(0 as decimal(18,2)) ClearedByCount,cast(0 as decimal(18,2)) ConfirmedByCount,cast(0 as decimal(18,2)) VerifiedByCount ");
strSql.AppendLine(" INTO #PunchlistFromProgressTemp from #AllPunchlistFromProgressTemp where ProjectId = @ProjectId group by System_No ");
strSql.AppendLine(" update a set a.ActualDateCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Actual_Date,'')<>'') ");
strSql.AppendLine(" ,a.ClearedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Cleared_By,'')<>'') ");
strSql.AppendLine(" ,a.ConfirmedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Confirmed_By,'')<>'') ");
strSql.AppendLine(" ,a.VerifiedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Verified_By,'')<>'') ");
strSql.AppendLine(" from #PunchlistFromProgressTemp a ");
strSql.AppendLine(" select * INTO #AllPunchlistFromProgressTemp from Transfer_PunchlistFrom(NOLOCK) where ProjectId=@ProjectId ");
//strSql.AppendLine(" select System_No,count(System_No) SystemNoCount,cast(0 as decimal(18,2)) ActualDateCount ");
//strSql.AppendLine(" ,cast(0 as decimal(18,2)) ClearedByCount,cast(0 as decimal(18,2)) ConfirmedByCount,cast(0 as decimal(18,2)) VerifiedByCount ");
//strSql.AppendLine(" INTO #PunchlistFromProgressTemp from #AllPunchlistFromProgressTemp where ProjectId = @ProjectId group by System_No ");
//strSql.AppendLine(" update a set a.ActualDateCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Actual_Date,'')<>'') ");
//strSql.AppendLine(" ,a.ClearedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Cleared_By,'')<>'') ");
//strSql.AppendLine(" ,a.ConfirmedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Confirmed_By,'')<>'') ");
//strSql.AppendLine(" ,a.VerifiedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Verified_By,'')<>'') ");
strSql.AppendLine(@" select System_No,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromProgressTemp
from #AllPunchlistFromProgressTemp Group by System_No; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No),
allfinshedCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromProgressTemp a;");
strSql.AppendLine(" select * from #PunchlistFromProgressTemp ");
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
@@ -434,6 +722,78 @@ namespace FineUIPro.Web.Transfer.Chart
var table = this.GetPagedDataTable(Grid1, tb);
Grid3.DataSource = table;
Grid3.DataBind();
//合计
int cat_A_Count = 0;
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
JObject summary = new JObject();
summary.Add("System_No", "合计");
summary.Add("Cat_A_Count", cat_A_Count.ToString());
summary.Add("Cat_B_Count", cat_B_Count.ToString());
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid3.SummaryData = summary;
}
/// <summary>
@@ -122,15 +122,6 @@ namespace FineUIPro.Web.Transfer.Chart
/// </remarks>
protected global::FineUIPro.ContentPanel cpAccidentTime;
/// <summary>
/// ChartAccidentTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::Web.Controls.ChartControl ChartAccidentTime;
/// <summary>
/// Tab2 控件。
/// </summary>