private void ClientFileToServerTemp() { #region try { this.ErrorMsgLabel.Text = ""; this.up_ErrorMsg.Update(); ClearUploadStatus(); CheckInputData(); if (this.ErrorMsgLabel.Text != "") return; this.hid_FrmStatus.Value = "fmProcess"; //LockPage(); //System.Threading.Thread.Sleep(2000); string s_UploadPath = string.Empty; string s_BackPath = string.Empty; string s_LoginUser = string.Empty; ArrayList arl_FileUpload_ReturnA = null;//門市檔案 ArrayList arl_FileUpload_ReturnB = null;//商品檔案 ArrayList arl_FileToTmp_Return = null; System.Text.StringBuilder sb = new System.Text.StringBuilder(); STMModel.VDS_STM36_BCO bco = new STMModel.VDS_STM36_BCO(ConnectionDB); #region 上傳檔案到AP端 //取得要上傳的路徑 s_UploadPath = Server.MapPath("..\\") + System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + "\\STM\\"; s_LoginUser = Session["UID"].ToString(); arl_FileUpload_ReturnA = bco.FileUpload(s_UploadPath, this.FileUpload1, s_LoginUser); arl_FileUpload_ReturnB = bco.FileUpload(s_UploadPath, this.FileUpload2, s_LoginUser); #endregion if (arl_FileUpload_ReturnA[0].ToString() == "FALSE")//檔案上傳至AP端錯誤 { sb.Append("店群/門市檔案上傳至AP端錯誤<br/>"); } if (arl_FileUpload_ReturnB[0].ToString() == "FALSE")//檔案上傳至AP端錯誤 { sb.Append("商品檔案上傳至AP端錯誤<br/>"); } if (sb.ToString() != "") { this.ErrorMsgLabel.Text = sb.ToString(); ClearUploadStatus(); return; } else //檔案上傳至AP端正常 { #region #region 讀取 txt 資料 int iSeqNo = 1; DateTime dCreateTime = DateTime.Now; string strCreateTime = dCreateTime.ToString("yyyy/MM/dd HH:mm:ss"); DataTable dtTemp = new DataTable(); dtTemp = this.MakeDT(); int N_UPLOAD_STORE = 0;//上傳門市筆數 int N_UPLOAD_ITEM = 0;//上傳商品筆數 int iImportType = 0; if (rbtType1.Checked == true) iImportType = 1; else iImportType = 2; String[] Arr_Store, Arr_Item; try { FileStream fsA = new FileStream(arl_FileUpload_ReturnA[1].ToString(), FileMode.Open, FileAccess.Read); StreamReader m_streamReaderA = new StreamReader(fsA, System.Text.Encoding.GetEncoding(950)); //使用StreamReader來讀取資料 m_streamReaderA.BaseStream.Seek(0, SeekOrigin.Begin); string strLine = m_streamReaderA.ReadLine(); while (strLine != "" && strLine != null) { if (N_UPLOAD_STORE > 0)//第一筆是欄位名稱所以不處理 { Arr_Store = strLine.Split(','); if (Arr_Store.Length != 1) { this.ErrorMsgLabel.Text = "載入的門市/店群檔案欄位數量不正確"; up_ErrorMsg.Update(); return; } DataRow drTemp = dtTemp.NewRow(); drTemp["CODE"] = iSeqNo.ToString(); drTemp["ROW_NUM"] = N_UPLOAD_STORE; drTemp["IMPORT_KIND"] = iImportType.ToString(); drTemp["STORE"] = Arr_Store[0].Trim(); drTemp["ITEM"] = ""; drTemp["PERIOD"] = ""; drTemp["PERIOD_END"] = ""; drTemp["EFF_START"] = slpEffDateRange.StartDate; drTemp["EFF_END"] = slpEffDateRange.EndDate; drTemp["PRICE_DISCOUNT"] = slpPrice_discount.Text.Trim(); drTemp["FIX_PRICE_DISCOUNT"] = slpFix_price_discount.Text.Trim(); drTemp["VENDOR_SUB"] = slpVendor_sub.Text.Trim(); drTemp["CREATEDATE"] = strCreateTime; drTemp["CREATEUID"] = Session["UID"].ToString(); drTemp["ERROR_MEMO"] = ""; drTemp["DATASOURCE"] = arl_FileUpload_ReturnA[4].ToString(); drTemp["STATUS"] = "1"; drTemp["DATATYPE"] = "1"; dtTemp.Rows.Add(drTemp); iSeqNo++; } strLine = m_streamReaderA.ReadLine(); N_UPLOAD_STORE++; } FileStream fsB = new FileStream(arl_FileUpload_ReturnB[1].ToString(), FileMode.Open, FileAccess.Read); StreamReader m_streamReaderB = new StreamReader(fsB, System.Text.Encoding.GetEncoding(950)); //使用StreamReader來讀取資料 m_streamReaderB.BaseStream.Seek(0, SeekOrigin.Begin); strLine = m_streamReaderB.ReadLine(); while (strLine != "" && strLine != null) { if (N_UPLOAD_ITEM > 0)//第一筆是欄位名稱所以不處理 { Arr_Item = strLine.Split(','); if (Arr_Item.Length != 3) { this.ErrorMsgLabel.Text = "載入的商品檔案欄位數量不正確"; up_ErrorMsg.Update(); return; } DataRow drTemp = dtTemp.NewRow(); drTemp["CODE"] = iSeqNo.ToString(); drTemp["ROW_NUM"] = N_UPLOAD_ITEM; drTemp["IMPORT_KIND"] = "3"; drTemp["STORE"] = ""; drTemp["ITEM"] = Arr_Item[0].Trim(); drTemp["PERIOD"] = Arr_Item[1].Trim(); drTemp["PERIOD_END"] = Arr_Item[2].Trim(); drTemp["EFF_START"] = slpEffDateRange.StartDate; drTemp["EFF_END"] = slpEffDateRange.EndDate; drTemp["PRICE_DISCOUNT"] = slpPrice_discount.Text.Trim(); drTemp["FIX_PRICE_DISCOUNT"] = slpFix_price_discount.Text.Trim(); drTemp["VENDOR_SUB"] = slpVendor_sub.Text.Trim(); drTemp["CREATEDATE"] = strCreateTime; drTemp["CREATEUID"] = Session["UID"].ToString(); drTemp["ERROR_MEMO"] = ""; drTemp["DATASOURCE"] = arl_FileUpload_ReturnB[4].ToString(); drTemp["STATUS"] = "1"; drTemp["DATATYPE"] = "1"; dtTemp.Rows.Add(drTemp); iSeqNo++; } strLine = m_streamReaderB.ReadLine(); N_UPLOAD_ITEM++; } } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 throw; } #endregion if (N_UPLOAD_STORE == 0) { this.ErrorMsgLabel.Text = "店群/門市檔案內沒有資料"; } if (N_UPLOAD_ITEM == 0) { if (this.ErrorMsgLabel.Text != "") this.ErrorMsgLabel.Text += "<br />"; this.ErrorMsgLabel.Text += "商品檔案內沒有資料"; } if (this.ErrorMsgLabel.Text != "") { up_ErrorMsg.Update(); return; } #region 將檔案匯入TmpTable int N_STORE_OK = 0; int N_STORE_NG = 0; int N_ITEM_OK = 0; int N_ITEM_NG = 0; string ErrorMsg = ""; bco.FileToTmp(dtTemp, null, Session["UID"].ToString(), out ErrorMsg); DataTable dtResultA = bco.QueryByFind(iImportType, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_STORE_OK = dtResultA.Select("DATATYPE=1").Length; N_STORE_NG = dtResultA.Select("DATATYPE=2").Length; DataTable dtResultB = bco.QueryByFind(3, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_ITEM_OK = dtResultB.Select("DATATYPE=1").Length; N_ITEM_NG = dtResultB.Select("DATATYPE=2").Length; ErrorMsgLabel.Text = ErrorMsg; #endregion //上傳結果(門市) this.UploadStatusPanel1.UploadSum = N_UPLOAD_STORE - 1; this.UploadStatusPanel1.UploadOK = N_STORE_OK; this.UploadStatusPanel1.UploadNG = N_STORE_NG; //上傳結果(商品) this.UploadStatusPanel2.UploadSum = N_UPLOAD_ITEM - 1; this.UploadStatusPanel2.UploadOK = N_ITEM_OK; this.UploadStatusPanel2.UploadNG = N_ITEM_NG; if ((N_STORE_OK > 0) && (N_ITEM_OK > 0) && (N_STORE_NG == 0) && (N_ITEM_NG == 0)) { bco.TmpToDB(null, Session["UID"].ToString(),TabContainer1.ActiveTabIndex, out ErrorMsg); dtResultA = bco.QueryByFind(iImportType, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_STORE_OK = dtResultA.Select("DATATYPE=1").Length; N_STORE_NG = dtResultA.Select("DATATYPE=2").Length; dtResultB = bco.QueryByFind(3, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_ITEM_OK = dtResultB.Select("DATATYPE=1").Length; N_ITEM_NG = dtResultB.Select("DATATYPE=2").Length; //匯入結果(門市) this.UploadStatusPanel1.ImportSum = N_UPLOAD_STORE - 1; this.UploadStatusPanel1.ImportOK = N_STORE_OK; this.UploadStatusPanel1.ImportNG = N_STORE_NG; //匯入結果(商品) this.UploadStatusPanel2.ImportSum = N_UPLOAD_ITEM - 1; this.UploadStatusPanel2.ImportOK = N_ITEM_OK; this.UploadStatusPanel2.ImportNG = N_ITEM_NG; } if ((N_STORE_NG != 0) || (N_ITEM_NG != 0)) { this.ErrorMsgLabel.Text = "匯入失敗,請查詢異常報表"; } else { this.ErrorMsgLabel.Text = "匯入完成"; } up_ErrorMsg.Update(); #endregion } unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } #endregion }
private void ClientFileToServerTempC() { #region try { this.ErrorMsgLabel.Text = ""; this.up_ErrorMsg.Update(); ClearUploadStatus(); if (this.ErrorMsgLabel.Text != "") return; this.hid_FrmStatus.Value = "fmProcess"; //LockPage(); //System.Threading.Thread.Sleep(2000); string s_UploadPath = string.Empty; string s_BackPath = string.Empty; string s_LoginUser = string.Empty; ArrayList arl_FileUpload_Return = null;//折扣檔案 ArrayList arl_FileToTmp_Return = null; System.Text.StringBuilder sb = new System.Text.StringBuilder(); STMModel.VDS_STM36_BCO bco = new STMModel.VDS_STM36_BCO(ConnectionDB); #region 上傳檔案到AP端 //取得要上傳的路徑 s_UploadPath = Server.MapPath("..\\") + System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + "\\STM\\"; s_LoginUser = Session["UID"].ToString(); arl_FileUpload_Return = bco.FileUploadC(s_UploadPath, this.FileUpload3, s_LoginUser); #endregion if (arl_FileUpload_Return[0].ToString() == "FALSE")//檔案上傳至AP端錯誤 { sb.Append("折扣檔案上傳至AP端錯誤<br/>"); } if (sb.ToString() != "") { this.ErrorMsgLabel.Text = sb.ToString(); ClearUploadStatus(); return; } else //檔案上傳至AP端正常 { #region // 讀取 Excel 資料 DataSet ds = Load_Excel(arl_FileUpload_Return[1].ToString()); DataTable dtTemp = ExcelToTemp(ds.Tables[0], arl_FileUpload_Return[4].ToString()); DateTime dCreateTime = DateTime.Now; string strCreateTime = dCreateTime.ToString("yyyy/MM/dd HH:mm:ss"); int iImportType = 0; if (rbtTypeA.Checked == true) iImportType = 4; else iImportType = 5; if (dtTemp.Rows.Count == 0) { this.ErrorMsgLabel.Text = "折扣檔案內沒有資料"; } if (this.ErrorMsgLabel.Text != "") { up_ErrorMsg.Update(); return; } #region 將檔案匯入TmpTable int N_OK = 0; int N_NG = 0; string ErrorMsg = ""; bco.FileToTmpC(dtTemp, null, Session["UID"].ToString(), out ErrorMsg); DataTable dtResult = bco.QueryByFind(iImportType, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_OK = dtResult.Select("DATATYPE=1").Length; N_NG = dtResult.Select("DATATYPE=2").Length; ErrorMsgLabel.Text = ErrorMsg; #endregion //上傳結果 this.UploadStatusPanel3.UploadSum = dtTemp.Rows.Count; this.UploadStatusPanel3.UploadOK = N_OK; this.UploadStatusPanel3.UploadNG = N_NG; if ((N_OK > 0) && (N_NG == 0)) { bco.TmpToDB(null, Session["UID"].ToString(),TabContainer1.ActiveTabIndex, out ErrorMsg); dtResult = bco.QueryByFind(iImportType, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_OK = dtResult.Select("DATATYPE=1").Length; N_NG = dtResult.Select("DATATYPE=2").Length; //匯入結果(門市) this.UploadStatusPanel3.ImportSum = dtResult.Rows.Count; this.UploadStatusPanel3.ImportOK = N_OK; this.UploadStatusPanel3.ImportNG = N_NG; } if (N_NG != 0) { this.ErrorMsgLabel.Text = "匯入失敗,請查詢異常報表"; } else { this.ErrorMsgLabel.Text = "匯入完成"; } up_ErrorMsg.Update(); #endregion } unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } #endregion }
private void Load_gvErrorC(string V_CREATEUID, DateTime dDate_S, DateTime dDate_E) { #region try { System.Threading.Thread.Sleep(2000); DataTable dtErrorC = new DataTable(); this.gv_ErrorData.Visible = false; this.gv_ErrorDataB.Visible = false; this.gv_ErrorDataC.Visible = false; STMModel.VDS_STM36_BCO bco = new STMModel.VDS_STM36_BCO(ConnectionDB); DataTable dtErrorALL = bco.QueryErrorByFind(V_CREATEUID, dDate_S, dDate_E); dtErrorC = GetQuerDT(dtErrorALL, "IMPORT_KIND>3"); #region 資料與GridView繫結 ErrorMsgLabel.Text = ""; string SessionIDName = "STM361C_gv_ItemInfo" + PageTimeStamp.Value; this.gv_ErrorDataC.Visible = true; Session["SessionID"] = SessionIDName; Session[SessionIDName] = dtErrorC; this.gv_ErrorDataC.DataSource = dtErrorC; if (this.TextBoxPagesize.Text == "") this.gv_ErrorDataC.PageSize = 10; else this.gv_ErrorDataC.PageSize = Convert.ToInt32(this.TextBoxPagesize.Text); this.gv_ErrorDataC.PageIndex = 0; this.gv_ErrorDataC.DataBind(); if (dtErrorC.Rows.Count == 0) { ErrorMsgLabel.Text = "查無異常資料!"; } #endregion } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 } finally { } #endregion }