diff --git a/DataBase/版本日志/HJGLDB_DS_2026-06-03_bwj.sql b/DataBase/版本日志/HJGLDB_DS_2026-06-03_bwj.sql new file mode 100644 index 0000000..5c2f348 --- /dev/null +++ b/DataBase/版本日志/HJGLDB_DS_2026-06-03_bwj.sql @@ -0,0 +1,104 @@ + +insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuModule) +values('E5880846-4CBF-4CC7-ACDA-5931AD3A9C7A','ѹԤ','HJGL/WeldingReport/OverdueWeldJointWarning.aspx',260,'F3B157B7-9BEE-4150-6666-087828F1C51D','3') +insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuModule) +values('4B31C72B-FF76-4853-9B51-EAD3CF639A46','չ쳣Ԥ','HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx',270,'F3B157B7-9BEE-4150-6666-087828F1C51D','3') +go + + +CREATE PROCEDURE [dbo].[Sp_WeekWelding] +( + @ProjectId nvarchar(50), + @WeldingDate DATETIME, + @WelderCode NVARCHAR(20) = NULL +) +AS +SELECT t.WED_Code as WelderCode, t.WeldingSize AS TotalSize, ISNULL(t1.WeldingSize,0) AS week1,ISNULL(t2.WeldingSize,0) AS week2, ISNULL(t3.WeldingSize,0) AS week3, + ISNULL(t4.WeldingSize,0) AS week4,ISNULL(t5.WeldingSize,0) AS week5,ISNULL(t6.WeldingSize,0) AS week6,ISNULL(t7.WeldingSize,0) AS week7 +FROM +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate>=@WeldingDate and daily.JOT_WeldDate<=DATEADD(DAY,6,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin + +GROUP BY pipe.ProjectId, welder.WED_Code)t + +LEFT JOIN +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +where daily.JOT_WeldDate=@WeldingDate and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t1 +ON t1.ProjectId = t.ProjectId AND t1.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId, welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,1,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t2 +ON t2.ProjectId = t.ProjectId AND t2.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,2,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t3 +ON t3.ProjectId = t.ProjectId AND t3.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,3,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t4 +ON t4.ProjectId = t.ProjectId AND t4.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId, welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,4,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t5 +ON t5.ProjectId = t.ProjectId AND t5.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,5,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t6 +ON t6.ProjectId = t.ProjectId AND t6.WED_Code = t.WED_Code + +LEFT JOIN +(SELECT pipe.ProjectId,welder.WED_Code, sum(isnull(jot.JOT_DoneDin,0)) as WeldingSize +FROM HJGL_PW_JointInfo jot +LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID +left join HJGL_BO_WeldReportMain daily on jot.DReportID=daily.DReportID +left join dbo.HJGL_BS_Welder welder ON welder.WED_ID = jot.JOT_FloorWelder +WHERE daily.JOT_WeldDate=DATEADD(DAY,6,@WeldingDate) and jot.JOT_Size <> jot.JOT_DoneDin +GROUP BY pipe.ProjectId,welder.WED_Code)t7 +ON t7.ProjectId = t.ProjectId AND t7.WED_Code = t.WED_Code + +WHERE t.ProjectId=@ProjectId + AND (t.WED_Code LIKE '%'+@WelderCode+'%' OR @WelderCode IS NULl) + + +GO + + diff --git a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj index 05e5a2b..6ff7546 100644 --- a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj +++ b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj @@ -1443,6 +1443,7 @@ + @@ -1450,6 +1451,7 @@ + @@ -6900,6 +6902,13 @@ NDTReport.aspx + + OverdueWeldJointWarning.aspx + ASPXCodeBehind + + + OverdueWeldJointWarning.aspx + RTCheckRateConfirm.aspx ASPXCodeBehind @@ -6949,6 +6958,13 @@ WelderCoverageQuery.aspx + + WelderDailyWorkExceptionWarning.aspx + ASPXCodeBehind + + + WelderDailyWorkExceptionWarning.aspx + WelderPerformance.aspx ASPXCodeBehind diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx new file mode 100644 index 0000000..57903e4 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx @@ -0,0 +1,139 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OverdueWeldJointWarning.aspx.cs" Inherits="FineUIPro.Web.HJGL.WeldingReport.OverdueWeldJointWarning" %> + + + + + + + 积压焊口预警 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.cs new file mode 100644 index 0000000..4632bdb --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.cs @@ -0,0 +1,224 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Text; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using AspNet = System.Web.UI.WebControls; + +namespace FineUIPro.Web.HJGL.WeldingReport +{ + public partial class OverdueWeldJointWarning : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + this.drpProjectId.DataTextField = "ProjectCode"; + this.drpProjectId.DataValueField = "ProjectId"; + this.drpProjectId.DataSource = BLL.Base_ProjectService.GetProjectListByUserId(this.CurrUser.UserId, "1"); + this.drpProjectId.DataBind(); + Funs.FineUIPleaseSelect(this.drpProjectId); + this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId; + BindGrid(); + } + } + private void BindGrid() + { + string strSql = @"SELECT BatchTrustItem.CH_TrustItemID, BatchTrust.CH_TrustType,project.ProjectCode, + BatchTrust.ProjectId, CONVERT(varchar(10),BatchTrust.CH_TrustDate,120) AS TrustDate, + pipe.ISO_IsoNo,jot.JOT_JointNo, + (case when steel.STE_Code is not null + then (case when steel2.STE_Code is not null and steel.STE_Code<>steel2.STE_Code + then steel.STE_Code + '/' + steel2.STE_Code + else steel.STE_Code end) else steel2.STE_Code end) as STE_Code, + (case when cellWelder.WED_Code is not null + then (case when floorWelder.WED_Code is not null and cellWelder.WED_Code<>floorWelder.WED_Code + then cellWelder.WED_Code + '/' + floorWelder.WED_Code + else cellWelder.WED_Code end) else floorWelder.WED_Code end) AS WelderCode, + (case when jot.WLO_Code='F' then '安装' else '预制' end) as WLO_Code,weldType.JOTY_Name, + convert(float,jot.JOT_Dia) AS Dia, + convert(float,jot.JOT_Size) AS Size, + convert(float,jot.JOT_Sch) AS Thickness, + method.WME_Code, jot.JOT_JointDesc,rate.NDTR_Name, + point.PointDate, + (CASE WHEN BatchTrust.CH_AcceptGrade ='1' THEN 'Ⅰ' WHEN BatchTrust.CH_AcceptGrade ='2' THEN 'Ⅱ' + WHEN BatchTrust.CH_AcceptGrade ='3' THEN 'Ⅲ' WHEN BatchTrust.CH_AcceptGrade ='4' THEN 'Ⅳ' + WHEN BatchTrust.CH_AcceptGrade ='5' THEN 'Ⅴ' END) AS AcceptLevel + FROM HJGL_CH_TrustItem AS BatchTrustItem + LEFT JOIN dbo.HJGL_CH_Trust AS BatchTrust ON BatchTrust.CH_TrustID=BatchTrustItem.CH_TrustID + LEFT JOIN dbo.HJGL_BS_NDTType dtype ON dtype.NDT_ID = BatchTrust.CH_NDTMethod + LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = BatchTrustItem.JOT_ID + LEFT JOIN dbo.HJGL_PW_IsoInfo pipe ON pipe.ISO_ID = jot.ISO_ID + LEFT JOIN dbo.HJGL_BO_BatchDetail point ON point.JOT_ID = jot.JOT_ID + LEFT JOIN dbo.HJGL_BS_NDTRate rate ON rate.NDTR_ID = BatchTrust.CH_NDTRate + LEFT JOIN dbo.HJGL_BS_JointType weldType ON weldType.JOTY_ID = jot.JOTY_ID + LEFT JOIN dbo.HJGL_BS_Welder cellWelder ON cellWelder.WED_ID = jot.JOT_CellWelder + LEFT JOIN dbo.HJGL_BS_Welder floorWelder ON floorWelder.WED_ID = jot.JOT_FloorWelder + LEFT JOIN dbo.HJGL_BS_WeldMethod method ON method.WME_ID = jot.WME_ID + LEFT JOIN HJGL_BS_Steel steel on steel.STE_ID = jot.STE_ID + LEFT JOIN HJGL_BS_Steel steel2 on steel2.STE_ID = jot.STE_ID2 + LEFT JOIN Base_Project project on project.ProjectId=BatchTrust.ProjectId + WHERE BatchTrust.ProjectId=@ProjectId + AND BatchTrust.CH_TrustDate is not null + AND (jot.RT_States='待检测' or jot.PT_States='待检测' or jot.UT_States='待检测' or jot.MT_States='待检测' or jot.PAUT_States='待检测')"; + + List listStr = new List(); + if(this.drpProjectId.SelectedValue!=BLL.Const._Null&&!string.IsNullOrEmpty(this.drpProjectId.SelectedValue)) + { + listStr.Add(new SqlParameter("@ProjectId", this.drpProjectId.SelectedValue)); + } + if (!string.IsNullOrEmpty(txtPipeLineCode.Text)) + { + strSql += " AND pipe.ISO_IsoNo LIKE @ISO_IsoNo"; + listStr.Add(new SqlParameter("@ISO_IsoNo", "%" + this.txtPipeLineCode.Text.Trim() + "%")); + } + if (!string.IsNullOrEmpty(this.txtWeldJointCode.Text)) + { + strSql += " AND jot.JOT_JointNo = @JOT_JointNo"; + listStr.Add(new SqlParameter("@JOT_JointNo", this.txtWeldJointCode.Text)); + } + if (rbWarn.SelectedValue != "0") + { + if (rbWarn.SelectedValue == "1") + { + strSql += " AND DateDiff (d,BatchTrust.CH_TrustDate,GETDATE()) >=3 AND DateDiff (d,BatchTrust.CH_TrustDate,GETDATE()) <=5 "; + } + else + { + strSql += " AND DateDiff(d, BatchTrust.CH_TrustDate, GETDATE()) > 5 "; + } + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + this.Grid1.RecordCount = tb.Rows.Count; + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) + { + DataRowView row = e.DataItem as DataRowView; + + if (row["TrustDate"].ToString() != "") + { + DateTime trustDate = Convert.ToDateTime(row["TrustDate"]); + if (DateTime.Now.AddDays(-6).Date > trustDate.Date) + { + e.RowCssClass = "color1"; + } + else if (DateTime.Now.AddDays(-4) >= trustDate.Date && DateTime.Now.AddDays(-6).Date <= trustDate.Date) + { + e.RowCssClass = "color2"; + } + } + + } + + /// + /// 改变索引事件 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + BindGrid(); + } + + /// + /// 分页下拉选择事件 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) + { + this.BindGrid(); + } + + #region 统计按钮事件 + /// + /// 统计 + /// + /// + /// + protected void BtnAnalyse_Click(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导出 + 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(); + } + + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + grid.PageSize = 1000000; + BindGrid(); + sb.Append(""); + sb.Append(""); + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + sb.AppendFormat("", column.HeaderText); + } + sb.Append(""); + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + string jot = row.Values[column.ColumnIndex].ToString(); + string html = string.Empty; + if (column.ColumnID == "JOT_JointNo" && jot.Split('-').Length > 1) + { + html = "'" + row.Values[column.ColumnIndex].ToString(); + } + else + { + html = row.Values[column.ColumnIndex].ToString(); + } + + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("labNumber") as AspNet.Label).Text; + } + sb.AppendFormat("", html); + } + + sb.Append(""); + } + + sb.Append("
{0}
{0}
"); + + return sb.ToString(); + } + #endregion + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.designer.cs new file mode 100644 index 0000000..a14cc7a --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/OverdueWeldJointWarning.aspx.designer.cs @@ -0,0 +1,152 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.HJGL.WeldingReport +{ + + + public partial class OverdueWeldJointWarning + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// rbWarn 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rbWarn; + + /// + /// drpProjectId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpProjectId; + + /// + /// txtPipeLineCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtPipeLineCode; + + /// + /// txtWeldJointCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWeldJointCode; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// BtnAnalyse 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button BtnAnalyse; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + } +} diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx new file mode 100644 index 0000000..d268bd9 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx @@ -0,0 +1,117 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderDailyWorkExceptionWarning.aspx.cs" Inherits="FineUIPro.Web.HJGL.WeldingReport.WelderDailyWorkExceptionWarning" %> + + + + + + + 焊工单日工作量异常预警 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.cs new file mode 100644 index 0000000..a46cd5c --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.cs @@ -0,0 +1,325 @@ +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Data; +using BLL; +using System.Text; +using AspNet = System.Web.UI.WebControls; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; +using System.IO; +using System.Linq; +using System.Web.UI.DataVisualization.Charting; +using FineUIPro.Web.common; + +namespace FineUIPro.Web.HJGL.WeldingReport +{ + public partial class WelderDailyWorkExceptionWarning : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + + this.drpProjectId.DataTextField = "ProjectCode"; + this.drpProjectId.DataValueField = "ProjectId"; + this.drpProjectId.DataSource = BLL.Base_ProjectService.GetProjectListByUserId(this.CurrUser.UserId, "1"); + this.drpProjectId.DataBind(); + Funs.FineUIPleaseSelect(this.drpProjectId); + this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId; + } + } + + /// + /// 绑定数据 + /// + private void BindGrid() + { + List listStr = new List(); + if (!string.IsNullOrEmpty(this.drpProjectId.SelectedValue) && this.drpProjectId.SelectedValue != BLL.Const._Null) + { + listStr.Add(new SqlParameter("@ProjectId", this.drpProjectId.SelectedValue)); + } + else + { + Alert.ShowInTop("请选择施工号!", MessageBoxIcon.Warning); + return; + } + if (!string.IsNullOrEmpty(this.txtWeldingDate.Text.Trim())) + { + listStr.Add(new SqlParameter("@WeldingDate", this.txtWeldingDate.Text.Trim())); + } + else + { + Alert.ShowInTop("请选择焊接日期!", MessageBoxIcon.Warning); + return; + } + if (!string.IsNullOrEmpty(this.txtWelderCode.Text.Trim())) + { + listStr.Add(new SqlParameter("@WelderCode", this.txtWelderCode.Text.Trim())); + } + else + { + listStr.Add(new SqlParameter("@WelderCode", null)); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunProc("Sp_WeekWelding", parameter); + this.Grid1.RecordCount = tb.Rows.Count; + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + + foreach (GridColumn column in Grid1.Columns) + { + if (column.ColumnID == "week1") + { + column.HeaderText = txtWeldingDate.Text; + } + if (column.ColumnID == "week2") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(1)); + } + if (column.ColumnID == "week3") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(2)); + } + if (column.ColumnID == "week4") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(3)); + } + if (column.ColumnID == "week5") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(4)); + } + if (column.ColumnID == "week6") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(5)); + } + if (column.ColumnID == "week7") + { + column.HeaderText = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(txtWeldingDate.Text).AddDays(6)); + } + } + + } + + protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) + { + DataRowView row = e.DataItem as DataRowView; + double week1Num = Convert.ToDouble(row["week1"]); + RenderField week1 = Grid1.FindColumn("week1") as RenderField; + if (week1Num >= 50 && week1Num < 60) + { + e.CellCssClasses[week1.ColumnIndex] = "color2"; + } + if (week1Num >= 60) + { + e.CellCssClasses[week1.ColumnIndex] = "color1"; + } + + double week2Num = Convert.ToDouble(row["week2"]); + RenderField week2 = Grid1.FindColumn("week2") as RenderField; + if (week2Num >= 50 && week2Num < 60) + { + e.CellCssClasses[week2.ColumnIndex] = "color2"; + } + if (week2Num >= 60) + { + e.CellCssClasses[week2.ColumnIndex] = "color1"; + } + + double week3Num = Convert.ToDouble(row["week3"]); + RenderField week3 = Grid1.FindColumn("week3") as RenderField; + if (week3Num >= 50 && week3Num < 60) + { + e.CellCssClasses[week3.ColumnIndex] = "color2"; + } + if (week3Num >= 60) + { + e.CellCssClasses[week3.ColumnIndex] = "color1"; + } + + double week4Num = Convert.ToDouble(row["week4"]); + RenderField week4 = Grid1.FindColumn("week4") as RenderField; + if (week4Num >= 50 && week4Num < 60) + { + e.CellCssClasses[week4.ColumnIndex] = "color2"; + } + if (week4Num >= 60) + { + e.CellCssClasses[week4.ColumnIndex] = "color1"; + } + + double week5Num = Convert.ToDouble(row["week5"]); + RenderField week5 = Grid1.FindColumn("week5") as RenderField; + if (week5Num >= 50 && week5Num < 60) + { + e.CellCssClasses[week5.ColumnIndex] = "color2"; + } + if (week5Num >= 60) + { + e.CellCssClasses[week5.ColumnIndex] = "color1"; + } + + double week6Num = Convert.ToDouble(row["week6"]); + RenderField week6 = Grid1.FindColumn("week6") as RenderField; + if (week6Num >= 50 && week6Num < 60) + { + e.CellCssClasses[week6.ColumnIndex] = "color2"; + } + if (week6Num >= 60) + { + e.CellCssClasses[week6.ColumnIndex] = "color1"; + } + + double week7Num = Convert.ToDouble(row["week7"]); + RenderField week7 = Grid1.FindColumn("week7") as RenderField; + if (week7Num >= 50 && week7Num < 60) + { + e.CellCssClasses[week7.ColumnIndex] = "color2"; + } + if (week7Num >= 60) + { + e.CellCssClasses[week7.ColumnIndex] = "color1"; + } + } + + /// + /// 改变索引事件 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + BindGrid(); + } + + /// + /// 分页下拉选择事件 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) + { + this.BindGrid(); + } + + #region 统计按钮事件 + /// + /// 统计 + /// + /// + /// + protected void BtnAnalyse_Click(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + 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(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + grid.PageSize = 10000; + BindGrid(); + sb.Append(""); + sb.Append(""); + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + sb.AppendFormat("", column.HeaderText); + } + sb.Append(""); + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + 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("", html); + } + + sb.Append(""); + } + + sb.Append("
{0}
{0}
"); + + return sb.ToString(); + } + #endregion + + #region NPOI私有方法 + private XSSFSheet ExcelCreateRow(XSSFSheet ws, XSSFWorkbook hssfworkbook, int sRows, int eRows, ICellStyle style, int cStart, int cEnd, bool istitle = false) + { + for (int i = sRows; i <= eRows; i++) + { + ws.CreateRow(i); + if (istitle) + { + ws.GetRow(i).HeightInPoints = + i == sRows ? 49.75f : + i == (sRows + 1) ? 13.75f : + 38f; + } + else + { + ws.GetRow(i).HeightInPoints = 38f; + } + for (int j = cStart; j <= cEnd; j++) + { + ws.GetRow(i).CreateCell(j); + ws.GetRow(i).GetCell(j).CellStyle = style; + } + } + return ws; + } + + private ICellStyle SetStyle(XSSFWorkbook ws, BorderStyle top, BorderStyle bottom, BorderStyle left, BorderStyle right) + { + ICellStyle style = ws.CreateCellStyle(); + style.BorderLeft = left; + style.BorderRight = right; + style.BorderTop = top; + style.BorderBottom = bottom; + + return style; + } + #endregion + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.designer.cs new file mode 100644 index 0000000..a3b49a6 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/WelderDailyWorkExceptionWarning.aspx.designer.cs @@ -0,0 +1,152 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.HJGL.WeldingReport +{ + + + public partial class WelderDailyWorkExceptionWarning + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// drpProjectId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpProjectId; + + /// + /// txtWeldingDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtWeldingDate; + + /// + /// txtWelderCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWelderCode; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// BtnAnalyse 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button BtnAnalyse; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// labNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label labNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + } +} diff --git a/HJGL_DS/FineUIPro.Web/common/mainGdaz.aspx.cs b/HJGL_DS/FineUIPro.Web/common/mainGdaz.aspx.cs index c6cc647..87bc8f3 100644 --- a/HJGL_DS/FineUIPro.Web/common/mainGdaz.aspx.cs +++ b/HJGL_DS/FineUIPro.Web/common/mainGdaz.aspx.cs @@ -416,8 +416,7 @@ namespace FineUIPro.Web.common left join HJGL_PW_JointInfo jointInfo on jointInfo.JOT_ID = repairItemRecord.JOT_ID left join HJGL_PW_IsoInfo isoInfo on isoInfo.ISO_ID = jointInfo.ISO_ID left join Base_Project project on project.ProjectId = repairItemRecord.ProjectId - where repairItemRecord.ProjectId = @projectId - order by repairItemRecord.FeedbackDate asc"; + where repairItemRecord.ProjectId = @projectId"; List listStr = new List(); if (!string.IsNullOrEmpty(this.drpPro.SelectedValue) && this.drpPro.SelectedValue != BLL.Const._Null) { @@ -427,6 +426,7 @@ namespace FineUIPro.Web.common { listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId)); } + strSql += " AND DateDiff(d, repairItemRecord.FeedbackDate, GETDATE()) > 7 order by repairItemRecord.FeedbackDate asc"; SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); this.GridRepair.DataSource = tb;