1
This commit is contained in:
@@ -44,8 +44,8 @@ namespace BLL
|
||||
PipelineComponentId = x.PipelineComponentId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
HeatNo = x.HeatNo,
|
||||
BatchNo = x.BatchNo,
|
||||
HeatNo = mat.HeatNo,
|
||||
BatchNo = mat.BatchNo,
|
||||
PlanNum = x.PlanNum,
|
||||
ActNum = x.ActNum,
|
||||
PipelineComponentCode = y.PipelineComponentCode,
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OutPlanMasterDetailImport.aspx.cs" Inherits="FineUIPro.Web.CLGL.OutPlanMasterDetailImport" %>
|
||||
|
||||
<!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="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:HiddenField ID="hdFileName" runat="server">
|
||||
</f:HiddenField>
|
||||
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" Text="下载模板" OnClick="btnDownLoad_Click" EnablePostBack="true" EnableAjax="false">
|
||||
</f:Button>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" ToolTip="审核" Text="审核" ValidateForms="SimpleForm1"
|
||||
OnClick="btnAudit_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" Text="导入" ValidateForms="SimpleForm1"
|
||||
OnClick="btnImport_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="提交" Text="提交" ValidateForms="SimpleForm1"
|
||||
OnClick="btnSave_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:FileUpload runat="server" ID="fuAttachUrl" EmptyText="选择要导入的文件" Label="选择要导入的文件"
|
||||
LabelWidth="150px">
|
||||
</f:FileUpload>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="出库明细"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="MaterialCode" AllowCellEditing="false"
|
||||
AllowColumnLocking="true" EnableColumnLines="true" DataIDField="MaterialCode"
|
||||
AllowPaging="true" PageSize="100" EnableTextSelection="True">
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
|
||||
Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField Width="160px" ColumnID="MaterialCode" DataField="MaterialCode"
|
||||
FieldType="String" HeaderText="材料主编码" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="Code" DataField="Code"
|
||||
FieldType="String" HeaderText="材料编码" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="HeatNo" DataField="HeatNo"
|
||||
FieldType="String" HeaderText="炉号" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="BatchNo" DataField="BatchNo"
|
||||
FieldType="String" HeaderText="批号" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="PlanNum" DataField="PlanNum"
|
||||
FieldType="Float" HeaderText="计划数量" HeaderTextAlign="Center"
|
||||
TextAlign="Right">
|
||||
</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:ListItem Text="50" Value="50" />
|
||||
<f:ListItem Text="100" Value="100" />
|
||||
<f:ListItem Text="200" Value="200" />
|
||||
<f:ListItem Text="所有行" Value="10000" />
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,372 @@
|
||||
using BLL;
|
||||
using MiniExcelLibs;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
public partial class OutPlanMasterDetailImport : PageBase
|
||||
{
|
||||
private readonly string initPath = Const.ExcelUrl;
|
||||
|
||||
public static List<OutPlanDetailImportItem> ImportDetailList = new List<OutPlanDetailImportItem>();
|
||||
|
||||
public static string errorInfos = string.Empty;
|
||||
|
||||
public string Id
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["Id"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["Id"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
hdFileName.Text = string.Empty;
|
||||
Id = Request.QueryString["Id"];
|
||||
ImportDetailList.Clear();
|
||||
errorInfos = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnAudit_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (fuAttachUrl.HasFile == false)
|
||||
{
|
||||
ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
string isXls = Path.GetExtension(fuAttachUrl.FileName).Trim().ToLower();
|
||||
if (isXls != ".xlsx")
|
||||
{
|
||||
ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
ImportDetailList.Clear();
|
||||
errorInfos = string.Empty;
|
||||
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string initFullPath = rootPath + initPath;
|
||||
if (!Directory.Exists(initFullPath))
|
||||
{
|
||||
Directory.CreateDirectory(initFullPath);
|
||||
}
|
||||
|
||||
hdFileName.Text = Funs.GetNewFileName() + isXls;
|
||||
string filePath = initFullPath + hdFileName.Text;
|
||||
fuAttachUrl.PostedFile.SaveAs(filePath);
|
||||
ImportXlsToData(filePath);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert alert = new Alert
|
||||
{
|
||||
Message = "'" + ex.Message + "'",
|
||||
Target = Target.Self
|
||||
};
|
||||
alert.Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void ImportXlsToData(string fileName)
|
||||
{
|
||||
DataTable rows = MiniExcel.QueryAsDataTable(fileName, useHeaderRow: true);
|
||||
ResponeData responeData = AddDataTableToImportList(rows);
|
||||
if (responeData.code == 1)
|
||||
{
|
||||
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert alert = new Alert
|
||||
{
|
||||
Message = responeData.message,
|
||||
Target = Target.Self
|
||||
};
|
||||
alert.Show();
|
||||
}
|
||||
}
|
||||
|
||||
private ResponeData AddDataTableToImportList(DataTable table)
|
||||
{
|
||||
ResponeData responeData = new ResponeData();
|
||||
List<string> result = new List<string>();
|
||||
List<OutPlanDetailImportItem> importItems = new List<OutPlanDetailImportItem>();
|
||||
|
||||
if (table == null || table.Rows.Count == 0)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "导入数据为空!";
|
||||
return responeData;
|
||||
}
|
||||
|
||||
string[] requiredColumns = { "材料编码", "炉号", "批号", "计划数量" };
|
||||
|
||||
foreach (string columnName in requiredColumns)
|
||||
{
|
||||
if (!table.Columns.Contains(columnName))
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "导入Excel格式错误!模板列必须包含:" + string.Join("、", requiredColumns);
|
||||
return responeData;
|
||||
}
|
||||
}
|
||||
|
||||
Tw_InOutPlanMaster master = TwInOutplanmasterService.GetById(Id);
|
||||
if (master == null)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "请先保存出库单后再导入明细!";
|
||||
return responeData;
|
||||
}
|
||||
if (master.TypeInt != (int)TwConst.TypeInt.其他出库)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "只有选择其他出库时才允许导入出库明细!";
|
||||
return responeData;
|
||||
}
|
||||
List<Tw_MaterialStockOutput> stockList = GetSelectableStockList(master);
|
||||
|
||||
for (int i = 0; i < table.Rows.Count; i++)
|
||||
{
|
||||
string code = GetCellValue(table.Rows[i], "材料编码");
|
||||
string heatNo = GetCellValue(table.Rows[i], "炉号");
|
||||
string batchNo = GetCellValue(table.Rows[i], "批号");
|
||||
string planNumText = GetCellValue(table.Rows[i], "计划数量");
|
||||
|
||||
if (string.IsNullOrEmpty(code) && string.IsNullOrEmpty(heatNo) && string.IsNullOrEmpty(batchNo) && string.IsNullOrEmpty(planNumText))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(code))
|
||||
{
|
||||
result.Add("第" + (i + 2).ToString() + "行,材料编码,此项为必填项!");
|
||||
continue;
|
||||
}
|
||||
if (string.IsNullOrEmpty(heatNo))
|
||||
{
|
||||
result.Add("第" + (i + 2).ToString() + "行,炉号,此项为必填项!");
|
||||
continue;
|
||||
}
|
||||
if (string.IsNullOrEmpty(batchNo))
|
||||
{
|
||||
result.Add("第" + (i + 2).ToString() + "行,批号,此项为必填项!");
|
||||
continue;
|
||||
}
|
||||
|
||||
decimal planNum;
|
||||
if (!decimal.TryParse(planNumText, out planNum) || planNum <= 0)
|
||||
{
|
||||
result.Add("第" + (i + 2).ToString() + "行,计划数量,请输入大于0的数字!");
|
||||
continue;
|
||||
}
|
||||
|
||||
Tw_MaterialStockOutput stock = stockList.FirstOrDefault(x => x.Code == code && x.HeatNo == heatNo && x.BatchNo == batchNo);
|
||||
if (stock == null)
|
||||
{
|
||||
result.Add("第" + (i + 2).ToString() + "行,当前仓库可选库存中不存在此材料编码/炉号/批号-" + code + "/" + heatNo + "/" + batchNo);
|
||||
continue;
|
||||
}
|
||||
|
||||
importItems.Add(new OutPlanDetailImportItem
|
||||
{
|
||||
MaterialCode = stock.PipeLineMatCode,
|
||||
Code = stock.Code,
|
||||
HeatNo = stock.HeatNo,
|
||||
BatchNo = stock.BatchNo,
|
||||
PlanNum = planNum,
|
||||
MaterialName = stock.MaterialName,
|
||||
MaterialDef = stock.MaterialDef
|
||||
});
|
||||
}
|
||||
|
||||
if (result.Count > 0)
|
||||
{
|
||||
ImportDetailList.Clear();
|
||||
errorInfos = string.Join("|", result.Distinct());
|
||||
responeData.code = 0;
|
||||
responeData.message = errorInfos;
|
||||
return responeData;
|
||||
}
|
||||
|
||||
ImportDetailList = importItems.GroupBy(x => x.MaterialCode).Select(x =>
|
||||
{
|
||||
OutPlanDetailImportItem item = x.First();
|
||||
item.PlanNum = x.Sum(y => y.PlanNum);
|
||||
return item;
|
||||
}).ToList();
|
||||
|
||||
errorInfos = string.Empty;
|
||||
responeData.code = ImportDetailList.Count > 0 ? 1 : 0;
|
||||
responeData.message = ImportDetailList.Count > 0 ? string.Empty : "导入数据为空!";
|
||||
return responeData;
|
||||
}
|
||||
|
||||
protected void btnImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(errorInfos))
|
||||
{
|
||||
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(hdFileName.Text))
|
||||
{
|
||||
ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
Grid1.DataSource = ImportDetailList;
|
||||
Grid1.DataBind();
|
||||
Grid1.RecordCount = ImportDetailList.Count;
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(errorInfos))
|
||||
{
|
||||
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
SaveStockDetails();
|
||||
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string filePath = rootPath + initPath + hdFileName.Text;
|
||||
if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
|
||||
{
|
||||
File.Delete(filePath);
|
||||
}
|
||||
ShowNotify("导入成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
private void SaveStockDetails()
|
||||
{
|
||||
foreach (OutPlanDetailImportItem item in ImportDetailList)
|
||||
{
|
||||
Tw_InOutDetailOutput queryDetail = new Tw_InOutDetailOutput()
|
||||
{
|
||||
InOutPlanMasterId = Id,
|
||||
MaterialCode = item.MaterialCode
|
||||
};
|
||||
Tw_InOutDetailOutput detailOutput = TwInOutplandetailService.GetByModle(queryDetail).FirstOrDefault();
|
||||
if (detailOutput == null)
|
||||
{
|
||||
Tw_InOutPlanDetail newDetail = new Tw_InOutPlanDetail
|
||||
{
|
||||
Id = SQLHelper.GetNewID(),
|
||||
InOutPlanMasterId = Id,
|
||||
MaterialCode = item.MaterialCode,
|
||||
PlanNum = item.PlanNum
|
||||
};
|
||||
TwInOutplandetailService.Add(newDetail);
|
||||
}
|
||||
else
|
||||
{
|
||||
Tw_InOutPlanDetail detail = TwInOutplandetailService.GetById(detailOutput.Id);
|
||||
detail.PlanNum = item.PlanNum;
|
||||
TwInOutplandetailService.Update(detail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnDownLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string tempDirectory = rootPath + @"File\Excel\Temp\";
|
||||
if (!Directory.Exists(tempDirectory))
|
||||
{
|
||||
Directory.CreateDirectory(tempDirectory);
|
||||
}
|
||||
|
||||
string tempPath = tempDirectory + "出库明细导入模板" + string.Format("{0:yyyyMMddHHmmss}", DateTime.Now) + ".xlsx";
|
||||
DataTable template = new DataTable();
|
||||
template.Columns.Add("材料编码");
|
||||
template.Columns.Add("炉号");
|
||||
template.Columns.Add("批号");
|
||||
template.Columns.Add("计划数量");
|
||||
MiniExcel.SaveAs(tempPath, template);
|
||||
|
||||
FileInfo info = new FileInfo(tempPath);
|
||||
long fileSize = info.Length;
|
||||
Response.ClearContent();
|
||||
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("出库明细导入模板.xlsx", System.Text.Encoding.UTF8));
|
||||
Response.ContentType = "excel/plain";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
|
||||
Response.TransmitFile(tempPath, 0, fileSize);
|
||||
Response.Flush();
|
||||
Response.Close();
|
||||
File.Delete(tempPath);
|
||||
}
|
||||
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
||||
Grid1.DataSource = ImportDetailList;
|
||||
Grid1.DataBind();
|
||||
Grid1.RecordCount = ImportDetailList.Count;
|
||||
}
|
||||
|
||||
private List<Tw_MaterialStockOutput> GetSelectableStockList(Tw_InOutPlanMaster master)
|
||||
{
|
||||
Tw_MaterialStockOutput stockQuery = new Tw_MaterialStockOutput();
|
||||
stockQuery.WarehouseCode = master.WarehouseCode;
|
||||
stockQuery.ProjectId = CurrUser.LoginProjectId;
|
||||
stockQuery.MaterialUnit = GetRequiredMaterialUnit(master.Category);
|
||||
return TwMaterialstockService.GetTw_MaterialStockByModle(stockQuery);
|
||||
}
|
||||
|
||||
private string GetRequiredMaterialUnit(int? category)
|
||||
{
|
||||
if (category == (int)TwConst.Category.管段)
|
||||
{
|
||||
return "米";
|
||||
}
|
||||
if (category == (int)TwConst.Category.管件)
|
||||
{
|
||||
return "个";
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
private string GetCellValue(DataRow row, string columnName)
|
||||
{
|
||||
return Convert.ToString(row[columnName]).Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "").Trim();
|
||||
}
|
||||
|
||||
public class OutPlanDetailImportItem
|
||||
{
|
||||
public string MaterialCode { get; set; }
|
||||
|
||||
public string Code { get; set; }
|
||||
|
||||
public string HeatNo { get; set; }
|
||||
|
||||
public string BatchNo { get; set; }
|
||||
|
||||
public decimal PlanNum { get; set; }
|
||||
|
||||
public string MaterialName { get; set; }
|
||||
|
||||
public string MaterialDef { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
|
||||
|
||||
public partial class OutPlanMasterDetailImport
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// hdFileName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdFileName;
|
||||
|
||||
/// <summary>
|
||||
/// btnDownLoad 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnDownLoad;
|
||||
|
||||
/// <summary>
|
||||
/// btnAudit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAudit;
|
||||
|
||||
/// <summary>
|
||||
/// btnImport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnImport;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// fuAttachUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.FileUpload fuAttachUrl;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
||||
@@ -119,6 +119,9 @@
|
||||
<f:Button ID="btnSelectStock" Icon="ShapeSquareSelect" Text="选择" runat="server" ToolTip="选择"
|
||||
OnClick="btnSelectStock_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnImportStock" Icon="PackageIn" Text="导入" runat="server" ToolTip="导入"
|
||||
OnClick="btnImportStock_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
|
||||
@@ -141,6 +141,12 @@ namespace FineUIPro.Web.CLGL
|
||||
Save(Const.BtnSave);
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OutPlanMasterSelectStock.aspx?UnitWorkId={0}&Id={1}", UnitWorkId, Id, "选择- ")));
|
||||
|
||||
}
|
||||
protected void btnImportStock_Click(object sender, EventArgs e)
|
||||
{
|
||||
Save(Const.BtnSave);
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OutPlanMasterDetailImport.aspx?Id={0}", Id, "导入- ")));
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -309,4 +315,4 @@ namespace FineUIPro.Web.CLGL
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,6 +221,15 @@ namespace FineUIPro.Web.CLGL
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSelectStock;
|
||||
|
||||
/// <summary>
|
||||
/// btnImportStock 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnImportStock;
|
||||
|
||||
/// <summary>
|
||||
/// nbPlanNum 控件。
|
||||
/// </summary>
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -351,6 +351,7 @@
|
||||
<Content Include="bin\FineUIPro.Web.pdb" />
|
||||
<Content Include="CLGL\ArrivalStatistics.aspx" />
|
||||
<Content Include="CLGL\OutPlanMaster.aspx" />
|
||||
<Content Include="CLGL\OutPlanMasterDetailImport.aspx" />
|
||||
<Content Include="CLGL\OutPlanMasterEdit.aspx" />
|
||||
<Content Include="CLGL\OutPlanMasterOut.aspx" />
|
||||
<Content Include="CLGL\InPlanMaster.aspx" />
|
||||
@@ -8209,6 +8210,13 @@
|
||||
<Compile Include="CLGL\OutPlanMaster.aspx.designer.cs">
|
||||
<DependentUpon>OutPlanMaster.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CLGL\OutPlanMasterDetailImport.aspx.cs">
|
||||
<DependentUpon>OutPlanMasterDetailImport.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CLGL\OutPlanMasterDetailImport.aspx.designer.cs">
|
||||
<DependentUpon>OutPlanMasterDetailImport.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CLGL\OutPlanMasterEdit.aspx.cs">
|
||||
<DependentUpon>OutPlanMasterEdit.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -17192,4 +17200,4 @@
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user