/// <summary> /// 匯出相關事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ExportButton_Click(object sender, EventArgs e) { #region try { ErrorMsgLabel.Text = ""; if (ExportFileTextBox.Text.Trim() == "") { ExportFileTextBox.Text = "到貨配本記錄查詢.xls"; } ALOModel.QueryDisRecordReport BCO = new ALOModel.QueryDisRecordReport(ConnectionDB); ArrayList ParameterList = new ArrayList();//20091113 ParameterList.Clear(); #region 加入變數 //門市進貨日起迄 ParameterList.Add(SLP_ST_AcceptDateRange.StartDate); ParameterList.Add(SLP_ST_AcceptDateRange.EndDate); //配本日期起迄 ParameterList.Add(SLP_DISDateRange.StartDate); ParameterList.Add(SLP_DISDateRange.EndDate); //群分類起迄 ParameterList.Add(SLP_RootNo_S.Text); ParameterList.Add(SLP_RootNo_E.Text); //大分類起迄 ParameterList.Add(SLP_PMA_S.Text); ParameterList.Add(SLP_PMA_E.Text); //Pattern起迄 ParameterList.Add(SLP_Pattern_S.Text); ParameterList.Add(SLP_Pattern_E.Text); //品號/品名起迄 ParameterList.Add(SLP_SKU_S.Text); ParameterList.Add(SLP_SKU_E.Text); //期別起迄 ParameterList.Add(SLP_ItemPeriod_S.Text); ParameterList.Add(SLP_ItemPeriod_E.Text); //通路起迄 ParameterList.Add(SLP_StoreChain_S.Text); ParameterList.Add(SLP_StoreChain_E.Text); //門市起迄 ParameterList.Add(SLP_Store_S.Text); ParameterList.Add(SLP_Store_E.Text); //路線起迄 ParameterList.Add(SLP_Route_S.Text); ParameterList.Add(SLP_Route_E.Text); //配本序號1起迄 ParameterList.Add(DIS_NO_1_S_TxtBox.Text); ParameterList.Add(DIS_NO_1_E_TxtBox.Text); //配本序號2起迄 ParameterList.Add(DIS_NO_2_S_TxtBox.Text); ParameterList.Add(DIS_NO_2_E_TxtBox.Text); //配本序號3起迄 ParameterList.Add(DIS_NO_3_S_TxtBox.Text); ParameterList.Add(DIS_NO_3_E_TxtBox.Text); //配本序號4起迄 ParameterList.Add(DIS_NO_4_S_TxtBox.Text); ParameterList.Add(DIS_NO_4_E_TxtBox.Text); //配本序號5起迄 ParameterList.Add(DIS_NO_5_S_TxtBox.Text); ParameterList.Add(DIS_NO_5_E_TxtBox.Text); //傳入筆數 ParameterList.Add(""); //需要Group By的欄位 //ParameterList.Add("t.ROOT_NO,t.ROOT_Name"); ALOModelDBO.DisRecordGroupByCloumnStruct GStruct = new ALOModelDBO.DisRecordGroupByCloumnStruct(); #region 組合T-SQL 需要的UI元件 GStruct.RootNo = RootCheckbox.Checked; GStruct.PMA = PMACheckbox.Checked; GStruct.PatternNo = PatternNOCheckbox.Checked; GStruct.Item = ItemCheckbox.Checked; GStruct.Period = PeriodCheckbox.Checked; GStruct.DisType = DISTypeCheckbox.Checked; GStruct.DisDate = DISDateCheckbox.Checked; GStruct.DisNo = DISNOCheckbox.Checked; GStruct.ApproveDate = ApproveDateCheckbox.Checked; GStruct.StoreQty = StoreQtyCheckbox.Checked; GStruct.ZO = ZOCheckbox.Checked; GStruct.Route = RouteCheckbox.Checked; GStruct.TransNo = TransNoCheckbox.Checked; GStruct.AreaCode = AreaCodeCheckbox.Checked; GStruct.DO = DOCheckbox.Checked; GStruct.BusinessNo = BusinessNoCheckbox.Checked; GStruct.ChanNo = ChanNoCheckbox.Checked; GStruct.Store = StoreCheckbox.Checked; GStruct.PoSourceNo = chk_POSourceNo.Checked; #endregion ParameterList.Add(GStruct); //包含配量=0的門市 2010/01/13 ParameterList.Add(chk_DisQtyEqualZero.Checked ? 1 : 0); #endregion DataTable Dt = BCO.QueryDisRecordReportData(ParameterList); if (Dt.Rows.Count > 0) { if (Dt.Rows.Count < 60000)//20091014 新增資料匯出筆數限制 { ExcelExportHelper ExcelEH = new ExcelExportHelper(); string FileCode = ExportFileTextBox.Text; if (FileCode == "") { FileCode = "ALO16_" + Session["UID"].ToString() + ".xls"; } //NEW3: ExportExcelUsingMemoryStream(Dt, FileCode); //NEW2: //Export_Excel(Dt, FileCode); //20091016 解決匯出時發生夾雜UI控制象的情況 //NEW: //WriteToXls(Dt, FileCode); //OLD: //ExcelEH.OutputExcel(Page, // Dt, // FileCode // ); } else { ErrorMsgLabel.Text = "資料筆數超過60000筆"; } } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }
/// <summary> /// ALO16_1報表_到貨配本記錄EXCEL /// </summary> /// <param name="ParameterList">變數清單</param> /// <returns>回傳查詢結果</returns> public DataTable ALO16_1(ArrayList ParameterList, ref ReportList.ExcelOtherType EOT) { ArrayList ParameterList2 = new ArrayList(); #region 加入變數 //門市進貨日起迄 ParameterList2.Add(ParameterList[0]); ParameterList2.Add(ParameterList[1]); //配本日期起迄 ParameterList2.Add(ParameterList[2]); ParameterList2.Add(ParameterList[3]); //群分類起迄 ParameterList2.Add(ParameterList[4]); ParameterList2.Add(ParameterList[5]); //大分類起迄 ParameterList2.Add(ParameterList[6]); ParameterList2.Add(ParameterList[7]); //Pattern起迄 ParameterList2.Add(ParameterList[8]); ParameterList2.Add(ParameterList[9]); //品號/品名起迄 ParameterList2.Add(ParameterList[10]); ParameterList2.Add(ParameterList[11]); //期別起迄 ParameterList2.Add(ParameterList[12]); ParameterList2.Add(ParameterList[13]); //通路起迄 ParameterList2.Add(ParameterList[14]); ParameterList2.Add(ParameterList[15]); //門市起迄 ParameterList2.Add(ParameterList[16]); ParameterList2.Add(ParameterList[17]); //路線起迄 ParameterList2.Add(ParameterList[18]); ParameterList2.Add(ParameterList[19]); //配本序號1起迄 ParameterList2.Add(ParameterList[20]); ParameterList2.Add(ParameterList[21]); //配本序號2起迄 ParameterList2.Add(ParameterList[22]); ParameterList2.Add(ParameterList[23]); //配本序號3起迄 ParameterList2.Add(ParameterList[24]); ParameterList2.Add(ParameterList[25]); //配本序號4起迄 ParameterList2.Add(ParameterList[26]); ParameterList2.Add(ParameterList[27]); //配本序號5起迄 ParameterList2.Add(ParameterList[28]); ParameterList2.Add(ParameterList[29]); //傳入筆數 ParameterList2.Add(""); //需要Group By的欄位 #region 組合T-SQL 需要的UI元件 ALOModelDBO.DisRecordGroupByCloumnStruct GStruct = new ALOModelDBO.DisRecordGroupByCloumnStruct(); GStruct.RootNo = bool.Parse(ParameterList[30].ToString()); GStruct.PMA = bool.Parse(ParameterList[31].ToString()); GStruct.PatternNo = bool.Parse(ParameterList[32].ToString()); GStruct.Item = bool.Parse(ParameterList[33].ToString()); GStruct.Period = bool.Parse(ParameterList[34].ToString()); GStruct.DisType = bool.Parse(ParameterList[35].ToString()); GStruct.DisDate = bool.Parse(ParameterList[36].ToString()); GStruct.DisNo = bool.Parse(ParameterList[37].ToString()); GStruct.ApproveDate = bool.Parse(ParameterList[38].ToString()); GStruct.StoreQty = bool.Parse(ParameterList[39].ToString()); GStruct.ZO = bool.Parse(ParameterList[40].ToString()); GStruct.Route = bool.Parse(ParameterList[41].ToString()); GStruct.TransNo = bool.Parse(ParameterList[42].ToString()); GStruct.AreaCode = bool.Parse(ParameterList[43].ToString()); GStruct.DO = bool.Parse(ParameterList[44].ToString()); GStruct.BusinessNo = bool.Parse(ParameterList[45].ToString()); GStruct.ChanNo = bool.Parse(ParameterList[46].ToString()); GStruct.Store = bool.Parse(ParameterList[47].ToString()); GStruct.PoSourceNo = bool.Parse(ParameterList[48].ToString()); #endregion ParameterList2.Add(GStruct); //包含配量=0的門市 ParameterList2.Add(bool.Parse(ParameterList[49].ToString()) ? 1 : 0); #endregion ALOModel.QueryDisRecordReport BCO = new ALOModel.QueryDisRecordReport(ConntionDB); DataTable Dt = BCO.QueryDisRecordReportData(ParameterList2); if (Dt != null && Dt.Rows.Count > 0) { #region 表頭:如要指定表頭必設定 for (Int32 i = 0; i <= Dt.Columns.Count - 1; i++) { Dt.Columns[i].ColumnName = ConvertToChineseField(Dt.Columns[i].ColumnName); } #endregion EOT = ReportList.ExcelOtherType.Normal;//如要匯出EXCEL此為必要設定 return Dt; } else { throw new Exception("查無資料!!"); } }
/// <summary> /// 查詢資料庫取得資料 /// </summary> private void databind() { ALOModel.QueryDisRecordReport BCO = new ALOModel.QueryDisRecordReport(ConnectionDB); ArrayList ParameterList = new ArrayList();//20091113 ParameterList.Clear(); #region 加入變數 //門市進貨日起迄 ParameterList.Add(SLP_ST_AcceptDateRange.StartDate); ParameterList.Add(SLP_ST_AcceptDateRange.EndDate); //配本日期起迄 ParameterList.Add(SLP_DISDateRange.StartDate); ParameterList.Add(SLP_DISDateRange.EndDate); //群分類起迄 ParameterList.Add(SLP_RootNo_S.Text); ParameterList.Add(SLP_RootNo_E.Text); //大分類起迄 ParameterList.Add(SLP_PMA_S.Text); ParameterList.Add(SLP_PMA_E.Text); //Pattern起迄 ParameterList.Add(SLP_Pattern_S.Text); ParameterList.Add(SLP_Pattern_E.Text); //品號/品名起迄 ParameterList.Add(SLP_SKU_S.Text); ParameterList.Add(SLP_SKU_E.Text); //期別起迄 ParameterList.Add(SLP_ItemPeriod_S.Text); ParameterList.Add(SLP_ItemPeriod_E.Text); //通路起迄 ParameterList.Add(SLP_StoreChain_S.Text); ParameterList.Add(SLP_StoreChain_E.Text); //門市起迄 ParameterList.Add(SLP_Store_S.Text); ParameterList.Add(SLP_Store_E.Text); //路線起迄 ParameterList.Add(SLP_Route_S.Text); ParameterList.Add(SLP_Route_E.Text); //配本序號1起迄 ParameterList.Add(DIS_NO_1_S_TxtBox.Text); ParameterList.Add(DIS_NO_1_E_TxtBox.Text); //配本序號2起迄 ParameterList.Add(DIS_NO_2_S_TxtBox.Text); ParameterList.Add(DIS_NO_2_E_TxtBox.Text); //配本序號3起迄 ParameterList.Add(DIS_NO_3_S_TxtBox.Text); ParameterList.Add(DIS_NO_3_E_TxtBox.Text); //配本序號4起迄 ParameterList.Add(DIS_NO_4_S_TxtBox.Text); ParameterList.Add(DIS_NO_4_E_TxtBox.Text); //配本序號5起迄 ParameterList.Add(DIS_NO_5_S_TxtBox.Text); ParameterList.Add(DIS_NO_5_E_TxtBox.Text); //傳入筆數 ParameterList.Add(TextBoxRowCountLimit.Text); //需要Group By的欄位 //ParameterList.Add("t.ROOT_NO,t.ROOT_Name"); ALOModelDBO.DisRecordGroupByCloumnStruct GStruct = new ALOModelDBO.DisRecordGroupByCloumnStruct(); #region 組合T-SQL 需要的UI元件 GStruct.RootNo = RootCheckbox.Checked; GStruct.PMA = PMACheckbox.Checked; GStruct.PatternNo = PatternNOCheckbox.Checked; GStruct.Item = ItemCheckbox.Checked; GStruct.Period = PeriodCheckbox.Checked; GStruct.DisType = DISTypeCheckbox.Checked; GStruct.DisDate = DISDateCheckbox.Checked; GStruct.DisNo = DISNOCheckbox.Checked; GStruct.ApproveDate = ApproveDateCheckbox.Checked; GStruct.StoreQty = StoreQtyCheckbox.Checked; GStruct.ZO = ZOCheckbox.Checked; GStruct.Route = RouteCheckbox.Checked; GStruct.TransNo = TransNoCheckbox.Checked; GStruct.AreaCode = AreaCodeCheckbox.Checked; GStruct.DO = DOCheckbox.Checked; GStruct.BusinessNo = BusinessNoCheckbox.Checked; GStruct.ChanNo = ChanNoCheckbox.Checked; GStruct.Store = StoreCheckbox.Checked; GStruct.PoSourceNo = chk_POSourceNo.Checked; #endregion ParameterList.Add(GStruct); //包含配量=0的門市 2010/01/13 ParameterList.Add(chk_DisQtyEqualZero.Checked ? "1" : "0"); #endregion DataTable Dt = BCO.QueryDisRecordReportData(ParameterList); Session[SessionIDName] = Dt; GridView1.DataSource = Dt; //設定分頁大小 GridView1.PageSize = (TextBoxPagesize.Text == "") ? 10 : (int.Parse(TextBoxPagesize.Text) < 0) ? 10 : int.Parse(TextBoxPagesize.Text); GridView1.PageIndex = 0; GridView1.DataBind(); LabelQueryRecordCount.Text = string.Format("共{0}筆", Dt.Rows.Count.ToString()); }