Example #1
0
    /// <summary>
    /// UP BUTTON 查詢鈕

    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void but_up_Query_Click(object sender, EventArgs e)
    {
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        try
        {
            if (this.hid_PageStatus.Value == "QUERY" ||
                sender.ToString() == "ToolBar_RecFirst" ||
                sender.ToString() == "ToolBar_RecLast" ||
                sender.ToString() == "ToolBar_RecNext" ||
                sender.ToString() == "ToolBar_RecPre" ||
                sender.ToString() == "CRM051_TO_CRM041")
            {
                #region 前置檢查與參數過濾


                if (this.hid_PageStatus.Value == "QUERY")
                {
                    sb.Remove(0, sb.Length);
                    if (this.slp_up_CHAN_NO.Text.Trim() == string.Empty &&
                        this.slp_up_STORE.Text.Trim() == string.Empty &&
                        this.slp_up_BUSDATE.Text.Trim() == string.Empty &&
                        this.slp_up_BUSUID.Text.Trim() == string.Empty &&
                        this.txt_up_CODE.Text.Trim() == string.Empty &&
                        this.txt_up_CRM_NO.Text.Trim() == string.Empty)
                    {
                        sb.Append("[通路]、[門市]、[訂單日期]、[訂單維護者]、[訂單編號]、[流水編號],六個欄位不可皆為空白,至少需輸入一項作為查詢條件。");
                        ScriptManager.RegisterStartupScript(this.up_Up_Button, typeof(UpdatePanel), "CRM041", "alert('" + sb.ToString() + "');", true);
                        return;
                    }
                }

                #endregion

                #region 處理查詢

                ArrayList ParameterList = new ArrayList();//20091117


                if (this.hid_PageStatus.Value == "QUERY" || sender.ToString() == "CRM051_TO_CRM041")
                {
                    #region 清空靜態變數

                    dtChainPOSetting = null;//異動欄位[門市] --由CRM05 連結 CRM04 =>查詢Query時先清空

                    dtStock = null;//異動欄位[期別]
                    s_PMA = string.Empty;//大分類(異動欄位[品號/品名])
                    s_ROOT_NO = string.Empty;//群分類(異動欄位[品號/品名])
                    s_SRC_LOCATE_TYPE = string.Empty;//建議儲區類別(異動欄位[訂貨量])

                    dt_Detail = null;
                    //Session["CRM041_dt_Detail" + PageTimeStamp.Value] = null;
                    dt_Master = null;
                    dt_Detail_Original = null;

                    #endregion

                    DataSet ds_Return = new DataSet();

                    #region 取得查詢資料
                    if (this.hid_PageStatus.Value == "QUERY")
                    {
                        ParameterList.Clear();
                        ParameterList.Add(GetValueSetParameter(this.slp_up_CHAN_NO.Text.Trim(), "string"));//通路
                        ParameterList.Add(GetValueSetParameter(this.slp_up_STORE.Text.Trim(), "string"));//門市

                        ParameterList.Add(GetValueSetParameter(this.slp_up_Z_O.Text.Trim(), "string"));//營業所
                        ParameterList.Add(GetValueSetParameter(this.slp_up_BUSDATE.Text.Trim(), "date"));//訂單日期
                        ParameterList.Add(GetValueSetParameter(this.slp_up_SALE_ID.Text.Trim(), "string"));//營業人員
                        ParameterList.Add(GetValueSetParameter(this.slp_up_BUSUID.Text.Trim(), "string"));//訂單維護者

                        ParameterList.Add(GetValueSetParameter(this.drop_up_ORDER_TYPE.Text, "int"));//訂單來源
                        ParameterList.Add(GetValueSetParameter(this.txt_up_PO_SOURCE_NO.Text.Trim(), "string"));//PO單號預設
                        ParameterList.Add(GetValueSetParameter(this.txt_up_CODE.Text.Trim(), "string"));//訂單編號
                        ParameterList.Add(GetValueSetParameter(this.txt_up_CRM_NO.Text.Trim(), "string"));//流水編號
                        ParameterList.Add(Session["UID"].ToString());

                        BCO.RecordCRMOrder bco = new BCO.RecordCRMOrder(ConntionDB);
                        ds_Return = bco.QueryCRMOrderByFind(ParameterList);
                    }
                    else if (sender.ToString() == "CRM051_TO_CRM041")
                    {
                        string s_CRM_REQUEST_NO = Request["CRM041_CRM_REQUEST_NO"].ToString();
                        ParameterList.Clear();
                        ParameterList.Add(s_CRM_REQUEST_NO);
                        ParameterList.Add(Session["UID"].ToString());

                        BCO.RecordCRMOrder bco = new BCO.RecordCRMOrder(ConntionDB);
                        ds_Return = bco.QueryCRMOrderBy_CRM_REQUEST_NO(ParameterList);
                    }
                    #endregion

                    #region 記錄查詢結果到頁面變數與Session
                    if (ds_Return.Tables["VDS_CRM_ORDER_MAIN"].Rows.Count == 0 ||
                        ds_Return.Tables["VDS_CRM_ORDER_DETL"].Rows.Count == 0)
                    {
                        ScriptManager.RegisterStartupScript(this.up_Up_Button, typeof(UpdatePanel), "CRM041", "alert('查無訂單資料');", true);
                        return;
                    }
                    else
                    {
                        dt_Master = ds_Return.Tables["VDS_CRM_ORDER_MAIN"].Copy();
                        dt_Detail = ds_Return.Tables["VDS_CRM_ORDER_DETL"].Copy();
                        //Session["CRM041_dt_Detail" + PageTimeStamp.Value] = dt_Detail;
                        dt_Detail_Original = ds_Return.Tables["VDS_CRM_ORDER_DETL"].Copy();
                    }
                    #endregion
                    ds_Return.Dispose();
                }
                else
                {
                    DataSet ds_Return = new DataSet();
                    #region 取得查詢資料
                    ParameterList.Clear();
                    ParameterList.Add(this.txt_up_CODE.Text);
                    ParameterList.Add(Session["UID"].ToString());

                    BCO.RecordCRMOrder bco = new BCO.RecordCRMOrder(ConntionDB);
                    if (sender.ToString() == "ToolBar_RecFirst")
                    { ds_Return = bco.QueryFirstCRMOrder(ParameterList); }
                    else if (sender.ToString() == "ToolBar_RecLast")
                    { ds_Return = bco.QueryLastCRMOrder(ParameterList); }
                    else if (sender.ToString() == "ToolBar_RecNext")
                    { ds_Return = bco.QueryNextCRMOrder(ParameterList); }
                    else if (sender.ToString() == "ToolBar_RecPre")
                    { ds_Return = bco.QueryPriorCRMOrder(ParameterList); }

                    if (ds_Return == null)
                    {
                        SetPageStatus();
                        if (sender.ToString() == "ToolBar_RecNext")
                        { ScriptManager.RegisterStartupScript(this.up_ToolBar, typeof(UpdatePanel), "CRM041", "alert('無下一筆資料');", true); }
                        else if (sender.ToString() == "ToolBar_RecPre")
                        { ScriptManager.RegisterStartupScript(this.up_ToolBar, typeof(UpdatePanel), "CRM041", "alert('無前一筆資料');", true); }
                        return;
                    }
                    else
                    {
                        #region 清空靜態變數

                        dtChainPOSetting = null;//異動欄位[門市] --查詢清空2

                        dtStock = null;//異動欄位[期別]
                        s_PMA = string.Empty;//大分類(異動欄位[品號/品名])
                        s_ROOT_NO = string.Empty;//群分類(異動欄位[品號/品名])
                        s_SRC_LOCATE_TYPE = string.Empty;//建議儲區類別(異動欄位[訂貨量])

                        dt_Detail = null;
                        //Session["CRM041_dt_Detail" + PageTimeStamp.Value] = null;
                        dt_Master = null;
                        dt_Detail_Original = null;

                        #endregion

                        dt_Master = ds_Return.Tables["VDS_CRM_ORDER_MAIN"].Copy();
                        dt_Detail = ds_Return.Tables["VDS_CRM_ORDER_DETL"].Copy();
                        //Session["CRM041_dt_Detail" + PageTimeStamp.Value] = dt_Detail;
                        dt_Detail_Original = ds_Return.Tables["VDS_CRM_ORDER_DETL"].Copy();
                    }
                    #endregion
                    ds_Return.Dispose();
                }

                #endregion

                #region 切換到檢視模式


                this.hid_PageStatus.Value = "VIEW";
                this.txt_PageStatus.Text = "VIEW";
                SetPageStatus();

                #endregion

                #region 設定頁面控制項

                #region MAIN

                this.slp_up_CHAN_NO.Text = dt_Master.Rows[0]["CHAN_NO"].ToString();//通路
                this.slp_up_STORE.Text = dt_Master.Rows[0]["STORE"].ToString();//門市

                this.slp_up_Z_O.Text = dt_Master.Rows[0]["Z_O"].ToString();//營業所
                this.slp_up_BUSDATE.Text = dt_Master.Rows[0]["BUSDATE"].ToString();//訂單日期
                this.slp_up_SALE_ID.Text = dt_Master.Rows[0]["SAL_ID"].ToString();//營業人員
                this.slp_up_BUSUID.Text = dt_Master.Rows[0]["BUSUID"].ToString();//訂單維護者

                this.drop_up_ORDER_TYPE.Text = dt_Master.Rows[0]["ORDER_TYPE"].ToString();//訂單來源
                this.txt_up_PO_SOURCE_NO.Text = dt_Master.Rows[0]["PO_SOURCE_NO"].ToString();//PO單號預設
                this.txt_up_CODE.Text = dt_Master.Rows[0]["CODE"].ToString();//訂單編號
                this.txt_up_CRM_NO.Text = dt_Master.Rows[0]["CRM_NO"].ToString();//流水編號

                #endregion

                #region DETL

                this.gv_Detail.DataSource = dt_Detail;
                this.gv_Detail.PageSize = 10;
                this.gv_Detail.PageIndex = 0;
                this.gv_Detail.DataBind();
                Panel1.Height = gv_Detail.Rows.Count * 45 + 60;

                #endregion

                #endregion

                #region 設定各欄位模式ReadOnly

                this.slp_up_CHAN_NO.ReadOnly = true;
                this.slp_up_STORE.ReadOnly = true;
                this.slp_up_Z_O.ReadOnly = true;
                this.slp_up_BUSDATE.ReadOnly = true;
                this.slp_up_SALE_ID.ReadOnly = true;
                this.slp_up_BUSUID.ReadOnly = true;
                this.drop_up_ORDER_TYPE.ReadOnly = true;
                this.txt_up_PO_SOURCE_NO.ReadOnly = true;
                this.txt_up_PO_SOURCE_NO.CssClass = "readtxtbox";
                this.txt_up_CODE.ReadOnly = true;
                this.txt_up_CODE.CssClass = "readtxtbox";
                this.txt_up_CRM_NO.ReadOnly = true;
                this.txt_up_CRM_NO.CssClass = "readtxtbox";

                #endregion

            }
        }
        catch (Exception ex)
        {
            WaringLogProcess(ex.Message);
            this.ErrorMsgLabel.Text = ex.Message;
        }
        finally { AuthorityControls(this); }
    }