public void NoIlocReportList() { string json = string.Empty; string fileName = "無主料位商品報表_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; ProductQuery prod = new ProductQuery(); prod.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量 prod.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量 try { if (!string.IsNullOrEmpty(Request.Params["search"])) { prod.vendor_name_simple = Request.Params["search"]; } DataTable dt = new DataTable(); _IiplasMgr = new IplasMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); dt = _IiplasMgr.NoIlocReportList(prod); DataTable dtHZ = new DataTable(); string newExcelName = string.Empty; dtHZ.Columns.Add("主料位", typeof(String)); dtHZ.Columns.Add("商品品號", typeof(String)); dtHZ.Columns.Add("品號", typeof(String)); dtHZ.Columns.Add("品名", typeof(String)); dtHZ.Columns.Add("規格", typeof(String)); dtHZ.Columns.Add("廠商", typeof(String)); dtHZ.Columns.Add("條碼", typeof(String)); dtHZ.Columns.Add("內箱長", typeof(String)); dtHZ.Columns.Add("內箱寬", typeof(String)); dtHZ.Columns.Add("內箱高", typeof(String)); //dtHZ.Columns.Add("商品分類", typeof(String)); // pe.inner_pack_len,pe.inner_pack_wid,pe.inner_pack_hgt foreach (DataRow item in dt.Rows) { DataRow dr = dtHZ.NewRow(); dr[0] = item["loc_id"]; dr[1] = item["Product_Id"]; dr[2] = item["item_id"]; dr[3] = item["Product_Name"]; dr[4] = GetProductSpec(item["item_id"].ToString()); dr[5] = item["vendor_name_simple"]; if (string.IsNullOrEmpty(_IiupcMgr.Getupc(item["item_id"].ToString(), "0"))) { dr[6] = "未維護"; } else { dr[6] = " " + _IiupcMgr.Getupc(item["item_id"].ToString(), "0"); } if (string.IsNullOrEmpty(item["inner_pack_len"].ToString())) { dr[7] = "未維護"; } else { dr[7] = item["inner_pack_len"]; } if (string.IsNullOrEmpty(item["inner_pack_wid"].ToString())) { dr[8] = "未維護"; } else { dr[8] = item["inner_pack_wid"]; } if (string.IsNullOrEmpty(item["inner_pack_hgt"].ToString())) { dr[9] = "未維護"; } else { dr[9] = item["inner_pack_hgt"]; } dtHZ.Rows.Add(dr); } MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, "無主料位商品報表(寄倉品)" + "_" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); #region CSV //string[] colname = new string[dtHZ.Columns.Count]; //string filename = "NoIplas.csv"; //newExcelName = Server.MapPath(excelPath) + filename; //for (int i = 0; i < dtHZ.Columns.Count; i++) //{ // colname[i] = dtHZ.Columns[i].ColumnName; //} //if (System.IO.File.Exists(newExcelName)) //{ // System.IO.File.Delete(newExcelName); //} //CsvHelper.ExportDataTableToCsv(dtHZ, newExcelName, colname, true); //IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; #endregion } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,data:[]}"; } }
public void ExportKucunLockList() { string json = string.Empty; IinvdQuery m = new IinvdQuery(); if (!string.IsNullOrEmpty(Request.Params["startIloc"])) {//料位開始 m.startIloc = Request.Params["startIloc"].ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["endIloc"])) { m.endIloc = Request.Params["endIloc"] + "Z"; m.endIloc = m.endIloc.ToUpper(); } _iinvd = new IinvdMgr(mySqlConnectionString); if (!String.IsNullOrEmpty(Request.Params["item_id"]))//料位和條碼不再通過長度來判斷了 { ////if (Request.Params["item_id"].ToString().Length >= 8) ////{ DataTable dt = new DataTable(); dt = _iinvd.Getprodubybar(Request.Params["item_id"].ToString()); if (dt.Rows.Count > 0) { m.item_id = Convert.ToUInt32(dt.Rows[0]["item_id"].ToString()); } ////} else { int itemid = 0; } //m.upc_id } if (!System.IO.Directory.Exists(Server.MapPath(excelPath))) { System.IO.Directory.CreateDirectory(Server.MapPath(excelPath)); } DataTable dtHZ = new DataTable(); string newExcelName = string.Empty; dtHZ.Columns.Add("料位", typeof(String)); dtHZ.Columns.Add("數量", typeof(String)); dtHZ.Columns.Add("商品細項編號", typeof(String)); dtHZ.Columns.Add("品名", typeof(String)); dtHZ.Columns.Add("規格", typeof(String)); dtHZ.Columns.Add("有效期/FIFO", typeof(String)); dtHZ.Columns.Add("是否買斷", typeof(String)); dtHZ.Columns.Add("條碼", typeof(String)); dtHZ.Columns.Add("庫鎖原因", typeof(String)); dtHZ.Columns.Add("庫鎖備註", typeof(String)); try { List<IinvdQuery> store = new List<IinvdQuery>(); _iinvd = new IinvdMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); store = _iinvd.KucunExport(m); foreach (var item in store) { DataRow dr = dtHZ.NewRow(); dr[0] = item.plas_loc_id; dr[1] = item.prod_qty; dr[2] = item.item_id; dr[3] = item.product_name; dr[4] = GetProductSpec(item.item_id.ToString()); dr[5] = item.cde_dt.ToString("yyyy-MM-dd"); dr[6] = item.prepaid == 0 ? "否" : "是"; dr[7] = " " + _IiupcMgr.Getupc(item.item_id.ToString(), "0"); dr[8] = item.parameterName; m.item_id = uint.Parse(item.item_id.ToString()); m.plas_loc_id = item.plas_loc_id.ToString(); m.made_date = item.made_date; if (item.ista_id.ToString() == "H") { dr[9] = _iinvd.remark(m); } else { dr[9] = ""; } dtHZ.Rows.Add(dr); } string fileName = DateTime.Now.ToString("庫存鎖住管理報表_yyyyMMddHHmmss") + ".xls"; MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, "庫存鎖住管理報表_" + DateTime.Now.ToString("yyyyMMddHHmmss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,data:[]}"; } }
public HttpResponseBase Judgeupcid() { string jsonStr = ""; _IiupcMgr = new IupcMgr(mySqlConnectionString); Iupc m = new Iupc(); DataTable dt = new DataTable(); uint id = 0; try { if (uint.TryParse(Request.Params["item_id"].ToString(), out id)) { m.item_id = id; m.upc_id = Request.Params["upc_id"].ToString(); if (m.upc_id.ToString() == m.item_id.ToString()) {//如果輸入商品編號也可以通過 jsonStr = "{success:true}"; } else {//獲取條碼 if (!string.IsNullOrEmpty(m.upc_id)) { dt = _IiupcMgr.upcid(m); if (dt.Rows.Count == 0) { jsonStr = "{success:false,msg:2}"; } for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["item_id"].ToString() == id.ToString()) { jsonStr = "{success:true}"; } else { jsonStr = "{success:false,msg:1,itemid:" + dt.Rows[i]["item_id"].ToString() + "}"; } } } } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(jsonStr.ToString()); this.Response.End(); return this.Response; }
public void PastProductExportlist() { string json = string.Empty; string fileName = ""; string fileNametwo = ""; IinvdQuery invd = new IinvdQuery(); try { _iinvd = new IinvdMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); invd.notimeortimeout = Convert.ToInt32(Request.Params["time_type"]); if (!string.IsNullOrEmpty(Request.Params["startIloc"]))//model中默認為F { invd.startIloc = Request.Params["startIloc"].ToUpper(); } else { invd.startIloc = string.Empty; } if (!string.IsNullOrEmpty(Request.Params["endIloc"])) { invd.endIloc = Request.Params["endIloc"] + "Z"; invd.endIloc = invd.endIloc.ToUpper(); } else { invd.endIloc = string.Empty; } if (!string.IsNullOrEmpty(Request.Params["startDay"])) { invd.startDay = Convert.ToInt32(Request.Params["startDay"]); } else { invd.startDay = 0; } if (!string.IsNullOrEmpty(Request.Params["endDay"])) { invd.endDay = Convert.ToInt32(Request.Params["endDay"]); } else { invd.endDay = 0; } int yugao = 0; if (int.TryParse(Request.Params["yugaoDay"], out yugao)) { invd.yugaoDay = yugao; } else { invd.yugaoDay = 0; } if (!System.IO.Directory.Exists(Server.MapPath(excelPath))) { System.IO.Directory.CreateDirectory(Server.MapPath(excelPath)); } DataTable dtHZ = new DataTable(); string newExcelName = string.Empty; dtHZ.Columns.Add("即過", typeof(String)); dtHZ.Columns.Add("料位", typeof(String)); dtHZ.Columns.Add("屬性", typeof(String)); dtHZ.Columns.Add("品號", typeof(String)); dtHZ.Columns.Add("數量", typeof(String)); dtHZ.Columns.Add("品名", typeof(String)); dtHZ.Columns.Add("規格", typeof(String)); dtHZ.Columns.Add("條碼", typeof(String)); dtHZ.Columns.Add("允出天數", typeof(String)); dtHZ.Columns.Add("有效日期", typeof(String)); dtHZ.Columns.Add("是否買斷", typeof(String)); dtHZ.Columns.Add("溫層", typeof(String)); dtHZ.Columns.Add("即期日期", typeof(String)); dtHZ.Columns.Add("庫存鎖", typeof(String)); DataTable dt = new DataTable(); dt = _iinvd.PastProductExportExcel(invd); for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dtHZ.NewRow(); if (invd.notimeortimeout == 2)//(Convert.ToDateTime(dt.Rows[i]["cde_dt"]) <= DateTime.Now.AddDays(invd.yugaoDay))//過期有效期<=今天 { dr[0] = "過期"; fileName = "過期品"; fileNametwo = "過期品"; } else if (invd.notimeortimeout == 1)//(Convert.ToDateTime(dt.Rows[i]["cde_dt"]) <= DateTime.Now.AddDays(int.Parse(dt.Rows[i]["cde_dt_shp"].ToString() + invd.yugaoDay))) { dr[0] = "即期"; fileName = "即期品"; fileNametwo = "即期品"; } else { dr[0] = "錯誤"; } dr[1] = dt.Rows[i]["plas_loc_id"]; dr[2] = dt.Rows[i]["lcat_id"]; dr[3] = dt.Rows[i]["item_id"]; dr[4] = dt.Rows[i]["prod_qty"]; dr[5] = dt.Rows[i]["product_name"]; dr[6] = GetProductSpec(dt.Rows[i]["item_id"].ToString()); dr[7] = " " + _IiupcMgr.Getupc(dt.Rows[i]["item_id"].ToString(), "0"); dr[8] = dt.Rows[i]["cde_dt_shp"]; dr[9] = Convert.ToDateTime(dt.Rows[i]["cde_dt"]).ToString("yyyy-MM-dd"); dr[10] = dt.Rows[i]["prepaid"].ToString() == "1" ? "是" : "否"; if (dt.Rows[i]["product_freight_set"].ToString() == "1") { dr[11] = "常溫"; } else if (dt.Rows[i]["product_freight_set"].ToString() == "2") { dr[11] = "冷凍"; } else { dr[11] = ""; } dr[12] = DateTime.Parse(dt.Rows[i]["cde_dt"].ToString()).AddDays(-int.Parse(dt.Rows[i]["cde_dt_shp"].ToString())).ToString("yyyy-MM-dd"); dr[13] = dt.Rows[i]["ista_id"]; dtHZ.Rows.Add(dr); } if (System.IO.File.Exists(newExcelName)) { System.IO.File.Delete(newExcelName); } fileName += "預告報表預告天數:" + invd.yugaoDay + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; fileNametwo += " 預告報表 預告天數:" + invd.yugaoDay + " _" + DateTime.Now.ToString("yyyyMMddHHmm"); MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, fileNametwo); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,data:[]}"; } }
//條碼列表頁 public HttpResponseBase GetIupcList() { string json = string.Empty; IupcQuery iupc = new IupcQuery(); iupc.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量 iupc.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量 string content = string.Empty; if (!string.IsNullOrEmpty(Request.Params["searchcontent"])) { content = Request.Params["searchcontent"].Replace(',', ',').Replace('|', ',').Replace(' ', ',');//.Replace(' ',',') string[] list = content.Split(','); string test = "^[0-9]*$"; int count = 0;//實現最後一個不加, for (int i = 0; i < list.Length; i++) { if (!string.IsNullOrEmpty(list[i])) { if (Regex.IsMatch(list[i], test)) { count = count + 1; if (count == 1) { iupc.searchcontent = list[i]; } else { iupc.searchcontent = iupc.searchcontent + "," + list[i]; } } else { iupc.searchcontentstring = iupc.searchcontentstring + list[i] + ","; } } } } if (!string.IsNullOrEmpty(Request.Params["time_start"])) { iupc.create_time_start = DateTime.Parse(Request.Params["time_start"]).ToString("yyyy-MM-dd HH:mm:ss"); } if (!string.IsNullOrEmpty(Request.Params["time_end"])) { iupc.create_time_end = DateTime.Parse(Request.Params["time_end"]).ToString("yyyy-MM-dd HH:mm:ss"); } try { List<IupcQuery> store = new List<IupcQuery>(); _IiupcMgr = new IupcMgr(mySqlConnectionString); int totalCount = 0; store = _IiupcMgr.GetIupcList(iupc, out totalCount); IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); List<Parametersrc> stores = new List<Parametersrc>(); _ptersrc = new ParameterMgr(mySqlConnectionString); stores = _ptersrc.GetElementType("iupc_type"); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; foreach (var item in store) { item.product_name += GetProductSpec(item.item_id.ToString()); for (int i = 0; i < stores.Count; i++) { if (item.upc_type_flg == stores[i].ParameterCode) { item.upc_type_flg_string = stores[i].parameterName; } } } json = "{success:true,'msg':'user',totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據 } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
//條碼刪除 public HttpResponseBase IupcDelete() { string jsonStr = String.Empty; Iupc iupc = new Iupc(); _IiupcMgr = new IupcMgr(mySqlConnectionString); if (!String.IsNullOrEmpty(Request.Params["rowid"])) { try { foreach (string rid in Request.Params["rowid"].ToString().Split('|')) { if (!string.IsNullOrEmpty(rid)) { iupc.row_id = Convert.ToInt32(rid); _IiupcMgr.Delete(iupc); } } jsonStr = "{success:true}"; } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } } this.Response.Clear(); this.Response.Write(jsonStr); this.Response.End(); return this.Response; }
//條碼維護匯出 public void ReportManagementExcelList() { string json = string.Empty; IupcQuery iupc = new IupcQuery(); DataTable dtExcel = new DataTable(); try { string content = string.Empty; if (!string.IsNullOrEmpty(Request.Params["searchcontent"])) { content = Request.Params["searchcontent"].Replace(',', ',').Replace('|', ',').Replace(' ', ',');//.Replace(' ',',') string[] list = content.Split(','); string test = "^[0-9]*$"; int count = 0;//實現最後一個不加, for (int i = 0; i < list.Length; i++) { if (!string.IsNullOrEmpty(list[i])) { if (Regex.IsMatch(list[i], test)) { count = count + 1; if (count == 1) { iupc.searchcontent = list[i]; } else { iupc.searchcontent = iupc.searchcontent + "," + list[i]; } } else { iupc.searchcontentstring = iupc.searchcontentstring + list[i] + ","; } } } } if (!string.IsNullOrEmpty(Request.Params["time_start"])) { iupc.create_time_start = DateTime.Parse(Request.Params["time_start"]).ToString("yyyy-MM-dd HH:mm:ss"); } if (!string.IsNullOrEmpty(Request.Params["time_end"])) { iupc.create_time_end = DateTime.Parse(Request.Params["time_end"]).ToString("yyyy-MM-dd HH:mm:ss"); } List<IupcQuery> store = new List<IupcQuery>(); _IiupcMgr = new IupcMgr(mySqlConnectionString); store = _IiupcMgr.GetIupcExportList(iupc); dtExcel.Columns.Add("商品編號", typeof(String)); dtExcel.Columns.Add("商品名稱", typeof(String)); dtExcel.Columns.Add("條碼編號", typeof(String)); dtExcel.Columns.Add("條碼類型", typeof(String)); dtExcel.Columns.Add("創建人", typeof(String)); dtExcel.Columns.Add("創建時間", typeof(String)); for (int i = 0; i < store.Count; i++) { DataRow newRow = dtExcel.NewRow(); newRow[0] = store[i].item_id.ToString(); store[i].product_name += GetProductSpec(store[i].item_id.ToString()); newRow[1] = store[i].product_name.ToString(); newRow[2] = " " + store[i].upc_id.ToString(); //if (!string.IsNullOrEmpty(store[i].upc_type_flg)) //{ // string upc_type = store[i].upc_type_flg; // if (upc_type.Equals("1")) // { // newRow[3] = "國際條碼"; // } // if (upc_type.Equals("2")) // { // newRow[3] = "吉甲地店內碼"; // } // if (upc_type.Equals("3")) // { // newRow[3] = "供應商店內碼"; // } //} //else { newRow[3] = ""; } newRow[3] = store[i].parametername.ToString(); newRow[4] = store[i].create_users.ToString(); newRow[5] = store[i].create_dtim.ToString(); dtExcel.Rows.Add(newRow); } if (dtExcel.Rows.Count > 0) { string fileName = "條碼維護_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; MemoryStream ms = ExcelHelperXhf.ExportDT(dtExcel, "條碼維護_" + DateTime.Now.ToString("yyyyMMddHHmmss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } else { Response.Write("匯出數據不存在"); } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } }
/// <summary> /// 生成盤點工作 /// </summary> /// <returns></returns> public HttpResponseBase GetCountBook2() { // DataSet.Tables["XX"].Columns["xx"].ColumnName = "NewColumnName"; string json = string.Empty; IinvdQuery m = new IinvdQuery(); CbjobMaster cm = new CbjobMaster(); CbjobDetail cd = new CbjobDetail(); IinvdMgr iinvdMgr = new IinvdMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); string cbjob_id = "PC";// +DateTime.Now.ToString("yyyyMMddHHmmss"); try { #region 條件 if (!string.IsNullOrEmpty(Request.Params["startIloc"].Trim())) {//料位開始 m.startIloc = Request.Params["startIloc"].Trim().ToUpper(); } int length = m.startIloc.Length; switch (length) { case 0: cbjob_id = cbjob_id + "AA"; break; case 1: cbjob_id = cbjob_id+ m.startIloc+"A"; break; default: cbjob_id = cbjob_id + m.startIloc.Substring(0, 2); break; } if (!string.IsNullOrEmpty(Request.Params["endIloc"].Trim())) { m.endIloc = Request.Params["endIloc"].Trim() + "Z"; m.endIloc = m.endIloc.ToUpper(); } length = m.endIloc.Length; switch (length) { case 0: cbjob_id = cbjob_id + "ZZ"; break; case 1: cbjob_id = cbjob_id +m.endIloc +"Z"; break; default: cbjob_id = cbjob_id + m.endIloc.Substring(0, 2); break; } if (!string.IsNullOrEmpty(Request.Params["level"]))//層數 {//層數選擇 m.lot_no = Request.Params["level"].ToString().ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["sort"]))//排序 {//排序方式 m.Sort = Request.Params["sort"]; if (m.Sort == "0" && !string.IsNullOrEmpty(Request.Params["firstsd"])) { m.Firstsd = Request.Params["firstsd"]; } } if (!string.IsNullOrEmpty(m.Firstsd)) { if (m.Firstsd == "0") { cbjob_id += "S";//單 } else { cbjob_id += "M";//雙 } } else { cbjob_id += "Z";//不分 } cbjob_id += DateTime.Now.ToString("yyyyMMddHHmmss"); if (!string.IsNullOrEmpty(Request.Params["vender"])) {//vender m.vender = Request.Params["vender"].ToString().ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["prepaid"])) { m.prepaid = int.Parse(Request.Params["prepaid"]); } #endregion DataTable dt = iinvdMgr.getVentory(m); if (dt.Rows.Count > 0) { #region 往cbjob_master裡面插入一條數據 StringBuilder sb = new StringBuilder(); _cbjobMgr = new CbjobDetailMgr(mySqlConnectionString); _cbMasterMgr = new CbjobMasterMgr(mySqlConnectionString); cm.cbjob_id = cbjob_id; cm.create_datetime = DateTime.Now; cm.sta_id = "CNT"; cm.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; sb.Append(_cbMasterMgr.Insertsql(cm)); #endregion #region 修改iinvd數據,往cbjob_detail循環插入數據 int a = 0; for (int i = 0; i < dt.Rows.Count; i++) { if (!string.IsNullOrEmpty(dt.Rows[i]["row_id"].ToString())) { cd.cb_jobid = cm.cbjob_id; cd.cb_newid = a + 1; cd.chang_user = cm.create_user; cd.change_datetime = DateTime.Now; cd.create_datetime = DateTime.Now; cd.create_user = cm.create_user; cd.status = 1; cd.iinvd_id = int.Parse(dt.Rows[i]["row_id"].ToString()); sb.AppendFormat("set sql_safe_updates = 0; UPDATE iinvd set st_qty=prod_qty where row_id='{0}'; set sql_safe_updates = 1;", cd.iinvd_id); sb.Append(_cbjobMgr.insertsql(cd)); a++; } } #endregion _cbjobMgr.InsertSql(sb.ToString()); json = "{success:true,msg:" + 1 + "}"; } else { json = "{success:true,msg:" + 2 + "}"; #region 應用 //Response.Clear(); //this.Response.Write("沒有數據<br/>"); #endregion } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,msg:" + 0 + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
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 ActionResult IinvdCheck() { _IlocMgr = new IlocMgr(mySqlConnectionString); StringBuilder strHtml = new StringBuilder(); string loc_id = Request.Params["loc_id"]; IlocQuery ilocquery=new IlocQuery(); ilocquery.loc_id = loc_id; loc_id = _IlocMgr.GetIlocCount(ilocquery); ViewBag.loc_id = loc_id; ViewBag.lcat_id = ""; ViewBag.upc_id = ""; ViewBag.iplas = ""; _iinvd = new IinvdMgr(mySqlConnectionString); if (loc_id != "") { List<IinvdQuery> list = _iinvd.GetIinvdList(loc_id); IupcQuery iupc = new IupcQuery(); _IiupcMgr = new IupcMgr(mySqlConnectionString); if (list.Count > 0) { ViewBag.product_name = list[0].product_name; ViewBag.spec = list[0].spec; ViewBag.item_id = list[0].item_id.ToString() ; ViewBag.pwy_dte_ctl = list[0].pwy_dte_ctl; iupc.item_id=uint.Parse(ViewBag.item_id); List<IupcQuery> listiupc=new List<IupcQuery>(); if (iupc.item_id!=0) { listiupc = _IiupcMgr.GetIupcByItemID(iupc); } if (listiupc.Count > 0) { ViewBag.upc_id = listiupc[0].upc_id; } if (list[0].pwy_dte_ctl == "Y") { ViewBag.count = list.Count; } else { int prod_qty = 0; for (int i = 0; i < list.Count; i++) { prod_qty += list[i].prod_qty; } list[0].prod_qty = prod_qty; ViewBag.count = 1; } ViewBag.data = list; IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if (lsta_id != null) { if (lsta_id.lsta_id == "F") { iloc.row_id = lsta_id.row_id; iloc.lsta_id = "A"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } } else { ViewBag.product_name =""; ViewBag.spec = ""; ViewBag.item_id = "此料位暫無商品"; IinvdQuery iinvd = new IinvdQuery(); iinvd.prod_qty = 0; list.Add(iinvd); ViewBag.pwy_dte_ctl = Request.Params["pwy_dte_ctl"]; ; ViewBag.count = 0; ViewBag.data = list; IIlocImplMgr ilocMgr = new IlocMgr(mySqlConnectionString); IplasDao iplas = new IplasDao(mySqlConnectionString); int total = 0; ilocquery.loc_id = loc_id; ilocquery.lcat_id = "0"; ilocquery.lsta_id = ""; ilocquery.IsPage = false; List<IlocQuery> listiloc = ilocMgr.GetIocList(ilocquery, out total); if (listiloc.Count > 0) { string lcat_id =listiloc.Count==0?"": listiloc[0].lcat_id; if (lcat_id == "S") { string item_id = iplas.Getlocid(loc_id); if (item_id != "") { ViewBag.item_id = item_id; iupc.item_id = uint.Parse(ViewBag.item_id); List<IupcQuery> listiupc = _IiupcMgr.GetIupcByItemID(iupc); if (listiupc.Count > 0) { ViewBag.upc_id = listiupc[0].upc_id; } DataTable table = iplas.GetProduct(item_id); if (table.Rows.Count > 0) { ViewBag.product_name = table.Rows[0]["product_name"]; ViewBag.spec = table.Rows[0]["spec"]; ViewBag.lcat_id = lcat_id; } DataTable tablePwy = _iinvd.Getprodubybar(item_id); if (tablePwy.Rows.Count > 0) { ViewBag.pwy_dte_ctl = tablePwy.Rows[0]["pwy_dte_ctl"].ToString(); } } else { IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if (lsta_id != null) { if (lsta_id.lsta_id != "H") { iloc.row_id = lsta_id.row_id; iloc.lsta_id = "F"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } ViewBag.iplas = "false"; ViewBag.pwy_dte_ctl = "N"; } } else { IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if(lsta_id!=null) { if(lsta_id.lsta_id!="H") { iloc.row_id=lsta_id.row_id; iloc.lsta_id = "F"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } ViewBag.pwy_dte_ctl = "N"; } } } if (ViewBag.pwy_dte_ctl==null) { ViewBag.pwy_dte_ctl = ""; } } return View(); }
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; }
/// <summary> /// 料位匯入,通過Excel /// </summary> /// <returns></returns> public HttpResponseBase UploadExcel() { string newName = string.Empty; string json = string.Empty; List<IupcQuery> store = new List<IupcQuery>(); _IparasrcMgr = new ParameterMgr(mySqlConnectionString); StringBuilder codeType1 = new StringBuilder(); string codeTypeStr1 = string.Empty; try { List<BLL.gigade.Model.Parametersrc> codeTypeList = _IparasrcMgr.GetElementType("iupc_type"); foreach (var codeTypeModel in codeTypeList) { codeType1.AppendFormat("{0}:{1}, ", codeTypeModel.ParameterCode, codeTypeModel.parameterName); } codeTypeStr1 = codeType1.ToString().Substring(0, codeType1.Length - 2); DTIupcExcel.Clear(); DTIupcExcel.Columns.Clear(); DTIupcExcel.Columns.Add("商品細項編號", typeof(String)); DTIupcExcel.Columns.Add("條碼編號", typeof(String)); DTIupcExcel.Columns.Add("條碼類型(" + codeTypeStr1 + ")", typeof(String)); DTIupcExcel.Columns.Add("不能匯入的原因", typeof(String)); DTIupcExcel.Columns.Add("匯入失敗數據的行號", typeof(String)); DataTable DTIupcImportSucceed = new DataTable(); DTIupcImportSucceed.Columns.Add("商品細項編號", typeof(String)); DTIupcImportSucceed.Columns.Add("條碼編號", typeof(String)); DTIupcImportSucceed.Columns.Add("條碼類型", typeof(String)); DTIupcImportSucceed.Columns.Add("行號", typeof(String)); int result = 0; int count = 0;//總匯入數 int errorCount = 0;//異常數據數量 int create_user = (Session["caller"] as Caller).user_id; int itemIdNotExistCount = 0;//商品細項編號不存在數量 //int iupcTypeNotExistCount = 0;//條碼類型不存在數量 int repeatCount = 0;//商品條碼重複數量 StringBuilder strsql = new StringBuilder(); if (Request.Files["ImportExcelFile"] != null && Request.Files["ImportExcelFile"].ContentLength > 0) { HttpPostedFileBase excelFile = Request.Files["ImportExcelFile"]; //FileManagement fileManagement = new FileManagement(); newName = Server.MapPath(excelPath) + excelFile.FileName; excelFile.SaveAs(newName); DataTable dt = new DataTable(); NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newName); dt = helper.SheetData(); if (dt.Rows.Count > 0) { _IiupcMgr = new IupcMgr(mySqlConnectionString); #region 循環Excel的數據 int i = 0; for (int k = 0; k < dt.Rows.Count; k++) { i++; try { bool b0 = string.IsNullOrEmpty(dt.Rows[k][0].ToString().Trim()); bool b1 = string.IsNullOrEmpty(dt.Rows[k][1].ToString().Trim()); bool b2 = string.IsNullOrEmpty(dt.Rows[k][2].ToString().Trim()); if (b0 || b1 || b2)//如果數據有一個欄位為空 { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "這條數據有欄位為空,請確認"; drtwo[4] = k + 2;//匯入失敗數據的行號,Excel表行號 DTIupcExcel.Rows.Add(drtwo); errorCount++; continue; } if (dt.Rows[k][1].ToString().Trim().Length <= 25) { int a = Convert.ToInt32(dt.Rows[k][0]);//商品細項編號 string b = dt.Rows[k][1].ToString().Trim();//條碼編號 int c = Convert.ToInt32(dt.Rows[k][2]);//條碼類型 int flag = _IiupcMgr.Yesornoexist(a, b); if (flag == 1)//等於1表示商品細項表里面沒有此商品細項編號 { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "在數據庫商品表中,不存在此商品細項編號"; drtwo[4] = k + 2;//匯入失敗數據的行號,Excel表行號 DTIupcExcel.Rows.Add(drtwo); itemIdNotExistCount++; continue; } if (flag == 2)//等於2表示條碼表裡面已存在此條碼 { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "在數據庫中,該條碼已經存在"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); repeatCount++; continue; } if (flag == 0)//當存在此商品細項編號並且該條碼不存在時進行添加數據 { bool xunhuan = true; for (int j = 0; j < i - 1; j++) { if (dt.Rows[j][1].ToString() == dt.Rows[k][1].ToString())//如果匯入的Excel條碼重複 { xunhuan = false; DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "該商品條碼與此表中(行號: " + (j + 2) + " )的商品細項編號:" + dt.Rows[j][0].ToString() + "的條碼重複"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); repeatCount++; break; } } if (xunhuan) { string codeTypeStr = string.Empty; StringBuilder codeType = new StringBuilder(); bool haveCodeType = false; foreach (var codeTypeModel in codeTypeList) { if (Convert.ToString(dt.Rows[k][2]).Trim() == codeTypeModel.ParameterCode) { haveCodeType = true; } codeType.AppendFormat("{0}:{1}, ", codeTypeModel.ParameterCode, codeTypeModel.parameterName); } codeTypeStr = codeType.ToString().Substring(0, codeType.Length - 2); if (!haveCodeType)//此條碼類型是否在參數表t_parameterSrc(parameterType="iupc_type")中存在 { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "在數據庫參數表中,此條碼類型不存在(" + codeTypeStr + ")"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); errorCount++; continue; } //如果條碼類為 1 時,判斷該商品是否在Iupc表中已經存在國際條碼 if (_IiupcMgr.upc_num(Convert.ToInt32(dt.Rows[k][0])) > 0 && dt.Rows[k][2].ToString() == "1") { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "在數據庫中,該商品已經存在國際條碼"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); repeatCount++; continue; } else { bool skip = false; for (int index = 0; index < DTIupcImportSucceed.Rows.Count; index++) { bool m1 = dt.Rows[k][0].ToString().Trim() == DTIupcImportSucceed.Rows[index][0].ToString().Trim(); bool m2 = dt.Rows[k][2].ToString().Trim() == "1"; bool m3 = DTIupcImportSucceed.Rows[index][2].ToString().Trim() == "1"; if (m1 && m2 && m3)//在已經成功匯入的數據中,判斷該商品是否存在國際條碼 { skip = true; DataRow drtwo1 = DTIupcExcel.NewRow(); drtwo1[0] = dt.Rows[k][0].ToString(); drtwo1[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo1[2] = dt.Rows[k][2].ToString(); drtwo1[3] = "在已經成功匯入的數據中(行號: " + DTIupcImportSucceed.Rows[index][3].ToString() + "),該商品已經存在國際條碼"; drtwo1[4] = k + 2; DTIupcExcel.Rows.Add(drtwo1); repeatCount++; break; } } if (skip) { continue; } DataRow drtwo = DTIupcImportSucceed.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = k + 2; DTIupcImportSucceed.Rows.Add(drtwo); count++; string dataTimeNow = CommonFunction.DateTimeToString(DateTime.Now); strsql.AppendFormat(@"insert into iupc(upc_id,item_id,suppr_upc,lst_ship_dte,lst_rct_dte,create_dtim,create_user,upc_type_flg) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}');", b, a, "", dataTimeNow, dataTimeNow, dataTimeNow, create_user, c); continue; } } } } else { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "條碼不符合格式(0-25位)"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); errorCount++; continue; } } catch { DataRow drtwo = DTIupcExcel.NewRow(); drtwo[0] = dt.Rows[k][0].ToString(); drtwo[1] = " " + dt.Rows[k][1].ToString().Trim(); drtwo[2] = dt.Rows[k][2].ToString(); drtwo[3] = "數據異常"; drtwo[4] = k + 2; DTIupcExcel.Rows.Add(drtwo); errorCount++; continue; } } #region 註釋的代碼foreach // foreach (DataRow dr in dt.Rows) // { // i++; // try // { // if (!string.IsNullOrEmpty(dr[1].ToString()) && dr[1].ToString().Length >= 8 && dr[1].ToString().Length <= 25) // { // int a = Convert.ToInt32(dr[0]);//商品細項編號 // string b = dr[1].ToString();//條碼編號 // int c = Convert.ToInt32(dr[2]);//條碼類型 // int flag = _IiupcMgr.Yesornoexist(a, b); // if (flag == 1)//等於1表示商品細項表里面沒有此商品細項編號 // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "商品表不存在此商品細項編號"; // DTIupcExcel.Rows.Add(drtwo); // bucunzaicount++; // continue; // } // if (flag == 2)//等於2表示條碼表裡面已存在此條碼 // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "該條碼已經存在"; // DTIupcExcel.Rows.Add(drtwo); // chongfucount++; // continue; // } // if (flag == 0)//當存在此商品細項編號並且該條碼不存在時進行添加數據 // { // bool xunhuan = true; // for (int j = 0; j < i - 1; j++) // { // if (dt.Rows[j][1].ToString() == dr[1].ToString())//如果匯入的Excel條碼重複 // { // xunhuan = false; // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "該商品條碼與在此表中的商品細項編號:" + dt.Rows[j][0].ToString() + "條碼重複"; // DTIupcExcel.Rows.Add(drtwo); // chongfucount++; // break; // } // } // if (xunhuan) // { // string codeTypeStr = string.Empty; // StringBuilder codeType = new StringBuilder(); // bool haveCodeType = false; // foreach (var codeTypeModel in codeTypeList) // { // if (Convert.ToString(dr[2]) == codeTypeModel.ParameterCode) // { // haveCodeType = true; // } // codeType.AppendFormat("{0}:{1}, ", codeTypeModel.ParameterCode, codeTypeModel.parameterName); // } // codeTypeStr = codeType.ToString().Substring(0, codeType.Length - 2); // if (!haveCodeType) // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "此條碼類型不存在(" + codeTypeStr + ")"; // DTIupcExcel.Rows.Add(drtwo); // errorcount++; // continue; // } // if (_IiupcMgr.upc_num(Convert.ToInt32(dr[0])) > 0) // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "該商品已經存在國際條碼"; // DTIupcExcel.Rows.Add(drtwo); // chongfucount++; // break; // } // else // { // count++; // strsql.AppendFormat(@"insert into iupc(upc_id,item_id,create_dtim,create_user,upc_type_flg) // values('{0}','{1}','{2}','{3}','{4}');", b, a, CommonFunction.DateTimeToString(DateTime.Now), create_user,c);//默認匯入 的是國際條碼 // continue; // } // } // } // } // else // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "條碼不符合格式"; // DTIupcExcel.Rows.Add(drtwo); // errorcount++; // continue; // } // } // catch // { // DataRow drtwo = DTIupcExcel.NewRow(); // drtwo[0] = dr[0].ToString(); // drtwo[1] = " " + dr[1].ToString(); // drtwo[2] = dr[2].ToString(); // drtwo[3] = "數據異常"; // DTIupcExcel.Rows.Add(drtwo); // errorcount++; // continue; // } // #endregion } #endregion if (strsql.ToString().Trim() != "") { result = _IiupcMgr.ExcelImportIupc(strsql.ToString()); if (result > 0) { json = "{success:true,total:" + count + ",error:" + errorCount + ",repeat:" + repeatCount + ",NoItem:" + itemIdNotExistCount + "}"; } else { json = "{success:false}"; } } else { json = "{success:true,total:" + 0 + ",error:" + errorCount + ",repeat:" + repeatCount + ",NoItem:" + itemIdNotExistCount + "}"; } } else { json = "{success:true,total:" + 0 + ",error:" + 0 + ",repeat:" + 0 + ",NoItem:" + 0 + ",NoType:" + 0 + "}"; } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false }"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
/// <summary> /// 匯出pdf文檔 /// </summary> //public void WritePdf() //{ // string newName = string.Empty; // string json = string.Empty; // IpodQuery ipod = new IpodQuery(); // IpoQuery ipo = new IpoQuery(); // if (!string.IsNullOrEmpty(Request.Params["Poid"])) // { // ipo.po_id = Request.Params["Poid"]; // } // if (!string.IsNullOrEmpty(Request.Params["Potype"])) // { // ipo.po_type = Request.Params["Potype"]; // } // List<IpodQuery> ipodStore = new List<IpodQuery>(); // List<IpoQuery> ipoStore = new List<IpoQuery>(); // _ipoMgr = new IpoMgr(mySqlConnectionString); // int totalCount = 0; // ipo.IsPage = false; // ipoStore = _ipoMgr.GetIpoList(ipo, out totalCount); // try // { // #region 採購單匯出 // 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") +".pdf"; // Document document = new Document(PageSize.A4, (float)5, (float)5, (float)20, (float)0.5); // string newPDFName = Server.MapPath(excelPath) + filename; // PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(newPDFName, FileMode.Create)); // document.Open(); // //運送方式 // _paraMgr = new ParameterMgr(mySqlConnectionString); // List<Parametersrc> parameterStore = new List<Parametersrc>(); // parameterStore = _paraMgr.GetElementType("product_freight"); // for (int a = 0; a < ipoStore.Count; a++)//循環單頭 // { // //GetIpodListExprot // _ipodMgr = new IpodMgr(mySqlConnectionString); // ipod = new IpodQuery(); // ipod.po_id = ipoStore[a].po_id; // ipodStore = new List<IpodQuery>(); // ipodStore = _ipodMgr.GetIpodListExprot(ipod); // Dictionary<int, List<IpodQuery>> product_freight_set_mapping = new Dictionary<int, List<IpodQuery>>(); // #region 通過運送方式把採購單分開--一張採購單,分成常溫,冷凍等採購單 // for (int i = 0; i < ipodStore.Count; i++)//通過運送方式保存到字典里 // { // ipodStore[i].spec = GetProductSpec(ipodStore[i].item_id.ToString()); // IupcQuery upc = new IupcQuery(); // upc.item_id = ipodStore[i].item_id; // List<IupcQuery> upcStore = new List<IupcQuery>(); // _IiupcMgr = new IupcMgr(mySqlConnectionString); // upcStore = _IiupcMgr.GetIupcByItemID(upc); // if (upcStore.Count > 0) // { // ipodStore[i].upc_id = upcStore[0].upc_id; // } // int freiset = ipodStore[i].product_freight_set; // if (!product_freight_set_mapping.Keys.Contains(freiset)) // { // List<IpodQuery> s = new List<IpodQuery>(); // product_freight_set_mapping.Add(freiset, s); // } // product_freight_set_mapping[freiset].Add(ipodStore[i]); // } // #endregion // #region 針對匯出一個而無商品的pdf // if (ipodStore.Count == 0) // { // #region 獲取供應商信息 // Vendor vendor = new Vendor(); // _vendorMgr = new VendorMgr(mySqlConnectionString); // vendor.erp_id = ipoStore[a].vend_id; // vendor = _vendorMgr.GetSingle(vendor); // #endregion // #region 採購單標題 // PdfContentByte cb = writer.DirectContent; // cb.BeginText(); // cb.SetFontAndSize(bf, 15); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "吉甲地好市集股份有限公司", 220, 790, 0); // font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // cb.SetFontAndSize(bf, 12); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "採購單" + "-" + ipoStore[a].po_type_desc, 280, 770, 0); // cb.SetFontAndSize(bf, 8); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司電話:", 60, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司傳真:", 470, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), 60, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "頁", 510, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "次", 530, 750, 0); // #endregion // PdfPTable ptable = new PdfPTable(6); // ptable.WidthPercentage = 150;//表格寬度 // font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 82, 50, 100, 90, 110, 71 }); // PdfPCell cell = new PdfPCell(); // cell.UseAscender = true; // cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 // cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 // cell.BorderWidth = 0.1f; // cell.BorderColor = new BaseColor(0, 0, 0); // #region 上部分 // cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運輸方式:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("所在層:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預約到貨日期:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("課稅別:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("營業稅率:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("價格條件:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠別代號:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("gigade(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); // cell.Colspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商全名(讀取):" , font)); // cell.Colspan = 4; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商地址:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商電話:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商傳真:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("處理備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運送備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // ptable.AddCell(cell); // #endregion // ptable.WriteSelectedRows(0, -1, 46, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // PdfPTable nulltable = new PdfPTable(2); // nulltable.SetWidths(new int[] { 20, 20 }); // nulltable.DefaultCell.DisableBorderSide(1); // nulltable.DefaultCell.DisableBorderSide(2); // nulltable.DefaultCell.DisableBorderSide(4); // nulltable.DefaultCell.DisableBorderSide(8); // nulltable.AddCell(""); // nulltable.AddCell(""); // nulltable.SpacingAfter = 292; // document.Add(nulltable); // ptable = new PdfPTable(6); // ptable.WidthPercentage = 86;//表格寬度 // font = new iTextSharp.text.Font(bf, 9, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 90, 130, 50, 50, 60, 120 }); // cell = new PdfPCell(new Phrase("此採購單商品不存在!", font)); // cell.Colspan = 6; // ptable.AddCell(cell); // cb.EndText(); // document.Add(ptable); // document.NewPage(); // } // #endregion // foreach (int key in product_freight_set_mapping.Keys) // { // #region 取出運送方式 // string procduct_freight = ""; // for (int i = 0; i < parameterStore.Count; i++) // { // if (key.ToString() == parameterStore[i].ParameterCode) // { // procduct_freight = parameterStore[i].parameterName; // } // } // #endregion // #region 獲取供應商信息 // Vendor vendor = new Vendor(); // _vendorMgr = new VendorMgr(mySqlConnectionString); // vendor.erp_id = ipoStore[a].vend_id; // vendor = _vendorMgr.GetSingle(vendor); // #endregion // #region 採購單標題 // PdfContentByte cb = writer.DirectContent; // cb.BeginText(); // cb.SetFontAndSize(bf, 15); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "吉甲地好市集股份有限公司", 220, 790, 0); // font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // cb.SetFontAndSize(bf, 12); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "採購單" + "-" + ipoStore[a].po_type_desc, 280, 770, 0); // cb.SetFontAndSize(bf, 8); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司電話:", 60, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司傳真:", 470, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), 60, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "頁", 510, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "次", 530, 750, 0); // #endregion // PdfPTable ptable = new PdfPTable(6); // ptable.WidthPercentage = 150;//表格寬度 // font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 82, 50, 100, 90, 110, 71 }); // PdfPCell cell = new PdfPCell(); // cell.UseAscender = true; // cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 // cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 // cell.BorderWidth = 0.1f; // cell.BorderColor = new BaseColor(0, 0, 0); // #region 上部分 // cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運輸方式:" + procduct_freight, font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("所在層:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預約到貨日期:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("課稅別:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("營業稅率:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("價格條件:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠別代號:" , font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("gigade(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "暫無此信息" : vendor.vendor_name_simple, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); // cell.Colspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "廠商全名(讀取):暫無此信息" :"廠商全名:"+ vendor.vendor_name_full, font)); // cell.Colspan = 4; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "廠商地址:暫無此信息" : "廠商地址:"+vendor.company_address, font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null?"廠商電話:暫無此信息" :"廠商電話:"+ vendor.company_phone, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null? "廠商傳真:暫無此信息" :"廠商傳真:"+ vendor.company_fax, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("處理備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運送備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // ptable.AddCell(cell); // #endregion // ptable.WriteSelectedRows(0, -1, 46, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // PdfPTable nulltable = new PdfPTable(2); // nulltable.SetWidths(new int[] { 20, 20 }); // nulltable.DefaultCell.DisableBorderSide(1); // nulltable.DefaultCell.DisableBorderSide(2); // nulltable.DefaultCell.DisableBorderSide(4); // nulltable.DefaultCell.DisableBorderSide(8); // nulltable.AddCell(""); // nulltable.AddCell(""); // nulltable.SpacingAfter = 292; // document.Add(nulltable); // ptable = new PdfPTable(6); // ptable.WidthPercentage = 86;//表格寬度 // font = new iTextSharp.text.Font(bf, 9, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 90, 130, 50, 50, 60, 120 }); // #region 下面表格頭部 // cell = new PdfPCell(new Phrase("條碼", font)); // cell.Rowspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("品號", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允收天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("製造日期", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註", font)); // cell.Rowspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("品名", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允收數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允出天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("有效日期", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // cell.Rowspan = 2; // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("料位", font)); // cell.DisableBorderSide(1); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("規格", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("不允收數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("有效期天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // #endregion // _ipodMgr = new IpodMgr(mySqlConnectionString); // ipod = new IpodQuery(); // ipod.po_id = ipoStore[a].po_id; // ipod.IsPage = false; // ipodStore = new List<IpodQuery>(); // ipodStore = _ipodMgr.GetIpodList(ipod, out totalCount); // List<IpodQuery> Ipodleibie = new List<IpodQuery>(); // Ipodleibie.AddRange(product_freight_set_mapping[key]); // #region 循環讀取數據填入表格 // for (int i = 0; i < Ipodleibie.Count; i++) // { // //string sResult = ""; // //if (ipodStore[i].pod_id.ToString().Length < 4) // //{ // // for (int n = 0; n < 4 - (ipodStore[i].pod_id.ToString().Length); n++) // // { // // sResult += "0"; // // } // //} // cell = new PdfPCell(new Phrase(Ipodleibie[i].upc_id, font));//條碼 // cell.Rowspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].Erp_Id.ToString(), font));//品號 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_ord.ToString(), font));//採購數量qty_ord // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_var.ToString(), font));//允收天數cde_dt_var // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//製造日期 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//備註 // cell.Rowspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].product_name, font));//品名 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_claimed.ToString(), font));//允收數量 // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_shp.ToString(), font));//允出天數 // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//有效日期 // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // cell.Rowspan = 2; // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].loc_id, font));//料位 // cell.DisableBorderSide(1); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].spec, font));//規格 // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_damaged.ToString(), font));//不允收數量 // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_incr.ToString(), font));//有效期天數 // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // } // #endregion // //cell = new PdfPCell(new Phrase(" 數量合計:" + 5, font)); // //cell.Colspan = 2; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(8); // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 採購金額:", font)); // //cell.Colspan = 2; // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //cell.DisableBorderSide(8); // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 稅額:", font)); // //cell.Colspan = 2; // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 金額合計:", font)); // //cell.Colspan = 2; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //ptable.AddCell(cell); // //Sumtable.AddCell(ptable); // cb.EndText(); // // Sumtable.SpacingAfter = 0; // ptable.SpacingAfter = 250; // //Sumtable.WriteSelectedRows(0, -1, 60, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // document.Add(ptable); // document.NewPage(); // } // } // document.Close(); // writer.Resume(); // Response.Clear(); // Response.Charset = "gb2312"; // Response.ContentEncoding = System.Text.Encoding.UTF8; // Response.AddHeader("Content-Disposition", "attach-ment;filename=" + filename); // Response.WriteFile(newPDFName); // //} // #endregion // //} // } // catch (Exception ex) // { // //cb.EndText(); // //writer.Resume(); // //Response.Clear(); // } //} public void WritePdf() { PdfHelper pdf = new PdfHelper(); List<string> pdfList = new List<string>(); //float[] arrColWidth_pftable = new float[] { 30,100, 80, 60, 60, 60, 60 }; float[] arrColWidth = new float[] { 30, 100, 80, 60, 60, 60, 60 }; int index = 0; string newFileName = string.Empty; string newName = string.Empty; string json = string.Empty; IpodQuery ipod = new IpodQuery(); IpoQuery ipo = new IpoQuery(); if (!string.IsNullOrEmpty(Request.Params["Poid"])) { ipo.po_id = Request.Params["Poid"]; } if (!string.IsNullOrEmpty(Request.Params["Potype"])) { ipo.po_type = Request.Params["Potype"]; } if (!string.IsNullOrEmpty(Request.Params["start_time"])) { ipo.start_time = Convert.ToDateTime(Request.Params["start_time"].ToString()); } if (!string.IsNullOrEmpty(Request.Params["end_time"])) { ipo.end_time = Convert.ToDateTime(Request.Params["end_time"].ToString()); } if (!string.IsNullOrEmpty(Request.Params["freight"])) { ipo.freight = Convert.ToInt32(Request.Params["freight"].ToString()); } List<IpodQuery> ipodStore = new List<IpodQuery>(); List<IpoQuery> ipoStore = new List<IpoQuery>(); _ipoMgr = new IpoMgr(mySqlConnectionString); int totalCount = 0; ipo.IsPage = false; ipoStore = _ipoMgr.GetIpoList(ipo, out totalCount); //if (!string.IsNullOrEmpty(Request.Params["freight"])) //{ // if (Request.Params["freight"].ToString() != "0") // { // _ipodMgr = new IpodMgr(mySqlConnectionString); // List<IpoQuery> newstore = new List<IpoQuery>(); // foreach (IpoQuery item in ipoStore) // { // if (!string.IsNullOrEmpty(item.po_id)) // { // if (_ipodMgr.GetIpodfreight(item.po_id, Convert.ToInt32(Request.Params["freight"].ToString()))) // { // newstore.Add(item); // } // } // } // ipoStore = newstore; // } //} try { #region 採購單匯出 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); string newPDFName = Server.MapPath(excelPath) + filename; PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(newPDFName, FileMode.Create)); document.Open(); //運送方式 _paraMgr = new ParameterMgr(mySqlConnectionString); List<Parametersrc> parameterStore = new List<Parametersrc>(); parameterStore = _paraMgr.GetElementType("product_freight"); if (ipoStore.Count == 0) { } for (int a = 0; a < ipoStore.Count; a++)//循環單頭 { _ipodMgr = new IpodMgr(mySqlConnectionString); ipod = new IpodQuery(); ipod.po_id = ipoStore[a].po_id; ipodStore = new List<IpodQuery>(); ipodStore = _ipodMgr.GetIpodListExprot(ipod); Dictionary<int, List<IpodQuery>> product_freight_set_mapping = new Dictionary<int, List<IpodQuery>>(); #region 通過運送方式把採購單分開--一張採購單,分成常溫,冷凍等採購單 for (int i = 0; i < ipodStore.Count; i++)//通過運送方式保存到字典里 { ipodStore[i].spec = GetProductSpec(ipodStore[i].prod_id.ToString());//--------取值出錯了item_id----------- IupcQuery upc = new IupcQuery(); _IiupcMgr = new IupcMgr(mySqlConnectionString); upc.item_id = uint.Parse(ipodStore[i].prod_id);//--------取值出錯了item_id----------- //獲取國際條碼 List<IupcQuery> upcInternationalStore = new List<IupcQuery>(); upc.upc_type_flg = "1"; upcInternationalStore = _IiupcMgr.GetIupcByType(upc); //獲取店內條碼 List<IupcQuery> upcShopStore = new List<IupcQuery>(); upc.upc_type_flg = "3"; upcShopStore = _IiupcMgr.GetIupcByType(upc); if (upcInternationalStore.Count > 0) { ipodStore[i].upc_id_international = upcInternationalStore[0].upc_id; } if (upcShopStore.Count > 0) { ipodStore[i].upc_id_shop = upcShopStore[0].upc_id; } int freiset = ipodStore[i].product_freight_set; if (!product_freight_set_mapping.Keys.Contains(freiset)) { List<IpodQuery> s = new List<IpodQuery>(); product_freight_set_mapping.Add(freiset, s); } product_freight_set_mapping[freiset].Add(ipodStore[i]); } #endregion #region 針對匯出一個而無商品的pdf if (ipodStore.Count == 0) { #region 獲取供應商信息 Vendor vendor = new Vendor(); _vendorMgr = new VendorMgr(mySqlConnectionString); vendor.erp_id = ipoStore[a].vend_id; vendor = _vendorMgr.GetSingle(vendor); #endregion #region 採購單標題 PdfPTable ptable = new PdfPTable(7); ptable.WidthPercentage = 100;//表格寬度 font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 2; 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, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 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("採購單" + "-" + ipoStore[a].po_type_desc, 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, 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("公司傳真:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 1; 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"), 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_RIGHT;//字體水平居右 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, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell.UseAscender = true; cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 cell.BorderWidth = 0.1f; cell.BorderColor = new BaseColor(0, 0, 0); #endregion #region 上部分 cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); cell.Colspan = 1; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運輸方式:", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("所在層:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預約到貨日期:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("課稅別:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("營業稅率:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("價格條件:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠別代號:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("gigade(讀取)", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商全名(讀取):", font)); cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商地址:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商電話:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商傳真:", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("處理備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運送備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion cell = new PdfPCell(new Phrase("此採購單商品不存在!", font)); cell.Colspan = 7; ptable.AddCell(cell); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(newFileName, ptable, "", ""); pdfList.Add(newFileName); document.Add(ptable); document.NewPage(); } #endregion foreach (int key in product_freight_set_mapping.Keys) { #region 取出運送方式 string procduct_freight = ""; for (int i = 0; i < parameterStore.Count; i++) { if (key.ToString() == parameterStore[i].ParameterCode) { procduct_freight = parameterStore[i].parameterName; } } #endregion #region 獲取供應商信息 Vendor vendor = new Vendor(); _vendorMgr = new VendorMgr(mySqlConnectionString); vendor.erp_id = ipoStore[a].vend_id; vendor = _vendorMgr.GetSingle(vendor); #endregion #region 採購單標題 PdfPTable ptable = new PdfPTable(7); ptable.WidthPercentage = 100;//表格寬度 font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 2; 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, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 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(" 採購單" + "-" + ipoStore[a].po_type_desc, 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, 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("公司傳真:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 1; 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"), 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_RIGHT;//字體水平居右 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, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell.UseAscender = true; cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 cell.BorderWidth = 0.1f; cell.BorderColor = new BaseColor(0, 0, 0); #endregion #region 上部分 cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); cell.Colspan = 1; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); if (procduct_freight != "常溫" && procduct_freight != "冷凍") { ; } cell = new PdfPCell(new Phrase("運輸方式:" + procduct_freight, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("所在層:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預約到貨日期:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("課稅別:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("營業稅率:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("價格條件:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購人員:", font)); //cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠別代號:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("gigade(讀取)", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "暫無此信息" : vendor.vendor_name_simple, font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商全名(讀取):暫無此信息" : "廠商全名:" + vendor.vendor_name_full, font)); cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商地址:暫無此信息" : "廠商地址:" + vendor.company_address, font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商電話:暫無此信息" : "廠商電話:" + vendor.company_phone, font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商傳真:暫無此信息" : "廠商傳真:" + vendor.company_fax, font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("處理備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運送備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion #region 下面表格頭部 cell = new PdfPCell(new Phrase("序號", font)); cell.VerticalAlignment = Element.ALIGN_MIDDLE; //cell.DisableBorderSide(2); cell.Rowspan = 3; ptable.AddCell(cell); cell = new PdfPCell(new Phrase("國際條碼", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("品號", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購數量", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允收天數", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("供應商店內碼", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("品名", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允收數量", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允出天數", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效日期", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("料位", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("規格", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("不允收數量", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效期天數", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion _ipodMgr = new IpodMgr(mySqlConnectionString); ipod = new IpodQuery(); ipod.po_id = ipoStore[a].po_id; ipod.IsPage = false; ipodStore = new List<IpodQuery>(); ipodStore = _ipodMgr.GetIpodList(ipod, out totalCount); List<IpodQuery> Ipodleibie = new List<IpodQuery>(); Ipodleibie.AddRange(product_freight_set_mapping[key]); #region 循環讀取數據填入表格 DataTable Ipod_dt = new DataTable(); Ipod_dt.Columns.Add("序號", typeof(string)); Ipod_dt.Columns.Add("國際條碼", typeof(string)); Ipod_dt.Columns.Add("品號", typeof(string)); Ipod_dt.Columns.Add("採購數量", typeof(string)); Ipod_dt.Columns.Add("允收天數", typeof(string)); Ipod_dt.Columns.Add("製造日期", typeof(string)); Ipod_dt.Columns.Add("備註", typeof(string)); Ipod_dt.Columns.Add("Empty_1", typeof(string)); Ipod_dt.Columns.Add("供應商店內碼", typeof(string)); Ipod_dt.Columns.Add("品名", typeof(string)); Ipod_dt.Columns.Add("允收數量", typeof(string)); Ipod_dt.Columns.Add("允出天數", typeof(string)); Ipod_dt.Columns.Add("有效日期", typeof(string)); Ipod_dt.Columns.Add("Empty_3", typeof(string)); Ipod_dt.Columns.Add("Empty_4", typeof(string)); Ipod_dt.Columns.Add("料位", typeof(string)); Ipod_dt.Columns.Add("規格", typeof(string)); Ipod_dt.Columns.Add("不允收數量", typeof(string)); Ipod_dt.Columns.Add("有效期天數", typeof(string)); Ipod_dt.Columns.Add("Empty_5", typeof(string)); Ipod_dt.Columns.Add("Empty_6", typeof(string)); for (int i = 0; i < Ipodleibie.Count; i++) { DataRow newRow = Ipod_dt.NewRow(); newRow["國際條碼"] = Ipodleibie[i].upc_id_international; newRow["品號"] = Ipodleibie[i].Erp_Id.ToString(); newRow["採購數量"] = Ipodleibie[i].qty_ord.ToString(); newRow["允收天數"] = Ipodleibie[i].cde_dt_var.ToString(); newRow["製造日期"] = ""; newRow["備註"] = ""; newRow["Empty_1"] = (i + 1).ToString(); //序號 newRow["供應商店內碼"] = Ipodleibie[i].upc_id_shop; newRow["品名"] = Ipodleibie[i].product_name; newRow["允收數量"] = Ipodleibie[i].qty_claimed.ToString(); newRow["允出天數"] = Ipodleibie[i].cde_dt_shp.ToString(); newRow["有效日期"] = ""; newRow["Empty_3"] = ""; newRow["Empty_4"] = ""; newRow["料位"] = Ipodleibie[i].loc_id; newRow["規格"] = Ipodleibie[i].spec; newRow["不允收數量"] = Ipodleibie[i].qty_damaged.ToString(); newRow["有效期天數"] = Ipodleibie[i].cde_dt_incr.ToString(); newRow["Empty_5"] = ""; newRow["Empty_6"] = ""; Ipod_dt.Rows.Add(newRow); } #endregion //////// newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(Ipod_dt, false, newFileName, arrColWidth, ptable, "", "", 7, 7);/*第一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); //} #endregion } catch (Exception ex) { //cb.EndText(); //writer.Resume(); //Response.Clear(); } }
public void ExportAseldMessage() { string json = string.Empty; AseldQuery m = new AseldQuery(); if (!string.IsNullOrEmpty(Request.Params["job_id"])) {//料位開始 m.assg_id = Request.Params["job_id"]; } if (!string.IsNullOrEmpty(Request.Params["aseld_type"])) { m.commodity_type = Request.Params["aseld_type"]; } if (!System.IO.Directory.Exists(Server.MapPath(excelPath))) { System.IO.Directory.CreateDirectory(Server.MapPath(excelPath)); } DataTable dtHZ = new DataTable(); string newExcelName = string.Empty; dtHZ.Columns.Add("出貨單號", typeof(String)); dtHZ.Columns.Add("訂單編號", typeof(String)); dtHZ.Columns.Add("料位", typeof(String)); dtHZ.Columns.Add("數量", typeof(String)); dtHZ.Columns.Add("已撿", typeof(String)); dtHZ.Columns.Add("缺", typeof(String)); dtHZ.Columns.Add("品號", typeof(String)); dtHZ.Columns.Add("條碼", typeof(String)); dtHZ.Columns.Add("商品名稱", typeof(String)); dtHZ.Columns.Add("狀態", typeof(String)); dtHZ.Columns.Add("規格", typeof(String)); try { DataTable dt = new DataTable(); _iasdMgr = new AseldMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); dt = _iasdMgr.ExportAseldMessage(m); foreach (DataRow item in dt.Rows) { DataRow dr = dtHZ.NewRow(); dr[0] = item["deliver_code"]; dr[1] = item["ord_id"]; //dr[1] = item["sel_loc"]; if (string.IsNullOrEmpty(item["loc_id"].ToString())) { switch (item["commodity_type"].ToString()) { case "2": dr[2] = "YY999999"; break; case "3": dr[2] = "ZZ999999"; break; } } else { dr[2] = item["loc_id"]; } dr[3] = item["out_qty"]; dr[4] = string.Empty; dr[5] = string.Empty; dr[6] = item["item_id"]; dr[7] = " " + _IiupcMgr.Getupc(item["item_id"].ToString(), "0"); dr[8] = item["product_name"]; dr[9] = item["wust_id"]; dr[10] = item["prod_sz"]; dtHZ.Rows.Add(dr); } string str = "撿貨報表by料位"; if (!string.IsNullOrEmpty(m.assg_id)) { if (m.assg_id.IndexOf('N') == 0) { str = m.assg_id + "(常溫/"; } else if (m.assg_id.IndexOf('N') != 0 && m.assg_id.IndexOf('F') == 0) { str = m.assg_id + "(冷凍/"; } } if (m.commodity_type == "2") { str = str + "寄倉)"; } else if (m.commodity_type == "3") { str = str + "調度)"; } string fileName = str + DateTime.Now.ToString("_yyyyMMddHHmmss") + ".xls"; MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, str + "_" + DateTime.Now.ToString("yyyyMMddHHmmss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,data:[]}"; } }
public HttpResponseBase InsertIinvd() { string jsonStr = String.Empty; Int64 aaa = 0; //無用變數 uint p = 0; //無用變數 try { Iinvd m = new Iinvd(); IialgQuery ia = new IialgQuery(); Iupc iu = new Iupc(); ProductItem proitem = new ProductItem(); Caller call = new Caller(); IstockChangeQuery stock = new IstockChangeQuery(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); string path = ""; _iinvd = new IinvdMgr(mySqlConnectionString); _iagMgr = new IialgMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); #region 獲取數據往 if (Int64.TryParse(Request.Params["item_id"].ToString(), out aaa)) { if (uint.TryParse(Request.Params["item_id"].ToString(), out p)) { m.item_id = uint.Parse(Request.Params["item_id"].ToString()); } if (Request.Params["item_id"].ToString().Length > 6) { m.item_id = uint.Parse(_iinvd.Getprodubybar(Request.Params["item_id"].ToString()).Rows[0]["item_id"].ToString()); } } else { if (Request.Params["item_id"].ToString().Length > 6) { m.item_id = uint.Parse(_iinvd.Getprodubybar(Request.Params["item_id"].ToString()).Rows[0]["item_id"].ToString()); } } m.dc_id = 1; m.whse_id = 1; m.prod_qty = Int32.Parse(Request.Params["prod_qty"].ToString());//數量 DateTime today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); DateTime dtime; if (DateTime.TryParse(Request.Params["startTime"].ToString(), out dtime)) {//用戶填寫創建時間算出有效日期 DateTime start = DateTime.Parse(Request.Params["startTime"].ToString()); m.made_date = start; if (uint.TryParse(Request.Params["cde_dt_incr"].ToString(), out p)) { m.cde_dt = start.AddDays(Int32.Parse(Request.Params["cde_dt_incr"].ToString())); } else { m.cde_dt = DateTime.Now; } } else { if (DateTime.TryParse(Request.Params["cde_dt"].ToString(), out dtime)) {//用戶填寫有效日期算出製造日期 m.cde_dt = DateTime.Parse(Request.Params["cde_dt"].ToString());//有效時間 if (uint.TryParse(Request.Params["cde_dt_incr"].ToString(), out p)) { m.made_date = m.cde_dt.AddDays(-Int32.Parse(Request.Params["cde_dt_incr"].ToString())); } else { m.made_date = today; } } else { m.cde_dt = today; m.made_date = today; } } m.cde_dt = DateTime.Parse(m.cde_dt.ToShortDateString()); m.made_date = DateTime.Parse(m.made_date.ToShortDateString()); m.plas_loc_id = Request.Params["plas_loc_id"].ToString().ToUpper();//上架料位 string loc_id = Request.Params["loc_id"].ToString().ToUpper(); m.change_dtim = DateTime.Now;//編輯時間 m.receipt_dtim = DateTime.Now;//收貨時間 m.create_user = (Session["caller"] as Caller).user_id; #endregion #region 獲取數據添加打iialg ia.loc_id = m.plas_loc_id.ToString().ToUpper(); ia.item_id = m.item_id; stock.sc_trans_type = 0; if (!string.IsNullOrEmpty(Request.Params["iarc_id"].ToString())) { ia.iarc_id = Request.Params["iarc_id"].ToString(); } else { ia.iarc_id = "PC"; stock.sc_trans_type = 1;//收貨上架 } //if (ia.iarc_id == "DR" || ia.iarc_id == "KR") //{ // type = 2;//RF理貨 //} ia.create_dtim = DateTime.Now; ia.create_user = m.create_user; ia.doc_no = "P" + DateTime.Now.ToString("yyyyMMddHHmmss"); if (!string.IsNullOrEmpty(Request.Params["doc_num"])) { ia.doc_no = Request.Params["doc_num"]; stock.sc_trans_id = ia.doc_no;//交易單號 } if (!string.IsNullOrEmpty(Request.Params["Po_num"])) { ia.po_id = Request.Params["Po_num"]; stock.sc_cd_id = ia.po_id;//前置單號 } if (!string.IsNullOrEmpty(Request.Params["remark"])) { ia.remarks = Request.Params["remark"]; stock.sc_note = ia.remarks;//備註 } ia.made_dt = m.made_date; ia.cde_dt = m.cde_dt; #endregion #region 獲取店內條碼-=添加條碼 if (!string.IsNullOrEmpty(Request.Params["vendor_id"].ToString())) { iu.upc_id = CommonFunction.GetUpc(m.item_id.ToString(), Request.Params["vendor_id"].ToString(), m.cde_dt.ToString("yyMMdd")); } iu.item_id = m.item_id; iu.upc_type_flg = "2";//店內碼 iu.create_user = m.create_user; string result = _IiupcMgr.IsExist(iu);//是否有重複的條碼 if (result == "0") { if (_IiupcMgr.Insert(iu) < 1) { jsonStr = "{success:true,msg:2}"; } } #endregion #region 新增/編輯 #region 庫存調整的時候,商品庫存也要調整 _proditemMgr = new ProductItemMgr(mySqlConnectionString); int item_stock = m.prod_qty; proitem.Item_Stock = item_stock; proitem.Item_Id = m.item_id; #endregion if (_iinvd.IsUpd(m, stock) > 0) {//編輯 ia.qty_o = _iinvd.Selnum(m); ia.adj_qty = m.prod_qty; m.prod_qty = ia.qty_o + m.prod_qty; if (m.prod_qty >= 0) { if (_iinvd.Upd(m) > 0) { if (Request.Params["iialg"].ToString() == "Y") {// if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//更新成功 } } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:false,msg:1}";//庫存為負數 } } else {//新增 m.ista_id = "A"; m.create_dtim = DateTime.Now; //創建時間 if (_iinvd.Insert(m) > 0) { _IlocMgr = new IlocMgr(mySqlConnectionString); Iloc loc = new BLL.gigade.Model.Iloc(); loc.change_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); loc.change_dtim = DateTime.Now; loc.loc_id = m.plas_loc_id.ToString().ToUpper(); if (loc_id.Trim() != m.plas_loc_id.Trim())//判斷如果是主料位不需要進行多餘的操作 { if (_IlocMgr.SetIlocUsed(loc) > 0) { if (Request.Params["iialg"].ToString() == "Y") { if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } ia.qty_o = 0; ia.adj_qty = m.prod_qty; if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//新增成功 } } else { jsonStr = "{success:false,msg:1}";//新增失敗 } } else { if (Request.Params["iialg"].ToString() == "Y") { if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } ia.qty_o = 0; ia.adj_qty = m.prod_qty; if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//新增成功 } } } else { jsonStr = "{success:false,msg:1}"; } } #endregion } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(jsonStr.ToString()); this.Response.End(); return this.Response; }
public HttpResponseBase GetCountBook() { // DataSet.Tables["XX"].Columns["xx"].ColumnName = "NewColumnName"; string json = string.Empty; IinvdQuery m = new IinvdQuery(); CbjobMaster cm = new CbjobMaster(); CbjobDetail cd = new CbjobDetail(); IinvdMgr iinvdMgr = new IinvdMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); string cbjob_id = "PC" + DateTime.Now.ToString("yyyyMMddHHmmss"); try { #region 條件 if (!string.IsNullOrEmpty(Request.Params["startIloc"])) {//料位開始 m.startIloc = Request.Params["startIloc"].ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["endIloc"])) { m.endIloc = Request.Params["endIloc"] + "Z"; m.endIloc = m.endIloc.ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["level"]))//層數 {//層數選擇 m.lot_no = Request.Params["level"].ToString().ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["sort"]))//排序 {//排序方式 m.Sort = Request.Params["sort"]; if (m.Sort == "0" && !string.IsNullOrEmpty(Request.Params["firstsd"])) { m.Firstsd = Request.Params["firstsd"]; } } if (!string.IsNullOrEmpty(Request.Params["vender"])) {//vender m.vender = Request.Params["vender"].ToString().ToUpper(); } if (!string.IsNullOrEmpty(Request.Params["prepaid"])) { m.prepaid = int.Parse(Request.Params["prepaid"]); } #endregion DataTable dt = iinvdMgr.getproduct(m); #region 列名 DataTable dtCountBook = new DataTable(); dtCountBook.Columns.Add("編號", typeof(String)); dtCountBook.Columns.Add("料位", typeof(String)); dtCountBook.Columns.Add("狀態", typeof(String)); dtCountBook.Columns.Add("商品細項編號", typeof(String)); dtCountBook.Columns.Add("庫存", typeof(String)); dtCountBook.Columns.Add("成本", typeof(String)); dtCountBook.Columns.Add("商品名稱", typeof(String)); dtCountBook.Columns.Add("商品規格", typeof(String)); dtCountBook.Columns.Add("是否買斷", typeof(String)); dtCountBook.Columns.Add("製造日期", typeof(String)); dtCountBook.Columns.Add("保存期限", typeof(String)); dtCountBook.Columns.Add("有效日期", typeof(String)); dtCountBook.Columns.Add("是否有效期控制", typeof(String)); dtCountBook.Columns.Add("是否即期", typeof(String)); dtCountBook.Columns.Add("是否過期", typeof(String)); dtCountBook.Columns.Add("允出天數", typeof(String)); dtCountBook.Columns.Add("允收天數", typeof(String)); dtCountBook.Columns.Add("國際條碼", typeof(String)); dtCountBook.Columns.Add("最新店內碼", typeof(String)); #endregion if (dt.Rows.Count > 0) { #region 往cbjob_master裡面插入一條數據 StringBuilder sb = new StringBuilder(); _cbjobMgr = new CbjobDetailMgr(mySqlConnectionString); _cbMasterMgr = new CbjobMasterMgr(mySqlConnectionString); cm.cbjob_id = cbjob_id; cm.create_datetime = DateTime.Now; cm.sta_id = "CNT"; cm.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; sb.Append(_cbMasterMgr.Insertsql(cm)); #endregion #region 修改iinvd數據,往cbjob_detail循環插入數據 int a = 0; for (int i = 0; i < dt.Rows.Count; i++) { if (!string.IsNullOrEmpty(dt.Rows[i]["row_id"].ToString())) { cd.cb_jobid = cm.cbjob_id; cd.cb_newid = a + 1; cd.chang_user = cm.create_user; cd.change_datetime = DateTime.Now; cd.create_datetime = DateTime.Now; cd.create_user = cm.create_user; cd.status = 1; cd.iinvd_id = int.Parse(dt.Rows[i]["row_id"].ToString()); sb.AppendFormat("set sql_safe_updates = 0; UPDATE iinvd set st_qty=prod_qty where row_id='{0}'; set sql_safe_updates = 1;", cd.iinvd_id); sb.Append(_cbjobMgr.insertsql(cd)); a++; } } _cbjobMgr.InsertSql(sb.ToString()); #endregion m.cb_jobid = cm.cbjob_id;//賦值給m //dt = iinvdMgr.CountBook(m); int bh = 1; string loc = ""; foreach (DataRow item2 in dt.Rows) { if (item2["loc_id"].ToString() != loc) { if (!string.IsNullOrEmpty(item2["row_id"].ToString())) { #region 讀取iinvd裡面的數據 m.loc_id = item2["loc_id"].ToString(); DataTable Invdt = iinvdMgr.GetIinvdCountBook(m); foreach (DataRow item in Invdt.Rows) { DataRow dr = dtCountBook.NewRow(); dr[0] = bh; dr[1] = item["loc_id"]; dr[2] = item["lsta_id"]; if (!string.IsNullOrEmpty(item["item_id"].ToString())) { dr[3] = item["item_id"]; } if (!string.IsNullOrEmpty(item["prod_qty"].ToString())) { dr[4] = item["prod_qty"]; } else { dr[4] = "0"; } if (!string.IsNullOrEmpty(item["product_id"].ToString())) { dr[5] = iinvdMgr.Getcost(item["product_id"].ToString()); } dr[6] = item["product_name"]; dr[7] = GetProductSpec(item["item_id"].ToString()); dr[8] = item["prepaid"].ToString() == "0" ? "否" : "是"; DateTime md; if (DateTime.TryParse(item["made_date"].ToString(), out md)) { dr[9] = DateTime.Parse(item["made_date"].ToString()).ToString("yyyy/MM/dd"); } dr[10] = item["cde_dt_incr"]; DateTime cdate; if (DateTime.TryParse(item["cde_dt"].ToString(), out cdate)) { dr[11] = cdate.ToString("yyyy/MM/dd"); } int shp = 0; if (item["pwy_dte_ctl"].ToString() == "Y" && Int32.TryParse(item["cde_dt_shp"].ToString(), out shp))//表示是有效期控管的商品 { dr[12] = "Y"; if (cdate.AddDays(-shp) <= DateTime.Now && cdate >= DateTime.Now) { dr[13] = "Y"; } else { dr[13] = "N"; } if (cdate < DateTime.Now) { dr[14] = "Y"; } else { dr[14] = "N"; } dr[15] = item["cde_dt_shp"];//允出天數 dr[16] = item["cde_dt_var"]; } else if (item["pwy_dte_ctl"].ToString() == "N") { dr[12] = "N"; dr[13] = ""; dr[14] = ""; dr[15] = 0;//允出天數 dr[16] = 0; } else { dr[12] = ""; dr[13] = ""; dr[14] = ""; dr[15] = 0;//允出天數 dr[16] = 0; } dr[17] = " " + _IiupcMgr.Getupc(item["item_id"].ToString(), "1"); dr[18] = " " + _IiupcMgr.Getupc(item["item_id"].ToString(), "2"); dtCountBook.Rows.Add(dr); bh++; } #endregion } else { #region iinvd沒有的料位信息從iplas表查出 DataRow dr = dtCountBook.NewRow(); m.loc_id = item2["loc_id"].ToString(); DataTable dt1 = iinvdMgr.GetIplasCountBook(m); foreach (DataRow item1 in dt1.Rows) { dr[0] = bh; dr[1] = item2["loc_id"]; dr[2] = item1["lsta_id"]; if (!string.IsNullOrEmpty(item1["item_id"].ToString())) { dr[3] = item1["item_id"]; } if (!string.IsNullOrEmpty(item1["prod_qty"].ToString())) { dr[4] = item1["prod_qty"]; } else { dr[4] = "0"; } if (!string.IsNullOrEmpty(item1["product_id"].ToString())) { dr[5] = iinvdMgr.Getcost(item1["product_id"].ToString()); } else { dr[5] = "0"; } dr[6] = item1["product_name"]; dr[7] = GetProductSpec(item1["item_id"].ToString()); dr[8] = item1["prepaid"].ToString() == "0" ? "否" : "是"; dr[9] = ""; dr[10] = item1["cde_dt_incr"]; dr[11] = ""; if (item1["pwy_dte_ctl"].ToString() == "Y")//表示是有效期控管的商品 { dr[12] = "Y"; dr[13] = "N"; dr[14] = "N"; dr[15] = item1["cde_dt_shp"];//允出天數 dr[16] = item1["cde_dt_var"]; } else if (item1["pwy_dte_ctl"].ToString() == "N") { dr[12] = "N"; dr[13] = ""; dr[14] = ""; dr[15] = 0;//允出天數 dr[16] = 0; } else { dr[12] = ""; dr[13] = ""; dr[14] = ""; dr[15] = 0;//允出天數 dr[16] = 0; } dr[17] = " " + _IiupcMgr.Getupc(item1["item_id"].ToString(), "1"); dr[18] = " " + _IiupcMgr.Getupc(item1["item_id"].ToString(), "2"); dtCountBook.Rows.Add(dr); bh++; } #endregion } loc = item2["loc_id"].ToString(); } } string fileName = "盤點簿" + cm.cbjob_id.Substring(2, 14) + ".xls"; String str = "盤點簿報表-" + cm.cbjob_id; MemoryStream ms = ExcelHelperXhf.ExportDT(dtCountBook, str); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } else { Response.Clear(); this.Response.Write("沒有數據<br/>"); } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } return this.Response; }
//收貨上架匯出 public void IinvdExcelList() { string json = string.Empty; IinvdQuery iivd = new IinvdQuery(); DataTable dtIinvdExcel = new DataTable(); DateTime dtime = DateTime.Now; _IiupcMgr = new IupcMgr(mySqlConnectionString); try { iivd.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量 iivd.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量 string content = string.Empty; if (!string.IsNullOrEmpty(Request.Params["search_type"])) { iivd.serch_type = int.Parse(Request.Params["search_type"]); if (!string.IsNullOrEmpty(Request.Params["searchcontent"]) && Request.Params["searchcontent"].Trim().Length > 0) { switch (iivd.serch_type) { case 1: case 2: iivd.serchcontent = Request.Params["searchcontent"].Trim(); break; case 3: #region 之後的更改 content = Request.Params["searchcontent"].Replace(',', ',').Replace('|', ',').Replace(' ', ',');//.Replace(' ',',') string[] list = content.Split(','); string test = "^[0-9]*$"; int count = 0;//實現最後一個不加, for (int i = 0; i < list.Length; i++) { if (!string.IsNullOrEmpty(list[i])) { if (Regex.IsMatch(list[i], test)) { count = count + 1; if (count == 1) { iivd.serchcontent = list[i]; } else { iivd.serchcontent = iivd.serchcontent + "," + list[i]; } } else { iivd.serchcontent = iivd.serchcontent + list[i] + ","; } } } #endregion break; default: break; } } } DateTime time; if (DateTime.TryParse(Request.Params["starttime"].ToString(), out time)) { iivd.starttime = DateTime.Parse(time.ToString("yyyy-MM-dd HH:mm:ss")); } if (DateTime.TryParse(Request.Params["endtime"].ToString(), out time)) { iivd.endtime = DateTime.Parse(time.ToString("yyyy-MM-dd HH:mm:ss")); } List<IinvdQuery> store = new List<IinvdQuery>(); _iinvd = new IinvdMgr(mySqlConnectionString); store = _iinvd.GetIinvdExprotList(iivd); #region 列名 dtIinvdExcel.Columns.Add("商品細項編號", typeof(String)); dtIinvdExcel.Columns.Add("商品名稱", typeof(String)); dtIinvdExcel.Columns.Add("數量", typeof(String)); dtIinvdExcel.Columns.Add("有效日期", typeof(String)); dtIinvdExcel.Columns.Add("上架料位", typeof(String)); dtIinvdExcel.Columns.Add("主料位", typeof(String)); dtIinvdExcel.Columns.Add("允收天數", typeof(String)); dtIinvdExcel.Columns.Add("建立日期", typeof(String)); dtIinvdExcel.Columns.Add("建立人員", typeof(String)); dtIinvdExcel.Columns.Add("鎖定狀態", typeof(String)); dtIinvdExcel.Columns.Add("庫鎖原因", typeof(String)); dtIinvdExcel.Columns.Add("店內碼", typeof(String)); dtIinvdExcel.Columns.Add("國際碼", typeof(String)); dtIinvdExcel.Columns.Add("庫鎖備註", typeof(String)); #endregion for (int i = 0; i < store.Count; i++) { string upc = ""; Iupc iu = new Iupc(); DataRow newRow = dtIinvdExcel.NewRow(); newRow[0] = store[i].item_id.ToString(); #region 添加店內碼 if (DateTime.TryParse(store[i].cde_dt.ToString(), out dtime)) { upc = CommonFunction.GetUpc(store[i].item_id.ToString(), store[i].vendor_id.ToString(), dtime.ToString("yyMMdd")); } else { upc = CommonFunction.GetUpc(store[i].item_id.ToString(), store[i].vendor_id.ToString(), dtime.ToString("yyMMdd")); } iu.upc_id = upc; iu.item_id = uint.Parse(store[i].item_id.ToString()); iu.upc_type_flg = "2";//店內碼 iu.create_user = (Session["caller"] as Caller).user_id; string result = _IiupcMgr.IsExist(iu);//是否有重複的條碼 if (result == "0") { _IiupcMgr.Insert(iu); } #endregion newRow[1] = store[i].product_name.ToString(); newRow[2] = store[i].prod_qty.ToString(); newRow[3] = store[i].cde_dt.ToString(); newRow[4] = store[i].plas_loc_id.ToString(); newRow[5] = store[i].loc_id.ToString(); newRow[6] = store[i].cde_dt_var.ToString(); newRow[7] = store[i].create_dtim.ToString(); newRow[8] = store[i].user_name.ToString(); newRow[9] = store[i].ista_id.ToString(); newRow[10] = store[i].qity_name.ToString(); newRow[11] = " " + upc; newRow[12] = " " + store[i].upc_id.ToString(); iivd.item_id = uint.Parse(store[i].item_id.ToString()); iivd.plas_loc_id = store[i].plas_loc_id.ToString(); iivd.made_date = store[i].made_date; if (store[i].ista_id.ToString() == "H") { newRow[13] = _iinvd.remark(iivd); } else { newRow[13] = ""; } dtIinvdExcel.Rows.Add(newRow); } if (dtIinvdExcel.Rows.Count > 0) { string fileName = "收貨上架_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; MemoryStream ms = ExcelHelperXhf.ExportDT(dtIinvdExcel, "收貨上架_" + DateTime.Now.ToString("yyyyMMddHHmmss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } else { Response.Write("匯出數據不存在"); } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } }
/// <summary> /// 匯出盤點工作PDF /// </summary> public void CountBookPDF() { PdfHelper pdf = new PdfHelper(); List<string> pdfList = new List<string>(); float[] arrColWidth = new float[] { 25, 60, 40, 40, 55,40, 140, 50, 40, 50}; 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(); int index = 0; CbjobMasterQuery query = new CbjobMasterQuery(); List<CbjobMasterQuery> cbjobList = new List<CbjobMasterQuery>(); query.IsPage = false; if (!string.IsNullOrEmpty(Request.Params["rowIDs"])) { query.row_id_IN = Request.Params["rowIDs"].TrimEnd(','); } _CbjobMasterMgr = new CbjobMasterMgr(mySqlConnectionString); int totalCount = 0; cbjobList = _CbjobMasterMgr.GetjobMaster(query, out totalCount); 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)); PdfPTable ptablefoot = new PdfPTable(10); if (cbjobList.Count > 0) { _cbjobMgr = new CbjobDetailMgr(mySqlConnectionString); for (int i = 0; i < cbjobList.Count; i++) { CbjobDetail cbdetail = new CbjobDetail(); cbdetail.cb_jobid = cbjobList[i].cbjob_id; DataTable _dtdetail = _cbjobMgr.GetDetailTable(cbdetail); _dtBody.Rows.Clear(); #region 標頭 #region 標頭 PdfPTable ptable = new PdfPTable(10); 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 = 10; cell.DisableBorderSide(1); 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(" 盤點薄" + "-" + cbdetail.cb_jobid, new iTextSharp.text.Font(bf, 18))); 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 = 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 = 10; cell.DisableBorderSide(1); cell.DisableBorderSide(2); // cell.DisableBorderSide(4); //cell.DisableBorderSide(8); ptable.AddCell(cell); #endregion #region 表頭 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, 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;//字體水平居左 ptable.AddCell(cell); #endregion #endregion if (_dtdetail.Rows.Count > 0) { _IiupcMgr = new IupcMgr(mySqlConnectionString); int a = 0; foreach (DataRow rows in _dtdetail.Rows) { a++; 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 DataRow row = _dtBody.NewRow(); row["編號"] = a; row["條碼"] = upc_id; row["料位"] = rows["loc_id"]; row["現有庫存"] = rows["prod_qty"]; row["盤點數量"] = ""; row["效期控制"] = string.IsNullOrEmpty(rows["pwy_dte_ctl"].ToString()) ? "否" : (rows["pwy_dte_ctl"].ToString() == "Y" ? "是" : "否"); row["品名"] = rows["product_name"]; row["規格"] = rows["spec_title_1"]; row["細項編號"] = rows["item_id"]; row["備註"] = " "; _dtBody.Rows.Add(row); } } newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 10, uint.Parse(_dtBody.Rows.Count.ToString()));/*第一7是列,第二個是行*/ pdfList.Add(newFileName); } } if (_dtBody.Rows.Count == 0) { #region 標頭 #region 標頭 PdfPTable ptable = new PdfPTable(10); 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 = 10; cell.DisableBorderSide(1); 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 = 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 = 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 = 10; cell.DisableBorderSide(1); cell.DisableBorderSide(2); // cell.DisableBorderSide(4); //cell.DisableBorderSide(8); ptable.AddCell(cell); #endregion #region 表頭 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, 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;//字體水平居左 ptable.AddCell(cell); #endregion #endregion document = new Document(PageSize.A4.Rotate()); if (!document.IsOpen()) { document.Open(); } cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 4; cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("此工作代號無數據!", font)); cell.Colspan = 3; cell.DisableBorderSide(4); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 3; cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 //cell.DisableBorderSide(8); ptable.AddCell(cell); // document.Add(ptable); //document.Add(ptablefoot); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(_dtBody, false, newFileName, arrColWidth, ptable, ptablefoot, "", "", 10, 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); }
/// <summary> /// 撿貨——調度流程頁面加載數據 /// </summary> /// <returns></returns> public HttpResponseBase GetMarkTallyTW() { string json = string.Empty; string ord_id = Request.Params["ord_id"]; string type = Request.Params["type"]; AseldQuery ase = new AseldQuery(); Aseld m = new Aseld(); try { if (!string.IsNullOrEmpty(Request.Params["ord_id"])) { ase.ord_id = int.Parse(Request.Params["ord_id"]); } if (!string.IsNullOrEmpty(Request.Params["freight_set"])) { ase.freight_set = Request.Params["freight_set"].Substring(0, 1); } //if (!string.IsNullOrEmpty(Request.Params["deliver_code"])) //{ // ase.deliver_code = Request.Params["deliver_code"].Substring(0, 1); //} if (!string.IsNullOrEmpty(Request.Params["item_id"])) { if (Request.Params["item_id"].Length == 6) { ase.item_id = uint.Parse(Request.Params["item_id"]); } else { ase.upc_id = Request.Params["item_id"]; } } _iasdMgr = new AseldMgr(mySqlConnectionString); DataTable dt = _iasdMgr.GetOrderProductInformation(ase); //0代表加載工作代號 if (type == "0")//141980010 { if (dt.Rows.Count > 0) { json = "\"" + "assg_id" + "\"" + ":" + "\"" + dt.Rows[0]["assg_id"].ToString() + "\""; json += ",\r\n" + "\"" + "deliver_code" + "\"" + ":" + "\"" + dt.Rows[0]["deliver_code"].ToString() + "\""; } } else { if (dt.Rows.Count > 0) { //json = "\"" + "assg_id" + "\"" + ":" + "\"" + dr["assg_id"].ToString() + "\""; if (!string.IsNullOrEmpty(dt.Rows[0]["prod_sz"].ToString())) { json = "\"" + "product_name" + "\"" + ":" + "\"" + dt.Rows[0]["description"].ToString() + " (" + dt.Rows[0]["prod_sz"].ToString() + ")\""; } else { json = "\"" + "product_name" + "\"" + ":" + "\"" + dt.Rows[0]["description"].ToString() + " " + dt.Rows[0]["prod_sz"].ToString() + "\""; } //json = "\"" + "product_name" + "\"" + ":" + "\"" + dt.Rows[0]["description"].ToString() + " " + dt.Rows[0]["prod_sz"].ToString() + "\""; json += ",\r\n" + "\"" + "seld_id" + "\"" + ":" + "\"" + dt.Rows[0]["seld_id"].ToString() + "\"";//row_id.唯一的 json += ",\r\n" + "\"" + "ord_qty" + "\"" + ":" + "\"" + dt.Rows[0]["ord_qty"].ToString() + "\"";//訂貨量 json += ",\r\n" + "\"" + "out_qty" + "\"" + ":" + "\"" + dt.Rows[0]["out_qty"].ToString() + "\"";//缺貨量 json += ",\r\n" + "\"" + "ordd_id" + "\"" + ":" + "\"" + dt.Rows[0]["ordd_id"].ToString() + "\""; json += ",\r\n" + "\"" + "deliver_id" + "\"" + ":" + "\"" + dt.Rows[0]["deliver_id"].ToString() + "\""; json += ",\r\n" + "\"" + "deliver_code" + "\"" + ":" + "\"" + dt.Rows[0]["deliver_code"].ToString() + "\""; json += ",\r\n" + "\"" + "note_order" + "\"" + ":" + "\"" + dt.Rows[0]["note_order"].ToString() + "\""; if (!string.IsNullOrEmpty(dt.Rows[0]["cde_dt_shp"].ToString())) { json += ",\r\n" + "\"" + "cde_dt_shp" + "\"" + ":" + "\"" + dt.Rows[0]["cde_dt_shp"].ToString() + "\"";//商品的允出天數 } else { json += ",\r\n" + "\"" + "cde_dt_shp" + "\"" + ":" + "\"" + "999999" + "\"";//商品的允出天數 } if (!string.IsNullOrEmpty(dt.Rows[0]["pwy_dte_ctl"].ToString())) { json += ",\r\n" + "\"" + "pwy_dte_ctl" + "\"" + ":" + "\"" + dt.Rows[0]["pwy_dte_ctl"].ToString() + "\"";//有效期控管 } else { json += ",\r\n" + "\"" + "pwy_dte_ctl" + "\"" + ":" + "\"" + "N" + "\"";//有效期控管 } #region 查詢商品信息同時把wust_id更改為BSY m.wust_id = "BSY"; m.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; if (!string.IsNullOrEmpty(dt.Rows[0]["seld_id"].ToString())) { m.seld_id = int.Parse(dt.Rows[0]["seld_id"].ToString()); } _iasdMgr.Updwust(m); #endregion } else {//判斷條碼輸入的是否正確 DataTable data = new DataTable(); Iupc i = new Iupc(); _IiupcMgr = new IupcMgr(mySqlConnectionString); if (!string.IsNullOrEmpty(ase.upc_id)) { i.upc_id = ase.upc_id; data = _IiupcMgr.upcid(i); if (data.Rows.Count > 0) { json = "\"" + "item_id" + "\"" + ":" + "\"" + data.Rows[0]["item_id"].ToString() + "\""; } } } } json = "{success:true,data:\r\n {\r\n" + json + "\r\n} \r\n" + "}"; } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:true,data:\r\n {\r\n" + "" + "\r\n} \r\n" + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
//根據upcid獲取item_id public HttpResponseBase GetItemidByUpcid() { string json = string.Empty; _IiupcMgr = new IupcMgr(mySqlConnectionString); _iproductitemMgr = new ProductItemMgr(mySqlConnectionString); Iupc m = new Iupc(); DataTable dt = new DataTable(); bool isUpc = true; try { //獲取條碼 if (!string.IsNullOrEmpty(Request.Params["upc_id"])) { m.upc_id = Request.Params["upc_id"].ToString().Trim(); //6位整數時先判斷輸入的是否為item_id Regex reg = new Regex("^\\d{6}$"); if (reg.IsMatch(m.upc_id)) { ProductItemQuery query = new ProductItemQuery(); query.Item_Id = Convert.ToUInt32(m.upc_id); List<ProductItemQuery> store = _iproductitemMgr.GetProductItemByID(query); if (store.Count == 0) { isUpc = true; } else if (store.Count > 1) { isUpc = true; } else { json = "{success:true,msg:1,itemid:" + query.Item_Id + "}"; isUpc = false; } } if (isUpc) { dt = _IiupcMgr.upcid(m); if (dt.Rows.Count == 0) { json = "{success:false,msg:0}"; } else if (dt.Rows.Count > 1) { json = "{success:false,msg:2}"; } else { json = "{success:true,msg:1,itemid:" + dt.Rows[0]["item_id"].ToString() + "}"; } } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
//條碼新增修改 public HttpResponseBase SaveIupc() { string json = string.Empty; try { Iupc iupc = new Iupc(); iupc.item_id = uint.Parse(Request.Params["item_id"].Trim()); iupc.upc_id = Request.Params["upc_id"].Trim(); if (!string.IsNullOrEmpty(Request.Params["upc_type_flg"])) { iupc.upc_type_flg = Request.Params["upc_type_flg"]; } if (!string.IsNullOrEmpty(Request.Params["row_id"])) { iupc.row_id = int.Parse(Request.Params["row_id"]); } else { iupc.row_id = 0; } _IiupcMgr = new IupcMgr(mySqlConnectionString); string result = _IiupcMgr.IsExist(iupc); if (result == "0") { //新增 if (string.IsNullOrEmpty(Request.Params["row_id"])) { iupc.create_user = (Session["caller"] as Caller).user_id; iupc.create_dtim = DateTime.Now; _IiupcMgr.Insert(iupc); json = "{success:true,msg:\"" + "新增成功!" + "\"}"; } //修改 else { iupc.row_id = int.Parse(Request.Params["row_id"]); _IiupcMgr.Update(iupc); json = "{success:true,msg:\"" + "修改成功!" + "\"}"; } } else { json = "{success:false,msg:\"" + result + "\"}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,msg:\"" + "" + "\"}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }