// Print the Order private void btnPrintOrder_Click(object sender, EventArgs e) { if (orderDTO != null || orderDTO.PurchaseOrderID != default) { POdataset ds = new POdataset(); // Create a connection // // cnn.Open(); POdatasetTableAdapters.PurchaseOrder1TableAdapter adapter = new POdatasetTableAdapters.PurchaseOrder1TableAdapter(); POdatasetTableAdapters.EmployeeTableAdapter empAdapter = new POdatasetTableAdapters.EmployeeTableAdapter(); POdatasetTableAdapters.PurchaseLineItemTableAdapter lineAdaper = new POdatasetTableAdapters.PurchaseLineItemTableAdapter(); POdatasetTableAdapters.OrderFeeTableAdapter feeAdapers = new POdatasetTableAdapters.OrderFeeTableAdapter(); POdatasetTableAdapters.SupplierTableAdapter supplierAdapter = new POdatasetTableAdapters.SupplierTableAdapter(); // Hydrate all the internal tables adapter.Fill(ds.PurchaseOrder1, orderDTO.PurchaseOrderID); empAdapter.Fill(ds.Employee, orderDTO.EmployeeID); lineAdaper.Fill(ds.PurchaseLineItem, orderDTO.PurchaseOrderID); feeAdapers.Fill(ds.OrderFee, orderDTO.PurchaseOrderID); supplierAdapter.Fill(ds.Supplier, orderDTO.SupplierID); // PurchaseOrderReport1.SetDataSource(ds); // } PrintOrderForm orderFrom = new PrintOrderForm(ds); orderFrom.Show(); } }
private void OrderHeaderVerticalControl1_OnPrintHandler(object sender, EventArgs e) { if (orderDTO != null || orderDTO.PurchaseOrderID != default) { POdataset ds = new POdataset(); POdatasetTableAdapters.PurchaseOrder1TableAdapter adapter = new POdatasetTableAdapters.PurchaseOrder1TableAdapter(); POdatasetTableAdapters.EmployeeTableAdapter empAdapter = new POdatasetTableAdapters.EmployeeTableAdapter(); POdatasetTableAdapters.PurchaseLineItemTableAdapter lineAdaper = new POdatasetTableAdapters.PurchaseLineItemTableAdapter(); POdatasetTableAdapters.OrderFeeTableAdapter feeAdapers = new POdatasetTableAdapters.OrderFeeTableAdapter(); POdatasetTableAdapters.SupplierTableAdapter supplierAdapter = new POdatasetTableAdapters.SupplierTableAdapter(); // Hydrate all the internal tables adapter.Fill(ds.PurchaseOrder1, orderDTO.PurchaseOrderID); empAdapter.Fill(ds.Employee, orderDTO.EmployeeID); lineAdaper.Fill(ds.PurchaseLineItem, orderDTO.PurchaseOrderID); feeAdapers.Fill(ds.OrderFee, orderDTO.PurchaseOrderID); supplierAdapter.Fill(ds.Supplier, orderDTO.SupplierID); PrintOrderForm orderFrom = new PrintOrderForm(ds); // Show the form with report for printing orderFrom.Show(); } }
// 输出基本表。每行为一册。重复写入同一个 RFID 多次,会被归并为一行 public static void BuildRfidWriteReport( IEnumerable <RfidWriteInfo> lines, IXLWorksheet sheet, out List <KeyStatisLine> results) { List <int> column_max_chars = new List <int>(); results = lines // .Where(o => bSeries || string.IsNullOrEmpty(o.State) == false) .GroupBy(p => (string)p.ItemRefID) .Select(cl => new KeyStatisLine { Key = (string)cl.First().ItemRefID, ItemBarcode = cl.First().ItemBarcode, Operator = cl.First().Operator, OperTime = cl.First().OperTime, Count = cl.Count(), }).ToList(); if (sheet != null) { int line = 0; // 栏目标题行 string[] titles = new string[] { "参考ID", "册条码号", "写入次数", "操作者", "操作时间", }; int nRowIndex = 1; WriteLine( sheet, titles, null, // cells, ref line, ref nRowIndex, ref column_max_chars); foreach (var result in results) { string[] cols = new string[] { result.Key, result.ItemBarcode, result.Count.ToString(), result.Operator, result.OperTime.ToString() }; WriteLine( sheet, cols, null, // cells, ref line, ref nRowIndex, ref column_max_chars); } PrintOrderForm.AdjectColumnWidth(sheet, column_max_chars); } }
// 输出日统计表。 public static void BuildRfidStatisSheet( IEnumerable <KeyStatisLine> lines, IXLWorksheet sheet, out List <DateStatisLine> results) { List <int> column_max_chars = new List <int>(); results = lines .Select(l => new KeyStatisLine1 { Key = l.Key, ItemBarcode = l.ItemBarcode, Count = l.Count, Operator = l.Operator, OperDate = GetDate(l.OperTime) }) // .Where(o => bSeries || string.IsNullOrEmpty(o.State) == false) .GroupBy(p => new { p.OperDate, p.Operator }) .Select(cl => new DateStatisLine { Date = (string)cl.First().OperDate.ToLongDateString(), Operator = cl.First().Operator, ItemCount = cl.Count(), WriteCount = cl.Sum(a => a.Count), }).ToList(); if (sheet != null) { int line = 0; // 栏目标题行 string[] titles = new string[] { "日期", "操作者", "册数", "写入次数", }; int nRowIndex = 1; WriteLine( sheet, titles, null, // cells, ref line, ref nRowIndex, ref column_max_chars); foreach (var result in results) { string[] cols = new string[] { result.Date, result.Operator, result.ItemCount.ToString(), result.WriteCount.ToString() }; WriteLine( sheet, cols, null, // cells, ref line, ref nRowIndex, ref column_max_chars); } PrintOrderForm.AdjectColumnWidth(sheet, column_max_chars); } }