feat: 完善材料条码与焊接业务功能

This commit is contained in:
2026-08-12 23:10:22 +08:00
parent 5d0501806b
commit 67206a28ee
26 changed files with 800 additions and 814 deletions
+60 -2
View File
@@ -129,7 +129,7 @@
<f:TabStrip ID="TabStrip1" ShowBorder="false" TabPosition="Top"
EnableTabCloseMenu="false" ActiveTabIndex="0" runat="server" AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged">
<Tabs>
<f:Tab ID="TabDetail" Title="入库明细表" BodyPadding="1px" Layout="VBox" runat="server" AutoScroll="true">
<f:Tab ID="TabDetail" Title="入库明细表(总览)" BodyPadding="1px" Layout="VBox" runat="server" AutoScroll="true">
<Items>
<f:Grid ID="Grid2" ShowBorder="false" ShowHeader="false" Title="入库申请明细表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
@@ -171,12 +171,67 @@
</f:Grid>
</Items>
</f:Tab>
<f:Tab ID="TabPipeDetail" Title="入库明细表(管子)" BodyPadding="1px" Layout="VBox" runat="server" AutoScroll="true">
<Items>
<f:Grid ID="GridPipeDetail" ShowBorder="false" ShowHeader="false" Title="入库明细表(管子)" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" DataIDField="Id" AllowSorting="true"
SortField="Id" SortDirection="DESC" EnableColumnLines="true" EnableTextSelection="true"
AllowPaging="true" IsDatabasePaging="false" PageSize="10000" OnRowCommand="GridPipeDetail_RowCommand" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="ToolbarPipeDetail" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:TextBox ID="txtPipeMaterialCode" runat="server" Label="材料主编码" LabelWidth="100px"
LabelAlign="Right" Width="300px" EmptyText="请输入材料主编码"></f:TextBox>
<f:Button ID="btnSearchPipeDetail" runat="server" Text="查询" Icon="SystemSearch" OnClick="btnSearchPipeDetail_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPipeNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="LabelPipeNumber" runat="server" Text='<%# GridPipeDetail.PageIndex * GridPipeDetail.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="150px" ColumnID="PipeMaterialCode" DataField="MaterialCode" SortField="MaterialCode"
FieldType="String" HeaderText="材料主编码" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="150px" ColumnID="PipeCode" DataField="Code" SortField="Code"
FieldType="String" HeaderText="材料编码" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="150px" ColumnID="PipeHeatNo" DataField="HeatNo" SortField="HeatNo"
FieldType="String" HeaderText="炉号" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="150px" ColumnID="PipeBatchNo" DataField="BatchNo" SortField="BatchNo"
FieldType="String" HeaderText="批号" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="150px" ColumnID="PipeMaterialName" DataField="MaterialName" SortField="MaterialName"
FieldType="String" HeaderText="材料名称" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="300px" ColumnID="PipeMaterialDef" DataField="MaterialDef" SortField="MaterialDef"
FieldType="String" HeaderText="材料描述" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="100px" ColumnID="PipePlanNum" DataField="PlanNum" SortField="PlanNum"
FieldType="String" HeaderText="计划数量" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="100px" ColumnID="PipeActNum" DataField="ActNum" SortField="ActNum"
FieldType="String" HeaderText="实际数量" TextAlign="Left" HeaderTextAlign="Center"></f:RenderField>
<f:RenderField Width="100px" ColumnID="BarCodeCount" DataField="BarCodeCount" SortField="BarCodeCount"
FieldType="Int" HeaderText="条码数量" TextAlign="Center" HeaderTextAlign="Center"></f:RenderField>
<f:LinkButtonField Width="110px" ColumnID="btnGenerateBarCode" TextAlign="Center" CommandName="btnGenerateBarCode"
Text="生成新条码" ConfirmText="确定为该管材生成一个新条码吗?" ConfirmTarget="Top" Locked="true" />
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab ID="TabInputDetailBarCode" Title="入库明细条码表" BodyPadding="1px" Layout="VBox" runat="server" AutoScroll="true">
<Items>
<f:Grid ID="Grid3" ShowBorder="false" ShowHeader="false" Title="入库明细条码表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" DataIDField="Id" AllowSorting="true"
SortField="Id" SortDirection="DESC" EnableColumnLines="true" EnableTextSelection="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10000" OnRowCommand="Grid3_RowCommand" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="ToolbarBarCodeDetail" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:TextBox ID="txtBarCodeMaterialCode" runat="server" Label="材料主编码" LabelWidth="100px"
LabelAlign="Right" Width="300px" EmptyText="请输入材料主编码"></f:TextBox>
<f:Button ID="btnSearchBarCodeDetail" runat="server" Text="查询" Icon="SystemSearch"
OnClick="btnSearchBarCodeDetail_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
@@ -203,7 +258,7 @@
FieldType="String" HeaderText="材料名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="300px" ColumnID="MaterialDef" DataField="MaterialDef" SortField="MaterialDef"
FieldType="String" HeaderText="材料描述" TextAlign="Left" HeaderTextAlign="Center" >
FieldType="String" HeaderText="材料描述" TextAlign="Left" HeaderTextAlign="Center" Hidden="true">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MaterialSpec" DataField="MaterialSpec" SortField="MaterialSpec"
FieldType="String" HeaderText="规格" TextAlign="Left" HeaderTextAlign="Center">
@@ -214,6 +269,9 @@
<f:RenderField Width="360px" ColumnID="BarCode" DataField="BarCode" SortField="BarCode"
FieldType="String" HeaderText="条码内容" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Quantity" DataField="Quantity" SortField="Quantity"
FieldType="String" HeaderText="数量" TextAlign="Right" HeaderTextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="120px" ColumnID="btnBarCodePrint" TextAlign="Center" CommandName="btnBarCodePrint" Text="入库条码打印" Locked="true"/>
</Columns>
</f:Grid>
@@ -66,6 +66,8 @@ namespace FineUIPro.Web.CLGL
Grid2.DataBind();
Grid3.DataSource = null;
Grid3.DataBind();
GridPipeDetail.DataSource = null;
GridPipeDetail.DataBind();
}
private void BindDetailGrid(string inputMasterId)
{
@@ -100,10 +102,22 @@ namespace FineUIPro.Web.CLGL
{
Model.Tw_InputDetailBarCodeOutput table = new Model.Tw_InputDetailBarCodeOutput();
table.InputMasterId = inputMasterId;
table.MaterialCode = txtBarCodeMaterialCode.Text.Trim();
var tb = BLL.TwInputdetailBarCodeService.GetListData(table, Grid3);
Grid3.DataSource = tb;
Grid3.DataBind();
}
private void BindPipeDetailGrid(string inputMasterId)
{
var table = new Model.Tw_InOutDetailOutput
{
InputMasterId = inputMasterId,
MaterialCode = txtPipeMaterialCode.Text.Trim()
};
GridPipeDetail.DataSource = BLL.TwInputdetailService.GetPipeListData(table);
GridPipeDetail.DataBind();
}
#endregion
#region GV
@@ -146,6 +160,7 @@ namespace FineUIPro.Web.CLGL
string ID = Grid1.DataKeys[e.RowIndex][0].ToString();
BindDetailGrid(ID);
BindBarCodeGrid(ID);
BindPipeDetailGrid(ID);
}
}
/// <summary>
@@ -350,6 +365,46 @@ namespace FineUIPro.Web.CLGL
}
}
protected void GridPipeDetail_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName != "btnGenerateBarCode")
{
return;
}
try
{
string barCode = TwInputdetailBarCodeService.AddNextByInputDetailId(e.RowID);
BindPipeDetailGrid(Grid1.SelectedRowID);
BindBarCodeGrid(Grid1.SelectedRowID);
ShowNotify("新条码已生成:" + barCode, MessageBoxIcon.Success);
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
protected void btnSearchPipeDetail_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
{
ShowNotify("请先选择一张入库单。", MessageBoxIcon.Warning);
return;
}
BindPipeDetailGrid(Grid1.SelectedRowID);
}
protected void btnSearchBarCodeDetail_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
{
ShowNotify("请先选择一张入库单。", MessageBoxIcon.Warning);
return;
}
BindBarCodeGrid(Grid1.SelectedRowID);
}
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Grid1.SelectedRowID))
@@ -359,6 +414,10 @@ namespace FineUIPro.Web.CLGL
BindDetailGrid(Grid1.SelectedRowID);
}
else if (TabStrip1.ActiveTabIndex == 1)
{
BindPipeDetailGrid(Grid1.SelectedRowID);
}
else if (TabStrip1.ActiveTabIndex == 2)
{
BindBarCodeGrid(Grid1.SelectedRowID);
}
+45
View File
@@ -194,6 +194,36 @@ namespace FineUIPro.Web.CLGL
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// TabPipeDetail 控件。
/// </summary>
protected global::FineUIPro.Tab TabPipeDetail;
/// <summary>
/// GridPipeDetail 控件。
/// </summary>
protected global::FineUIPro.Grid GridPipeDetail;
/// <summary>
/// ToolbarPipeDetail 控件。
/// </summary>
protected global::FineUIPro.Toolbar ToolbarPipeDetail;
/// <summary>
/// txtPipeMaterialCode 控件。
/// </summary>
protected global::FineUIPro.TextBox txtPipeMaterialCode;
/// <summary>
/// btnSearchPipeDetail 控件。
/// </summary>
protected global::FineUIPro.Button btnSearchPipeDetail;
/// <summary>
/// LabelPipeNumber 控件。
/// </summary>
protected global::System.Web.UI.WebControls.Label LabelPipeNumber;
/// <summary>
/// TabInputDetailBarCode 控件。
/// </summary>
@@ -203,6 +233,21 @@ namespace FineUIPro.Web.CLGL
/// </remarks>
protected global::FineUIPro.Tab TabInputDetailBarCode;
/// <summary>
/// ToolbarBarCodeDetail 控件。
/// </summary>
protected global::FineUIPro.Toolbar ToolbarBarCodeDetail;
/// <summary>
/// txtBarCodeMaterialCode 控件。
/// </summary>
protected global::FineUIPro.TextBox txtBarCodeMaterialCode;
/// <summary>
/// btnSearchBarCodeDetail 控件。
/// </summary>
protected global::FineUIPro.Button btnSearchBarCodeDetail;
/// <summary>
/// Grid3 控件。
/// </summary>