/// <summary>
        /// 根據條件,產生訂單擷轉記錄
        /// </summary>
        /// <param name="ParameterList">
        /// @訂單擷轉日、@門市進貨日、@群分類、@執行者、
        /// @擷轉確認選擇清單(DataSet or List記錄:ID,PID)。
        /// </param>
        /// <returns>
        /// @處理結果(Boolean:1是0否)v_error_msg varchar2,錯誤訊息
        /// @擷轉序號 varchar2,
        /// @處理筆數 number
        ///</returns>
        public ArrayList ProcessCreateCRMOrderTransfer(ArrayList ParameterList, DataTable dt_Parameter, DbTransaction RootDBT, out string s_ErrorMsg)
        {
            bool IsRootTranscation = false;
            //string s_ErrorMsg = string.Empty;
            ArrayList arl_Return = new ArrayList();

            try
            {
                DBO.VDS_CRM_ORDER_MAINDBO VCOM = new VDS_CRM_ORDER_MAINDBO(ref USEDB);

                //判斷是否有傳入Root Transcation 
                IsRootTranscation = (RootDBT == null) ? true : false;

                #region 啟動交易或指定RootTranscation

                if (IsRootTranscation)
                {
                    //獨立呼叫啟動Transcation
                    Conn = USEDB.CreateConnection();
                    Conn.Open();
                    DBT = Conn.BeginTransaction();
                }
                else
                {
                    DBT = RootDBT;
                }

                #endregion

                #region 處理 CRM07 BUTTON[執行擷轉]鈕

                #region 檢查並更新訂單擷轉處理狀態

                s_ErrorMsg = VCOM.CHECK_PROCESS_FLAG(ParameterList, RootDBT);

                if (s_ErrorMsg != string.Empty)
                { throw new Exception(s_ErrorMsg); }

                #endregion

                #region 建立訂單擷轉暫存檔資料

                foreach (DataRow dRow in dt_Parameter.Rows)
                {
                    s_ErrorMsg = VCOM.MAINTAIN_TEMP_TABLE(dRow, DBT);

                    if (s_ErrorMsg != string.Empty)
                    { throw new Exception(s_ErrorMsg); }
                }

                #endregion

                #region 根據條件,產生訂單擷轉記錄

                arl_Return = VCOM.PROCESS_CRM_ORDER_TRANSFER(ParameterList, DBT);

                #endregion

                #endregion

                #region 交易成功

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation成立
                    DBT.Commit();
                }

                #endregion
            }
            catch (Exception ex)
            {
                #region 交易失敗

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation失敗
                    DBT.Rollback();
                }

                #endregion

                throw GetNewException(ex);
            }
            finally
            {
                #region 判斷是否關閉交易連線

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation,關閉連線
                    if (Conn.State == ConnectionState.Connecting)
                    {
                        Conn.Close();
                    }
                }

                #endregion
            }

            return arl_Return;
        }
        /// <summary>
        /// 根據條件,產生訂單擷轉記錄 2
        /// </summary>
        /// <param name="ParameterList">
        /// @訂單擷轉日、@門市進貨日、@群分類、@執行者、
        /// @擷轉確認選擇清單(DataSet or List記錄:ID,PID)。
        /// </param>
        /// <returns>
        /// @處理結果(Boolean:1是0否)v_error_msg varchar2,錯誤訊息
        /// @擷轉序號 varchar2,
        /// @處理筆數 number
        ///</returns>
        public ArrayList ProcessCreateCRMOrderTransfer2(ArrayList ParameterList, DataTable dt_Parameter, DbTransaction RootDBT, out string s_ErrorMsg)
        {
            bool IsRootTranscation = false;
            //string s_ErrorMsg = string.Empty;
            ArrayList arl_Return = new ArrayList();

            try
            {
                DBO.VDS_CRM_ORDER_MAINDBO VCOM = new VDS_CRM_ORDER_MAINDBO(ref USEDB);

                //判斷是否有傳入Root Transcation 
                IsRootTranscation = (RootDBT == null) ? true : false;

                #region 啟動交易或指定RootTranscation

                if (IsRootTranscation)
                {
                    //獨立呼叫啟動Transcation
                    Conn = USEDB.CreateConnection();
                    Conn.Open();
                    DBT = Conn.BeginTransaction();
                }
                else
                {
                    DBT = RootDBT;
                }

                #endregion

                #region 處理 CRM07 BUTTON[執行擷轉]鈕

                #region 檢查並更新訂單擷轉處理狀態

                s_ErrorMsg = VCOM.CHECK_PROCESS_FLAG(ParameterList, RootDBT);

                if (s_ErrorMsg != string.Empty)
                { throw new Exception(s_ErrorMsg); }

                #endregion

                #region 建立訂單擷轉暫存檔資料

                //2010/02/08 New Version
                //---------------------------------------------
                int ICount = 0;
                string strErrMsg = "", s_Id = "",
                  strTransDate = "", strStAcceptDate = "", strRootNo = "", strUserId = "", strSessionId = "";
                ParameterList.Clear();

                foreach (DataRow dRow in dt_Parameter.Rows)
                {
                    ICount++;
                    s_Id = dRow["ID"].ToString() + ',';
                    strTransDate=dRow["TRANS_DATE"].ToString();
                    strStAcceptDate = dRow["ST_ACCEPT_DATE"].ToString();
                    strRootNo = dRow["ROOT_NO"].ToString();
                    strUserId = dRow["USER_ID"].ToString();
                    strSessionId = dRow["SESSION_ID"].ToString();

                    if (ICount != 0 && ICount % 500 == 0)
                    {
                        s_Id = s_Id.Substring(0, s_Id.Length - 1);

                        ParameterList.Add(strTransDate);//pic_trans_date
                        ParameterList.Add(strStAcceptDate);//pic_st_accept_date
                        ParameterList.Add(strRootNo);//pic_root_no
                        ParameterList.Add(strUserId);//pic_user_id
                        ParameterList.Add(s_Id);//pin_id_arr
                        ParameterList.Add(strSessionId);//pic_session_id
                        strErrMsg += VCOM.MAINTAIN_TEMP_TABLE2(ParameterList, null);
                        ParameterList.Clear();
                        s_Id = "";
                    }
                }

                // 最後一筆或不為500之倍數時,在此執行
                if (ICount != 0 && ICount % 500 != 0)
                {
                    s_Id = s_Id.Substring(0, s_Id.Length - 1);

                    ParameterList.Clear();
                    ParameterList.Add(strTransDate);//pic_trans_date
                    ParameterList.Add(strStAcceptDate);//pic_st_accept_date
                    ParameterList.Add(strRootNo);//pic_root_no
                    ParameterList.Add(strUserId);//pic_user_id
                    ParameterList.Add(s_Id);//pin_id_arr
                    ParameterList.Add(strSessionId);//pic_session_id
                    strErrMsg += VCOM.MAINTAIN_TEMP_TABLE2(ParameterList, null);
                }
                //---------------------------------------------


                #endregion

                #region 根據條件,產生訂單擷轉記錄

                arl_Return = VCOM.PROCESS_CRM_ORDER_TRANSFER(ParameterList, DBT);

                #endregion

                #endregion

                #region 交易成功

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation成立
                    DBT.Commit();
                }

                #endregion
            }
            catch (Exception ex)
            {
                #region 交易失敗

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation失敗
                    DBT.Rollback();
                }

                #endregion

                throw GetNewException(ex);
            }
            finally
            {
                #region 判斷是否關閉交易連線

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation,關閉連線
                    if (Conn.State == ConnectionState.Connecting)
                    {
                        Conn.Close();
                    }
                }

                #endregion
            }

            return arl_Return;
        }