public void AseldPDFS() { PdfHelper pdf = new PdfHelper(); List<string> pdfList = new List<string>(); float[] arrColWidth = new float[] { 135,50,45, 60, 55, 55,60, 45, 35, 45, 45, 35 }; int index = 0; string newFileName = string.Empty; string newName = string.Empty; string json = string.Empty; BaseFont bf = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); iTextSharp.text.Font fontChinese = new iTextSharp.text.Font(bf, 8, iTextSharp.text.Font.UNDERLINE, iTextSharp.text.BaseColor.RED); iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD, new iTextSharp.text.BaseColor(0, 0, 0));//黑 string filename = "總量撿貨報表" + DateTime.Now.ToString("yyyyMMddHHmmss"); Document document = new Document(PageSize.A4.Rotate()); string newPDFName = Server.MapPath(excelPath) + filename; PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(newPDFName, FileMode.Create)); document.Open(); string user_username = (Session["caller"] as Caller).user_username; DataTable aseldTable = new DataTable(); DataTable assg_idTable = new DataTable(); AseldQuery ase_query = new AseldQuery(); ase_query.IsPage = false; ase_query.assg_id = string.Empty; ase_query.start_dtim = DateTime.MinValue; ase_query.change_dtim = DateTime.MinValue; int total = 0; //PdfHelper pdf = new PdfHelper(); //List<string> pdfList = new List<string>(); //string newfilename = string.Empty; //string filename = "待撿貨商品報表" + DateTime.Now.ToString("yyyyMMddHHmmss"); //string newPDFName = Server.MapPath(excelPath) + filename; //int index = 0; int serchWhr = 0; if (!string.IsNullOrEmpty(Request.Params["assg_id"])) { ase_query.assg_id = Request.Params["assg_id"].Trim(); serchWhr++; } DateTime date = DateTime.MinValue; if (Request.Params["start_time"] != "null" && Request.Params["end_time"] != "null") { if (DateTime.TryParse(Request.Params["start_time"], out date)) { ase_query.start_dtim = Convert.ToDateTime(date.ToString("yyyy-MM-dd HH:mm:ss")); } if (DateTime.TryParse(Request.Params["end_time"], out date)) { ase_query.change_dtim = Convert.ToDateTime(date.ToString("yyyy-MM-dd HH:mm:ss")); } serchWhr++; } IAseldImplMgr aseldMgr = new AseldMgr(mySqlConnectionString); DataTable _dtBody = new DataTable(); _dtBody.Columns.Add("商品名稱", typeof(string)); _dtBody.Columns.Add("料位編號", typeof(string)); _dtBody.Columns.Add("撿貨庫存", typeof(string)); _dtBody.Columns.Add("本次撿貨量", typeof(string)); _dtBody.Columns.Add("製造日期", typeof(string)); _dtBody.Columns.Add("有效日期", typeof(string)); _dtBody.Columns.Add("條碼", typeof(string)); _dtBody.Columns.Add("細項編號", typeof(string)); _dtBody.Columns.Add("訂貨量", typeof(string)); _dtBody.Columns.Add("已撿貨量", typeof(string)); _dtBody.Columns.Add("待撿貨量", typeof(string)); _dtBody.Columns.Add("備註", typeof(string)); PdfPTable ptablefoot = new PdfPTable(14); #region MyRegion #region 數據行 if (ase_query.assg_id != string.Empty) { _dtBody.Rows.Clear(); aseldTable = aseldMgr.GetAseldTable(ase_query, out total); #region 標頭 #region 表頭 PdfPTable ptable = new PdfPTable(12); ptable.WidthPercentage = 100;//表格寬度 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("總量撿貨報表", new iTextSharp.text.Font(bf, 18))); cell.VerticalAlignment = Element.ALIGN_LEFT; cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表人:" + user_username, new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 6; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表時間:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); #endregion cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 4; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("工作代號:" + ase_query.assg_id, new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER; cell.Colspan = 5; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品名稱", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("料位編號", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("撿貨庫存", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("本次撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("撿貨料位編號", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //cell.DisableBorderSide(8); //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("條碼", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("細項編號", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("訂貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("已撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("待撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("創建時間", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 ptable.AddCell(cell); #endregion #region 新增功能 if (aseldTable.Rows.Count > 0) { _iinvd = new IinvdMgr(mySqlConnectionString);// GetSearchIinvd _IiupcMgr = new IupcMgr(mySqlConnectionString); foreach (DataRow rows in aseldTable.Rows) { IinvdQuery IinvdQuery = new IinvdQuery(); IinvdQuery.item_id = uint.Parse(rows["item_id"].ToString()); IinvdQuery.ista_id = "A"; List<IinvdQuery> Store = new List<IinvdQuery>(); Store = _iinvd.GetPlasIinvd(IinvdQuery); int P_num = string.IsNullOrEmpty(rows["out_qty"].ToString()) ? 0 : int.Parse(rows["out_qty"].ToString()); /*要撿貨的數量*/ string upc_id = string.Empty; #region 取條碼 List<IupcQuery> list = new List<IupcQuery>(); IupcQuery iupc_query = new IupcQuery(); if (!string.IsNullOrEmpty(rows["item_id"].ToString())) { uint item_id = uint.Parse(rows["item_id"].ToString()); iupc_query.item_id = item_id; iupc_query.upc_type_flg = "1"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } else { iupc_query.upc_type_flg = "3"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } else { iupc_query.upc_type_flg = "2"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } } } } else { upc_id = " "; } #endregion if (Store.Count > 0) { int crorow = 0; for (int i = 0; i < Store.Count; i++) { DataRow row = _dtBody.NewRow(); if (Store[i].prod_qty > P_num) { if (crorow != 0) { row["商品名稱"] = ""; row["條碼"] = ""; row["細項編號"] =""; row["訂貨量"] = ""; row["已撿貨量"] = ""; row["待撿貨量"] = ""; row["料位編號"] = ""; } else { row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["料位編號"] = rows["loc_id"]; } row["製造日期"] = string.IsNullOrEmpty(Store[i].made_date.ToString()) ? " " : Store[i].made_date.ToString("yyyy/MM/dd"); row["有效日期"] = string.IsNullOrEmpty(Store[i].cde_dt.ToString()) ? " " : Store[i].cde_dt.ToString("yyyy/MM/dd"); row["撿貨庫存"] = P_num; row["本次撿貨量"] = " "; row["備註"] = " "; // row["撿貨料位編號"] = Store[i].plas_loc_id; // row["創建時間"] = rows["create_dtim"]; _dtBody.Rows.Add(row); break; } else { if (crorow != 0) { row["商品名稱"] = ""; row["條碼"] = ""; row["細項編號"] = ""; row["訂貨量"] = ""; row["已撿貨量"] = ""; row["待撿貨量"] = ""; row["料位編號"] = ""; } else { row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["料位編號"] = rows["loc_id"]; } row["製造日期"] = string.IsNullOrEmpty(Store[i].made_date.ToString()) ? " " : Store[i].made_date.ToString("yyyy/MM/dd"); row["有效日期"] = string.IsNullOrEmpty(Store[i].cde_dt.ToString()) ? " " : Store[i].cde_dt.ToString("yyyy/MM/dd"); row["撿貨庫存"] = Store[i].prod_qty; row["本次撿貨量"] = " "; //row["撿貨料位編號"] = Store[i].plas_loc_id; // row["創建時間"] = rows["create_dtim"]; row["備註"] = " "; _dtBody.Rows.Add(row); P_num -= Store[i].prod_qty; crorow++; if (P_num == 0) break; } } // _dtBody.Rows.Add(row); } else { DataRow row = _dtBody.NewRow(); row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["本次撿貨量"] = " "; row["料位編號"] = rows["loc_id"]; //row["撿貨料位編號"] = " "; row["撿貨庫存"] = 0; row["製造日期"] = " "; row["有效日期"] = " "; // row["創建時間"] = rows["create_dtim"]; row["備註"] = " "; _dtBody.Rows.Add(row); } } } #endregion // pdfList.Add(MakePDF(aseldTable, ase_query.assg_id, user_username, newPDFName, index++)); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 12, uint.Parse(_dtBody.Rows.Count.ToString()));/*第一7是列,第二個是行*/ pdfList.Add(newFileName); } else if (ase_query.start_dtim != DateTime.MinValue && ase_query.change_dtim != DateTime.MinValue || serchWhr == 0) { assg_idTable = aseldMgr.GetAseldTablePDF(ase_query); for (int a = 0; a < assg_idTable.Rows.Count; a++) { ase_query.assg_id = assg_idTable.Rows[a]["assg_id"].ToString(); aseldTable = aseldMgr.GetAseldTable(ase_query, out total); _dtBody.Rows.Clear(); #region 標頭 #region 表頭 PdfPTable ptable = new PdfPTable(12); ptable.WidthPercentage = 100;//表格寬度 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("總量撿貨報表", new iTextSharp.text.Font(bf, 18))); cell.VerticalAlignment = Element.ALIGN_LEFT; cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表人:" + user_username, new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 6; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表時間:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); #endregion cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 4; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("工作代號:" + ase_query.assg_id, new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER; cell.Colspan = 5; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品名稱", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("料位編號", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("撿貨庫存", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("本次撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("撿貨料位編號", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //cell.DisableBorderSide(8); //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("條碼", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("細項編號", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("訂貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("已撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("待撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("創建時間", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 ptable.AddCell(cell); #endregion #region 新增功能 if (aseldTable.Rows.Count > 0) { _iinvd = new IinvdMgr(mySqlConnectionString);// GetSearchIinvd _IiupcMgr = new IupcMgr(mySqlConnectionString); foreach (DataRow rows in aseldTable.Rows) { IinvdQuery IinvdQuery = new IinvdQuery(); IinvdQuery.item_id = uint.Parse(rows["item_id"].ToString()); IinvdQuery.ista_id = "A"; List<IinvdQuery> Store = new List<IinvdQuery>(); Store = _iinvd.GetPlasIinvd(IinvdQuery); int P_num = string.IsNullOrEmpty(rows["out_qty"].ToString()) ? 0 : int.Parse(rows["out_qty"].ToString()); /*要撿貨的數量*/ string upc_id = string.Empty; #region 取條碼 List<IupcQuery> list = new List<IupcQuery>(); IupcQuery iupc_query = new IupcQuery(); if (!string.IsNullOrEmpty(rows["item_id"].ToString())) { uint item_id = uint.Parse(rows["item_id"].ToString()); iupc_query.item_id = item_id; iupc_query.upc_type_flg = "1"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } else { iupc_query.upc_type_flg = "3"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } else { iupc_query.upc_type_flg = "2"; list = _IiupcMgr.GetIupcByType(iupc_query); if (list.Count > 0) { upc_id = list[0].upc_id; } } } } else { upc_id = " "; } #endregion if (Store.Count > 0) { int crorow = 0; for (int i = 0; i < Store.Count; i++) { DataRow row = _dtBody.NewRow(); if (Store[i].prod_qty > P_num) { if (crorow != 0) { row["商品名稱"] = ""; row["條碼"] = ""; row["細項編號"] = ""; row["訂貨量"] = ""; row["已撿貨量"] = ""; row["待撿貨量"] = ""; row["料位編號"] = ""; } else { row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["料位編號"] = rows["loc_id"]; } row["製造日期"] = string.IsNullOrEmpty(Store[i].made_date.ToString()) ? " " : Store[i].made_date.ToString("yyyy/MM/dd"); row["有效日期"] = string.IsNullOrEmpty(Store[i].cde_dt.ToString()) ? " " : Store[i].cde_dt.ToString("yyyy/MM/dd"); row["撿貨庫存"] = P_num; row["本次撿貨量"] = " "; row["備註"] = " "; _dtBody.Rows.Add(row); break; } else { if (crorow != 0) { row["商品名稱"] = ""; row["條碼"] = ""; row["細項編號"] = ""; row["訂貨量"] = ""; row["已撿貨量"] = ""; row["待撿貨量"] = ""; row["料位編號"] = ""; } else { row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["料位編號"] = rows["loc_id"]; } row["製造日期"] = string.IsNullOrEmpty(Store[i].made_date.ToString()) ? " " : Store[i].made_date.ToString("yyyy/MM/dd"); row["有效日期"] = string.IsNullOrEmpty(Store[i].cde_dt.ToString()) ? " " : Store[i].cde_dt.ToString("yyyy/MM/dd"); row["撿貨庫存"] = Store[i].prod_qty; row["本次撿貨量"] = " "; //row["撿貨料位編號"] = Store[i].plas_loc_id; // row["創建時間"] = rows["create_dtim"]; row["備註"] = " "; _dtBody.Rows.Add(row); crorow++; P_num -= Store[i].prod_qty; if (P_num == 0) break; } } // _dtBody.Rows.Add(row); } else { DataRow row = _dtBody.NewRow(); row["商品名稱"] = rows["product_name"] + rows["spec"].ToString(); row["條碼"] = upc_id; row["細項編號"] = rows["item_id"]; row["訂貨量"] = rows["ord_qty"]; row["已撿貨量"] = rows["act_pick_qty"]; row["待撿貨量"] = rows["out_qty"]; row["本次撿貨量"] = " "; row["料位編號"] = rows["loc_id"]; //row["撿貨料位編號"] = " "; row["撿貨庫存"] = 0; row["製造日期"] = " "; row["有效日期"] = " "; // row["創建時間"] = rows["create_dtim"]; row["備註"] = " "; _dtBody.Rows.Add(row); } } } #endregion // pdfList.Add(MakePDF(aseldTable, ase_query.assg_id, user_username, newPDFName, index++)); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 12, uint.Parse(_dtBody.Rows.Count.ToString()));/*第一7是列,第二個是行*/ pdfList.Add(newFileName); } } #endregion #endregion if (_dtBody.Rows.Count == 0) { #region 標頭 #region 表頭 PdfPTable ptable = new PdfPTable(12); ptable.WidthPercentage = 100;//表格寬度 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("總量撿貨報表", new iTextSharp.text.Font(bf, 18))); cell.VerticalAlignment = Element.ALIGN_LEFT; cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表人:" + user_username, new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 6; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("印表時間:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 12; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); #endregion cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 4; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("工作代號:" + ase_query.assg_id, new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER; cell.Colspan = 5; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 3; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品名稱", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("料位編碼", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("撿貨庫存", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("本次撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("撿貨料位編號", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //cell.DisableBorderSide(8); //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效日期", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("條碼", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("細項編號", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("訂貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("已撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("待撿貨量", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); //cell = new PdfPCell(new Phrase("創建時間", new iTextSharp.text.Font(bf, 8))); //cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 //ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 ptable.AddCell(cell); #endregion document = new Document(PageSize.A4.Rotate()); if (!document.IsOpen()) { document.Open(); } cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 5; cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("此工作代號無數據!", font)); cell.Colspan = 9; cell.DisableBorderSide(4); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 ptable.AddCell(cell); // document.Add(ptable); //document.Add(ptablefoot); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 12, uint.Parse(_dtBody.Rows.Count.ToString()));/*第一7是列,第二個是行*/ pdfList.Add(newFileName); } //else //{ // newFileName = newPDFName + "_part" + index++ + "." + "pdf"; // pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 11, uint.Parse(_dtBody.Rows.Count.ToString()));/*第一7是列,第二個是行*/ // pdfList.Add(newFileName); //} newFileName = newPDFName + "." + "pdf"; pdf.MergePDF(pdfList, newFileName); Response.Clear(); Response.Charset = "gb2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AddHeader("Content-Disposition", "attach-ment;filename=" + filename + ".pdf"); Response.WriteFile(newFileName); }
public HttpResponseBase AseldList() { string json = string.Empty; int totalcount = 0; AseldQuery query = new AseldQuery(); query.Start = Convert.ToInt32(Request.Params["start"] ?? "0"); query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25"); IAseldImplMgr aseldMgr = new AseldMgr(mySqlConnectionString); if (!string.IsNullOrEmpty(Request.Params["assg_id"])) { query.assg_id = Request.Params["assg_id"]; } DateTime date = DateTime.MinValue; if (!string.IsNullOrEmpty(Request.Params["start_time"]))//開始時間 { if (DateTime.TryParse(Request.Params["start_time"], out date)) { query.start_dtim = Convert.ToDateTime(date.ToString("yyyy-MM-dd HH:mm:ss")); } } if (!string.IsNullOrEmpty(Request.Params["end_time"]))//結束時間 { if (DateTime.TryParse(Request.Params["end_time"], out date)) { query.change_dtim = Convert.ToDateTime(date.ToString("yyyy-MM-dd HH:mm:ss")); } } DataTable table = aseldMgr.GetAseldTable(query, out totalcount); _IiupcMgr = new IupcMgr(mySqlConnectionString); IupcQuery queryIupc = new IupcQuery(); string upc_id = string.Empty; List<IupcQuery> list = new List<IupcQuery>(); for (int i = 0; i < table.Rows.Count; i++) { //string lcat_id = table.Rows[i]["lcat_id"].ToString(); //if (lcat_id != "S") //{ // string parameterName = table.Rows[i]["parameterName"].ToString(); // if (parameterName == "寄倉") // { // table.Rows[i]["loc_id"] = "YY999999"; // } // else if (parameterName == "調度") // { // table.Rows[i]["loc_id"] = "ZZ999999"; // } //} uint item_id = uint.Parse(table.Rows[i]["item_id"].ToString()); queryIupc.item_id = item_id; queryIupc.upc_type_flg = "1"; list = _IiupcMgr.GetIupcByType(queryIupc); int j = 0; if (list.Count > 0) { table.Rows[i]["upc_id"] = list[0].upc_id; j++; } else { queryIupc.upc_type_flg = "3"; list = _IiupcMgr.GetIupcByType(queryIupc); if (list.Count > 0) { table.Rows[i]["upc_id"] = list[0].upc_id; j++; } else { queryIupc.upc_type_flg = "2"; list = _IiupcMgr.GetIupcByType(queryIupc); if (list.Count > 0) { table.Rows[i]["upc_id"] = list[0].upc_id; j++; } } } if(j==0) { table.Rows[i]["upc_id"] =""; } } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; json = "{success:true,totalCount:" + totalcount + ",data:" + JsonConvert.SerializeObject(table, Formatting.Indented, timeConverter) + "}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return Response; }