feat(clgl): 新增入库材料条形码打印
生成入库单时同步生成入库材料条形码明细,并在入库单管理中支持整单和单条条形码打印。
This commit is contained in:
@@ -98,6 +98,7 @@
|
||||
FieldType="String" HeaderText="备注" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField Width="150px" ColumnID="btnInPlanMasterPrint" TextAlign="Center" CommandName="btnInPlanMasterPrint" Text="入库单打印" />
|
||||
<f:LinkButtonField Width="150px" ColumnID="btnInputBarCodePrint" TextAlign="Center" CommandName="btnInputBarCodePrint" Text="入库条码打印" />
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
@@ -125,40 +126,77 @@
|
||||
<f:Panel runat="server" ID="panelBottomRegion" RegionPosition="Bottom" RegionSplit="true" RegionSplitWidth="20px" EnableCollapse="true"
|
||||
Title="底部面板" ShowBorder="false" RegionPercent="40%" ShowHeader="false" BodyPadding="1px" Layout="Fit">
|
||||
<Items>
|
||||
<f:Panel ID="Panel3" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false" AutoScroll="true"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="true" Title="入库申请明细表" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
|
||||
ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id"
|
||||
SortDirection="DESC" EnableColumnLines="true"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="10000" EnableSummary="true" SummaryPosition="Bottom">
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialCode" DataField="MaterialCode" SortField="MaterialCode"
|
||||
FieldType="String" HeaderText="材料编码" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialName" DataField="MaterialName" SortField="MaterialName"
|
||||
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" ExpandUnusedSpace="True">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="PlanNum" DataField="PlanNum" SortField="PlanNum"
|
||||
FieldType="String" HeaderText="计划数量" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="ActNum" DataField="ActNum" SortField="ActNum"
|
||||
FieldType="String" HeaderText="实际数量" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<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">
|
||||
<Items>
|
||||
<f:Grid ID="Grid2" ShowBorder="false" ShowHeader="false" Title="入库申请明细表" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
|
||||
ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id"
|
||||
SortDirection="DESC" EnableColumnLines="true"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="10000" EnableSummary="true" SummaryPosition="Bottom">
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialCode" DataField="MaterialCode" SortField="MaterialCode"
|
||||
FieldType="String" HeaderText="材料编码" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialName" DataField="MaterialName" SortField="MaterialName"
|
||||
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" ExpandUnusedSpace="True">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="PlanNum" DataField="PlanNum" SortField="PlanNum"
|
||||
FieldType="String" HeaderText="计划数量" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="ActNum" DataField="ActNum" SortField="ActNum"
|
||||
FieldType="String" HeaderText="实际数量" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</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">
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label2" runat="server" Text='<%# Grid3.PageIndex * Grid3.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="220px" ColumnID="CusBillCode" DataField="CusBillCode" SortField="CusBillCode"
|
||||
FieldType="String" HeaderText="入库单编号" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialCode" DataField="MaterialCode" SortField="MaterialCode"
|
||||
FieldType="String" HeaderText="材料编码" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="150px" ColumnID="MaterialName" DataField="MaterialName" SortField="MaterialName"
|
||||
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" ExpandUnusedSpace="True">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="360px" ColumnID="BarCode" DataField="BarCode" SortField="BarCode"
|
||||
FieldType="String" HeaderText="条码内容" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:LinkButtonField Width="120px" ColumnID="btnBarCodePrint" TextAlign="Center" CommandName="btnBarCodePrint" Text="入库条码打印" />
|
||||
</Columns>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
|
||||
@@ -64,6 +64,8 @@ namespace FineUIPro.Web.CLGL
|
||||
|
||||
Grid2.DataSource = null;
|
||||
Grid2.DataBind();
|
||||
Grid3.DataSource = null;
|
||||
Grid3.DataBind();
|
||||
}
|
||||
private void BindDetailGrid(string inputMasterId)
|
||||
{
|
||||
@@ -93,6 +95,15 @@ namespace FineUIPro.Web.CLGL
|
||||
|
||||
Grid2.SummaryData = summary;
|
||||
}
|
||||
|
||||
private void BindBarCodeGrid(string inputMasterId)
|
||||
{
|
||||
Model.Tw_InputDetailBarCodeOutput table = new Model.Tw_InputDetailBarCodeOutput();
|
||||
table.InputMasterId = inputMasterId;
|
||||
var tb = BLL.TwInputdetailBarCodeService.GetListData(table, Grid3);
|
||||
Grid3.DataSource = tb;
|
||||
Grid3.DataBind();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GV 数据操作
|
||||
@@ -134,6 +145,7 @@ namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
string ID = Grid1.DataKeys[e.RowIndex][0].ToString();
|
||||
BindDetailGrid(ID);
|
||||
BindBarCodeGrid(ID);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -321,7 +333,71 @@ namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
Print(e.RowID);
|
||||
}
|
||||
else if (e.CommandName == "btnInputBarCodePrint")
|
||||
{
|
||||
PrintInputBarCode(e.RowID, string.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Grid3_RowCommand(object sender, GridCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "btnBarCodePrint")
|
||||
{
|
||||
PrintInputBarCode(string.Empty, e.RowID);
|
||||
}
|
||||
}
|
||||
|
||||
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Grid1.SelectedRowID))
|
||||
{
|
||||
if (TabStrip1.ActiveTabIndex == 0)
|
||||
{
|
||||
BindDetailGrid(Grid1.SelectedRowID);
|
||||
}
|
||||
else if (TabStrip1.ActiveTabIndex == 1)
|
||||
{
|
||||
BindBarCodeGrid(Grid1.SelectedRowID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void PrintInputBarCode(string inputMasterId, string barCodeId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(inputMasterId) && string.IsNullOrEmpty(barCodeId))
|
||||
{
|
||||
ShowNotify("请选择要打印的项", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
BLL.FastReportService.ResetData();
|
||||
var query = new Tw_InputDetailBarCodeOutput
|
||||
{
|
||||
Id = barCodeId,
|
||||
InputMasterId = inputMasterId
|
||||
};
|
||||
var list = TwInputdetailBarCodeService.GetListData(query);
|
||||
if (list == null || list.Count == 0)
|
||||
{
|
||||
ShowNotify("未找到入库条码明细,请确认已生成入库单并已创建条码明细表。", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
DataTable table = LINQToDataTable(list);
|
||||
if (table != null)
|
||||
{
|
||||
table.TableName = "Table1";
|
||||
}
|
||||
BLL.FastReportService.AddFastreportTable(table);
|
||||
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string initTemplatePath = "File\\Fastreport\\材料入库条码.frx";
|
||||
if (File.Exists(rootPath + initTemplatePath))
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
|
||||
}
|
||||
}
|
||||
|
||||
private void Print(string Id)
|
||||
{
|
||||
BLL.FastReportService.ResetData();
|
||||
@@ -432,4 +508,4 @@ namespace FineUIPro.Web.CLGL
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+38
-2
@@ -159,13 +159,22 @@ namespace FineUIPro.Web.CLGL
|
||||
protected global::FineUIPro.Panel panelBottomRegion;
|
||||
|
||||
/// <summary>
|
||||
/// Panel3 控件。
|
||||
/// TabStrip1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel3;
|
||||
protected global::FineUIPro.TabStrip TabStrip1;
|
||||
|
||||
/// <summary>
|
||||
/// TabDetail 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab TabDetail;
|
||||
|
||||
/// <summary>
|
||||
/// Grid2 控件。
|
||||
@@ -185,6 +194,33 @@ namespace FineUIPro.Web.CLGL
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// TabInputDetailBarCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab TabInputDetailBarCode;
|
||||
|
||||
/// <summary>
|
||||
/// Grid3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid3;
|
||||
|
||||
/// <summary>
|
||||
/// Label2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label2;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user