Ejemplo n.º 1
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition()
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region SLP轉型

        TextBox txt_INV_DATE = (TextBox)this.slp_INV_DATE.FindControl("TextBoxCode");//[折讓日期]起
        TextBox txt_ROUTE_B = (TextBox)this.slp_ROUTE_B.FindControl("TextBoxCode");//[折讓日期]起
        TextBox txt_ROUTE_E = (TextBox)this.slp_ROUTE_E.FindControl("TextBoxCode");//[折讓日期]起

        #endregion

        #region 檢查必填欄位

        arl_Return = CAAComm.Check_MustFillin_Column(this.slp_INV_DATE.Text, "text", "欄位[發票日期]為必填欄位", "1", txt_INV_DATE.ClientID, arl_Return);

        #endregion

        #region 檢查SLP日期格式

        arl_Return = CAAComm.Check_Format_Date(this.slp_INV_DATE.Text, "欄位[發票日期]日期格式錯誤", "1", txt_INV_DATE.ClientID, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 自訂檢查

        #region 欄位[路線]

        if (this.slp_ROUTE_B.Text != string.Empty ||
            this.slp_ROUTE_E.Text != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (this.slp_ROUTE_B.Text,
                this.slp_ROUTE_E.Text,
                "路線",
                "1",
                txt_ROUTE_B.ClientID,
                txt_ROUTE_E.ClientID,
                arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (this.slp_ROUTE_B.Text,
                this.slp_ROUTE_E.Text,
                "string",
                "欄位[路線]結束欄位一定要大於或等於開始欄位",
                "1",
                txt_ROUTE_E.ClientID,
                arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[發票號碼]和[路線]只能擇一輸入

        if (this.txt_INV_NO.Text.Trim() != string.Empty &&
            this.slp_ROUTE_B.Text.Trim() != string.Empty)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼]和[路線]只能擇一輸入!", "1", string.Empty); }

        #endregion

        #region 欄位[發票對帳單送達]選擇[到店]時,欄位[路線]為必填欄位

        if (this.slp_INVOICE_SEND.Text == "1")//到店
        { arl_Return = CAAComm.Check_MustFillin_Column(this.slp_ROUTE_B.Text, "text", "欄位[發票對帳單送達]選擇[到店]時,欄位[路線]為必填欄位", "1", this.slp_ROUTE_B.TextBox_Code.ClientID, arl_Return); }

        #endregion

        #endregion

        return arl_Return;
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region SLP轉型

        TextBox txt_CHG_DISC_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CHG_DISC_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[異動折讓日期]起
        TextBox txt_CHG_DISC_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CHG_DISC_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[異動折讓日期]迄

        #endregion

        #region BUTTON [查詢]鈕

        if (s_Type == "BUTTON [查詢]鈕")
        {
            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_PERIOD_MONTH_B.Text, "欄位[申報起迄年月]開始欄位年月格式錯誤", "1", this.slp_PERIOD_MONTH_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_PERIOD_MONTH_E.Text, "欄位[申報起迄年月]結束欄位年月格式錯誤", "1", this.slp_PERIOD_MONTH_E.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.StartDate, "欄位[異動折讓日期]開始欄位日期格式錯誤", "1", txt_CHG_DISC_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.EndDate, "欄位[異動折讓日期]結束欄位日期格式錯誤", "1", txt_CHG_DISC_DATE_E.ClientID, arl_Return);

            #endregion

            #region 檢查List欄位的選擇狀態

            if (this.rad_CHECK_FLG.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[勾選狀態]請選擇一選項", "1", string.Empty); }

            if (this.rad_PERIOD_FLG.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[申報狀態]請選擇一選項", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位[發票年月]

            if (this.slp_PERIOD_MONTH_B.Text != string.Empty ||
                this.slp_PERIOD_MONTH_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_PERIOD_MONTH_B.Text,
                    this.slp_PERIOD_MONTH_E.Text,
                    "申報起迄年月",
                    "1",
                    this.slp_PERIOD_MONTH_B.TextBoxCode_Object.ClientID,
                    this.slp_PERIOD_MONTH_E.TextBoxCode_Object.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_PERIOD_MONTH_B.Text,
                    this.slp_PERIOD_MONTH_E.Text,
                    "string",
                    "欄位[申報起迄年月]結束欄位一定要大於或等於開始欄位",
                    "1",
                    this.slp_PERIOD_MONTH_E.TextBoxCode_Object.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[異動折讓日期]

            if (this.slp_CHG_DISC_DATE.StartDate != string.Empty ||
                this.slp_CHG_DISC_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_CHG_DISC_DATE.StartDate,
                    this.slp_CHG_DISC_DATE.EndDate,
                    "異動折讓日期",
                    "1",
                    txt_CHG_DISC_DATE_B.ClientID,
                    txt_CHG_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_CHG_DISC_DATE.StartDate,
                    this.slp_CHG_DISC_DATE.EndDate,
                    "date",
                    "欄位[異動折讓日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_CHG_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion
        }

        #endregion

        #region 將GridView的資訊寫入TempTable

        else if (s_Type == "將GridView的資訊寫入TempTable")
        {
            #region 檢查SLP年月格式 & [申報期別]

            #region 取出最小期別

            string s_Min_PERIOD_MONTH = Cet_Min_PERIOD_MONTH();

            #endregion

            foreach (GridViewRow gvRow in this.gv_Result.Rows)
            {
                #region 轉型

                CheckBox chb_CHECK_FLG = (CheckBox)gvRow.FindControl("chb_Item_CHECK_FLG");
                CheckBox chb_PERIOD_FLG = (CheckBox)gvRow.FindControl("chb_Item_PERIOD_FLG");
                ASP.sys_slp_slp_yearmonth_ascx slp_Item_PERIOD_MONTH = (ASP.sys_slp_slp_yearmonth_ascx)gvRow.Cells[14].Controls[1];
                HiddenField hid_SIGN_IS_DISABLED = (HiddenField)gvRow.FindControl("hid_SIGN_IS_DISABLED");

                #endregion

                bool b_IsRightFormat = false;

                #region 檢查[申報期別]是否有值

                if (chb_CHECK_FLG.Checked == true &&
                    chb_PERIOD_FLG.Checked == true &&
                    slp_Item_PERIOD_MONTH.Text.Trim() == string.Empty)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "折讓單號:" + gvRow.Cells[3].Text + "的[申報期別]不可為空值", "1", slp_Item_PERIOD_MONTH.TextBoxCode_Object.ClientID); }

                #endregion

                #region 檢查SLP年月格式

                arl_Return = CAAComm.Check_Format_YearMonth(slp_Item_PERIOD_MONTH.Text, "折讓單號:" + gvRow.Cells[3].Text + "的[申報期別]欄位年月格式錯誤", "1", slp_Item_PERIOD_MONTH.TextBoxCode_Object.ClientID, arl_Return, out b_IsRightFormat);

                #endregion

                #region 檢查[申報期別]

                if (b_IsRightFormat == true && //代表[申報期別]年月格式正確 or [申報期別]為空值
                    slp_Item_PERIOD_MONTH.Text.Trim() != string.Empty &&
                    hid_SIGN_IS_DISABLED.Value == "0")//hid_SIGN_IS_DISABLED=0,代表是從資料庫查詢出來時,[勾選][申報]不是兩個都有勾選
                {
                    if (s_Min_PERIOD_MONTH.CompareTo(slp_Item_PERIOD_MONTH.Text.Trim()) > 0)
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "折讓單號:" + gvRow.Cells[3].Text + "的[申報期別]不可小於" + s_Min_PERIOD_MONTH, "1", slp_Item_PERIOD_MONTH.TextBoxCode_Object.ClientID); }

                    if (int.Parse(slp_Item_PERIOD_MONTH.Text) % 2 > 0)
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "折讓單號:" + gvRow.Cells[3].Text + "的[申報期別]必須為偶數月", "1", slp_Item_PERIOD_MONTH.TextBoxCode_Object.ClientID); }
                }

                #endregion
            }

            #endregion
        }

        #endregion

        #region 將GridView的資訊寫入TempTable

        else if (s_Type == "批次更新申報期別")
        {
            #region 檢查SLP年月格式 & [申報期別]

            #region 取出最小期別

            string s_Min_PERIOD_MONTH = Cet_Min_PERIOD_MONTH();

            #endregion


            bool b_IsRightFormat = false;

            #region 檢查[申報期別]是否有值

            if (slp_PERIOD_MONTH_BATCH.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[自動代入申報期別]不可為空值", "1", slp_PERIOD_MONTH_BATCH.TextBoxCode_Object.ClientID); }

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(slp_PERIOD_MONTH_BATCH.Text, "[自動代入申報期別]欄位年月格式錯誤", "1", slp_PERIOD_MONTH_BATCH.TextBoxCode_Object.ClientID, arl_Return, out b_IsRightFormat);

            #endregion

            #region 檢查[申報期別]

            if (b_IsRightFormat == true && //代表[申報期別]年月格式正確 or [申報期別]為空值
                slp_PERIOD_MONTH_BATCH.Text.Trim() != string.Empty)
            {
                if (s_Min_PERIOD_MONTH.CompareTo(slp_PERIOD_MONTH_BATCH.Text.Trim()) > 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[自動代入申報期別]不可小於" + s_Min_PERIOD_MONTH, "1", slp_PERIOD_MONTH_BATCH.TextBoxCode_Object.ClientID); }

                if (int.Parse(slp_PERIOD_MONTH_BATCH.Text) % 2 > 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[自動代入申報期別]必須為偶數月", "1", slp_PERIOD_MONTH_BATCH.TextBoxCode_Object.ClientID); }
            }

            #endregion

            #endregion
        }
    
        #endregion

        return arl_Return;
    }
Ejemplo n.º 3
0
    private ArrayList Check_Condition()
    {
        #region 宣告

        CAAModel.CAACommon CAAComm = new CAAModel.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查必填欄位

        arl_Return = CAAComm.Check_MustFillin_Column(this.slp_YearMonth.Text, "text", "欄位[所屬年月]為必填欄位", "1", this.slp_YearMonth.TextBoxCode_Object.ClientID, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(this.txt_INVOICE_TRACK.Text, "text", "欄位[字軌]為必填欄位", "1", this.txt_INVOICE_TRACK.ClientID, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_STAR_NO.Text, "text", "欄位[起始號碼]為必填欄位", "1", this.SLP_STAR_NO.TextBox_Code.ClientID, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_END_NO.Text, "text", "欄位[迄止號碼]為必填欄位", "1", this.SLP_END_NO.TextBox_Code.ClientID, arl_Return);

        #endregion

        #region 檢查SLP年月格式

        arl_Return = CAAComm.Check_Format_YearMonth(this.slp_YearMonth.Text, "欄位[所屬年月]開始欄位格式錯誤", "1", slp_YearMonth.TextBoxCode_Object.ClientID, arl_Return);

        #endregion

        #region 檢查SLP數字格式

        arl_Return = CAAComm.Check_Format_Int(this.SLP_STAR_NO.Text, "欄位[起始號碼]數字格式錯誤", "32", "1", this.SLP_STAR_NO.TextBox_Code.ClientID, arl_Return);
        arl_Return = CAAComm.Check_Format_Int(this.SLP_END_NO.Text, "欄位[迄止號碼]數字格式錯誤", "32", "1", this.SLP_END_NO.TextBox_Code.ClientID, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查發票字軌格式

        System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]{2}$");
        bool b_reg1 = reg1.IsMatch(this.txt_INVOICE_TRACK.Text);

        if (b_reg1 == false)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票字軌]格式有誤", "1", this.txt_INVOICE_TRACK.ClientID); }

        #endregion

        #region 檢查欄位[起始號碼]必須為8碼數目字

        System.Text.RegularExpressions.Regex reg2 = new System.Text.RegularExpressions.Regex(@"^[0-9]{8}$");
        bool b_reg2 = reg2.IsMatch(this.SLP_STAR_NO.Text);

        if (b_reg2 == false)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[起始號碼]必須為8碼數目字", "1", this.SLP_STAR_NO.TextBox_Code.ClientID); }

        #endregion

        #region 檢查欄位[迄止號碼]必須為8碼數目字

        System.Text.RegularExpressions.Regex reg3 = new System.Text.RegularExpressions.Regex(@"^[0-9]{8}$");
        bool b_reg3 = reg3.IsMatch(this.SLP_END_NO.Text);

        if (b_reg3 == false)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[迄止號碼]必須為8碼數目字", "1", this.SLP_END_NO.TextBox_Code.ClientID); }

        #endregion

        #region 檢查欄位[迄止號碼]一定要大於於欄位[起始號碼]

        if (int.Parse(this.SLP_STAR_NO.Text.Trim()) >= int.Parse(this.SLP_END_NO.Text.Trim()))
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[迄止號碼]一定要大於於欄位[起始號碼]", "1", this.SLP_END_NO.TextBox_Code.ClientID); }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        CAAModel.CAACommon CAAComm = new CAAModel.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region BUTTON [儲存]鈕,編輯狀態

        if (s_Type == "BUTTON [儲存]鈕,編輯狀態")
        {
            #region 檢查日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_SAL_DATE.Text, "欄位[營業日期]日期格式錯誤", "1", this.slp_SAL_DATE.DateTextBox.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.txt_COLL_DATE.Text, "欄位[交易日期]日期格式錯誤", "1", this.txt_COLL_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.txt_COLL_TIME.Text, "欄位[交易時間]時間格式錯誤", "1", this.txt_COLL_TIME.ClientID, arl_Return);

            #endregion

            #region 檢查數字格式

            arl_Return = CAAComm.Check_Format_Int(this.txt_COLL_SEQNO.Text, "欄位[交易序號]數字格式錯誤", "64", "1", this.txt_COLL_SEQNO.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.txt_PAY_CHKNO.Text, "欄位[繳款識別碼]數字格式錯誤", "32", "1", this.txt_PAY_CHKNO.ClientID, arl_Return);

            #endregion

            #region 檢查欄位的Byte長度

            if (CAAComm.Get_Byte_Length(this.txt_COLL_SEQNO.Text) > 10)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[交易序號]長度不可大於 10 Byte", "1", this.txt_COLL_SEQNO.ClientID); }

            if (CAAComm.Get_Byte_Length(this.txt_PAY_CHKNO.Text) > 9)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[繳款識別碼]長度不可大於 9 Byte", "1", this.txt_PAY_CHKNO.ClientID); }

            if (CAAComm.Get_Byte_Length(this.txt_MEMO.Text) > 200)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[原因說明]長度不可大於 200 Byte", "1", this.txt_MEMO.ClientID); }
            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_CHARGE.Text, "text", "欄位[手續費]為必填欄位", "1", this.slp_CHARGE.TextBox_Code.ClientID, arl_Return);

            #endregion
        }

        #endregion

        #region BUTTON [編輯]鈕,檢視狀態

        else if (s_Type == "BUTTON [編輯]鈕,檢視狀態")
        {

        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 5
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region SLP轉型

        #region 銷或折讓維護區

        TextBox txt_STORE_ID = (TextBox)this.slp_STORE_ID.FindControl("TextBoxCode");//店號
        TextBox txt_ROOT_NO = (TextBox)this.slp_ROOT_NO.FindControl("TextBoxCode");//商品群分類
        TextBox txt_DISC_DATE = (TextBox)this.slp_DISC_DATE.FindControl("TextBoxCode");//折讓日期
        TextBox txt_CHG_DISC_DATE = (TextBox)this.slp_CHG_DISC_DATE.FindControl("TextBoxCode");//異動折讓日期
        TextBox txt_PROOF_DATE = (TextBox)this.slp_PROOF_DATE.FindControl("TextBoxCode");//憑證已回日期
        TextBox txt_CANCEL_DATE = (TextBox)this.slp_CANCEL_DATE.FindControl("TextBoxCode");//作廢日期
        TextBox txt_PERIOD_DATE = (TextBox)this.slp_PERIOD_DATE.FindControl("TextBoxCode");//申報日期
        TextBox txt_TEMPORAL_DATE = (TextBox)this.slp_TEMPORAL_DATE.FindControl("TextBoxCode");//暫收日期
        TextBox txt_DISC_UAMT = (TextBox)this.slp_DISC_UAMT.FindControl("TextBoxCode");//折讓金額(未稅)
        TextBox txt_DISC_TAX = (TextBox)this.slp_DISC_TAX.FindControl("TextBoxCode");//折讓稅額
        TextBox txt_DISC_AMT = (TextBox)this.slp_DISC_AMT.FindControl("TextBoxCode");//總金額
        TextBox txt_CLOSE_MONTH = (TextBox)((ASP.wui_slp_slp_numberupdown_ascx)this.slp_CLOSE_MONTH.FindControl("SLP_NumberUpDown1")).FindControl("TextBoxCode");//結帳年月

        DropDownList drop_DISC_SOURCE = (DropDownList)this.slp_DISC_SOURCE.FindControl("D1");//來源
        DropDownList drop_DISC_TYPE = (DropDownList)this.slp_DISC_TYPE.FindControl("D1");//型式
        DropDownList drop_TAX_TYPE = (DropDownList)this.slp_TAX_TYPE.FindControl("D1");//稅別

        #endregion

        #region 折讓項目區

        TextBox txt_Disc_INV_DATE = (TextBox)this.slp_Disc_INV_DATE.FindControl("TextBoxCode");//發票日期
        TextBox txt_Disc_DISC_UAMT = (TextBox)this.slp_Disc_DISC_UAMT.FindControl("TextBoxCode");//折讓金額(未稅)
        TextBox txt_Disc_DISC_TAX = (TextBox)this.slp_Disc_DISC_TAX.FindControl("TextBoxCode");//折讓稅額
        TextBox txt_Disc_NON_INV_UAMT = (TextBox)this.slp_Disc_NON_INV_UAMT.FindControl("TextBoxCode");//發票餘額(未稅)
        TextBox txt_Disc_NON_INV_TAX = (TextBox)this.slp_Disc_NON_INV_TAX.FindControl("TextBoxCode");//發票稅額

        #endregion

        #endregion

        #region BUTTON [儲存]鈕

        #region 新增狀態

        if (s_Type == "BUTTON [儲存]鈕,新增狀態")
        {
            #region 檢查欄位的Byte長度

            if (CAAComm.Get_Byte_Length(this.txt_ACT_DISC_NO.Text) > 13)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[財會折讓單號]長度不可大於 13 Byte", "1", this.txt_ACT_DISC_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_REPROOF_NO.Text) > 12)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]長度不可大於 12 Byte", "1", this.txt_REPROOF_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_RFNO.Text) > 10)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[統一編號]長度不可大於 10 Byte", "1", this.txt_RFNO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_MEMO.Text) > 200)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[備註]長度不可大於 200 Byte", "1", this.txt_MEMO.ClientID); }

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_DISC_DATE.Text, "欄位[折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.Text, "欄位[異動折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PROOF_DATE.Text, "欄位[憑證已回日期]日期格式錯誤", "1", txt_PROOF_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CANCEL_DATE.Text, "欄位[作廢日期]日期格式錯誤", "1", txt_CANCEL_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PERIOD_DATE.Text, "欄位[申報日期]日期格式錯誤", "1", txt_PERIOD_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMPORAL_DATE.Text, "欄位[暫收日期]日期格式錯誤", "1", txt_TEMPORAL_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_UAMT.Text, "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", txt_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_TAX.Text, "欄位[折讓稅額]數字格式錯誤", "32", "1", txt_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(Request[txt_DISC_AMT.UniqueID].ToString(), "欄位[總金額]數字格式錯誤", "32", "1", txt_DISC_AMT.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", txt_CLOSE_MONTH.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_ACCT.Text, "欄位[結帳年月-財會]年月格式錯誤", "1", this.slp_CLOSE_MONTH_ACCT.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(drop_DISC_SOURCE.SelectedIndex.ToString(), "drop", "欄位[來源]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", txt_STORE_ID.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(drop_DISC_TYPE.SelectedIndex.ToString(), "drop", "欄位[型式]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(drop_TAX_TYPE.SelectedIndex.ToString(), "drop", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", txt_ROOT_NO.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_CLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", txt_CLOSE_MONTH.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_DISC_UAMT.Text, "text", "欄位[折讓金額(未稅)]為必填欄位", "1", txt_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_DISC_TAX.Text, "text", "欄位[折讓稅額]為必填欄位", "1", txt_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(Request[txt_DISC_AMT.UniqueID].ToString(), "text", "欄位[總金額]為必填欄位", "1", txt_DISC_AMT.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查欄位[折讓金額(未稅)][折讓稅額][總金額]

            int i_DISC_UAMT = int.Parse(this.slp_DISC_UAMT.Text);//折讓金額(未稅)
            int i_DISC_TAX = int.Parse(this.slp_DISC_TAX.Text);//折讓稅額
            int i_DISC_AMT = int.Parse(Request[txt_DISC_AMT.UniqueID].ToString());//總金額

            if (i_DISC_UAMT < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]不可小於0", "1", txt_DISC_UAMT.ClientID); }
            if (i_DISC_TAX < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓稅額]不可小於0", "1", txt_DISC_TAX.ClientID); }
            if (i_DISC_AMT <= 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[總金額]不可小於或等於0", "1", txt_DISC_AMT.ClientID); }
            if (i_DISC_UAMT == 0 && i_DISC_TAX != 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]為0時,欄位[折讓稅額]也必須為0", "1", txt_DISC_TAX.ClientID); }
            if (i_DISC_UAMT + i_DISC_TAX != i_DISC_AMT)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]加上欄位[折讓稅額]必須等於欄位[總金額]", "1", txt_DISC_AMT.ClientID); }
            if (this.slp_TAX_TYPE.Text == "1" ||//[稅別]=免稅
                this.slp_TAX_TYPE.Text == "2")//[稅別]=零稅
            {
                if (i_DISC_TAX != 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[稅別]是免稅或零稅時,欄位[折讓稅額]必須為0", "1", txt_DISC_TAX.ClientID); }
            }

            #endregion

            #region 新增模式下欄位[來源]必須是選擇人工開立

            if (this.slp_DISC_SOURCE.Text != "2")//2代表是人工開立
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[來源]必須是選擇人工開立", "1", drop_DISC_SOURCE.ClientID); }

            #endregion

            #region 檢查欄位[店號]是否為有效店號

            #region 傳入參數

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_STORE_ID.Text, "string", false));//店號
            ParameterList.Add(CAAComm.GetValueSetParameter(DateTime.Now.ToString(), "datetime", false));//系統時間
            ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//登入人員

            #endregion

            #region 連結資料庫

            BCO.MaintainDiscRecord bco = new BCO.MaintainDiscRecord(ConntionDB);
            IDataReader dr = bco.QUERY_CAA18_DATA_BY_STORE_ID(ParameterList);

            #endregion

            if (dr.Read() == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[店號]查無符合店號或己關店,請重新輸入", "1", this.slp_STORE_ID.TextBox_Code.ClientID); }
            dr.Close();

            #endregion

            #region 新增模式下欄位[作廢]不能勾選

            if (this.chb_CANCEL_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[作廢]不能勾選", "1", chb_CANCEL_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[作廢日期]必須為空白

            if (this.slp_CANCEL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[作廢日期]必須為空白", "1", txt_CANCEL_DATE.ClientID); }

            #endregion

            #region 新增模式下欄位[申報]不能勾選

            if (this.chb_PERIOD_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[申報]不能勾選", "1", chb_PERIOD_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[申報日期]必須為空白

            if (this.slp_PERIOD_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[申報日期]必須為空白", "1", txt_PERIOD_DATE.ClientID); }

            #endregion

            #region 新增模式下欄位[轉暫收]不能勾選

            if (this.chb_TEMPORAL_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[轉暫收]不能勾選", "1", chb_TEMPORAL_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[暫收日期]必須為空白

            if (this.slp_TEMPORAL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[暫收日期]必須為空白", "1", txt_TEMPORAL_DATE.ClientID); }

            #endregion

            #region 檢查若己月結則不允許新增

            #region 傳入參數

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_CLOSE_MONTH.Text, "string", false));//[結帳年月]
            ParameterList.Add(CAAComm.GetValueSetParameter("CAA18", "string", false)); //V_FUNC_NO

            #endregion

            #region 連結資料庫

            BCO.ChanMonthCloseYN bco_Is_Close = new BCO.ChanMonthCloseYN(ConntionDB);

            #endregion

            #region 檢查回傳資料

            //回傳結果=Y,該月份已月結
            //回傳結果=N,該月份尚未月結
            if (((ArrayList)bco_Is_Close.GetChanMonthCloseStatus(ParameterList, null))[0].ToString() == "Y")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]該月份已月結", "1", txt_CLOSE_MONTH.ClientID); }

            #endregion

            #endregion

            #region 檢查欄位[憑證已回]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_PROOF_FLG.Checked == true && this.slp_PROOF_DATE.Text.Trim() == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回]若有勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]或[取具收據]必須勾選

            if ((this.chb_PROOF_FLG.Checked == false && this.chb_REPROOF_FLG.Checked == false && this.chb_RECEIPT_FLG.Checked == false) == true &&
                this.slp_PROOF_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]或[取具收據]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具進項憑証]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_REPROOF_FLG.Checked == true && this.slp_PROOF_DATE.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]若已勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[取具進項憑証]若已勾選,則欄位[發票號碼/收據]為必填欄位

            if (this.chb_REPROOF_FLG.Checked == true && this.txt_REPROOF_NO.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]若已勾選,則欄位[發票號碼/收據]為必填欄位", "1", this.txt_REPROOF_NO.ClientID); }

            #endregion

            #region 檢查欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選

            if (this.chb_REPROOF_FLG.Checked == false && this.txt_REPROOF_NO.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具收據]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_RECEIPT_FLG.Checked == true && this.slp_PROOF_DATE.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具收據]若已勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #endregion
        }

        #endregion

        #region 編輯狀態

        else if (s_Type == "BUTTON [儲存]鈕,編輯狀態")
        {
            #region 檢查欄位的Byte長度

            if (CAAComm.Get_Byte_Length(this.txt_ACT_DISC_NO.Text) > 13)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[財會折讓單號]長度不可大於 13 Byte", "1", this.txt_ACT_DISC_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_REPROOF_NO.Text) > 12)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]長度不可大於 12 Byte", "1", this.txt_REPROOF_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_RFNO.Text) > 10)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[統一編號]長度不可大於 10 Byte", "1", this.txt_RFNO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_MEMO.Text) > 200)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[備註]長度不可大於 200 Byte", "1", this.txt_MEMO.ClientID); }

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_DISC_DATE.Text, "欄位[折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.Text, "欄位[異動折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PROOF_DATE.Text, "欄位[憑證已回日期]日期格式錯誤", "1", txt_PROOF_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CANCEL_DATE.Text, "欄位[作廢日期]日期格式錯誤", "1", txt_CANCEL_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PERIOD_DATE.Text, "欄位[申報日期]日期格式錯誤", "1", txt_PERIOD_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMPORAL_DATE.Text, "欄位[暫收日期]日期格式錯誤", "1", txt_TEMPORAL_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_UAMT.Text, "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", txt_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_TAX.Text, "欄位[折讓稅額]數字格式錯誤", "32", "1", txt_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(Request[txt_DISC_AMT.UniqueID].ToString(), "欄位[總金額]數字格式錯誤", "32", "1", txt_DISC_AMT.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", txt_CLOSE_MONTH.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_ACCT.Text, "欄位[結帳年月-財會]年月格式錯誤", "1", this.slp_CLOSE_MONTH_ACCT.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查不可同時進行多個勾選作業

            bool b_IsRight = false;
            string s_ReturnMsg = string.Empty;

            Check_CheckStatus(out b_IsRight, out s_ReturnMsg);

            if (b_IsRight == true)//代表進行1個以上勾選作業
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "不可同時進行多個勾選作業", "1", string.Empty); }

            #endregion

            #region 檢查月結是否與頁面LOAD進來時相同,如有異動,請使用者重新LOAD頁面

            #region 傳入參數

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_CLOSE_MONTH.Text, "string", false));//[結帳年月]
            ParameterList.Add(CAAComm.GetValueSetParameter("CAA18", "string", false)); //V_FUNC_NO

            #endregion

            #region 連結資料庫

            BCO.ChanMonthCloseYN bco_Is_Close = new BCO.ChanMonthCloseYN(ConntionDB);

            #endregion

            #region 檢查回傳資料

            //回傳結果=Y,該月份已月結
            //回傳結果=N,該月份尚未月結
            bool b_IsClose_Now = false;
            if (((ArrayList)bco_Is_Close.GetChanMonthCloseStatus(ParameterList, null))[0].ToString() == "Y")
            { b_IsClose_Now = true; }
            else
            { b_IsClose_Now = false; }

            if (b_IsClose != b_IsClose_Now)//代表月結已被更動
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "月結已被更動,請重新載入編輯頁面", "1", string.Empty); }

            #endregion

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查欄位[折讓金額(未稅)][折讓稅額][總金額]

            int i_DISC_UAMT = int.Parse(this.slp_DISC_UAMT.Text);//折讓金額(未稅)
            int i_DISC_TAX = int.Parse(this.slp_DISC_TAX.Text);//折讓稅額
            int i_DISC_AMT = int.Parse(Request[txt_DISC_AMT.UniqueID].ToString());//總金額

            if (i_DISC_UAMT < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]不可小於0", "1", txt_DISC_UAMT.ClientID); }
            if (i_DISC_TAX < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓稅額]不可小於0", "1", txt_DISC_TAX.ClientID); }
            if (i_DISC_AMT <= 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[總金額]不可小於或等於0", "1", txt_DISC_AMT.ClientID); }
            if (i_DISC_UAMT == 0 && i_DISC_TAX != 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]為0時,欄位[折讓稅額]也必須為0", "1", txt_DISC_TAX.ClientID); }
            if (i_DISC_UAMT + i_DISC_TAX != i_DISC_AMT)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]加上欄位[折讓稅額]必須等於欄位[總金額]", "1", txt_DISC_AMT.ClientID); }
            if (this.slp_TAX_TYPE.Text == "1" ||//[稅別]=免稅
                this.slp_TAX_TYPE.Text == "2")//[稅別]=零稅
            {
                if (i_DISC_TAX != 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[稅別]是免稅或零稅時,欄位[折讓稅額]必須為0", "1", txt_DISC_TAX.ClientID); }
            }

            #endregion

            #region 檢查如果己月結則[折讓金額(未稅)][折讓稅額][總金額]要與原始金額相同

            if (b_IsClose == true)//該月份已月結
            {
                if (this.hid_Original_DISC_UAMT.Value.Trim() != this.slp_DISC_UAMT.Text.Trim())
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "該月份己月結,欄位[折讓金額(未稅)]的金額必須等於原始折讓金額(未稅)" + this.hid_Original_DISC_UAMT.Value.Trim() + "元", "1", txt_DISC_UAMT.ClientID); }
                if (this.hid_Original_DISC_TAX.Value.Trim() != this.slp_DISC_TAX.Text.Trim())
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "該月份己月結,欄位[折讓稅額]的金額必須等於原始折讓稅額" + this.hid_Original_DISC_TAX.Value.Trim() + "元", "1", txt_DISC_TAX.ClientID); }
                if (this.hid_Original_DISC_AMT.Value.Trim() != Request[txt_DISC_AMT.UniqueID].ToString().Trim())
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "該月份己月結,欄位[總金額]的金額必須等於原始折讓稅額" + this.hid_Original_DISC_AMT.Value.Trim() + "元", "1", txt_DISC_AMT.ClientID); }
            }

            #endregion

            #region 檢查下列情況如果已月結則修改後的金額必須等於原始金額

            if (b_IsClose == true)//該月份已月結
            {
                if (s_ReturnMsg == "勾選欄位[憑證已回]" ||
                    s_ReturnMsg == "取消勾選欄位[憑證已回]" ||
                    s_ReturnMsg == "取消勾選欄位[取具進項憑証]" ||
                    s_ReturnMsg == "都沒有勾")
                {
                    int i_IsClose_DISC_UAMT = 0;
                    int i_IsClose_DISC_TAX = 0;
                    int i_IsClose_DISC_AMT = 0;

                    foreach (DataRow drRow in dt_NewItem.Rows)
                    {
                        i_IsClose_DISC_UAMT += int.Parse(drRow["DISC_UAMT"].ToString());//折讓金額(未稅)
                        i_IsClose_DISC_TAX += int.Parse(drRow["DISC_TAX"].ToString());//折讓稅額
                        i_IsClose_DISC_AMT += int.Parse(drRow["DISC_AMT"].ToString());//總金額
                    }

                    if (this.hid_Original_DISC_UAMT.Value.Trim() != i_IsClose_DISC_UAMT.ToString())
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "已月結,折讓項目的折讓金額(未稅):" + i_IsClose_DISC_UAMT.ToString() + "元,不等於原始折讓金額(未稅):" + this.hid_Original_DISC_UAMT.Value + "元", "1", string.Empty); }
                    if (this.hid_Original_DISC_TAX.Value.Trim() != i_IsClose_DISC_TAX.ToString())
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "已月結,折讓項目的折讓稅額:" + i_IsClose_DISC_TAX.ToString() + "元,不等於原始折讓稅額:" + this.hid_Original_DISC_TAX.Value + "元", "1", string.Empty); }
                    if (this.hid_Original_DISC_AMT.Value.Trim() != i_IsClose_DISC_AMT.ToString())
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]" + this.slp_CLOSE_MONTH.Text + "已月結,折讓項目的總金額:" + i_IsClose_DISC_AMT.ToString() + "元,不等於原始總金額:" + this.hid_Original_DISC_AMT.Value + "元", "1", string.Empty); }
                }
            }

            #endregion

            #region 檢查欄位[憑證已回]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_PROOF_FLG.Checked == true && this.slp_PROOF_DATE.Text.Trim() == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回]若有勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]或[取具收據]必須勾選

            if ((this.chb_PROOF_FLG.Checked == false && this.chb_REPROOF_FLG.Checked == false && this.chb_RECEIPT_FLG.Checked == false) == true &&
                this.slp_PROOF_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]或[取具收據]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具進項憑証]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_REPROOF_FLG.Checked == true && this.slp_PROOF_DATE.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]若已勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[取具進項憑証]若已勾選,則欄位[發票號碼/收據]為必填欄位

            if (this.chb_REPROOF_FLG.Checked == true && this.txt_REPROOF_NO.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]若已勾選,則欄位[發票號碼/收據]為必填欄位", "1", this.txt_REPROOF_NO.ClientID); }

            #endregion

            #region 檢查欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選

            if (this.chb_REPROOF_FLG.Checked == false && this.txt_REPROOF_NO.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具收據]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_RECEIPT_FLG.Checked == true && this.slp_PROOF_DATE.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具收據]若已勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[作廢]若已勾選,則欄位[作廢日期]為必填欄位

            if (this.chb_CANCEL_FLG.Checked == true && this.slp_CANCEL_DATE.Text.Trim() == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[作廢]若有勾選,則欄位[作廢日期]為必填欄位", "1", txt_CANCEL_DATE.ClientID); }

            #endregion

            #region 檢查[總金額][沖帳餘額],若有沖帳過,則不允許作廢

            #region 規則

            /* 20100325秀玲新增此判斷需求
             * 如果該張折讓單的[DISC_REMAIN_AMT](沖帳金額) & [DISC_AMT](總金額)金額不相符
             * 代表該張折讓單已經沖帳過,不允許作廢。*/

            #endregion

            if (this.chb_CANCEL_FLG.Checked == true || this.slp_CANCEL_DATE.Text.Trim() != string.Empty)
            {
                if (dt_Main.Rows[0]["DISC_REMAIN_AMT"].ToString() != dt_Main.Rows[0]["DISC_AMT"].ToString())
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "折讓單已沖帳,不允許作廢", "1", string.Empty); }
            }

            #endregion

            #region 檢查欄位[作廢日期]若有值,則欄位[作廢]必須勾選

            if (this.chb_CANCEL_FLG.Checked == false && this.slp_CANCEL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[作廢日期]若有值,則欄位[作廢]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[轉暫收]若已勾選,則欄位[暫收日期]為必填欄位

            if (this.chb_TEMPORAL_FLG.Checked == true && this.slp_TEMPORAL_DATE.Text.Trim() == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[轉暫收]若有勾選,則欄位[暫收日期]為必填欄位", "1", txt_TEMPORAL_DATE.ClientID); }

            #endregion

            #region 檢查欄位[暫收日期]若有值,則欄位[轉暫收]必須勾選

            if (this.chb_TEMPORAL_FLG.Checked == false && this.slp_TEMPORAL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[暫收日期]若有值,則欄位[轉暫收]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[憑證已回][取具進項憑証][取具收據]三個欄位只能擇一勾選

            int i_Check_Count = 0;

            i_Check_Count += this.chb_PROOF_FLG.Checked == true ? 1 : 0;//憑證已回
            i_Check_Count += this.chb_REPROOF_FLG.Checked == true ? 1 : 0;//取具進項憑証
            i_Check_Count += this.chb_RECEIPT_FLG.Checked == true ? 1 : 0;//取具收據

            if (i_Check_Count > 1)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回][取具進項憑証][取具收據]三個欄位只能擇一勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具收據]如果有勾選,則欄位[折讓稅額]必須為0

            if (this.chb_RECEIPT_FLG.Checked == true &&
                this.slp_DISC_TAX.Text != "0")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具收據]如果有勾選,則欄位[折讓稅額]必須為0", "1", this.slp_DISC_TAX.TextBox_Code.ClientID); }

            #endregion

            #endregion
        }

        #endregion

        #endregion

        #region BUTTON [折讓開立]鈕

        else if (s_Type == "BUTTON [折讓開立]鈕")
        {
            #region 檢查欄位的Byte長度

            if (CAAComm.Get_Byte_Length(this.txt_ACT_DISC_NO.Text) > 13)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[財會折讓單號]長度不可大於 13 Byte", "1", this.txt_ACT_DISC_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_REPROOF_NO.Text) > 12)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]長度不可大於 12 Byte", "1", this.txt_REPROOF_NO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_RFNO.Text) > 10)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[統一編號]長度不可大於 10 Byte", "1", this.txt_RFNO.ClientID); }
            if (CAAComm.Get_Byte_Length(this.txt_MEMO.Text) > 200)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[備註]長度不可大於 200 Byte", "1", this.txt_MEMO.ClientID); }

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_DISC_DATE.Text, "欄位[折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.Text, "欄位[異動折讓日期]日期格式錯誤", "1", txt_DISC_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PROOF_DATE.Text, "欄位[憑證已回日期]日期格式錯誤", "1", txt_PROOF_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CANCEL_DATE.Text, "欄位[作廢日期]日期格式錯誤", "1", txt_CANCEL_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PERIOD_DATE.Text, "欄位[申報日期]日期格式錯誤", "1", txt_PERIOD_DATE.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMPORAL_DATE.Text, "欄位[暫收日期]日期格式錯誤", "1", txt_TEMPORAL_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_UAMT.Text, "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", txt_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_TAX.Text, "欄位[折讓稅額]數字格式錯誤", "32", "1", txt_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(Request[txt_DISC_AMT.UniqueID].ToString(), "欄位[總金額]數字格式錯誤", "32", "1", txt_DISC_AMT.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", txt_CLOSE_MONTH.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_ACCT.Text, "欄位[結帳年月-財會]年月格式錯誤", "1", this.slp_CLOSE_MONTH_ACCT.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(drop_DISC_SOURCE.SelectedIndex.ToString(), "drop", "欄位[來源]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", txt_STORE_ID.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(drop_DISC_TYPE.SelectedIndex.ToString(), "drop", "欄位[型式]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(drop_TAX_TYPE.SelectedIndex.ToString(), "drop", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", txt_ROOT_NO.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_CLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", txt_CLOSE_MONTH.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 新增模式下欄位[來源]必須是選擇人工開立

            if (this.slp_DISC_SOURCE.Text != "2")//2代表是人工開立
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[來源]必須是選擇人工開立", "1", drop_DISC_SOURCE.ClientID); }

            #endregion

            #region 新增模式下欄位[作廢]不能勾選

            if (this.chb_CANCEL_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[作廢]不能勾選", "1", chb_CANCEL_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[作廢日期]必須為空白

            if (this.slp_CANCEL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[作廢日期]必須為空白", "1", txt_CANCEL_DATE.ClientID); }

            #endregion

            #region 新增模式下欄位[申報]不能勾選

            if (this.chb_PERIOD_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[申報]不能勾選", "1", chb_PERIOD_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[申報日期]必須為空白

            if (this.slp_PERIOD_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[申報日期]必須為空白", "1", txt_PERIOD_DATE.ClientID); }

            #endregion

            #region 新增模式下欄位[轉暫收]不能勾選

            if (this.chb_TEMPORAL_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[轉暫收]不能勾選", "1", chb_TEMPORAL_FLG.ClientID); }

            #endregion

            #region 新增模式下欄位[暫收日期]必須為空白

            if (this.slp_TEMPORAL_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "新增模式下欄位[暫收日期]必須為空白", "1", txt_TEMPORAL_DATE.ClientID); }

            #endregion

            #region 檢查若己月結則不允許新增

            #region 傳入參數

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_CLOSE_MONTH.Text, "string", false));//[結帳年月]
            ParameterList.Add(CAAComm.GetValueSetParameter("CAA18", "string", false)); //V_FUNC_NO

            #endregion

            #region 連結資料庫

            BCO.ChanMonthCloseYN bco_Is_Close = new BCO.ChanMonthCloseYN(ConntionDB);

            #endregion

            #region 檢查回傳資料

            //回傳結果=Y,該月份已月結
            //回傳結果=N,該月份尚未月結
            if (((ArrayList)bco_Is_Close.GetChanMonthCloseStatus(ParameterList, null))[0].ToString() == "Y")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月]該月份已月結", "1", txt_CLOSE_MONTH.ClientID); }

            #endregion

            #endregion

            #region 檢查欄位[憑證已回]若已勾選,則欄位[憑證已回日期]為必填欄位

            if (this.chb_PROOF_FLG.Checked == true && this.slp_PROOF_DATE.Text.Trim() == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回]若有勾選,則欄位[憑證已回日期]為必填欄位", "1", txt_PROOF_DATE.ClientID); }

            #endregion

            #region 檢查欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]必須勾選

            if ((this.chb_PROOF_FLG.Checked == false && this.chb_REPROOF_FLG.Checked == false) == true
                && this.slp_PROOF_DATE.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回日期]若有值,則欄位[憑證已回]或[取具進項憑証]必須勾選", "1", string.Empty); }

            #endregion

            #region 檢查欄位[取具進項憑証]若已勾選,則不允許按[折讓開立]鈕

            if (this.chb_REPROOF_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]若已勾選,則不允許按[折讓開立]鈕", "1", string.Empty); }

            #endregion

            #region 檢查欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選

            if (this.chb_REPROOF_FLG.Checked == false && this.txt_REPROOF_NO.Text.Trim() != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票號碼/收據]若有值,則欄位[取具進項憑証]必須勾選", "1", string.Empty); }

            #endregion

            #endregion
        }

        #endregion

        #region 折讓項目 BUTTON [確認]鈕

        else if (s_Type == "折讓項目 BUTTON [確認]鈕")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_Disc_INV_DATE.Text, "欄位[發票日期]日期格式錯誤", "1", txt_Disc_INV_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_Disc_DISC_UAMT.Text, "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", txt_Disc_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(Request[txt_Disc_DISC_TAX.UniqueID].ToString(), "欄位[折讓稅額]數字格式錯誤", "32", "1", txt_Disc_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_Disc_NON_INV_UAMT.Text, "欄位[發票餘額(未稅)]數字格式錯誤", "32", "1", txt_Disc_NON_INV_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_Disc_NON_INV_TAX.Text, "欄位[發票稅額]數字格式錯誤", "32", "1", txt_Disc_NON_INV_TAX.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.txt_Disc_INV_NO.Text, "text", "欄位[發票號碼]為必填欄位", "1", this.txt_Disc_INV_NO.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_Disc_DISC_UAMT.Text, "text", "欄位[折讓金額(未稅)]為必填欄位", "1", txt_Disc_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(Request[txt_Disc_DISC_TAX.UniqueID].ToString(), "text", "欄位[折讓稅額]為必填欄位", "1", txt_Disc_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_Disc_NON_INV_UAMT.Text, "text", "欄位[發票餘額(未稅)]為必填欄位", "1", txt_Disc_NON_INV_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_Disc_NON_INV_TAX.Text, "text", "欄位[發票稅額]為必填欄位", "1", txt_Disc_NON_INV_TAX.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            int i_Disc_DISC_UAMT = int.Parse(this.slp_Disc_DISC_UAMT.Text);//折讓金額(未稅)
            int i_Disc_DISC_TAX = int.Parse(Request[txt_Disc_DISC_TAX.UniqueID].ToString());//折讓稅額
            int i_Total_NON_INV_UAMT = int.Parse(this.hid_Disc_Total_NON_INV_UAMT.Value);//發票餘額(未稅)+折讓金額(未稅)
            int i_Total_NON_INV_TAX = int.Parse(this.hid_Disc_Total_NON_INV_TAX.Value);//發票稅額+折讓稅額

            if (i_Disc_DISC_UAMT < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]不可小於0", "1", txt_Disc_DISC_UAMT.ClientID); }
            if (i_Disc_DISC_TAX < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓稅額]不可小於0", "1", txt_Disc_DISC_TAX.ClientID); }
            if (i_Disc_DISC_UAMT == 0 && i_Disc_DISC_TAX != 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]為0時,欄位[折讓稅額]也必須為0", "1", txt_Disc_DISC_TAX.ClientID); }
            if (i_Disc_DISC_UAMT > i_Total_NON_INV_UAMT)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓金額(未稅)]不得大於[發票餘額(未稅)]", "1", txt_Disc_DISC_UAMT.ClientID); }
            if (i_Disc_DISC_TAX > i_Total_NON_INV_TAX)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[折讓稅額]不得大於[發票稅額]", "1", txt_Disc_DISC_TAX.ClientID); }
            if (this.slp_TAX_TYPE.Text == "1" ||//[稅別]=免稅
                this.slp_TAX_TYPE.Text == "2")//[稅別]=零稅
            {
                if (i_Disc_DISC_TAX != 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[稅別]是免稅或零稅時,欄位[折讓稅額]必須為0", "1", txt_Disc_DISC_TAX.ClientID); }
            }

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 6
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO_CAA.CAACommon CAAComm = new BCO_CAA.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region BUTTON [查詢]鈕

        if (s_Type == "BUTTON [查詢]鈕")
        {
            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_ST_ACCEPT_DATE.Text, "text", "欄位[門市進貨日]為必填欄位", "1", this.slp_ST_ACCEPT_DATE.DateTextBox.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txt_PICK_BATCH.Text, "text", "欄位[理貨批次]為必填欄位", "1", this.txt_PICK_BATCH.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txt_FULL_BARCODE.Text, "text", "欄位[商品條碼]為必填欄位", "1", this.txt_FULL_BARCODE.ClientID, arl_Return);

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_ST_ACCEPT_DATE.Text, "欄位[門市進貨日]日期格式錯誤", "1", this.slp_ST_ACCEPT_DATE.DateTextBox.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位[理貨線]

            if (this.ddl_LINE_B.SelectedValue != string.Empty ||
                this.ddl_LINE_E.SelectedValue != string.Empty)
            {
                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.ddl_LINE_B.Text,
                     this.ddl_LINE_E.Text,
                     "string",
                     "欄位[理貨線]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion
        }

        #endregion

        #region BUTTON [檔案下載]鈕

        else
        {
            #region 檢查儲存 GirdView 的 ViewState 是否有值

            if (dt_Result == null ||
                dt_Result.Rows.Count == 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "無資料可供下載", "1", string.Empty); }

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 7
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type, DataRow[] dr_Checked)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 頁籤=整批兌現

        #region BUTTON [整批兌換]鈕

        if (s_Type == "頁籤=整批兌現 BUTTON [整批兌換]鈕")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_tab2_NB_COLL_DATE.Text, "欄位[兌現日期]日期格式錯誤", "1", this.slp_tab2_NB_COLL_DATE.DateTextBox.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_tab2_NB_COLL_DATE.Text, "text", "欄位[兌現日期]為必填欄位", "1", this.slp_tab2_NB_COLL_DATE.DateTextBox.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查是否有勾選整批兌換的資料

            if (dr_Checked == null ||
                dr_Checked.Length == 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "查無[整批兌換]的資料", "1", string.Empty); }

            #endregion

            #region 檢查欄位[兌現日期]是否月結

            #region 傳入參數

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter("CAA12", "string", false)); //V_FUNC_NO
            ParameterList.Add(CAAComm.GetValueSetParameter(this.slp_tab2_NB_COLL_DATE.Text.Replace("/", string.Empty).Substring(0, 6), "string", false)); //V_MONTH_CLOSE
            ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false)); //V_CREATEUID

            #endregion

            #region 連結資料庫

            BCO.ChanMonthCloseYN bco = new BCO.ChanMonthCloseYN(ConntionDB);
            ArrayList ary_Result = bco.GetChanMonthCloseStatus(ParameterList, null);

            #endregion

            #region 檢查資料

            //Y:已月結 N:未月結
            if (ary_Result[0].ToString() == "Y")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, ary_Result[0].ToString(), "1", this.slp_tab2_NB_COLL_DATE.DateTextBox.ClientID); }

            #endregion

            #endregion

            #endregion
        }

        #endregion

        #endregion

        return arl_Return;
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        CAAModel.CAACommon CAAComm = new CAAModel.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region SLP轉型

        TextBox txt_CHG_INCOME_DATE = (TextBox)this.SLP_CHG_INCOME_DATE.FindControl("TextBoxCode");//轉其他收入日期

        #endregion

        #region 新增模式

        if (s_Type == "Insert")
        {
            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.SLP_TEMPAMT.Text, "欄位[暫收金額]數字格式錯誤", "64", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.txtCLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", this.txtCLOSE_MONTH.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.SLP_CHG_INCOME_DATE.Text, "欄位[轉其他收入日期]日期格式錯誤", "1", txt_CHG_INCOME_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", this.SLP_STORE_ID.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.ddlTaxType.Text, "text", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_TEMPAMT.Text, "text", "欄位[暫收金額]為必填欄位", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txtCLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", this.txtCLOSE_MONTH.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查店號

            //新增模式下,店號必須以 sysdate 為基準來做查詢
            //編輯模式下,店號必須以該筆資料的 createdate 為基準來做查詢
            if (Check_Store_Id(this.SLP_STORE_ID.Text, DateTime.Now) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店號]必須是有效的店號", "1", this.SLP_STORE_ID.TextBox_Code.ClientID); }

            #endregion

            #region 檢查商品群分類代碼

            if (Check_RootNo(this.SLP_ROOT_NO.Text) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[商品群分類]必須是有效的群分類代號", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID); }

            #endregion

            #region 檢查欄位[暫收金額]不可為零

            if (Int64.Parse(this.SLP_TEMPAMT.Text) <= 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[暫收金額]必須大於零", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID); }

            #endregion

            #endregion
        }

        #endregion

        #region 編輯模式

        else if (s_Type == "Edit")
        {
            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.SLP_TEMPAMT.Text, "欄位[暫收金額]數字格式錯誤", "64", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.txtCLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", this.txtCLOSE_MONTH.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMP_DATE.Text, "欄位[暫收日期]日期格式錯誤", "1", this.slp_TEMP_DATE.DateTextBox.ClientID
                , arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.SLP_CHG_INCOME_DATE.Text, "欄位[轉其他收入日期]日期格式錯誤", "1", txt_CHG_INCOME_DATE.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", this.SLP_STORE_ID.TextBox_Code.ClientID, arl_Return);
            if (this.ddlSOURCE_TYPE.SelectedValue != "2" ||
               (this.txtSOURCE_NO.Text.Substring(0, 2) == "BR" || this.txtSOURCE_NO.Text.Substring(0, 2) == "CR") == false)
            {
                arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID, arl_Return);
                arl_Return = CAAComm.Check_MustFillin_Column(this.ddlTaxType.Text, "text", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            }
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_TEMPAMT.Text, "text", "欄位[暫收金額]為必填欄位", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_TEMP_DATE.Text, "text", "欄位[暫收日期]為必填欄位", "1", this.slp_TEMP_DATE.DateTextBox.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txtCLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", this.txtCLOSE_MONTH.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查店號

            //新增模式下,店號必須以 sysdate 為基準來做查詢
            //編輯模式下,店號必須以該筆資料的 createdate 為基準來做查詢
            if (Check_Store_Id(this.SLP_STORE_ID.Text, DateTime.Parse(this.hdf_Old_CreateDate.Value)) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店號]必須是有效的店號", "1", this.SLP_STORE_ID.TextBox_Code.ClientID); }

            #endregion

            #region 檢查商品群分類代碼

            if (this.SLP_ROOT_NO.Text != string.Empty)
            {
                if (Check_RootNo(this.SLP_ROOT_NO.Text) == false)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[商品群分類]必須是有效的群分類代號", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID); }
            }

            #endregion

            #region 檢查欄位[暫收金額]不可為零

            if (Int64.Parse(this.SLP_TEMPAMT.Text) <= 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[暫收金額]必須大於零", "1", this.SLP_TEMPAMT.TextBox_Code.ClientID); }

            #endregion

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 9
0
    /// <summary>
    /// 檢查文字檔條件
    /// </summary>
    /// <param name="s_FileLine"></param>
    /// <param name="dt_Month_Close">月結的資料</param>
    /// <param name="dt_Temp">要寫入Temp Table VDS_CAA_COLL_TMP 的資料</param>
    /// <param name="s_Store">回傳[店號]</param>
    /// <param name="i_Charge">回傳[手續費]</param>
    /// <returns></returns>
    private ArrayList Check_Condition_FileLine(string s_FileLine, DataTable dt_Month_Close, DataTable dt_Temp, out string s_Store, out int i_Charge)
    {
        #region 規則

        /*
         *交易日期  [COLL_DATE] :50~56
         *交易序號  [COLL_SEQNO]:63~72
         *交易時間  [COLL_TIME] :57~62
         *交易金額  [COLL_AMT]  :35~49
         *營業日    [SAL_DATE]  :14~20
         *繳款型態  [PAY_TYPE]  :85
         *繳款識別碼[PAY_CHKNO] :21~29
         *轉入帳號  [ACCTNO]    :1~12
         *帳務別    [ACCT_CODE] :13
         *註記一    [MEMO_NO]   :21~34
         *銷帳代號:116~120 + 21~29
         */

        #endregion

        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        BCO.ImportCOLLPO bco = new BCO.ImportCOLLPO(ConntionDB);
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        s_Store = string.Empty;
        i_Charge = 0;

        #endregion

        #region 檢查字串長度

        //字串最長是用到取得[銷帳代號]120的位置,所以120之前都必須有值
        if (s_FileLine.Length < 120)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "字串長度不正確;", "1", string.Empty); }

        #endregion

        #region 如果檢查字串長度有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查數字格式

        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(0, 12), "[轉入帳號]數字格式有誤;", "64", "1", string.Empty, arl_Return);//轉入帳號
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(13, 7), "[營業日]數字格式有誤;", "32", "1", string.Empty, arl_Return);//營業日
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(34, 15), "[交易金額]數字格式有誤;", "64", "1", string.Empty, arl_Return);//交易金額
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(49, 7), "[交易日期]數字格式有誤;", "32", "1", string.Empty, arl_Return);//交易日期
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(56, 6), "[交易時間]數字格式有誤;", "32", "1", string.Empty, arl_Return);//交易時間

        #endregion

        #region 如果檢查數字格式有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查日期格式

        try
        { DateTime.ParseExact(Convert.ToString(int.Parse(s_FileLine.Substring(13, 7)) + 19110000), "yyyyMMdd", null); }
        catch
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[營業日]日期格式有誤;", "1", string.Empty); }

        try
        { DateTime.ParseExact(Convert.ToString(int.Parse(s_FileLine.Substring(49, 7)) + 19110000), "yyyyMMdd", null); }
        catch
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[交易日期]日期格式有誤;", "1", string.Empty); }

        #endregion

        #region 檢查時間格式

        try
        { DateTime.ParseExact(s_FileLine.Substring(56, 6), "HHmmss", null).ToString("HHmmss"); }
        catch
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[交易時間]時間格式有誤;", "1", string.Empty); }

        #endregion

        #region 如果檢查日期&時間格式有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查該筆資料是否月結

        string s_Month_Close = string.Empty;
        string s_Filter_Expression = string.Empty;

        s_Month_Close = DateTime.ParseExact(Convert.ToString(int.Parse(s_FileLine.Substring(13, 7)) + 19110000), "yyyyMMdd", null).ToString("yyyyMM");//[交易日期]取年月 //20110303 Rika改為 營業日期取年月
        s_Filter_Expression = "MONTH_CLOSE ='" + s_Month_Close + "'";

        DataRow[] dr_Month_Close = dt_Month_Close.Select(s_Filter_Expression);

        if (dr_Month_Close.Length > 0)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此代收年月:" + s_Month_Close + "己月結,不允許匯入;", "1", string.Empty); }

        #endregion

        #region 如果檢查該筆資料已月結,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 取得[店號]

        #region 規則

        /*
          (1)抓取TXT檔中字元14~20並轉換資料前三碼(民國年,需轉換為西元年)。
             EX:1911 + 民國年(097) =>存入資料為2008
          (2)依店號(STORE)=TXT檔中字元23~28 + 流程(1)之資料介於有效起始日(MDC_START_DATE)及有效終止日(MDC_END_DATE),查詢門市檔(VDS_STM_STORE)之店號欄位,並判斷是否有值
             (2.1)有值:STORE_ID=流程(2)取得之店號(STORE)
             (2.2)無值:抓取TXT檔中字元116~120 + 21~29
                  (2.2.1)依銷帳代號(PAY_ACCOUNT)=TXT檔中字元116~120 + 21~29且流程(1)之資料介於有效起始日(EFF_DATE_FROM)及有效終止日(EFF_DATE_TO),查詢帳務特性(VDS_STM_ACCOUNT_PROPERTY)之店號欄位,並判斷是否有值
                         (2.2.1.1)有值(一筆):STORE_ID=流程(2.2.1)取得之店號(STORE)
                         (2.2.1.2)有值(多筆):依銷帳代號(PAY_ACCOUNT)=TXT檔中字元116~120 + 21~29且流程(1)之資料介於有效起始日(EFF_DATE_FROM)及有效終止日(EFF_DATE_TO)且STORE_TYPE=1(取總部店),查詢帳務特性(VDS_STM_ACCOUNT_PROPERTY)之店號欄位,並判斷是否有值
                                  (A)有值:STORE_ID=流程(2.2.1.1)取得之店號(STORE)
                                  (B)無值:列為錯誤(多筆銷帳代號卻無總部店對應)
                         (2.2.1.3)否:列為錯誤(店號不存在)
          */

        #endregion

        string s_PAY_ACCOUNT = s_FileLine.Substring(115, 5) + s_FileLine.Substring(20, 9);//銷帳代號
        string s_BUSINESS_DATE = DateTime.ParseExact(Convert.ToString(int.Parse(s_FileLine.Substring(13, 7)) + 19110000), "yyyyMMdd", null).ToString("yyyy/MM/dd");//營業日期

        ParameterList.Clear();
        ParameterList.Add(CAAComm.GetValueSetParameter(s_FileLine.Substring(22, 6), "string", false));
        ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
        ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID

        DataTable dt_Store_Information = bco.GET_STORE_INFORMATION(ParameterList);

        if (dt_Store_Information.Rows.Count == 0)
        {
            #region 使用銷帳代號取得店號

            ParameterList.Clear();
            ParameterList.Add(CAAComm.GetValueSetParameter(s_PAY_ACCOUNT, "string", false));
            ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
            ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID

            DataTable dt_Store_ID = bco.GET_STORE_FROM_ACCOUNTPROPERTY(ParameterList);

            #endregion

            #region 查詢結果-該銷帳代號無對應店號

            if (dt_Store_ID.Rows.Count == 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[銷帳代號]:" + s_PAY_ACCOUNT + "查無對應的店號;", "1", string.Empty); }

            #endregion

            #region 查詢結果-該銷帳代號只對應到一筆店號

            else if (dt_Store_ID.Rows.Count == 1)
            {
                ParameterList.Clear();
                ParameterList.Add(CAAComm.GetValueSetParameter(dt_Store_ID.Rows[0]["STORE"].ToString(), "string", false));
                ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
                ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID

                dt_Store_Information = bco.GET_STORE_INFORMATION(ParameterList);

                if (dt_Store_Information.Rows.Count == 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[銷帳代號]:" + s_PAY_ACCOUNT + "對應的店號不存在於門市主檔;", "1", string.Empty); }
                else
                { s_Store = dt_Store_Information.Rows[0]["STORE"].ToString(); }
            }

            #endregion

            #region 查詢結果-該銷帳代號對應到多筆店號

            else
            {
                s_Filter_Expression = "STORE_TYPE = '1'";
                DataRow[] dr_Store_Array = dt_Store_ID.Select(s_Filter_Expression);

                if (dr_Store_Array.Length == 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[銷帳代號]:" + s_PAY_ACCOUNT + "對應到多筆店號卻無總部店對應;", "1", string.Empty); }
                else if (dr_Store_Array.Length == 1)
                {
                    ParameterList.Clear();
                    ParameterList.Add(CAAComm.GetValueSetParameter(dr_Store_Array[0]["STORE"].ToString(), "string", false));
                    ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
                    ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID

                    dt_Store_Information = bco.GET_STORE_INFORMATION(ParameterList);

                    if (dt_Store_Information.Rows.Count == 0)
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[銷帳代號]:" + s_PAY_ACCOUNT + "對應的店號不存在於門市主檔;", "1", string.Empty); }
                    else
                    { s_Store = dt_Store_Information.Rows[0]["STORE"].ToString(); }
                }
                else
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[銷帳代號]:" + s_PAY_ACCOUNT + "對應到多筆店號;", "1", string.Empty); }
            }

            #endregion
        }
        else
        { s_Store = dt_Store_Information.Rows[0]["STORE"].ToString(); }

        #endregion

        #region 檢查是否為沖正資料

        string s_SIGN = s_FileLine.Substring(73, 1);//正負號資料
        string i_COLL_AMT = CAAComm.GetValueSetParameter(s_FileLine.Substring(34, 13), "int", false).ToString();//交易金額
        string i_COLL_DATE = DateTime.ParseExact(Convert.ToString(int.Parse(s_FileLine.Substring(49, 7)) + 19110000), "yyyyMMdd", null).ToString("yyyy/MM/dd");


        if (s_SIGN != "+")
        {
            //int i_NewestRow = dt_Temp.Rows.Count;
            
            //s_Filter_Expression = string.Format("COLL_AMT = '{0}' and COLL_DATE = #{1}# and STORE_ID = '{2}' and ID= '{3}'", i_COLL_AMT, i_COLL_DATE, s_Store, i_NewestRow); 
            
            s_Filter_Expression = string.Format("COLL_AMT = '{0}' and COLL_DATE = #{1}# and STORE_ID = '{2}' and STATUS <> '3' ", i_COLL_AMT, i_COLL_DATE, s_Store);
            DataRow[] dr = dt_Temp.Select(s_Filter_Expression);


            if (dr.Length == 0)
            {
                arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "沖正資料查無沖銷款項;", "1", string.Empty);
            }
        }

        #region 如果沖正資料查無沖銷款項,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion


        #endregion

        #region 取得[手續費]

        if (s_Store != string.Empty)
        {
            #region 規則

            /* 20100601秀玲異動規則
             * 已經與使用者確認過,只要有相同資料,則第二筆以後的資料手續費就為零,不用去管第一筆資料的手續費是否為零。
             * 檢查 Temp Table 中是否已有相同年月(營業日欄位取年月)+相同店號之資料
             *    1.如果有則手續費直接回傳0元。
             *    2.如果沒有則再去檢查 VDS_CAA_COLL_MAIN 中是否有相同年月(營業日欄位取年月)+相同店號之資料。
             *      (1)如果有則手續費直接回傳0元。
             *      (1)如果沒有則依照規則抓取手續費。
             */

            #endregion

            #region 檢查在dt_Temp中是否有相同年月(營業日欄位取年月)+相同店號之資料

            string s_SAL_DATE_B = s_BUSINESS_DATE.Substring(0, 8) + "01";
            string s_SAL_DATE_E = DateTime.Parse(s_SAL_DATE_B).AddMonths(1).AddDays(-1).ToString("yyyy/MM/dd");

            s_Filter_Expression = string.Format("SAL_DATE >= #{0}# and SAL_DATE <= #{1}# and STORE_ID = '{2}'", s_SAL_DATE_B, s_SAL_DATE_E, s_Store);
            DataRow[] dr = dt_Temp.Select(s_Filter_Expression);

            if (dr.Length != 0)
            { i_Charge = 0; }

            #endregion

            #region 檢查在 VDS_CAA_COLL_MAIN 中是否有相同年月(營業日欄位取年月)+相同店號之資料

            else
            {
                #region 傳入參數

                ParameterList.Clear();
                ParameterList.Add(CAAComm.GetValueSetParameter(s_Store, "string", false));
                ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
                ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UID

                #endregion

                #region 連結資料庫

                DataTable dt_REPEAT_DATA = bco.CHECK_REPEAT_DATA(ParameterList);

                #endregion

                #region 檢查回傳資料

                if (dt_REPEAT_DATA.Rows[0][0].ToString() == "0")
                {
                    #region 取得手續費

                    #region 傳入參數

                    ParameterList.Clear();
                    ParameterList.Add(CAAComm.GetValueSetParameter(s_Store, "string", false));
                    ParameterList.Add(CAAComm.GetValueSetParameter(s_BUSINESS_DATE, "date", false));
                    ParameterList.Add(CAAComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID

                    #endregion

                    #region 連結資料庫

                    DataTable dt_Charge_Information = bco.GET_CHARGE_INFORMATION(ParameterList);

                    #endregion

                    #region 規則

                    /*
                     * 下面兩點已與秀玲確認過
                     * (1)因為匯入的資料中,有可能[店號]不存在於店主檔,
                     *    當有這種情況資料必須匯入,手續費要帶0
                     * (2)VDS_STM_ACCOUNT_PROPERTY.FEET這一個欄位有可能是空值,
                     *    在Package那邊會下nvl,使其不會為空值
                     *    當手續費欄位為空值,則代表手續費為0
                     */

                    #endregion

                    if (dt_Charge_Information.Rows.Count == 0)
                    { i_Charge = 0; }
                    else if (dt_Charge_Information.Rows.Count == 1)
                    { i_Charge = int.Parse(dt_Charge_Information.Rows[0]["FEET"].ToString()); }
                    else
                    { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[店號]:" + s_Store + "對應到多筆手續費;", "1", string.Empty); }

                    #endregion
                }
                else
                { i_Charge = 0; }

                #endregion
            }

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 10
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    static ArrayList Check_Condition(string s_Type, string[] s_Array_ServerString)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 頁籤=通路繳款-專案代收

        if (s_Type == "0")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[2], "欄位[營業日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[3], "欄位[營業日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[4], "欄位[交易日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[5], "欄位[交易日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[18], "欄位[建立日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[19], "欄位[建立日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[21], "欄位[維護日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[22], "欄位[維護日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[9], "欄位[交易金額]數字格式錯誤", "32", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查欄位輸入的代號是否正確

            if (s_Array_ServerString[26] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[客戶編號]開始欄位輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[27] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[客戶編號]結束欄位輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[28] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店群]開始欄位輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[29] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店群]結束欄位輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[30] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[建立人員]輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[31] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[維護人員]輸入的代號不正確", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[營業日期]

            if (s_Array_ServerString[2] != string.Empty ||
                s_Array_ServerString[3] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "營業日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "date",
                     "欄位[營業日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[交易日期]

            if (s_Array_ServerString[4] != string.Empty ||
                s_Array_ServerString[5] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "交易日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "date",
                     "欄位[交易日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[交易序號]

            if (s_Array_ServerString[6] != string.Empty ||
                s_Array_ServerString[7] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "交易序號",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "string",
                     "欄位[交易序號]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[客戶編號]

            if (s_Array_ServerString[10] != string.Empty ||
                s_Array_ServerString[11] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[10],
                     s_Array_ServerString[11],
                     "客戶編號",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[10],
                     s_Array_ServerString[11],
                     "string",
                     "欄位[客戶編號]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[繳款識別碼]

            if (s_Array_ServerString[12] != string.Empty ||
                s_Array_ServerString[13] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[12],
                     s_Array_ServerString[13],
                     "繳款識別碼",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[12],
                     s_Array_ServerString[13],
                     "string",
                     "欄位[繳款識別碼]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[店群]

            if (s_Array_ServerString[14] != string.Empty ||
                s_Array_ServerString[15] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[14],
                     s_Array_ServerString[15],
                     "店群",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[14],
                     s_Array_ServerString[15],
                     "string",
                     "欄位[店群]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[收款單號]

            if (s_Array_ServerString[16] != string.Empty ||
                s_Array_ServerString[17] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[16],
                     s_Array_ServerString[17],
                     "收款單號",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[16],
                     s_Array_ServerString[17],
                     "string",
                     "欄位[收款單號]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[建立日期]

            if (s_Array_ServerString[18] != string.Empty ||
                s_Array_ServerString[19] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[18],
                     s_Array_ServerString[19],
                     "建立日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[18],
                     s_Array_ServerString[19],
                     "date",
                     "欄位[建立日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[維護日期]

            if (s_Array_ServerString[21] != string.Empty ||
                s_Array_ServerString[22] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[21],
                     s_Array_ServerString[22],
                     "維護日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[21],
                     s_Array_ServerString[22],
                     "date",
                     "欄位[維護日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion
        }

        #endregion

        #region 頁籤=專案代收明細表

        else if (s_Type == "2")
        {
            #region 檢查必填欄位

            if (s_Array_ServerString[2] == string.Empty && s_Array_ServerString[3] == string.Empty &&
                s_Array_ServerString[4] == string.Empty && s_Array_ServerString[5] == string.Empty &&
                s_Array_ServerString[6] == string.Empty && s_Array_ServerString[7] == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業日期][交易日期][收款單號日期]必須擇一輸入", "1", string.Empty); }

            #endregion

            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[2], "欄位[營業日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[3], "欄位[營業日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[4], "欄位[交易日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[5], "欄位[交易日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[6], "欄位[收款單號日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[7], "欄位[收款單號日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查欄位輸入的代號是否正確

            if (s_Array_ServerString[11] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[帳務人員]開始欄位輸入的代號不正確", "1", string.Empty); }

            if (s_Array_ServerString[12] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[帳務人員]結束欄位輸入的代號不正確", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[營業日期]

            if (s_Array_ServerString[2] != string.Empty ||
                s_Array_ServerString[3] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "營業日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "date",
                     "欄位[營業日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[交易日期]

            if (s_Array_ServerString[4] != string.Empty ||
                s_Array_ServerString[5] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "交易日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "date",
                     "欄位[交易日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[收款單號日期]

            if (s_Array_ServerString[6] != string.Empty ||
                s_Array_ServerString[7] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "收款單號日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "date",
                     "欄位[收款單號日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[帳務人員]

            if (s_Array_ServerString[9] != string.Empty ||
                s_Array_ServerString[10] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[9],
                     s_Array_ServerString[10],
                     "帳務人員",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[9],
                     s_Array_ServerString[10],
                     "string",
                     "欄位[帳務人員]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 11
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region BUTTON [確定匯入]

        if (s_Type == "BUTTON [確定匯入]")
        {
            #region 自訂檢查

            TextBox txt_UP11 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP11");//處理總筆數
            TextBox txt_UP12 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP12");//成功筆數
            TextBox txt_UP13 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP13");//異常筆數

            int i_Total_Count = int.Parse(txt_UP11.Text);
            int i_Success_Count = int.Parse(txt_UP12.Text);
            int i_Failure_Count = int.Parse(txt_UP13.Text);

            //20110211 Rika 因應沖正資料問題修改
            if (i_Failure_Count >0 ) 
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "上傳檔案有誤,不可匯入", "1", string.Empty); }

            #endregion
        }

        #endregion

        #region BUTTON [解除月結]

        else if (s_Type == "BUTTON [月結]" ||
                 s_Type == "BUTTON [解除月結]")
        {
            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_YearMonth.Text, "欄位[月結月份]年月格式錯誤", "1", this.slp_YearMonth.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_YearMonth.Text, "text", "欄位[月結月份]為必填欄位", "1", this.slp_YearMonth.TextBoxCode_Object.ClientID, arl_Return);

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 12
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    static ArrayList Check_Condition(string[] s_Array_ServerString)
    {
        #region 宣告

        BCO_CAA.CAACommon CAAComm = new BCO_CAA.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查必填欄位

        if (s_Array_ServerString[1] == string.Empty && s_Array_ServerString[2] == string.Empty &&
            s_Array_ServerString[3] == string.Empty && s_Array_ServerString[4] == string.Empty &&
            s_Array_ServerString[5] == string.Empty && s_Array_ServerString[6] == string.Empty)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月][入帳日期][簽收日期]必須擇一輸入", "1", string.Empty); }

        if (s_Array_ServerString[21] == string.Empty)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[狀態]必須擇一輸入", "1", string.Empty); }

        #endregion

        #region 檢查SLP年月格式

        arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[1], "欄位[結帳年月]開始欄位年月格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[2], "欄位[結帳年月]結束欄位年月格式錯誤", "1", string.Empty, arl_Return);

        #endregion

        #region 檢查SLP日期格式

        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[3], "欄位[入帳日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[4], "欄位[入帳日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[5], "欄位[簽收日期 ]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[6], "欄位[簽收日期 ]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查Between欄位

        #region 欄位[結帳年月]

        if (s_Array_ServerString[1] != string.Empty ||
            s_Array_ServerString[2] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "結帳年月",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "string",
                 "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[入帳日期]

        if (s_Array_ServerString[3] != string.Empty ||
            s_Array_ServerString[4] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[3],
                 s_Array_ServerString[4],
                 "入帳日期",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[3],
                 s_Array_ServerString[4],
                 "date",
                 "欄位[入帳日期]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[簽收日期]

        if (s_Array_ServerString[5] != string.Empty ||
            s_Array_ServerString[6] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[5],
                 s_Array_ServerString[6],
                 "簽收日期",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[5],
                 s_Array_ServerString[6],
                 "date",
                 "欄位[簽收日期]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[店群]

        if (s_Array_ServerString[7] != string.Empty ||
            s_Array_ServerString[8] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[7],
                 s_Array_ServerString[8],
                 "店群",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[7],
                 s_Array_ServerString[8],
                 "string",
                 "欄位[店群]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[通路]

        if (s_Array_ServerString[9] != string.Empty ||
            s_Array_ServerString[10] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[9],
                 s_Array_ServerString[10],
                 "通路",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[9],
                 s_Array_ServerString[10],
                 "string",
                 "欄位[通路]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[店號]

        if (s_Array_ServerString[11] != string.Empty ||
            s_Array_ServerString[12] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[11],
                 s_Array_ServerString[12],
                 "店號",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[11],
                 s_Array_ServerString[12],
                 "string",
                 "欄位[店號]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[結帳統編]

        if (s_Array_ServerString[13] != string.Empty ||
            s_Array_ServerString[14] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[13],
                 s_Array_ServerString[14],
                 "結帳統編",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[13],
                 s_Array_ServerString[14],
                 "string",
                 "欄位[結帳統編]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[供應商代號]

        if (s_Array_ServerString[15] != string.Empty ||
            s_Array_ServerString[16] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[15],
                 s_Array_ServerString[16],
                 "供應商代號",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[15],
                 s_Array_ServerString[16],
                 "string",
                 "欄位[供應商代號]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[品號]

        if (s_Array_ServerString[17] != string.Empty ||
            s_Array_ServerString[18] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[17],
                 s_Array_ServerString[18],
                 "品號",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[17],
                 s_Array_ServerString[18],
                 "string",
                 "欄位[品號]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[期別]

        if (s_Array_ServerString[19] != string.Empty ||
            s_Array_ServerString[20] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[19],
                 s_Array_ServerString[20],
                 "期別",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[19],
                 s_Array_ServerString[20],
                 "string",
                 "欄位[期別]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[群分類]

        if (s_Array_ServerString[22] != string.Empty ||
            s_Array_ServerString[23] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[22],
                 s_Array_ServerString[23],
                 "群分類",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[22],
                 s_Array_ServerString[23],
                 "string",
                 "欄位[群分類]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[大分類]

        if (s_Array_ServerString[24] != string.Empty ||
            s_Array_ServerString[25] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[24],
                 s_Array_ServerString[25],
                 "大分類",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[24],
                 s_Array_ServerString[25],
                 "string",
                 "欄位[大分類]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[中分類]

        if (s_Array_ServerString[26] != string.Empty ||
            s_Array_ServerString[27] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[26],
                 s_Array_ServerString[27],
                 "中分類",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[26],
                 s_Array_ServerString[27],
                 "string",
                 "欄位[中分類]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #endregion

        return arl_Return;
    }
Ejemplo n.º 13
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    static ArrayList Check_Condition(string[] s_Array_ServerString)
    {
        #region 宣告

        BCO_CAA.CAACommon CAAComm = new BCO_CAA.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查SLP日期格式

        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[1], "欄位[調撥日期 ]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[2], "欄位[調撥日期 ]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

        #endregion

        #region 檢查必填欄位

        if (s_Array_ServerString[4] == string.Empty && s_Array_ServerString[5] == string.Empty &&
            s_Array_ServerString[6] == string.Empty && s_Array_ServerString[7] == string.Empty &&
            s_Array_ServerString[8] == string.Empty && s_Array_ServerString[9] == string.Empty)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店群][店號][營業所][帳務人員]必須擇一輸入", "1", string.Empty); }

        if (s_Array_ServerString[16] == string.Empty)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[筆數]要輸入", "1", string.Empty); }

        if (s_Array_ServerString[16] != string.Empty && int.Parse(s_Array_ServerString[16]) < 1)
        {
            arl_Return[0] = string.Empty;
            arl_Return[1] = "[筆數]要大於零<br/>";
        }

        #endregion


        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查Between欄位

        #region 欄位[調撥日期]

        if (s_Array_ServerString[1] != string.Empty || s_Array_ServerString[2] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "調撥日期",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "date",
                 "欄位[調撥日期]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[店群]

        if (s_Array_ServerString[4] != string.Empty ||
            s_Array_ServerString[5] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[4],
                 s_Array_ServerString[5],
                 "店群",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[4],
                 s_Array_ServerString[5],
                 "string",
                 "欄位[店群]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[營業所]

        if (s_Array_ServerString[7] != string.Empty ||
            s_Array_ServerString[8] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[7],
                 s_Array_ServerString[8],
                 "營業所",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[7],
                 s_Array_ServerString[8],
                 "string",
                 "欄位[營業所]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[品號]

        if (s_Array_ServerString[12] != string.Empty ||
            s_Array_ServerString[13] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[12],
                 s_Array_ServerString[13],
                 "品號",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[12],
                 s_Array_ServerString[13],
                 "string",
                 "欄位[品號]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[期別]

        if (s_Array_ServerString[14] != string.Empty ||
            s_Array_ServerString[15] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[14],
                 s_Array_ServerString[15],
                 "期別",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[14],
                 s_Array_ServerString[15],
                 "string",
                 "欄位[期別]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #endregion

        return arl_Return;
    }
Ejemplo n.º 14
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    static ArrayList Check_Condition(string s_Type, string[] s_Array_ServerString)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 頁籤=銷貨折讓維護

        if (s_Type == "0")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[13], "欄位[折讓日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[14], "欄位[折讓日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[16], "欄位[異動折讓日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[17], "欄位[異動折讓日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[19], "欄位[憑證已回日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[20], "欄位[憑證已回日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[25], "欄位[作廢日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[26], "欄位[作廢日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[28], "欄位[申報日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[29], "欄位[申報日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[31], "欄位[暫收日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[32], "欄位[暫收日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[36], "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[38], "欄位[折讓稅額]數字格式錯誤", "32", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[40], "欄位[總金額]數字格式錯誤", "32", "1", string.Empty, arl_Return);

            //20110505 rika insert
            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[48], "欄位[累積沖帳金額]數字格式錯誤", "32", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[50], "欄位[折讓餘額]數字格式錯誤", "32", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[42], "欄位[結帳年月起]年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[43], "欄位[結帳年月迄]年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[44], "欄位[結帳年月-財會起]年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[45], "欄位[結帳年月-財會迄]年月格式錯誤", "1", string.Empty, arl_Return);

            //20110506 rika insert
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[46], "欄位[申報期別起]年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[47], "欄位[申報期別迄]年月格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[折讓日期]

            if (s_Array_ServerString[13] != string.Empty ||
                s_Array_ServerString[14] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[13],
                     s_Array_ServerString[14],
                     "折讓日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[13],
                     s_Array_ServerString[14],
                     "date",
                     "欄位[折讓日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[異動折讓日期]

            if (s_Array_ServerString[16] != string.Empty ||
                s_Array_ServerString[17] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[16],
                     s_Array_ServerString[17],
                     "異動折讓日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[16],
                     s_Array_ServerString[17],
                     "date",
                     "欄位[異動折讓日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[憑證已回日期]

            if (s_Array_ServerString[19] != string.Empty ||
                s_Array_ServerString[20] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[19],
                     s_Array_ServerString[20],
                     "憑證已回日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[19],
                     s_Array_ServerString[20],
                     "date",
                     "欄位[憑證已回日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[作廢日期]

            if (s_Array_ServerString[25] != string.Empty ||
                s_Array_ServerString[26] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[25],
                     s_Array_ServerString[26],
                     "作廢日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[25],
                     s_Array_ServerString[26],
                     "date",
                     "欄位[作廢日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報日期]

            if (s_Array_ServerString[28] != string.Empty ||
                s_Array_ServerString[29] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[28],
                     s_Array_ServerString[29],
                     "申報日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[28],
                     s_Array_ServerString[29],
                     "date",
                     "欄位[申報日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }


            #endregion

            #region 欄位[暫收日期]

            if (s_Array_ServerString[31] != string.Empty ||
                s_Array_ServerString[32] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[31],
                     s_Array_ServerString[32],
                     "暫收日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[31],
                     s_Array_ServerString[32],
                     "date",
                     "欄位[暫收日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報期別] 20110505 RIKA INSERT

            if (s_Array_ServerString[46] != string.Empty ||
                s_Array_ServerString[47] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[46],
                     s_Array_ServerString[47],
                     "申報期別",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[46],
                     s_Array_ServerString[47],
                     "string",
                     "欄位[申報期別]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月] 20110414 RIKA INSERT

            if (s_Array_ServerString[42] != string.Empty ||
                s_Array_ServerString[43] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[42],
                     s_Array_ServerString[43],
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[42],
                     s_Array_ServerString[43],
                     "string",
                     "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月-財會] 20110414 RIKA INSERT

            if (s_Array_ServerString[44] != string.Empty ||
                s_Array_ServerString[45] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[44],
                     s_Array_ServerString[45],
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[44],
                     s_Array_ServerString[45],
                     "string",
                     "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion


            #endregion

        }

        #endregion

        #region 頁籤=發票折抵明細查詢

        else if (s_Type == "1")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[3], "欄位[發票日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[4], "欄位[發票日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[8], "欄位[發票金額(未稅)]數字格式錯誤", "32", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(s_Array_ServerString[10], "欄位[發票稅額]數字格式錯誤", "32", "1", string.Empty, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion


            #region 檢查Between欄位

            #region 欄位[發票日期]

            if (s_Array_ServerString[3] != string.Empty ||
                s_Array_ServerString[4] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[3],
                     s_Array_ServerString[4],
                     "發票日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[3],
                     s_Array_ServerString[4],
                     "date",
                     "欄位[發票日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion

        }

        #endregion

        #region 頁籤=報表

        else if (s_Type == "2")
        {
            #region 檢查必填欄位

            if (s_Array_ServerString[2] == string.Empty && s_Array_ServerString[3] == string.Empty && s_Array_ServerString[4] == string.Empty &&
                s_Array_ServerString[5] == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月][結帳年月-財會]必須擇一輸入", "1", string.Empty); }

            #endregion

            #region 檢查SLP日期格式

            //20110512 rika insert
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[25], "欄位[申報日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[26], "欄位[申報日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[2], "欄位[結帳年月]起年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[3], "欄位[結帳年月]迄年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[4], "欄位[結帳年月-財會]起年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[5], "欄位[結帳年月-財會]迄年月格式錯誤", "1", string.Empty, arl_Return);

            //20110512 rika insert
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[27], "欄位[申報期別起]年月格式錯誤", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(s_Array_ServerString[28], "欄位[申報期別迄]年月格式錯誤", "1", string.Empty, arl_Return);


            #endregion

            #region 檢查輸入代號是否正確

            if (s_Array_ServerString[19] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[利潤中心]開始欄位輸入的代號不正確", "1", string.Empty); }
            if (s_Array_ServerString[20] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[利潤中心]結束欄位輸入的代號不正確", "1", string.Empty); }
            if (s_Array_ServerString[21] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業所]開始欄位輸入的代號不正確", "1", string.Empty); }
            if (s_Array_ServerString[22] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業所]結束欄位輸入的代號不正確", "1", string.Empty); }
            if (s_Array_ServerString[23] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[帳務人員]開始欄位輸入的代號不正確", "1", string.Empty); }
            if (s_Array_ServerString[24] == "查無資料")
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[帳務人員]結束欄位輸入的代號不正確", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[利潤中心]

            if (s_Array_ServerString[6] != string.Empty ||
                s_Array_ServerString[7] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "利潤中心",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[6],
                     s_Array_ServerString[7],
                     "string",
                     "欄位[利潤中心]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[營業所]

            if (s_Array_ServerString[8] != string.Empty ||
                s_Array_ServerString[9] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[8],
                     s_Array_ServerString[9],
                     "營業所",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[8],
                     s_Array_ServerString[9],
                     "string",
                     "欄位[營業所]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[帳務人員]

            if (s_Array_ServerString[10] != string.Empty ||
                s_Array_ServerString[11] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[10],
                     s_Array_ServerString[11],
                     "帳務人員",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[10],
                     s_Array_ServerString[11],
                     "string",
                     "欄位[帳務人員]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報日期] 20110512 rika insert

            if (s_Array_ServerString[25] != string.Empty ||
                s_Array_ServerString[26] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[25],
                     s_Array_ServerString[26],
                     "申報日期",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[25],
                     s_Array_ServerString[26],
                     "date",
                     "欄位[申報日期]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }


            #endregion

            #region 欄位[申報期別] 20110512 RIKA INSERT

            if (s_Array_ServerString[27] != string.Empty ||
                s_Array_ServerString[28] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[27],
                     s_Array_ServerString[28],
                     "申報期別",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[27],
                     s_Array_ServerString[28],
                     "string",
                     "欄位[申報期別]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月] 20110520 RIKA INSERT

            if (s_Array_ServerString[2] != string.Empty ||
                s_Array_ServerString[3] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[2],
                     s_Array_ServerString[3],
                     "string",
                     "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月-財會] 20110520 RIKA INSERT

            if (s_Array_ServerString[4] != string.Empty ||
                s_Array_ServerString[5] != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "結帳年月-財會",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (s_Array_ServerString[4],
                     s_Array_ServerString[5],
                     "string",
                     "欄位[結帳年月-財會]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion            
            
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 15
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region TAB1的檢查

        if (s_Type == "TAB1")
        {
            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_tab1_DATE_B.Text, "text", "欄位[起迄年月]開始欄位為必填欄位", "1", this.slp_tab1_DATE_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_tab1_DATE_E.Text, "text", "欄位[起迄年月]結束欄位為必填欄位", "1", this.slp_tab1_DATE_E.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_tab1_DATE_B.Text, "欄位[起迄年月]開始欄位年月格式錯誤", "1", this.slp_tab1_DATE_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_tab1_DATE_E.Text, "欄位[起迄年月]結束欄位年月格式錯誤", "1", this.slp_tab1_DATE_E.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查Between欄位

            #region 欄位[起迄年月]

            if (this.slp_tab1_DATE_B.Text != string.Empty &&
                this.slp_tab1_DATE_E.Text != string.Empty)
            {
                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_tab1_DATE_B.Text,
                    this.slp_tab1_DATE_E.Text,
                    "string",
                    "欄位[起迄年月]結束欄位一定要大於或等於開始欄位",
                    "1",
                    this.slp_tab1_DATE_E.TextBoxCode_Object.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #endregion
        }

        #endregion

        #region BUTTON [確定匯入]

        else if (s_Type == "BUTTON [確定匯入]")
        {
            #region 自訂檢查

            TextBox txt_UP11 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP11");//處理總筆數
            TextBox txt_UP12 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP12");//成功筆數
            TextBox txt_UP13 = (TextBox)this.UploadStatusPanel1.FindControl("txtUP13");//異常筆數

            int i_Total_Count = int.Parse(txt_UP11.Text);
            int i_Success_Count = int.Parse(txt_UP12.Text);
            int i_Failure_Count = int.Parse(txt_UP13.Text);

            if (((i_Total_Count == i_Success_Count) &&
               (i_Failure_Count == 0)) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "上傳檔案有誤,不可匯入", "1", string.Empty); }

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 16
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region SLP轉型

        #region TAB 銷貨折讓維護

        TextBox txt_DISC_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_DISC_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[折讓日期]起
        TextBox txt_DISC_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_DISC_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[折讓日期]迄
        TextBox txt_CHG_DISC_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CHG_DISC_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[異動折讓日期]起
        TextBox txt_CHG_DISC_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CHG_DISC_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[異動折讓日期]迄
        TextBox txt_PROOF_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_PROOF_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[憑證已回日期]起
        TextBox txt_PROOF_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_PROOF_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[憑證已回日期]迄
        TextBox txt_CANCEL_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CANCEL_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[作廢日期]起
        TextBox txt_CANCEL_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_CANCEL_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[作廢日期]迄
        TextBox txt_PERIOD_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_PERIOD_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[申報日期]起
        TextBox txt_PERIOD_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_PERIOD_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[申報日期]迄
        TextBox txt_TEMPORAL_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_TEMPORAL_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[暫收日期]起
        TextBox txt_TEMPORAL_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_TEMPORAL_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[暫收日期]迄
        TextBox txt_DISC_UAMT = (TextBox)this.slp_DISC_UAMT.FindControl("TextBoxCode");//折讓金額(未稅)
        TextBox txt_DISC_TAX = (TextBox)this.slp_DISC_TAX.FindControl("TextBoxCode");//折讓稅額
        TextBox txt_DISC_AMT = (TextBox)this.slp_DISC_AMT.FindControl("TextBoxCode");//總金額
        TextBox txt_DISC_WASH_AMT = (TextBox)this.slp_DISC_WASH_AMT.FindControl("TextBoxCode");//累積沖帳金額
        TextBox txt_DISC_REMAIN_AMT = (TextBox)this.slp_DISC_REMAIN_AMT.FindControl("TextBoxCode");//折讓餘額
        DropDownList drop_DISC_FORM = (DropDownList)this.slp_DISC_FORM.FindControl("D1");//格式代號
        DropDownList drop_DISC_SOURCE = (DropDownList)this.slp_DISC_SOURCE.FindControl("D1");//來源
        DropDownList drop_DISC_TYPE = (DropDownList)this.slp_DISC_TYPE.FindControl("D1");//型式

        #endregion

        #region TAB 發票折抵明細查詢

        TextBox txt_2_INV_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_2_INV_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[發票日期]起
        TextBox txt_2_INV_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_2_INV_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[發票日期]迄
        TextBox txt_2_INV_UAMT = (TextBox)this.slp_2_INV_UAMT.FindControl("TextBoxCode");//發票金額(未稅)
        TextBox txt_2_INV_TAX = (TextBox)this.slp_2_INV_TAX.FindControl("TextBoxCode");//發票稅額(未稅)

        #endregion

        #region TAB 報表

        TextBox txt_3_PERIOD_DATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_3_PERIOD_DATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[申報日期]起
        TextBox txt_3_PERIOD_DATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_3_PERIOD_DATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[申報日期]迄

        #endregion

        #endregion

        #region BUTTON [查詢]鈕

        #region TAB 銷貨折讓維護

        if (s_Type == "BUTTON [查詢]鈕 TAB 銷貨折讓維護")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_DISC_DATE.StartDate, "欄位[折讓日期]開始欄位日期格式錯誤", "1", txt_DISC_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_DISC_DATE.EndDate, "欄位[折讓日期]結束欄位日期格式錯誤", "1", txt_DISC_DATE_E.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.StartDate, "欄位[異動折讓日期]開始欄位日期格式錯誤", "1", txt_CHG_DISC_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CHG_DISC_DATE.EndDate, "欄位[異動折讓日期]結束欄位日期格式錯誤", "1", txt_CHG_DISC_DATE_E.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PROOF_DATE.StartDate, "欄位[憑證已回日期]開始欄位日期格式錯誤", "1", txt_PROOF_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PROOF_DATE.EndDate, "欄位[憑證已回日期]結束欄位日期格式錯誤", "1", txt_PROOF_DATE_E.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CANCEL_DATE.StartDate, "欄位[作廢日期]開始欄位日期格式錯誤", "1", txt_CANCEL_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_CANCEL_DATE.EndDate, "欄位[作廢日期]結束欄位日期格式錯誤", "1", txt_CANCEL_DATE_E.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PERIOD_DATE.StartDate, "欄位[申報日期]開始欄位日期格式錯誤", "1", txt_PERIOD_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_PERIOD_DATE.EndDate, "欄位[申報日期]結束欄位日期格式錯誤", "1", txt_PERIOD_DATE_E.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMPORAL_DATE.StartDate, "欄位[暫收日期]開始欄位日期格式錯誤", "1", txt_TEMPORAL_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_TEMPORAL_DATE.EndDate, "欄位[暫收日期]結束欄位日期格式錯誤", "1", txt_TEMPORAL_DATE_E.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_UAMT.Text, "欄位[折讓金額(未稅)]數字格式錯誤", "32", "1", txt_DISC_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_TAX.Text, "欄位[折讓稅額]數字格式錯誤", "32", "1", txt_DISC_TAX.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_AMT.Text, "欄位[總金額]數字格式錯誤", "32", "1", txt_DISC_AMT.ClientID, arl_Return);

            //20110505 rika insert
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_WASH_AMT.Text, "欄位[累積沖帳金額]數字格式錯誤", "32", "1", txt_DISC_WASH_AMT.ClientID, arl_Return); 
            arl_Return = CAAComm.Check_Format_Int(this.slp_DISC_REMAIN_AMT.Text, "欄位[折讓餘額]數字格式錯誤", "32", "1", txt_DISC_REMAIN_AMT.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式 20110505 rika insert

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_PERIOD_MONTH_B.Text, "欄位[申報期別]年月格式錯誤", "1", this.slp_PERIOD_MONTH_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_PERIOD_MONTH_E.Text, "欄位[申報期別]年月格式錯誤", "1", this.slp_PERIOD_MONTH_E.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_B.Text, "欄位[結帳年月]年月起格式錯誤", "1", this.slp_CLOSE_MONTH_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_E.Text, "欄位[結帳年月]年月迄格式錯誤", "1", this.slp_CLOSE_MONTH_E.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_ACCT_B.Text, "欄位[結帳年月-財會]起年月格式錯誤", "1", this.slp_CLOSE_MONTH_ACCT_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_CLOSE_MONTH_ACCT_E.Text, "欄位[結帳年月-財會]迄年月格式錯誤", "1", this.slp_CLOSE_MONTH_ACCT_E.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查List欄位的選擇狀態

            if (drop_DISC_FORM.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[格式代號]請選擇一選項", "1", string.Empty); }

            if (drop_DISC_SOURCE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[來源]請選擇一選項", "1", string.Empty); }

            if (drop_DISC_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[型式]請選擇一選項", "1", string.Empty); }

            if (this.slp_TAX_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[稅別]請選擇一選項", "1", string.Empty); }

            if (this.radl_PROOF_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[憑證已回]請選擇一選項", "1", string.Empty); }

            if (this.radl_REPROOF_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[取具進項憑証]請選擇一選項", "1", string.Empty); }

            if (this.radl_CANCEL_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[作廢]請選擇一選項", "1", string.Empty); }

            if (this.radl_PERIOD_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[申報]請選擇一選項", "1", string.Empty); }

            if (this.radl_TEMPORAL_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[轉暫收]請選擇一選項", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[折讓日期]

            if (this.slp_DISC_DATE.StartDate != string.Empty ||
                this.slp_DISC_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_DISC_DATE.StartDate,
                    this.slp_DISC_DATE.EndDate,
                    "折讓日期",
                    "1",
                    txt_DISC_DATE_B.ClientID,
                    txt_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_DISC_DATE.StartDate,
                    this.slp_DISC_DATE.EndDate,
                    "date",
                    "欄位[折讓日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[異動折讓日期]

            if (this.slp_CHG_DISC_DATE.StartDate != string.Empty ||
                this.slp_CHG_DISC_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_CHG_DISC_DATE.StartDate,
                    this.slp_CHG_DISC_DATE.EndDate,
                    "異動折讓日期",
                    "1",
                    txt_CHG_DISC_DATE_B.ClientID,
                    txt_CHG_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_CHG_DISC_DATE.StartDate,
                    this.slp_CHG_DISC_DATE.EndDate,
                    "date",
                    "欄位[異動折讓日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_CHG_DISC_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[憑證已回日期]

            if (this.slp_PROOF_DATE.StartDate != string.Empty ||
                this.slp_PROOF_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_PROOF_DATE.StartDate,
                    this.slp_PROOF_DATE.EndDate,
                    "憑證已回日期",
                    "1",
                    txt_PROOF_DATE_B.ClientID,
                    txt_PROOF_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_PROOF_DATE.StartDate,
                    this.slp_PROOF_DATE.EndDate,
                    "date",
                    "欄位[憑證已回日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_PROOF_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[作廢日期]

            if (this.slp_CANCEL_DATE.StartDate != string.Empty ||
                this.slp_CANCEL_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_CANCEL_DATE.StartDate,
                    this.slp_CANCEL_DATE.EndDate,
                    "作廢日期",
                    "1",
                    txt_CANCEL_DATE_B.ClientID,
                    txt_CANCEL_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_CANCEL_DATE.StartDate,
                    this.slp_CANCEL_DATE.EndDate,
                    "date",
                    "欄位[作廢日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_CANCEL_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報日期]

            if (this.slp_PERIOD_DATE.StartDate != string.Empty ||
                this.slp_PERIOD_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_PERIOD_DATE.StartDate,
                    this.slp_PERIOD_DATE.EndDate,
                    "申報日期",
                    "1",
                    txt_PERIOD_DATE_B.ClientID,
                    txt_PERIOD_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_PERIOD_DATE.StartDate,
                    this.slp_PERIOD_DATE.EndDate,
                    "date",
                    "欄位[申報日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_PERIOD_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[暫收日期]

            if (this.slp_TEMPORAL_DATE.StartDate != string.Empty ||
                this.slp_TEMPORAL_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_TEMPORAL_DATE.StartDate,
                    this.slp_TEMPORAL_DATE.EndDate,
                    "暫收日期",
                    "1",
                    txt_TEMPORAL_DATE_B.ClientID,
                    txt_TEMPORAL_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_TEMPORAL_DATE.StartDate,
                    this.slp_TEMPORAL_DATE.EndDate,
                    "date",
                    "欄位[暫收日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_TEMPORAL_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報期別] 20110505 RIKA INSERT

            if (this.slp_PERIOD_MONTH_B.Text != string.Empty ||
                this.slp_PERIOD_MONTH_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_PERIOD_MONTH_B.Text,
                     this.slp_PERIOD_MONTH_E.Text,
                     "申報期別",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_PERIOD_MONTH_B.Text,
                     this.slp_PERIOD_MONTH_E.Text,
                     "string",
                     "欄位[申報期別]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月] 20110414 RIKA INSERT

            if (this.slp_CLOSE_MONTH_B.Text != string.Empty ||
                this.slp_CLOSE_MONTH_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_CLOSE_MONTH_B.Text,
                     this.slp_CLOSE_MONTH_E.Text,
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_CLOSE_MONTH_B.Text,
                     this.slp_CLOSE_MONTH_E.Text,
                     "string",
                     "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月-財會] 20110414 RIKA INSERT

            if (this.slp_CLOSE_MONTH_ACCT_B.Text != string.Empty ||
                this.slp_CLOSE_MONTH_ACCT_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_CLOSE_MONTH_ACCT_B.Text,
                     this.slp_CLOSE_MONTH_ACCT_E.Text,
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_CLOSE_MONTH_ACCT_B.Text,
                     this.slp_CLOSE_MONTH_ACCT_E.Text,
                     "string",
                     "欄位[結帳年月-財會]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion

        }

        #endregion

        #region TAB 發票折抵明細查詢

        else if (s_Type == "BUTTON [查詢]鈕 TAB 發票折抵明細查詢")
        {
            #region 檢查SLP日期格式

            arl_Return = CAAComm.Check_Format_Date(this.slp_2_INV_DATE.StartDate, "欄位[發票日期]開始欄位日期格式錯誤", "1", txt_2_INV_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_2_INV_DATE.EndDate, "欄位[發票日期]結束欄位日期格式錯誤", "1", txt_2_INV_DATE_E.ClientID, arl_Return);

            #endregion

            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.slp_2_INV_UAMT.Text, "欄位[發票金額(未稅)]數字格式錯誤", "32", "1", txt_2_INV_UAMT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Int(this.slp_2_INV_TAX.Text, "欄位[發票稅額]數字格式錯誤", "32", "1", txt_2_INV_TAX.ClientID, arl_Return);

            #endregion

            #region 檢查List欄位的選擇狀態

            if (this.slp_2_TAX_TYPE.SelectedIndex < 0)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[發票稅別]請選擇一選項", "1", string.Empty); }

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[發票日期]

            if (this.slp_2_INV_DATE.StartDate != string.Empty ||
                this.slp_2_INV_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_2_INV_DATE.StartDate,
                    this.slp_2_INV_DATE.EndDate,
                    "發票日期",
                    "1",
                    txt_2_INV_DATE_B.ClientID,
                    txt_2_INV_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_2_INV_DATE.StartDate,
                    this.slp_2_INV_DATE.EndDate,
                    "date",
                    "欄位[發票日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_2_INV_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #endregion

        }

        #endregion

        #endregion

        #region TAB 報表

        if (s_Type == "TAB 報表")
        {
            #region 檢查必填欄位

            if (this.slp_3_CLOSE_MONTH_B.Text == string.Empty && this.slp_3_CLOSE_MONTH_E.Text == string.Empty &&
                this.slp_3_CLOSE_MONTH_ACCT_B.Text == string.Empty && this.slp_3_CLOSE_MONTH_ACCT_E.Text == string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[結帳年月][結帳年月-財會]必須擇一輸入", "1", this.slp_3_CLOSE_MONTH_B.TextBoxCode_Object.ClientID); }

            #endregion

            #region 檢查SLP日期格式 20110512 rika insert

            arl_Return = CAAComm.Check_Format_Date(this.slp_3_PERIOD_DATE.StartDate, "欄位[申報日期]開始欄位日期格式錯誤", "1", txt_3_PERIOD_DATE_B.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_Date(this.slp_3_PERIOD_DATE.EndDate, "欄位[申報日期]結束欄位日期格式錯誤", "1", txt_3_PERIOD_DATE_E.ClientID, arl_Return);

            #endregion


            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_CLOSE_MONTH_B.Text, "欄位[結帳年月]起年月格式錯誤", "1", this.slp_3_CLOSE_MONTH_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_CLOSE_MONTH_E.Text, "欄位[結帳年月]迄年月格式錯誤", "1", this.slp_3_CLOSE_MONTH_E.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_CLOSE_MONTH_ACCT_B.Text, "欄位[結帳年月-財會]起年月格式錯誤", "1", this.slp_3_CLOSE_MONTH_ACCT_B.TextBoxCode_Object.ClientID, arl_Return);           
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_CLOSE_MONTH_ACCT_E.Text, "欄位[結帳年月-財會]迄年月格式錯誤", "1", this.slp_3_CLOSE_MONTH_ACCT_E.TextBoxCode_Object.ClientID, arl_Return);

            //20110505 rika insert
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_PERIOD_MONTH_B.Text, "欄位[申報期別]年月格式錯誤", "1", this.slp_3_PERIOD_MONTH_B.TextBoxCode_Object.ClientID, arl_Return);
            arl_Return = CAAComm.Check_Format_YearMonth(this.slp_3_PERIOD_MONTH_E.Text, "欄位[申報期別]年月格式錯誤", "1", this.slp_3_PERIOD_MONTH_E.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 檢查Between欄位

            #region 欄位[利潤中心]

            if (this.slp_3_PROFIT_NO_B.Text != string.Empty ||
                this.slp_3_PROFIT_NO_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_3_PROFIT_NO_B.Text,
                     this.slp_3_PROFIT_NO_E.Text,
                     "利潤中心",
                     "1",
                     this.slp_3_PROFIT_NO_B.TextBox_Code.ClientID,
                     this.slp_3_PROFIT_NO_E.TextBox_Code.ClientID,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_3_PROFIT_NO_B.Text,
                     this.slp_3_PROFIT_NO_E.Text,
                     "string",
                     "欄位[利潤中心]結束欄位一定要大於或等於開始欄位",
                     "1",
                     this.slp_3_PROFIT_NO_E.TextBox_Code.ClientID,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報日期] 20110512 rika insert

            if (this.slp_3_PERIOD_DATE.StartDate != string.Empty ||
                this.slp_3_PERIOD_DATE.EndDate != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_3_PERIOD_DATE.StartDate,
                    this.slp_3_PERIOD_DATE.EndDate,
                    "申報日期",
                    "1",
                    txt_3_PERIOD_DATE_B.ClientID,
                    txt_3_PERIOD_DATE_E.ClientID,
                    arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_3_PERIOD_DATE.StartDate,
                    this.slp_3_PERIOD_DATE.EndDate,
                    "date",
                    "欄位[申報日期]結束欄位一定要大於或等於開始欄位",
                    "1",
                    txt_3_PERIOD_DATE_E.ClientID,
                    arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[申報期別] 20110512 RIKA INSERT

            if (this.slp_3_PERIOD_MONTH_B.Text != string.Empty ||
                this.slp_3_PERIOD_MONTH_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_3_PERIOD_MONTH_B.Text,
                     this.slp_3_PERIOD_MONTH_E.Text,
                     "申報期別",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_3_PERIOD_MONTH_B.Text,
                     this.slp_3_PERIOD_MONTH_E.Text,
                     "string",
                     "欄位[申報期別]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月] 20110520 RIKA INSERT

            if (this.slp_3_CLOSE_MONTH_B.Text != string.Empty ||
                this.slp_3_CLOSE_MONTH_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_3_CLOSE_MONTH_B.Text,
                     this.slp_3_CLOSE_MONTH_E.Text,
                     "結帳年月",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_3_CLOSE_MONTH_B.Text,
                     this.slp_3_CLOSE_MONTH_E.Text,
                     "string",
                     "欄位[結帳年月]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #region 欄位[結帳年月-財會] 20110520 RIKA INSERT

            if (this.slp_3_CLOSE_MONTH_ACCT_B.Text != string.Empty ||
                this.slp_3_CLOSE_MONTH_ACCT_E.Text != string.Empty)
            {
                #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

                arl_Return = CAAComm.Check_Between_BeginEnd_Value
                    (this.slp_3_CLOSE_MONTH_ACCT_B.Text,
                     this.slp_3_CLOSE_MONTH_ACCT_E.Text,
                     "結帳年月-財會",
                     "1",
                     string.Empty,
                     string.Empty,
                     arl_Return);

                #endregion

                #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

                arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                    (this.slp_3_CLOSE_MONTH_ACCT_B.Text,
                     this.slp_3_CLOSE_MONTH_ACCT_E.Text,
                     "string",
                     "欄位[結帳年月-財會]結束欄位一定要大於或等於開始欄位",
                     "1",
                     string.Empty,
                     arl_Return);

                #endregion
            }

            #endregion

            #endregion
        }

        #endregion

        #region TAB 月結

        if (s_Type == "TAB 月結")
        {
            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_4_CLOSE_MONTH.Text, "text", "欄位[月結年月]為必填欄位", "1", this.slp_4_CLOSE_MONTH.TextBoxCode_Object.ClientID, arl_Return);

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 17
0
    /// <summary>
    /// 檢查文字檔條件
    /// </summary>
    /// <param name="s_FileLine"></param>
    /// <returns></returns>
    private ArrayList Check_Condition_FileLine(string s_FileLine, DataTable dt_Temp)
    {
        #region 規則

        /*
         *格式代號 VARCHAR2(2)  [INV_FORM] :1~2
         *流水號   NUMBER(16)   [SEQ_NO]   :12~18
         *年月     VARCHAR2(6)  [INV_YM]   :19~23
         *客戶統編 VARCHAR2(10) [RFNO]     :24~31
         *銷項發票 VARCHAR2(10) [INV_NO]   :40~49
         *銷售額   NUMBER(12)   [INV_UAMT] :50~61
         *課稅別   NUMBER(1)    [TAX_TYPE] :62
         *稅額     NUMBER(12)   [INV_TAX]  :63~72
         */

        #endregion

        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        BCO.ImportCOLLPO bco = new BCO.ImportCOLLPO(ConntionDB);
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查字串長度

        //字串每一行都固定有81個字
        if (s_FileLine.Length < 81)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "字串長度不正確;", "1", string.Empty); }

        #endregion

        #region 如果檢查字串長度有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查數字格式

        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(11, 7), "[流水號]數字格式有誤;", "32", "1", string.Empty, arl_Return);//流水號
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(49, 12), "[銷售額]數字格式有誤;", "64", "1", string.Empty, arl_Return);//銷售額
        arl_Return = CAAComm.Check_Format_Int(s_FileLine.Substring(62, 10), "[稅額]數字格式有誤;", "64", "1", string.Empty, arl_Return);//稅額

        #endregion

        #region 檢查必填欄位

        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(0, 2), "text", "[格式代號]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(11, 7), "text", "[流水號]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(18, 5), "text", "[年月]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(39, 10), "text", "[銷項發票]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(49, 12), "text", "[銷售額]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(61, 1), "text", "[課稅別]為必填欄位;", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_FileLine.Substring(62, 10), "text", "[稅額]為必填欄位;", "1", string.Empty, arl_Return);

        #endregion

        #region 如果檢查數字格式,必填欄位有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查年月格式

        try
        {
            string s_YearMonth = Convert.ToString(int.Parse(s_FileLine.Substring(18, 5)) + 191100);
            arl_Return = CAAComm.Check_Format_YearMonth(s_YearMonth, "[年月]年月格式有誤;", "1", string.Empty, arl_Return);//年月
        }
        catch
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[年月]年月格式有誤;", "1", string.Empty); }

        #endregion

        #region 檢查格式代號

        if (s_FileLine.Substring(0, 2) != "31" &&
            s_FileLine.Substring(0, 2) != "32" &&
            s_FileLine.Substring(0, 2) != "33" &&
            s_FileLine.Substring(0, 2) != "34")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[格式代號]只有31,32,33,34四種格式;", "1", string.Empty); }

        #endregion

        #region 檢查發票字軌

        System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[A-Z]+$");
        bool b_Inv_Track = reg1.IsMatch(s_FileLine.Substring(39, 2));

        if (b_Inv_Track == false)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "[發票字軌]格式有誤;", "1", string.Empty); }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 18
0
    private ArrayList Check_Condition()
    {
        #region 宣告

        CAAModel.CAACommon CAAComm = new CAAModel.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 按下[儲存]鈕


        #region 檢查必填欄位

        arl_Return = CAAComm.Check_MustFillin_Column(this.txt_BOND_ID.Text, "text", "欄位[票據號碼]為必填欄位", "1", this.txt_BOND_ID.ClientID, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(this.slp_DUE_DATE.Text, "text", "欄位[到期日]為必填欄位", "1", this.slp_DUE_DATE.DateTextBox.ClientID, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(this.slp_NB_COLL_DATE.Text, "text", "欄位[票據託收日/交換日]為必填欄位", "1", this.slp_NB_COLL_DATE.DateTextBox.ClientID, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 自訂檢查

        #region 檢查欄位[票據託收日/交換日]必須大於或等於欄位[收票日]

        if (Convert.ToDateTime(this.slp_NB_COLL_DATE.Text).CompareTo(Convert.ToDateTime(this.slp_ACCEPT_BOND_DATE.Text)) == -1)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[票據託收日/交換日]必須大於或等於欄位[收票日]", "1", this.slp_NB_COLL_DATE.DateTextBox.ClientID); }

        #endregion

        #region 檢查[票據號碼]是否重複

        if (Check_BOND_ID() == false)
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[票據號碼]資料重複", "1", string.Empty); }

        #endregion

        #region 檢查該張支票是否退票
        //20101202修正 和CAA16不同 因只有總帳使用且不會影響結帳 所以不需判斷是否退票
        //if (this.lb_REJECT_DATE.Text != string.Empty)
        //{ arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已退票,不允許儲存!", "1", string.Empty); }

        #endregion

        #endregion


        #endregion


        return arl_Return;
    }
Ejemplo n.º 19
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Array_ServerString"></param>
    /// <returns></returns>
    static ArrayList Check_Condition(string[] s_Array_ServerString)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查必填欄位

        if (s_Array_ServerString[1] == "DATE0")
        {
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[2], "text", "欄位[收票日]開始欄位為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[3], "text", "欄位[收票日]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        }
        else if (s_Array_ServerString[1] == "DATE1")
        {
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[4], "text", "欄位[託收日]開始欄位為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[5], "text", "欄位[託收日]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        }
        else if (s_Array_ServerString[1] == "DATE2")
        {
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[6], "text", "欄位[收款單號日期]開始欄位為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[7], "text", "欄位[收款單號日期]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        }

        if (s_Array_ServerString[8] == "TYPE0")
        {
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[9], "text", "欄位[營業所]開始欄位為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[10], "text", "欄位[營業所]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        }
        else if (s_Array_ServerString[8] == "TYPE1")
        { arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[11], "text", "欄位[營業人員]為必填欄位", "1", string.Empty, arl_Return); }
        else if (s_Array_ServerString[8] == "TYPE2")
        { arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[12], "text", "欄位[帳務人員]為必填欄位", "1", string.Empty, arl_Return); }

        #endregion

        #region 檢查SLP日期格式

        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[2], "欄位[收票日]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[3], "欄位[收票日]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[4], "欄位[託收日]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[5], "欄位[託收日]結束欄位為必填欄位", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[6], "欄位[收款單號日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[7], "欄位[收款單號日期]結束欄位為必填欄位", "1", string.Empty, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查Between欄位

        #region 欄位[收票日]

        if (s_Array_ServerString[2] != string.Empty ||
            s_Array_ServerString[3] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[2],
                 s_Array_ServerString[3],
                 "收票日",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[2],
                 s_Array_ServerString[3],
                 "date",
                 "欄位[收票日]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[託收日]

        if (s_Array_ServerString[4] != string.Empty ||
            s_Array_ServerString[5] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[4],
                 s_Array_ServerString[5],
                 "託收日",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[4],
                 s_Array_ServerString[5],
                 "date",
                 "欄位[託收日]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[收款單號日期]

        if (s_Array_ServerString[6] != string.Empty ||
            s_Array_ServerString[7] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[6],
                 s_Array_ServerString[7],
                 "收款單號日期",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[6],
                 s_Array_ServerString[7],
                 "date",
                 "欄位[收款單號日期]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[營業所]

        if (s_Array_ServerString[9] != string.Empty ||
            s_Array_ServerString[10] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[9],
                 s_Array_ServerString[10],
                 "營業所",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[9],
                 s_Array_ServerString[10],
                 "string",
                 "欄位[營業所]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #endregion

        #region 檢查欄位[營業所]輸入的代號是否正確

        if (s_Array_ServerString[13] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業所]開始欄位輸入的代號不正確", "1", string.Empty); }

        if (s_Array_ServerString[14] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業所]結束欄位輸入的代號不正確", "1", string.Empty); }

        #endregion

        #region 檢查欄位[營業人員]輸入的代號是否正確

        if (s_Array_ServerString[15] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[營業人員]輸入的代號不正確", "1", string.Empty); }

        #endregion

        #region 檢查欄位[帳務人員]輸入的代號是否正確

        if (s_Array_ServerString[16] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[帳務人員]輸入的代號不正確", "1", string.Empty); }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 20
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <param name="s_ReturnMsg"></param>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type, string s_ReturnMsg)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 編輯模式,判斷完狀態後的檢查

        if (s_Type == "BUTTON [儲存]鈕,編輯模式,判斷完狀態後的檢查")
        {
            #region 已沖過帳要再另外檢查狀態

            if (dt_Main.Rows[0]["DISC_REMAIN_AMT"].ToString() != dt_Main.Rows[0]["DISC_AMT"].ToString())
            {
                if (s_ReturnMsg != "都沒有勾" &&
                    s_ReturnMsg != "勾選欄位[取具進項憑証]" &&
                    s_ReturnMsg != "勾選欄位[取具收據]" &&
                    s_ReturnMsg != "勾選欄位[憑證已回]" &&
                    s_ReturnMsg != "勾選欄位[轉暫收]" &&
                    s_ReturnMsg != "原本就勾選欄位[申報]")
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "折讓單已沖帳,不允許" + s_ReturnMsg, "1", string.Empty); }
            }

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 21
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <param name="s_Type"></param>
    /// <returns></returns>
    static ArrayList Check_Condition(string[] s_Array_ServerString)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 檢查必填欄位

        arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[1], "text", "欄位[結帳日期]開始欄位為必填欄位", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_MustFillin_Column(s_Array_ServerString[2], "text", "欄位[結帳日期]結束欄位為必填欄位", "1", string.Empty, arl_Return);

        #endregion

        #region 檢查SLP日期格式

        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[1], "欄位[結帳日期]開始欄位日期格式錯誤", "1", string.Empty, arl_Return);
        arl_Return = CAAComm.Check_Format_Date(s_Array_ServerString[2], "欄位[結帳日期]結束欄位日期格式錯誤", "1", string.Empty, arl_Return);

        #endregion

        #region 如果基本檢查有誤,則Return

        if (arl_Return[1].ToString() != string.Empty)
        { return arl_Return; }

        #endregion

        #region 檢查Between欄位

        #region 欄位[結帳日期]

        if (s_Array_ServerString[1] != string.Empty ||
            s_Array_ServerString[2] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "結帳日期",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[1],
                 s_Array_ServerString[2],
                 "date",
                 "欄位[結帳日期]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #region 欄位[利潤中心]

        if (s_Array_ServerString[3] != string.Empty ||
            s_Array_ServerString[4] != string.Empty)
        {
            #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值

            arl_Return = CAAComm.Check_Between_BeginEnd_Value
                (s_Array_ServerString[3],
                 s_Array_ServerString[4],
                 "利潤中心",
                 "1",
                 string.Empty,
                 string.Empty,
                 arl_Return);

            #endregion

            #region 檢查Between欄位結束欄位一定要大於或等於開始欄位

            arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin
                (s_Array_ServerString[3],
                 s_Array_ServerString[4],
                 "string",
                 "欄位[利潤中心]結束欄位一定要大於或等於開始欄位",
                 "1",
                 string.Empty,
                 arl_Return);

            #endregion
        }

        #endregion

        #endregion

        #region 檢查欄位[利潤中心]輸入的代號是否正確

        if (s_Array_ServerString[7] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[利潤中心]開始欄位輸入的代號不正確", "1", string.Empty); }

        if (s_Array_ServerString[8] == "查無資料")
        { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[利潤中心]結束欄位輸入的代號不正確", "1", string.Empty); }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 22
0
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        BCO.CAACommon CAAComm = new BCO.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region [新增][編輯]模式下按下[儲存]鈕

        if (s_Type == "Insert" ||
            s_Type == "Edit")
        {
            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_STORE_ID.Text, "text", "欄位[客戶代號/名稱]為必填欄位", "1", this.slp_STORE_ID.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txt_BOND_ID.Text, "text", "欄位[票據號碼]為必填欄位", "1", this.txt_BOND_ID.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_BOND_TYPE.Text, "text", "欄位[方式]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_ACCEPT_BOND_DATE.Text, "text", "欄位[收票日]為必填欄位", "1", this.slp_ACCEPT_BOND_DATE.DateTextBox.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_DUE_DATE.Text, "text", "欄位[到期日]為必填欄位", "1", this.slp_DUE_DATE.DateTextBox.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_BOND_AMT.Text, "text", "欄位[金額]為必填欄位", "1", this.slp_BOND_AMT.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_PAY_BANK.Text, "text", "欄位[付款銀行]為必填欄位", "1", this.slp_PAY_BANK.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txt_PAY_ACCOUNT.Text, "text", "欄位[付款帳號]為必填欄位", "1", this.txt_PAY_ACCOUNT.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.slp_NB_COLL_DATE.Text, "text", "欄位[票據託收日/交換日]為必填欄位", "1", this.slp_NB_COLL_DATE.DateTextBox.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查店號

            //新增模式下,店號必須以 sysdate 為基準來做查詢
            if (Check_StoreDate(this.slp_STORE_ID.Text, DateTime.Parse(this.hid_CREATEDATE.Value)) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[客戶代號/名稱]必須是有效的客戶代號/名稱", "1", string.Empty); }

            #endregion

            #region 檢查欄位[票據託收日/交換日]必須大於或等於欄位[收票日]

            if (this.slp_NB_COLL_DATE.Text.CompareTo(this.slp_ACCEPT_BOND_DATE.Text) == -1)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[票據託收日/交換日]必須大於或等於欄位[收票日]", "1", this.slp_NB_COLL_DATE.DateTextBox.ClientID); }

            #endregion

            #region 檢查[票據號碼]是否重複

            if (Check_BOND_ID() == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[票據號碼]資料重複", "1", string.Empty); }

            #endregion

            #region 檢查該張支票月份是否月結

            if (Check_BOND_Monthly() == true)
            {
                if (s_Type == "Insert")
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票月份己月結,無法新增支票。", "1", string.Empty); }
                else if (s_Type == "Edit")
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票月份己月結,無法異動支票。", "1", string.Empty); }

            }

            #endregion

            #region 編輯模式下另外檢查該張支票[是否退票][是否兌現][是否沖帳]

            //注意:[檢視]模式下按下[編輯]鈕的檢查,在這邊都要再做一次,才不會有時間差

            if (s_Type == "Edit")
            {
                #region 檢查該張支票是否退票

                if (this.slp_REJECT_DATE.Text != string.Empty)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已退票,不允許儲存!", "1", string.Empty); }

                #endregion

                #region 檢查該張支票是否兌現

                if (this.cb_EX_DUE_FLG.Checked == true)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已兌現,不允許儲存!", "1", string.Empty); }

                #endregion

                #region 檢查該張支票是否沖帳
                //20101025 Jacky 不用WASH_STATUS爛位做判斷
                //if (this.hid_WASH_STATUS.Value != "0")
                //{ arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已沖帳,不允許儲存!", "1", string.Empty); }
                if (CheckWASH_YN() == true)
                    arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已沖帳,不允許修改!", "1", string.Empty);
                #endregion
            }

            #endregion

            #endregion
        }

        #endregion

        #region [檢視]模式下按下[編輯]鈕

        else if (s_Type == "View")
        {
            #region 自訂檢查

            #region 檢查該張支票月份是否月結

            if (Check_BOND_Monthly() == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票月份已月結,若需編輯,請先解除月結。", "1", string.Empty); }

            #endregion

            #region 檢查該張支票是否退票

            if (this.slp_REJECT_DATE.Text != string.Empty)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已退票,不允許修改!", "1", string.Empty); }

            #endregion

            #region 檢查該張支票是否兌現

            if (this.cb_EX_DUE_FLG.Checked == true)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已兌現,不允許修改!", "1", string.Empty); }

            #endregion

            #region 檢查該張支票是否沖帳
            //20101025 Jacky 不用WASH_STATUS爛位做判斷
            //if (this.hid_WASH_STATUS.Value != "0")
            //{ arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已沖帳,不允許修改!", "1", string.Empty); }
            if (CheckWASH_YN() == true)
                arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "此支票已沖帳,不允許修改!", "1", string.Empty);
            #endregion

            #endregion
        }

        #endregion

        return arl_Return;
    }
Ejemplo n.º 23
0
    /// <summary>
    /// 檢查條件
    /// </summary>
    /// <returns></returns>
    private ArrayList Check_Condition(string s_Type)
    {
        #region 宣告

        CAAModel.CAACommon CAAComm = new CAAModel.CAACommon();
        ArrayList arl_Return = new ArrayList();
        arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID
        arl_Return.Add(string.Empty);//該欄位放錯誤訊息

        #endregion

        #region 新增模式

        if (s_Type == "Insert")
        {
            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.SLP_DUE_AMT.Text, "欄位[調整金額]數字格式錯誤", "64", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.txtCLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", this.txtCLOSE_MONTH.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", this.SLP_STORE_ID.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.ddlTaxType.Text, "text", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_DUE_AMT.Text, "text", "欄位[調整金額]為必填欄位", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txtCLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", this.txtCLOSE_MONTH.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查店號

            //新增模式下,店號必須以 sysdate 為基準來做查詢
            //編輯模式下,店號必須以該筆資料的 createdate 為基準來做查詢
            if (Check_Store_Id(this.SLP_STORE_ID.Text, DateTime.Now) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店號]必須是有效的店號", "1", this.SLP_STORE_ID.TextBox_Code.ClientID); }

            #endregion

            #region 檢查商品群分類代碼

            if (Check_RootNo(this.SLP_ROOT_NO.Text) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[商品群分類]必須是有效的群分類代號", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID); }

            #endregion

            #region 檢查欄位[調整金額]不可為零(如果型式選擇(帳款互沖)為列外狀態可以為零)
            if (SLP_SOURCE_TYPE.Text.Trim() != "3")
            {
                if (Int64.Parse(this.SLP_DUE_AMT.Text) <= 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[調整金額]必須大於零", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID); }
            }
            #endregion

            #endregion
        }

        #endregion

        #region 編輯模式

        else if (s_Type == "Edit")
        {
            #region 檢查SLP數字格式

            arl_Return = CAAComm.Check_Format_Int(this.SLP_DUE_AMT.Text, "欄位[調整金額]數字格式錯誤", "64", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID, arl_Return);

            #endregion

            #region 檢查SLP年月格式

            arl_Return = CAAComm.Check_Format_YearMonth(this.txtCLOSE_MONTH.Text, "欄位[結帳年月]年月格式錯誤", "1", this.txtCLOSE_MONTH.TextBoxCode_Object.ClientID, arl_Return);

            #endregion

            #region 檢查必填欄位

            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_STORE_ID.Text, "text", "欄位[店號]為必填欄位", "1", this.SLP_STORE_ID.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_ROOT_NO.Text, "text", "欄位[商品群分類]為必填欄位", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.ddlTaxType.Text, "text", "欄位[稅別]為必填欄位", "1", string.Empty, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_DUE_AMT.Text, "text", "欄位[調整金額]為必填欄位", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID, arl_Return);
            arl_Return = CAAComm.Check_MustFillin_Column(this.txtCLOSE_MONTH.Text, "text", "欄位[結帳年月]為必填欄位", "1", this.txtCLOSE_MONTH.ClientID, arl_Return);

            #endregion

            #region 如果基本檢查有誤,則Return

            if (arl_Return[1].ToString() != string.Empty)
            { return arl_Return; }

            #endregion

            #region 自訂檢查

            #region 檢查店號

            //新增模式下,店號必須以 sysdate 為基準來做查詢
            //編輯模式下,店號必須以該筆資料的 createdate 為基準來做查詢
            if (Check_Store_Id(this.SLP_STORE_ID.Text, DateTime.Parse(this.hdf_Old_CreateDate.Value)) == false)
            { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[店號]必須是有效的店號", "1", this.SLP_STORE_ID.TextBox_Code.ClientID); }

            #endregion

            #region 檢查商品群分類代碼

            if (this.SLP_ROOT_NO.Text != string.Empty)
            {
                if (Check_RootNo(this.SLP_ROOT_NO.Text) == false)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[商品群分類]必須是有效的群分類代號", "1", this.SLP_ROOT_NO.TextBox_Code.ClientID); }
            }

            #endregion

            #region 檢查欄位[調整金額]不可為零
            if (SLP_SOURCE_TYPE.Text.Trim() != "3")
                if (Int64.Parse(this.SLP_DUE_AMT.Text) <= 0)
                { arl_Return = CAAComm.ToMakeUp_Err_ArrayList(arl_Return, "欄位[調整金額]必須大於零", "1", this.SLP_DUE_AMT.TextBox_Code.ClientID); }

            #endregion

            #endregion
        }

        #endregion

        return arl_Return;
    }