20250908 焊接统计分析表

This commit is contained in:
毕文静 2025-09-08 11:30:40 +08:00
parent f6b2bdfb81
commit ced7b82085
17 changed files with 947 additions and 64 deletions

View File

@ -27,7 +27,7 @@ REM --------------
@echo.
@call "%VS100COMNTOOLS%"vsvars32.bat
SqlMetal /views /server:.\SQL2012 /database:SGGLDB_TCC /code:%Model_ROOT%\Model.cs /namespace:Model
SqlMetal /views /server:.\SQL2022 /database:SGGLDB_HBAZ /code:%Model_ROOT%\Model.cs /namespace:Model
@ECHO 完成
pause

View File

@ -0,0 +1,84 @@
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('0F3ECADA-F108-4C24-979C-67CA49E3726B','焊接统计分析表','HJGL/WeldingReport/WeldingStatistical.aspx',5,'F3B157B7-9BEE-4150-80CB-087828F1C51D','Menu_HJGL',0,1,1)
go
alter table ProjectData_WorkArea add CompletionDate datetime
go
CREATE PROC [dbo].[sp_rpt_WeldingStatistical]
@AreaNo nVARCHAR(50) = NULL,
@installationId nVARCHAR(50) = NULL,
@startTime datetime = NULL,
@endTime datetime = NULL,
@projectId NVARCHAR(50) = NULL,
@IsStandard NVARCHAR(50) = NULL
AS
/*焊接统计分析表*/
SELECT WorkArea.WorkAreaId,
WorkArea.ProjectId,
WorkArea.WorkAreaCode AS baw_areano,--
Unit.UnitCode AS bsu_unitcode,--
Unit.UnitName AS bsu_unitname, --
Installation.InstallationCode, --
Installation.InstallationName, --
ISNULL(total_jot.total_jot,0) AS total_jot, --
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din,--
--
(select top 1 ProjectData_TeamGroup.TeamGroupName from PW_JointInfo
left join PW_IsoInfo on PW_IsoInfo.ISO_ID = PW_JointInfo.ISO_ID
left join BS_Welder on BS_Welder.WED_ID = PW_JointInfo.JOT_CellWelder
left join ProjectData_TeamGroup on ProjectData_TeamGroup.TeamGroupId= BS_Welder.TeamGroupId
where PW_IsoInfo.WorkAreaId = WorkArea.WorkAreaId and PW_JointInfo.DReportID is not null and BS_Welder.TeamGroupId is not null) as TeamGroup,
CAST(ISNULL(finished_total_jot_bq.finished_total_din_bq ,0) AS DECIMAL(19,2)) AS finished_total_din_bq, --
(CAST(ISNULL(total_jot.total_din,0)-ISNULL(finished_total_jot_bq.finished_total_din_bq ,0) AS DECIMAL(19,2))) as RemainingDain, ---
getdate() as CurrentDate,--
WorkArea.CompletionDate, --
(DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1) as RemainingConPeriod,--
CEILING(case when (DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1)>0 then
(ISNULL(total_jot.total_din,0)-ISNULL(finished_total_jot_bq.finished_total_din_bq ,0))/(DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1)
else '0' end) as AvgDayCompletedDin,--
(getdate()-1) as CurrentCompleted, --
(cast(isnull(finished_current_day_din.finished_current_day_din,0) as decimal(19,2))) as finished_current_day_din --
FROM ProjectData_WorkArea AS WorkArea
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId =Unit.UnitId
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,SUM(JOT_Size) AS total_din
,SUM(JOT_DoneDin) AS finished_total_din
FROM pw_jointinfo
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
WHERE (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
LEFT JOIN (SELECT COUNT(*) finished_total_jot_bq ,pw_isoinfo.WorkAreaId ,SUM(JOT_DoneDin) AS finished_total_din_bq
FROM pw_jointinfo
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
WHERE pw_jointinfo.DReportID is not null
and (jot_welddate >= @startTime OR @startTime IS NULL) and (jot_welddate <=@endTime OR @endTime IS NULL) AND
(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
GROUP BY pw_isoinfo.WorkAreaId) AS finished_total_jot_bq ON finished_total_jot_bq.WorkAreaId = WorkArea.WorkAreaId
--
LEFT JOIN (SELECT pw_isoinfo.WorkAreaId ,SUM(JOT_DoneDin) AS finished_current_day_din
FROM pw_jointinfo
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
WHERE pw_jointinfo.DReportID is not null
and (CONVERT(varchar(10), jot_welddate, 23) = CONVERT(varchar(10), GETDATE()-1, 23) ) AND
(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
GROUP BY pw_isoinfo.WorkAreaId) AS finished_current_day_din ON finished_current_day_din.WorkAreaId = WorkArea.WorkAreaId
WHERE
(WorkArea.ProjectId=@projectId OR @projectId IS NULL ) AND
(WorkArea.WorkAreaId=@areano OR @AreaNo IS NULL ) AND
(WorkArea.InstallationId=@installationId OR @installationId IS NULL)
ORDER BY Unit.UnitCode ,Installation.InstallationCode
GO

View File

@ -6177,6 +6177,10 @@ namespace BLL
#region
/// <summary>
/// 焊接统计分析表
/// </summary>
public const string WeldingStatisticalMenuId = "0F3ECADA-F108-4C24-979C-67CA49E3726B";
/// <summary>
/// 单位工区进度分析
/// </summary>
public const string UnitAreaAnalyzeMenuId = "66A76F90-96A7-4C1F-B8D9-125DDEACEF52";

View File

@ -39,6 +39,7 @@ namespace BLL
WorkAreaCode = WorkArea.WorkAreaCode,
WorkAreaName = WorkArea.WorkAreaName,
Remark = WorkArea.Remark,
CompletionDate=WorkArea.CompletionDate,
};
db.ProjectData_WorkArea.InsertOnSubmit(newWorkArea);
@ -61,6 +62,7 @@ namespace BLL
newWorkArea.WorkAreaName = WorkArea.WorkAreaName;
newWorkArea.InstallationId = WorkArea.InstallationId;
newWorkArea.SupervisorUnitId = WorkArea.SupervisorUnitId;
newWorkArea.CompletionDate = WorkArea.CompletionDate;
db.SubmitChanges();
}
}

View File

@ -1746,6 +1746,7 @@
<Content Include="HJGL\WeldingReport\UnitWorkAreaQuality.aspx" />
<Content Include="HJGL\WeldingReport\WelderDynamicStatistics.aspx" />
<Content Include="HJGL\WeldingReport\WelderPerformance.aspx" />
<Content Include="HJGL\WeldingReport\WeldingStatistical.aspx" />
<Content Include="HSSE\Accident\AccidentHandle.aspx" />
<Content Include="HSSE\Accident\AccidentHandleEdit.aspx" />
<Content Include="HSSE\Accident\AccidentHandleView.aspx" />
@ -11839,6 +11840,13 @@
<Compile Include="HJGL\WeldingReport\WelderPerformance.aspx.designer.cs">
<DependentUpon>WelderPerformance.aspx</DependentUpon>
</Compile>
<Compile Include="HJGL\WeldingReport\WeldingStatistical.aspx.cs">
<DependentUpon>WeldingStatistical.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HJGL\WeldingReport\WeldingStatistical.aspx.designer.cs">
<DependentUpon>WeldingStatistical.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Accident\AccidentHandle.aspx.cs">
<DependentUpon>AccidentHandle.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -19738,6 +19746,7 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -240,6 +240,7 @@ namespace FineUIPro.Web.HJGL.WeldingReport
#endregion
}
Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, this.MenuId);
if (c != null)
{

View File

@ -0,0 +1,147 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeldingStatistical.aspx.cs" Inherits="FineUIPro.Web.HJGL.WeldingReport.WeldingStatistical" %>
<!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>
<style>
.f-grid-row-summary .f-grid-cell-inner {
font-weight: bold;
color: red;
}
</style>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server" />
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server" Margin="5px">
<Regions>
<f:Region ID="Region1" ShowBorder="false" RegionPosition="Top" ShowHeader="false"
BodyPadding="0 5 0 0" Layout="VBox" runat="server" EnableCollapse="true">
<Items>
<f:Form ID="Form2" ShowHeader="false" ShowBorder="false" runat="server" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Bottom" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="BtnAnalyse" Text="统计" Icon="ChartPie" runat="server" OnClick="BtnAnalyse_Click"></f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" Icon="TableGo"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<%--<f:DropDownList ID="drpUnit" runat="server" LabelWidth="80px" Label="单位名称" EnableEdit="true"
AutoPostBack="true" OnSelectedIndexChanged="drpUnit_SelectedIndexChanged">
</f:DropDownList>--%>
<f:DropDownList ID="drpInstallation" runat="server" LabelWidth="80px" Label="装置" EnableEdit="true"
AutoPostBack="true" OnSelectedIndexChanged="drpInstallation_SelectedIndexChanged">
</f:DropDownList>
<f:DropDownList ID="drpWorkArea" runat="server" LabelWidth="80px" Label="施工区域" EnableEdit="true">
</f:DropDownList>
<f:DatePicker runat="server" Label="开始日期" ID="txtStarTime" LabelWidth="80px"></f:DatePicker>
<f:DatePicker runat="server" Label="结束日期" ID="txtEndTime" LabelWidth="80px"></f:DatePicker>
<f:CheckBoxList ID="cb_IsStandard" Label="是否非标" runat="server">
<f:CheckItem Text="否" Value="0" Selected="true" />
<f:CheckItem Text="是" Value="1" />
</f:CheckBoxList>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:Region>
<f:Region ID="Region2" ShowBorder="false" ShowHeader="false" Position="Center" Layout="VBox"
BoxConfigAlign="Stretch" BoxConfigPosition="Left" runat="server">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="焊接统计分析表"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="baw_areano"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="baw_areano" AllowSorting="true"
SortField="bsu_unitcode,InstallationName,baw_areano" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
<Columns>
<f:TemplateField ColumnID="tfNumber" HeaderText="序号"
Width="50px" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text=' <%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1%>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<%--<f:RenderField HeaderText="单位名称" ColumnID="bsu_unitname" DataField="bsu_unitname" SortField="bsu_unitname"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="260px">
</f:RenderField>--%>
<f:RenderField HeaderText="装置" ColumnID="InstallationName" DataField="InstallationName" SortField="InstallationName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="110px">
</f:RenderField>
<f:RenderField HeaderText="工区" ColumnID="baw_areano" DataField="baw_areano" SortField="baw_areano"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="160px">
</f:RenderField>
<f:RenderField HeaderText="总焊口" ColumnID="total_jot" DataField="total_jot" SortField="total_jot"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="80px">
</f:RenderField>
<f:RenderField HeaderText="总达因" ColumnID="total_din" DataField="total_din" SortField="total_din"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="施工工队" ColumnID="TeamGroup" DataField="TeamGroup" SortField="TeamGroup"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="本期完成达因" ColumnID="finished_total_din_bq" DataField="finished_total_din_bq" SortField="finished_total_din_bq"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="剩余达因" ColumnID="RemainingDain" DataField="RemainingDain" SortField="RemainingDain"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="110px">
</f:RenderField>
<f:RenderField HeaderText="当日日期" ColumnID="CurrentDate" DataField="CurrentDate" SortField="CurrentDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Right" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="竣工日期" ColumnID="CompletionDate" DataField="CompletionDate" SortField="CompletionDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Right" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="剩余工期" ColumnID="RemainingConPeriod" DataField="RemainingConPeriod" SortField="RemainingConPeriod"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="90px">
</f:RenderField>
<f:RenderField HeaderText="日均应完成达因" ColumnID="AvgDayCompletedDin" DataField="AvgDayCompletedDin" SortField="AvgDayCompletedDin"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="当日完成" ColumnID="CurrentCompleted" DataField="CurrentCompleted" SortField="CurrentCompleted"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Right" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="当日完成达因" ColumnID="finished_current_day_din" DataField="finished_current_day_din" SortField="finished_current_day_din"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="120px">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Region>
</Regions>
</f:RegionPanel>
<%--<f:Window ID="Window1" Title="选择显示列" Hidden="true"
EnableIFrame="true" EnableMaximize="false" Target="Top" EnableResize="false" runat="server"
IsModal="true" Width="900px" Height="560px" OnClose="Window1_Close">
</f:Window>--%>
</form>
<script type="text/javascript">
function renderGender(value) {
var returnValue = null;
if (value != null) {
returnValue = (value * 100).toFixed(1).toString() + "%";
}
return returnValue;
}
</script>
</body>
</html>

View File

@ -0,0 +1,401 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Data;
using BLL;
using System.Text;
using Newtonsoft.Json.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.WeldingReport
{
public partial class WeldingStatistical : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
//List<Model.Base_Unit> units = new List<Model.Base_Unit>();
//var pUnit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
//if (pUnit == null || pUnit.UnitType == Const.ProjectUnitType_1)
//{
// units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
// this.drpUnit.DataTextField = "UnitName";
// this.drpUnit.DataValueField = "UnitId";
// this.drpUnit.DataSource = units;
// this.drpUnit.DataBind();
// this.drpUnit.SelectedValue = CurrUser.UnitId;
// Funs.FineUIPleaseSelect(this.drpUnit);
// Funs.FineUIPleaseSelect(this.drpInstallation);
//}
//else
//{
// units = BLL.UnitService.GetSubUnitsListBySupervisorUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
// this.drpUnit.Enabled = false;
// this.drpUnit.DataTextField = "UnitName";
// this.drpUnit.DataValueField = "UnitId";
// this.drpUnit.DataSource = units;
// this.drpUnit.DataBind();
// this.drpUnit.SelectedValue = CurrUser.UnitId;
Project_InstallationService.InitInstallationDropDownList(this.drpInstallation, this.CurrUser.LoginProjectId, true);
// this.drpInstallation.SelectedValue = BLL.Const._Null;
//}
///单位
Funs.FineUIPleaseSelect(this.drpWorkArea);
////钢材类型
//this.drpSteType.DataTextField = "Text";
//this.drpSteType.DataValueField = "Value";
//this.drpSteType.DataSource = BLL.DropListService.HJGL_GetSteTypeList();
//this.drpSteType.DataBind();
//Funs.FineUIPleaseSelect(this.drpSteType);
////显示列
//Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, Const.WeldingStatisticalMenuId);
//if (c != null)
//{
// this.GetShowColumn(c.Columns);
//}
//BindGrid();
}
}
/// <summary>
///
/// </summary>
private DataTable tb = null;
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
};
//if (this.drpUnit.SelectedValue != BLL.Const._Null)
//{
// listStr.Add(new SqlParameter("@UnitNo", this.drpUnit.SelectedValue));
//}
//else
//{
// listStr.Add(new SqlParameter("@UnitNo", null));
//}
if (this.drpInstallation.SelectedValue != BLL.Const._Null)
{
listStr.Add(new SqlParameter("@installationId", this.drpInstallation.SelectedValue));
}
else
{
listStr.Add(new SqlParameter("@installationId", null));
}
if (this.drpWorkArea.SelectedValue != BLL.Const._Null)
{
listStr.Add(new SqlParameter("@AreaNo", this.drpWorkArea.SelectedValue));
}
else
{
listStr.Add(new SqlParameter("@AreaNo", null));
}
if (!string.IsNullOrEmpty(this.txtStarTime.Text))
{
listStr.Add(new SqlParameter("@startTime", this.txtStarTime.Text.Trim()));
}
else
{
listStr.Add(new SqlParameter("@startTime", null));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text))
{
listStr.Add(new SqlParameter("@endTime", this.txtEndTime.Text.Trim()));
}
else
{
listStr.Add(new SqlParameter("@endTime", null));
}
//if (BLL.WorkAreaService.IsSupervisor(this.CurrUser.UnitId, this.CurrUser.LoginProjectId))
//{
// listStr.Add(new SqlParameter("@supervisorUnitId", this.CurrUser.UnitId));
//}
//else
//{
// listStr.Add(new SqlParameter("@supervisorUnitId", null));
//}
//if (this.drpSteType.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpSteType.SelectedValue))
//{
// listStr.Add(new SqlParameter("@ste_steeltype", this.drpSteType.SelectedValue));
//}
//else
//{
// listStr.Add(new SqlParameter("@ste_steeltype", null));
//}
if (this.cb_IsStandard.SelectedIndexArray != null && this.cb_IsStandard.SelectedIndexArray.Length == 1)
{
listStr.Add(new SqlParameter("@IsStandard", this.cb_IsStandard.SelectedValueArray[0]));
}
else
{
listStr.Add(new SqlParameter("@IsStandard", null));
}
SqlParameter[] parameter = listStr.ToArray();
tb = SQLHelper.GetDataTableRunProc("sp_rpt_WeldingStatistical", parameter);
this.Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
/// <summary>
/// 全部行合计
/// </summary>
private void OutputSummaryData()
{
if (tb != null)
{
int total_jot = 0;
double total_din = 0.0f;
double finished_total_din_bq = 0.0f;
double RemainingDain = 0.0f;
double AvgDayCompletedDin = 0.0f;
foreach (DataRow row in tb.Rows)
{
total_jot += Convert.ToInt32(row["total_jot"]);
total_din += Convert.ToDouble(row["total_din"]);
finished_total_din_bq += Convert.ToDouble(row["finished_total_din_bq"]);
RemainingDain += Convert.ToDouble(row["RemainingDain"]);
AvgDayCompletedDin += Convert.ToDouble(row["AvgDayCompletedDin"]);
}
JObject summary = new JObject
{
{ "tfNumber", "合计" },
{ "total_jot", total_jot.ToString() },
{ "total_din", total_din.ToString("F2") },
{ "finished_total_din_bq", finished_total_din_bq.ToString("F2") },
{ "RemainingDain",RemainingDain.ToString("F2") },
{ "AvgDayCompletedDin", AvgDayCompletedDin.ToString("F2") },
};
Grid1.SummaryData = summary;
}
}
#region
/// <summary>
/// 选择显示列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//protected void btnSelectColumn_Click(object sender, EventArgs e)
//{
// PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ShowColumn.aspx?menuId={0}", BLL.Const.WeldingStatisticalMenuId, "显示列 - ")));
//}
//protected void Window1_Close(object sender, WindowCloseEventArgs e)
//{
// this.BindGrid();
// // 显示列
// Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, BLL.Const.WeldingStatisticalMenuId);
// if (c != null)
// {
// this.GetShowColumn(c.Columns);
// }
//}
/// <summary>
/// 显示的列
/// </summary>
/// <param name="column"></param>
//private void GetShowColumn(string column)
//{
// if (!string.IsNullOrEmpty(column))
// {
// for (int i = 0; i < Grid1.Columns.Count; i++)
// {
// this.Grid1.Columns[i].Hidden = true;
// }
// List<string> columns = column.Split(',').ToList();
// foreach (var item in columns)
// {
// this.Grid1.Columns[Convert.ToInt32(item)].Hidden = false;
// }
// }
//}
#endregion
#region
/// <summary>
/// 统计
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
BindGrid();
OutputSummaryData();
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("焊接统计分析表" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
grid.PageSize = this.Grid1.RecordCount;
BindGrid();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfNumber")
{
html = (row.FindControl("labNumber") as AspNet.Label).Text;
}
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\" >{0}</td>", html);
}
sb.Append("</tr>");
}
var sumary = grid.SummaryData;
if (sumary != null)
{
foreach (GridColumn column in grid.Columns)
{
try
{
if (sumary.ContainsKey(column.ColumnID))
{
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\" >{0}</td>", sumary.GetValue(column.ColumnID).ToString());
}
else
{
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\" >{0}</td>", "");
}
}
catch (Exception e)
{
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\" >{0}</td>", "");
}
}
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region
/// <summary>
/// 单位下拉选择事件
/// </summary>
/// <param name = "sender" ></ param >
/// < param name="e"></param>
//protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
//{
// this.drpInstallation.Items.Clear(); ///装置
// this.drpWorkArea.Items.Clear(); ///区域
// Project_InstallationService.InitInstallationDropDownList(this.drpInstallation, this.CurrUser.LoginProjectId, true);
// this.drpInstallation.SelectedValue = BLL.Const._Null;
// Funs.FineUIPleaseSelect(this.drpWorkArea);
// this.drpWorkArea.SelectedValue = BLL.Const._Null;
//}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpInstallation_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpWorkArea.Items.Clear();
if (this.drpInstallation.SelectedValue != BLL.Const._Null)
{
WorkAreaService.InitWorkAreaByProjectIdAndInstallationId(this.drpWorkArea, this.CurrUser.LoginProjectId, this.drpInstallation.SelectedValue, true);
}else
{
Funs.FineUIPleaseSelect(this.drpWorkArea);
}
this.drpWorkArea.SelectedValue = BLL.Const._Null;
}
#endregion
}
}

