Ejemplo n.º 1
0
    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
    }
Ejemplo n.º 2
0
    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
    }
Ejemplo n.º 3
0
    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
    }