Exemple #1
0
    private void ClientFileToServerTemp()
    {
        #region

        try
        {
            this.ErrorMsgLabel.Text = "";

            this.up_ErrorMsg.Update();

            ClearUploadStatus();

            if (this.ErrorMsgLabel.Text != "")
                return;

            this.hid_FrmStatus.Value = "fmProcess";
            //LockPage();

            string s_UploadPath = string.Empty;
            string s_BackPath = string.Empty;
            string s_LoginUser = string.Empty;
            ArrayList arl_FileUpload_ReturnS = null;//門市檔案
            ArrayList arl_FileUpload_ReturnI = null;//商品檔案
            
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            STMModel.VDS_STM37_BCO bco = new STMModel.VDS_STM37_BCO(ConnectionDB);

            string ProID = txtPROMOTE_ID.Text;
            int proType;
            int N_CNT_M;
            int N_CNT_N;

            DataTable dt_s = bco.QueryPromoteS(ProID, out N_CNT_M, out N_CNT_N);

            if (N_CNT_M == 0)
            {
                this.ErrorMsgLabel.Text = "找不到特殊書展主檔";
                return;
            }
            else
            {
                proType = Convert.ToInt16(dt_s.Rows[0]["PROMOTE_TYPE"]);
            }

            #region 上傳檔案到AP端

            //取得要上傳的路徑
            s_UploadPath = Server.MapPath("..\\") + System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + "\\STM\\";
            s_LoginUser = Session["UID"].ToString();
            arl_FileUpload_ReturnS = bco.FileUpload(s_UploadPath, this.FileUploadS, s_LoginUser);
            arl_FileUpload_ReturnI = bco.FileUpload(s_UploadPath, this.FileUploadI, s_LoginUser);

            #endregion

            if (arl_FileUpload_ReturnS[0].ToString() == "FALSE")//檔案上傳至AP端錯誤
            {
                sb.Append("門市檔案上傳至AP端錯誤<br/>");
            }

            if (arl_FileUpload_ReturnI[0].ToString() == "FALSE")//檔案上傳至AP端錯誤
            {
                sb.Append("商品檔案上傳至AP端錯誤<br/>");
            }

            if (sb.ToString() != "")
            {
                this.ErrorMsgLabel.Text = sb.ToString();

                ClearUploadStatus();

                return;
            }
            else //檔案上傳至AP端正常
            {
                #region

                #region 讀取 Excel 資料

                // 讀取 Excel 資料(門市)
                DataSet ds_S = Load_Excel(arl_FileUpload_ReturnS[1].ToString());
                DataTable dtTemp_S = ExcelToTemp(ds_S.Tables[0], arl_FileUpload_ReturnS[4].ToString(), 1);
                
                // 讀取 Excel 資料(商品)
                DataSet ds_I = Load_Excel(arl_FileUpload_ReturnI[1].ToString());
                DataTable dtTemp_I = ExcelToTemp(ds_I.Tables[0], arl_FileUpload_ReturnI[4].ToString(), 2);

                DateTime dCreateTime = DateTime.Now;
                string strCreateTime = dCreateTime.ToString("yyyy/MM/dd HH:mm:ss");

                if (dtTemp_S.Rows.Count == 0 || dtTemp_I.Rows.Count == 0)
                {
                    this.ErrorMsgLabel.Text = "匯入檔案沒有資料";
                }

                if (this.ErrorMsgLabel.Text != "")
                {
                    up_ErrorMsg.Update();
                    return;
                }

                int N_UPLOAD_STORE = dtTemp_S.Rows.Count;
                int N_UPLOAD_ITEM = dtTemp_I.Rows.Count;

                #endregion

                #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(1, proType, ProID, dtTemp_S, null, Session["UID"].ToString(), out ErrorMsg);
                bco.FileToTmp(2, proType, ProID, dtTemp_I, null, Session["UID"].ToString(), out ErrorMsg);

                //門市
                DataTable dtResultA = bco.QueryErrorByFind(1, 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.QueryErrorByFind(2, 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.UploadStatusPanelS.UploadSum = N_UPLOAD_STORE ;
                this.UploadStatusPanelS.UploadOK = N_STORE_OK;
                this.UploadStatusPanelS.UploadNG = N_STORE_NG;

                //上傳結果(商品)
                this.UploadStatusPanelI.UploadSum = N_UPLOAD_ITEM ;
                this.UploadStatusPanelI.UploadOK = N_ITEM_OK;
                this.UploadStatusPanelI.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(), 1, out ErrorMsg);

                    dtResultA = bco.QueryErrorByFind(1, 0, Session["UID"].ToString(), dCreateTime, dCreateTime);
                    N_STORE_OK = dtResultA.Select("DATATYPE=1").Length;
                    N_STORE_NG = dtResultA.Select("DATATYPE=2").Length;

                    dtResultB = bco.QueryErrorByFind(2, 0, Session["UID"].ToString(), dCreateTime, dCreateTime);
                    N_ITEM_OK = dtResultB.Select("DATATYPE=1").Length;
                    N_ITEM_NG = dtResultB.Select("DATATYPE=2").Length;
                    //匯入結果(門市)
                    this.UploadStatusPanelS.ImportSum = N_UPLOAD_STORE ;
                    this.UploadStatusPanelS.ImportOK = N_STORE_OK;
                    this.UploadStatusPanelS.ImportNG = N_STORE_NG;
                    //匯入結果(商品)
                    this.UploadStatusPanelI.ImportSum = N_UPLOAD_ITEM ;
                    this.UploadStatusPanelI.ImportOK = N_ITEM_OK;
                    this.UploadStatusPanelI.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
    }
Exemple #2
0
    protected void btn_Temp_To_DB_Click(object sender, EventArgs e)
    {
        DateTime dCreateTime = DateTime.Now;
        string strCreateTime = dCreateTime.ToString("yyyy/MM/dd HH:mm:ss");

        STMModel.VDS_STM37_BCO bco = new STMModel.VDS_STM37_BCO(ConnectionDB);        
        DataTable dtResult1 = bco.QueryErrorByFind(0, 0, Session["UID"].ToString(), dCreateTime, dCreateTime);

        if (dtResult1.Rows.Count == 0)
        {
            this.ErrorMsgLabel.Text = "請先匯入資料";
        }
        else
        {
            string ErrorMsg;

            bco.TmpToDB(null, Session["UID"].ToString(), 0, out ErrorMsg);

            DataTable dtResult = bco.QueryErrorByFind(0, 0, Session["UID"].ToString(), dCreateTime, dCreateTime);

            int N_OK = dtResult.Select("DATATYPE=1").Length;
            int N_NG = dtResult.Select("DATATYPE=2").Length;
            //匯入結果(門市)
            this.UploadStatusPanelM.ImportSum = dtResult.Rows.Count;
            this.UploadStatusPanelM.ImportOK = N_OK;
            this.UploadStatusPanelM.ImportNG = N_NG;

            if (N_NG != 0)
            {
                this.ErrorMsgLabel.Text = "上傳失敗,請查詢異常報表";
            }
            else
            {
                this.ErrorMsgLabel.Text = "匯入成功";
            }
        }
        up_ErrorMsg.Update();

        unLockPage();
        this.hid_FrmStatus.Value = "fmBroswe";
    }