View File

@ -0,0 +1,188 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HJGL.WeldingReport
{
public partial class WeldingStatistical
{
/// <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>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// drpInstallation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpInstallation;
/// <summary>
/// drpWorkArea 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWorkArea;
/// <summary>
/// txtStarTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStarTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// cb_IsStandard 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList cb_IsStandard;
/// <summary>
/// Region2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Region Region2;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// labNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -64,6 +64,10 @@
SortField="SupervisorUnitName" FieldType="String" HeaderText="监理单位" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CompletionDate" DataField="CompletionDate"
SortField="CompletionDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="竣工日期" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="Remark" DataField="Remark" FieldType="String"
HeaderText="描述" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>

View File

@ -43,7 +43,7 @@ namespace FineUIPro.Web.ProjectData
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT WorkArea.ProjectId, WorkArea.WorkAreaId,WorkArea.WorkAreaCode,WorkArea.SystemId,WorkArea.WorkAreaName,WorkArea.UnitId,Unit.UnitName,WorkArea.SupervisorUnitId,SupervisorUnit.UnitName AS SupervisorUnitName,WorkArea.InstallationId,Installation.InstallationName,WorkArea.Remark"
string strSql = @"SELECT WorkArea.ProjectId, WorkArea.WorkAreaId,WorkArea.WorkAreaCode,WorkArea.SystemId,WorkArea.WorkAreaName,WorkArea.UnitId,Unit.UnitName,WorkArea.SupervisorUnitId,SupervisorUnit.UnitName AS SupervisorUnitName,WorkArea.InstallationId,Installation.InstallationName,WorkArea.Remark,WorkArea.CompletionDate"
+ @" FROM ProjectData_WorkArea AS WorkArea "
+ @" LEFT JOIN Project_Installation AS Installation ON WorkArea.InstallationId=Installation.InstallationId "
+ @" LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId=Unit.UnitId"

View File

@ -18,7 +18,7 @@
runat="server" FocusOnPageLoad="true">
</f:TextBox>
<f:TextBox ID="txtWorkAreaName" Label="名称" ShowRedStar="true" Required="true"
runat="server" >
runat="server">
</f:TextBox>
</Items>
</f:FormRow>
@ -36,7 +36,12 @@
<Items>
<f:DropDownList ID="drpSupervisorUnit" Label="监理单位" runat="server" EnableEdit="true">
</f:DropDownList>
<f:TextBox ID="txtRemark" Label="描述" runat="server" >
<f:DatePicker ID="txtCompletionDate" runat="server" Label="竣工日期"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtRemark" Label="描述" runat="server">
</f:TextBox>
</Items>
</f:FormRow>
@ -45,7 +50,7 @@
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click" >
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
@ -53,6 +58,6 @@
</f:Form>
</form>
<script type="text/javascript">
</script>
</script>
</body>
</html>

View File

@ -93,6 +93,7 @@
{
this.drpSupervisorUnit.SelectedValue = workArea.SupervisorUnitId;
}
this.txtCompletionDate.Text = workArea.CompletionDate.HasValue ? string.Format("{0:yyyy-MM-dd}", workArea.CompletionDate) : "";
}
}
#endregion
@ -134,6 +135,7 @@
{
workArea.SupervisorUnitId = this.drpSupervisorUnit.SelectedValue;
}
workArea.CompletionDate = Funs.GetNewDateTime(this.txtCompletionDate.Text);
if (string.IsNullOrEmpty(this.WorkAreaId))
{

View File

@ -7,10 +7,12 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.common.ProjectSet {
namespace FineUIPro.Web.common.ProjectSet
{
public partial class WorkAreaEdit {
public partial class WorkAreaEdit
{
/// <summary>
/// form1 控件。
@ -84,6 +86,15 @@ namespace FineUIPro.Web.common.ProjectSet {
/// </remarks>
protected global::FineUIPro.DropDownList drpSupervisorUnit;
/// <summary>
/// txtCompletionDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCompletionDate;
/// <summary>
/// txtRemark 控件。
/// </summary>

View File

@ -8,7 +8,7 @@
<TreeNode id="D3B1433E-00DE-432B-A30A-0EFB513480A8" Text="问题统计" EnText="问题统计" NavigateUrl="CQMS/Check/JointCheckStatistics.aspx"></TreeNode>
<TreeNode id="EB9C6102-7A01-4D3C-B25A-5B317ECFBEDF" Text="单位问题统计" EnText="单位问题统计" NavigateUrl="CQMS/Check/JointCheckUnitStatistics.aspx"></TreeNode>
<TreeNode id="288C955A-E379-4F24-85F9-585343B33D46" Text="奖罚通知单(定稿)" EnText="奖罚通知单(定稿)" NavigateUrl="CQMS/Check/RewardAndPunish.aspx"></TreeNode>
<TreeNode id="66A8D852-A542-47C7-B474-C0EEA73AC58E" Text="质量专检" EnText="质量专检" NavigateUrl="OfficeCheck/Inspect/ProjectQualityInspection.aspx"></TreeNode>
<TreeNode id="66A8D852-A542-47C7-B474-C0EEA73AC58E" Text="查记录" EnText="查记录" NavigateUrl="OfficeCheck/Inspect/ProjectQualityInspection.aspx"></TreeNode>
</TreeNode>
<TreeNode id="3B322232-38A1-4291-9832-CD4A01C2A975" Text="WBS数据" EnText="WBS数据" NavigateUrl=""><TreeNode id="5AA08233-9E04-4808-AC43-DD411C5F9D31" Text="现场控制点裁剪" EnText="现场控制点裁剪" NavigateUrl="CQMS/WBS/ProjectControlPoint.aspx"></TreeNode>
</TreeNode>

View File

@ -58,7 +58,8 @@
<TreeNode id="82951D78-9029-4F69-A032-00C47551B3E6" Text="试压包完成" EnText="试压包完成" NavigateUrl="HJGL/TestPackageManage/TestPackageManageView.aspx"></TreeNode>
<TreeNode id="723E64A7-8E96-49BD-8295-A2F5C3BEEC71" Text="试压包台账" EnText="试压包台账" NavigateUrl="HJGL/TestPackageManage/TestPackageImport.aspx"></TreeNode>
</TreeNode>
<TreeNode id="F3B157B7-9BEE-4150-80CB-087828F1C51D" Text="焊接报表" EnText="焊接报表" NavigateUrl=""><TreeNode id="66A76F90-96A7-4C1F-B8D9-125DDEACEF52" Text="单位工区进度分析" EnText="单位工区进度分析" NavigateUrl="HJGL/WeldingReport/UnitWorkareaAnalyze.aspx"></TreeNode>
<TreeNode id="F3B157B7-9BEE-4150-80CB-087828F1C51D" Text="焊接报表" EnText="焊接报表" NavigateUrl=""><TreeNode id="0F3ECADA-F108-4C24-979C-67CA49E3726B" Text="焊接统计分析表" EnText="焊接统计分析表" NavigateUrl="HJGL/WeldingReport/WeldingStatistical.aspx"></TreeNode>
<TreeNode id="66A76F90-96A7-4C1F-B8D9-125DDEACEF52" Text="单位工区进度分析" EnText="单位工区进度分析" NavigateUrl="HJGL/WeldingReport/UnitWorkareaAnalyze.aspx"></TreeNode>
<TreeNode id="88CDDC68-54DE-4E24-9524-A33B80EC0E12" Text="单位工区质量分析" EnText="单位工区质量分析" NavigateUrl="HJGL/WeldingReport/UnitWorkAreaQuality.aspx"></TreeNode>
<TreeNode id="15491CFE-ECC3-4FC8-A427-8290D75C618A" Text="检测统计表" EnText="检测统计表" NavigateUrl="HJGL/WeldingReport/CheckStatistics.aspx"></TreeNode>
<TreeNode id="41C22E63-36B7-4C44-89EC-F765BFBB7C55" Text="焊工业绩分析" EnText="焊工业绩分析" NavigateUrl="HJGL/WeldingReport/WelderPerformance.aspx"></TreeNode>

View File

@ -332199,6 +332199,8 @@ namespace Model
private string _DataSource;
private System.Nullable<System.DateTime> _CompletionDate;
private EntitySet<Check_CheckDayDetail> _Check_CheckDayDetail;
private EntitySet<Check_SupervisionNotice> _Check_SupervisionNotice;
@ -332235,6 +332237,8 @@ namespace Model
partial void OnSupervisorUnitIdChanged();
partial void OnDataSourceChanging(string value);
partial void OnDataSourceChanged();
partial void OnCompletionDateChanging(System.Nullable<System.DateTime> value);
partial void OnCompletionDateChanged();
#endregion
public ProjectData_WorkArea()
@ -332456,6 +332460,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompletionDate", DbType="DateTime")]
public System.Nullable<System.DateTime> CompletionDate
{
get
{
return this._CompletionDate;
}
set
{
if ((this._CompletionDate != value))
{
this.OnCompletionDateChanging(value);
this.SendPropertyChanging();
this._CompletionDate = value;
this.SendPropertyChanged("CompletionDate");
this.OnCompletionDateChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Check_CheckDayDetail_ProjectData_WorkArea", Storage="_Check_CheckDayDetail", ThisKey="WorkAreaId", OtherKey="CheckArea", DeleteRule="NO ACTION")]
public EntitySet<Check_CheckDayDetail> Check_CheckDayDetail
{