20260113 焊缝检测委托单

This commit is contained in:
2026-01-13 17:32:26 +08:00
parent 4da0548152
commit 50beaf476e
16 changed files with 1517 additions and 281 deletions
@@ -0,0 +1,151 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeldingRodBaking.aspx.cs" Inherits="FineUIPro.Web.JGZL.WeldingRodBaking" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>焊条烘烤记录</title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="焊条烘烤记录"
TitleToolTip="焊条烘烤记录" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" EnableCheckBoxSelect="true"
KeepCurrentSelection="true" runat="server" BoxFlex="1" DataKeyNames="BakeRecordsId"
DataIDField="BakeRecordsId" AllowSorting="true" SortField="BakeDate" SortDirection="DESC"
OnSort="Grid1_Sort" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:DropDownList ID="drpProjectId" runat="server" Label="项目" LabelWidth="50px" Width="265px"
EnableEdit="true">
</f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Label="烘烤日期" EmptyText="开始时间" Width="220px" LabelAlign="Right"></f:DatePicker>
<f:Label ID="Label1" runat="server" Text="-"></f:Label>
<f:DatePicker ID="txtEndDate" runat="server" EmptyText="结束时间" Width="120px"></f:DatePicker>
<f:TextBox runat="server" Label="焊材牌号" ID="txtBrand" EmptyText="输入查询条件" Width="300px" LabelAlign="right"></f:TextBox>
<f:Button ID="btnSearch" runat="server" Text="查询" Icon="SystemSearch" OnClick="btnSearch_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSure" Text="打印" Icon="Printer" runat="server" OnClick="btnSure_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" Width="60px" TextAlign="Center" HeaderTextAlign="Center" />
<f:RenderField Width="100px" ColumnID="BakeDate" DataField="BakeDate" FieldType="Date"
Renderer="Date" HeaderText="烘烤日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Brand" DataField="Brand" FieldType="String"
HeaderText="牌号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BatchNum" DataField="BatchNum" FieldType="String"
HeaderText="批号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="InboundSelfNum" DataField="InboundSelfNum" FieldType="String"
HeaderText="入库自编号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Specifications" DataField="Specifications" FieldType="String"
HeaderText="规格mm" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Quantity" DataField="Quantity" FieldType="String"
HeaderText="数量kg" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%--<f:TemplateField Width="80px" HeaderText="数量kg" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" Width="90%"></asp:TextBox>
</ItemTemplate>
</f:TemplateField>--%>
<f:GroupField HeaderText="烘箱送电" HeaderTextAlign="Center">
<Columns>
<f:GroupField HeaderText="时间" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="PowerTimeHour" DataField="PowerTimeHour" FieldType="String"
HeaderText="时" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="50px" ColumnID="PowerTimeMin" DataField="PowerTimeMin" FieldType="String"
HeaderText="分" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField Width="60px" ColumnID="PowerTemperature" DataField="PowerTemperature" FieldType="String"
HeaderText="温度℃" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="恒温" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="60px" ColumnID="ConstantTemperature" DataField="ConstantTemperature" FieldType="String"
HeaderText="温度℃" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:GroupField HeaderText="开始时间" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="ConstantStartHour" DataField="ConstantStartHour" FieldType="String"
HeaderText="时" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="50px" ColumnID="ConstantStartMin" DataField="ConstantStartMin" FieldType="String"
HeaderText="分" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="结束时间" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="ConstantEndHour" DataField="ConstantEndHour" FieldType="String"
HeaderText="时" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="50px" ColumnID="ConstantEndMin" DataField="ConstantEndMin" FieldType="String"
HeaderText="分" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="移入保温箱" HeaderTextAlign="Center">
<Columns>
<f:GroupField HeaderText="时间" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="50px" ColumnID="MoveInsulationBoxHour" DataField="MoveInsulationBoxHour" FieldType="String"
HeaderText="时" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="50px" ColumnID="MoveInsulationBoxMin" DataField="MoveInsulationBoxMin" FieldType="String"
HeaderText="分" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField Width="60px" ColumnID="MoveInsulationBoxTemperature" DataField="MoveInsulationBoxTemperature" FieldType="String"
HeaderText="温度℃" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField Width="90px" ColumnID="BakingFrequency" DataField="BakingFrequency" FieldType="String"
HeaderText="烘烤次数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Bakers" DataField="Bakers" FieldType="String"
HeaderText="烘烤人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="UnitStoreName" DataField="UnitStoreName" FieldType="String"
HeaderText="单位仓库" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="BakeRecordsId" DataField="BakeRecordsId" FieldType="String"
HeaderText="焊材库Id" HeaderTextAlign="Center" TextAlign="Center" Hidden="true">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window2" Title="打印焊条烘烤记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" Width="1024px"
Height="640px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,255 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace FineUIPro.Web.JGZL
{
public partial class WeldingRodBaking : PageBase
{
/// <summary>
///
/// </summary>
private static List<Model.HJGL_BakeRecords> reportLists = new List<Model.HJGL_BakeRecords>();
#region 加载
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.drpProjectId.DataTextField = "ProjectCode";
this.drpProjectId.DataValueField = "ProjectId";
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectList("1");
this.drpProjectId.DataBind();
Funs.FineUIPleaseSelect(this.drpProjectId);
BindGrid();
}
}
private void BindGrid()
{
string strSql = @"SELECT BakeRecords.BakeRecordsId,
BakeRecords.BakeDate,
BakeRecords.Brand,
BakeRecords.BatchNum,
BakeRecords.InboundSelfNum,
BakeRecords.Specifications,
BakeRecords.Quantity,
BakeRecords.PowerTime,
datepart(HOUR,BakeRecords.PowerTime) as PowerTimeHour,
datepart(MINUTE,BakeRecords.PowerTime) as PowerTimeMin,
BakeRecords.PowerTemperature,
BakeRecords.ConstantTemperature,
BakeRecords.ConstantStartTime,
datepart(HOUR,BakeRecords.ConstantStartTime) as ConstantStartHour,
datepart(MINUTE,BakeRecords.ConstantStartTime) as ConstantStartMin,
BakeRecords.ConstantEndTime,
datepart(HOUR,BakeRecords.ConstantEndTime) as ConstantEndHour,
datepart(MINUTE,BakeRecords.ConstantEndTime) as ConstantEndMin,
BakeRecords.MoveInsulationBoxTime,
datepart(HOUR,BakeRecords.MoveInsulationBoxTime) as MoveInsulationBoxHour,
datepart(MINUTE,BakeRecords.MoveInsulationBoxTime) as MoveInsulationBoxMin,
BakeRecords.MoveInsulationBoxTemperature,
BakeRecords.BakingFrequency,
BakeRecords.Bakers,
BakeRecords.UnitStoreId,
BakeRecords.Type,
store.UnitStoreName
FROM dbo.HJGL_BakeRecords AS BakeRecords
LEFT JOIN dbo.Weld_UnitStore store ON store.UnitStoreId=BakeRecords.UnitStoreId
WHERE BakeRecords.Type='1' ";
List<SqlParameter> listStr = new List<SqlParameter>();
//listStr.Add(new SqlParameter("@projectId",this.drpProjectId.SelectedValue));
if (!string.IsNullOrEmpty(this.txtBrand.Text.Trim()))
{
strSql += " AND BakeRecords.Brand LIKE @Brand";
listStr.Add(new SqlParameter("@Brand", "%" + this.txtBrand.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
{
strSql += " AND BakeRecords.BakeDate >= @startDate";
listStr.Add(new SqlParameter("@startDate", this.txtStartDate.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
{
strSql += " AND BakeRecords.BakeDate <= @endDate";
listStr.Add(new SqlParameter("@endDate", this.txtEndDate.Text.Trim()));
}
strSql += " order by BakeRecords.BakeDate desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = tb;
Grid1.DataBind();
}
#endregion
#region 排序
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region 提交
/// <summary>
/// 确定按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSure_Click(object sender, EventArgs e)
{
if (this.drpProjectId.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择项目!");
return;
}
reportLists.Clear();
if (Grid1.SelectedRowIDArray.Length <= 0)
{
Alert.ShowInTop("请至少选择一条记录!");
return;
}
string[] selectRowId = Grid1.SelectedRowIDArray;
int n = 0;
int j = 0;
int[] selections = new int[selectRowId.Count()];
foreach (GridRow row in Grid1.Rows)
{
if (selectRowId.Contains(row.DataKeys[0]))
{
selections[n] = j;
n++;
}
j++;
}
var select = selections.Distinct();
foreach (int i in select)
{
var bakeRecords = BLL.BakeRecordsService.GetBakeRecordsById(Grid1.DataKeys[i][0].ToString());
if (bakeRecords != null)
{
reportLists.Add(bakeRecords);
}
if (!string.IsNullOrEmpty(this.txtBrand.Text.Trim()))
{
reportLists = (from x in reportLists where x.Brand.Contains(this.txtBrand.Text.Trim()) select x).ToList();
}
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
{
reportLists = (from x in reportLists where x.BakeDate >= Funs.GetNewDateTime(this.txtStartDate.Text.Trim()) select x).ToList();
}
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
{
reportLists = (from x in reportLists where x.BakeDate <= Funs.GetNewDateTime(this.txtEndDate.Text.Trim()) select x).ToList();
}
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
BLL.Common.FastReportService.ResetData();
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
if (this.drpProjectId.SelectedValue != BLL.Const._Null)
{
var project = BLL.Base_ProjectService.GetProjectByProjectId(this.drpProjectId.SelectedValue);
if (project != null)
{
keyValuePairs.Add("ProjectName", project.ProjectName);
}
}
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("BakeDateMonth");
dt.Columns.Add("BakeDateDay");
dt.Columns.Add("Brand");
dt.Columns.Add("BatchNum");
dt.Columns.Add("InboundSelfNum");
dt.Columns.Add("Specifications");
dt.Columns.Add("Quantity");
dt.Columns.Add("PowerTimeHour");
dt.Columns.Add("PowerTimeMin");
dt.Columns.Add("PowerTemperature");
dt.Columns.Add("ConstantTemperature");
dt.Columns.Add("ConstantStartHour");
dt.Columns.Add("ConstantStartMin");
dt.Columns.Add("ConstantEndHour");
dt.Columns.Add("ConstantEndMin");
dt.Columns.Add("MoveInsulationBoxHour");
dt.Columns.Add("MoveInsulationBoxMin");
dt.Columns.Add("MoveInsulationBoxTemperature");
dt.Columns.Add("BakingFrequency");
dt.Columns.Add("Bakers");
reportLists = reportLists.OrderBy(x => x.BakeDate).ToList();
foreach (var item in reportLists)
{
var newRow = dt.NewRow();
newRow["BakeDateMonth"] = item.BakeDate.Value.Month.ToString();
newRow["BakeDateDay"] = item.BakeDate.Value.Day.ToString();
newRow["Brand"] = item.Brand;
newRow["BatchNum"] = item.BatchNum;
newRow["InboundSelfNum"] = item.InboundSelfNum;
newRow["Specifications"] = item.Specifications;
newRow["Quantity"] = item.Quantity.Value.ToString("0.#");
newRow["PowerTimeHour"] = item.PowerTime.HasValue ? item.PowerTime.Value.Hour.ToString() : "";
newRow["PowerTimeMin"] = item.PowerTime.HasValue ? item.PowerTime.Value.Minute.ToString() : "";
newRow["PowerTemperature"] = item.PowerTemperature.HasValue ? item.PowerTemperature.Value.ToString("0.#") : "";
newRow["ConstantTemperature"] = item.ConstantTemperature.HasValue ? item.ConstantTemperature.Value.ToString("0.#") : "";
newRow["ConstantStartHour"] = item.ConstantStartTime.HasValue ? item.ConstantStartTime.Value.Hour.ToString() : "";
newRow["ConstantStartMin"] = item.ConstantStartTime.HasValue ? item.ConstantStartTime.Value.Minute.ToString() : "";
newRow["ConstantEndHour"] = item.ConstantEndTime.HasValue ? item.ConstantEndTime.Value.Hour.ToString() : "";
newRow["ConstantEndMin"] = item.ConstantEndTime.HasValue ? item.ConstantEndTime.Value.Minute.ToString() : "";
newRow["MoveInsulationBoxHour"] = item.MoveInsulationBoxTime.HasValue ? item.MoveInsulationBoxTime.Value.Hour.ToString() : "";
newRow["MoveInsulationBoxMin"] = item.MoveInsulationBoxTime.HasValue ? item.MoveInsulationBoxTime.Value.Minute.ToString() : "";
newRow["MoveInsulationBoxTemperature"] = item.MoveInsulationBoxTemperature.HasValue ? item.MoveInsulationBoxTemperature.Value.ToString("0.#") : "";
newRow["BakingFrequency"] = item.BakingFrequency.ToString();
newRow["Bakers"] = item.Bakers;
dt.Rows.Add(newRow);
}
BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs);
BLL.Common.FastReportService.AddFastreportTable(dt);
initTemplatePath = "File\\Fastreport\\JGZL\\焊条烘烤记录.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../common/ReportPrint/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
}
#endregion
#region 查找
/// <summary>
/// 查找
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
}
}
@@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JGZL
{
public partial class WeldingRodBaking
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// drpProjectId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProjectId;
/// <summary>
/// txtStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// txtBrand 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBrand;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSure 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSure;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}