diff --git a/B3QingDaoWanFu.Web/Pages/TypeIOCs/CarLoadingTypeIOC.cs b/B3QingDaoWanFu.Web/Pages/TypeIOCs/CarLoadingTypeIOC.cs index c0d12dd..6871c6e 100644 --- a/B3QingDaoWanFu.Web/Pages/TypeIOCs/CarLoadingTypeIOC.cs +++ b/B3QingDaoWanFu.Web/Pages/TypeIOCs/CarLoadingTypeIOC.cs @@ -31,8 +31,7 @@ namespace BWP.Web.Pages.TypeIOCs { PageSize = 100; - dic.Add("$DetailInfo2", new Func(() => GetPrintStyle(Dmo, true))); - + dic.Add("$DetailInfo2", new Func(() => GetPrintStyle(Dmo))); } @@ -42,15 +41,15 @@ namespace BWP.Web.Pages.TypeIOCs protected int mTotalCount { get; private set; } - private string GetPrintStyle(CarLoading dmo, bool haveaddress) + private string GetPrintStyle(CarLoading dmo) { - StringBuilder html = BuildHtml(dmo, haveaddress); + StringBuilder html = BuildHtml(dmo); return html.ToString(); } protected int PageSize { get; private set; } - private StringBuilder BuildHtml(CarLoading dmo, bool haveaddress) + private StringBuilder BuildHtml(CarLoading dmo) { StringBuilder html = new StringBuilder(); @@ -58,22 +57,18 @@ namespace BWP.Web.Pages.TypeIOCs mTotalCount = dt.Rows.Count; var pageCount = mTotalCount <= 0 ? 1 : ((mTotalCount + PageSize - 1) / PageSize); - Money? allSecNum = GetAllNum(dt, "SecondNumber"); - Money? allMainNum = GetAllNum(dt, "Number"); - var infoBand = GetInfoBand(dmo, allSecNum, allMainNum); + for (int i = 0; i < pageCount; i++) { var report = new BillReport(); - report.Bands.Add(new TextBand("装车单№" + dmo.ID, new Font("黑体", 15), TextAlignMode.Center)); - report.Bands.Add(infoBand); report.FindControl(""); html.Append(ToHtmlStr(report)); HtmlTable table = NewHtmlTable(); - table.EAddRow("center", 1, 1, "单号", "客户", "仓库", "存货编号", "存货名称", "规格", "辅单位", "件数", "主单位", "数量", "备注", "发货标记"); + table.EAddRow("center", 1, 1, "客户", "存货名称", "规格", "件数", "主单位", "计划数量", "数量", "发货标记", "复秤数量","备注"); int i1 = i; var groups = dt.Rows.Where(detail => detail.RowID >= i1 * PageSize && detail.RowID < (i1 + 1) * PageSize).GroupBy(detail => ((long?)detail["BillID"]).Value); - AddDetails(table, groups, haveaddress); + AddDetails(table, groups); html.Append(ToHtmlStr(table)); var reportBottom = new BillReport(); reportBottom.Bands.Add(GetBottomInfoBand(dmo, pageCount, i + 1)); @@ -89,6 +84,38 @@ namespace BWP.Web.Pages.TypeIOCs return html; } + private void AddDetails(HtmlTable table, IEnumerable> groups) + { + HtmlTableExtentions.rowCount = 0; + foreach (var group in groups) + { + bool first = true; + Money? main = null; + Money? sec = null; + + HtmlTableRow row; + foreach (DFDataRow dataRow in group) + { + row = new HtmlTableRow(); + table.Rows.Add(row); + if (first) + { + row.EAdd("center", group.Count() + 1, 1, (string)dataRow["Customer_Name"]); + + first = false; + } + var secNum = (Money?)dataRow["SecondNumber"]; + var mainNum = (Money?)dataRow["Number"]; + row.EAdd("center", 1, 1, (string)dataRow["Goods_PrintShortName"], (string)dataRow["Goods_Spec"], (secNum ?? 0).ToString(), (string)dataRow["Goods_MainUnit"], (mainNum ?? 0).ToString(), (mainNum ?? 0).ToString(), "","",(string)dataRow["Goods_Remark"]); + + main = (main ?? 0) + (mainNum ?? 0); + sec = (sec ?? 0) + (secNum ?? 0); + } + table.EAddRow("center", 1, 1, "小计", "", sec.ToString(), "", main.ToString(),main.ToString(), "", "", ""); + + } + } + private static DFInfoBand GetBottomInfoBand(CarLoading dmo, int pageCount, int currentPage) { @@ -100,18 +127,7 @@ namespace BWP.Web.Pages.TypeIOCs return dfInfoBand; } - private static DFInfoBand GetInfoBand(CarLoading dmo, Money? allSecNum, Money? allMainNum) - { - var dfInfoBand = new DFInfoBand(dmo, 3); - dfInfoBand.AddField("Car_Name", 4); - dfInfoBand.AddField("AccountingUnit_Name", 4); - dfInfoBand.AddField("Date", 4); - dfInfoBand.AddField("Deliveryman_Name", 4); - dfInfoBand.AddText("总 件 数", allSecNum.HasValue ? allSecNum.ToString() : ""); - dfInfoBand.AddText("总 数 量", allMainNum.HasValue ? allMainNum.ToString() : ""); - dfInfoBand.AddField("Remark", 4, 3, Font.Empty, WrapMode.Wrap); - return dfInfoBand; - } + private static Money? GetAllNum(DFDataTable dt, string fieldName) { @@ -144,63 +160,6 @@ namespace BWP.Web.Pages.TypeIOCs //} - private void AddDetails(HtmlTable table, IEnumerable> groups, bool haveaddress) - { - HtmlTableExtentions.rowCount = 0; - foreach (var group in groups) - { - bool first = true; - Money? main = null; - Money? sec = null; - - HtmlTableRow row; - foreach (DFDataRow dataRow in group) - { - row = new HtmlTableRow(); - table.Rows.Add(row); - if (first) - { - row.EAdd("center", group.Count() + 1, 1, ((long?)dataRow["BillID"]).Value.ToString(), (string)dataRow["Customer_Name"], (string)dataRow["Store_Name"]); - if (haveaddress) - { - Address = (string)dataRow["DeliverAddress"]; - Remark = (string)dataRow["Remark"]; - } - - first = false; - } - var secNum = (Money?)dataRow["SecondNumber"]; - var mainNum = (Money?)dataRow["Number"]; - row.EAdd("center", 1, 1, (string)dataRow["Goods_Code"], (string)dataRow["Goods_Name"], (string)dataRow["Goods_Spec"], (string)dataRow["Goods_SecondUnit"], (secNum ?? 0).ToString(), (string)dataRow["Goods_MainUnit"], (mainNum ?? 0).ToString(), (string)dataRow["Goods_Remark"], ""); - - main = (main ?? 0) + (mainNum ?? 0); - sec = (sec ?? 0) + (secNum ?? 0); - } - table.EAddRow("center", 1, 1, "小计", "", "", "", sec.ToString(), "", main.ToString(), "", ""); - if (haveaddress) - { - row = new HtmlTableRow(); - table.Rows.Add(row); - row.EAdd("center", 1, 1, "地址"); - row.EAdd("left", 1, 11, Address); - - row = new HtmlTableRow(); - table.Rows.Add(row); - row.EAdd("center", 1, 1, "备注"); - row.EAdd("left", 1, 11, Remark); - } - - } - } - - - - - - private string Address { get; set; } - private string Remark { get; set; } - - private static string ToHtmlStr(Control ctrl) {