/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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 頁籤=整批兌現 #region BUTTON [查詢]鈕 if (s_Type == "頁籤=整批兌現 BUTTON [查詢]鈕") { #region 檢查SLP日期格式 arl_Return = CAAComm.Check_Format_Date(this.slp_tab2_EX_DUE_DATE.StartDate, "欄位[票據預計兌現日]開始欄位日期格式錯誤", "1", this.slp_tab2_EX_DUE_DATE.RangeStartTextBox.ClientID, arl_Return); arl_Return = CAAComm.Check_Format_Date(this.slp_tab2_EX_DUE_DATE.EndDate, "欄位[票據預計兌現日]結束欄位日期格式錯誤", "1", this.slp_tab2_EX_DUE_DATE.RangeEndTextBox.ClientID, arl_Return); #endregion #region 檢查必填欄位 arl_Return = CAAComm.Check_MustFillin_Column(this.slp_tab2_EX_DUE_DATE.StartDate, "text", "欄位[票據預計兌現日]開始欄位為必填欄位", "1", this.slp_tab2_EX_DUE_DATE.RangeStartTextBox.ClientID, arl_Return); arl_Return = CAAComm.Check_MustFillin_Column(this.slp_tab2_EX_DUE_DATE.EndDate, "text", "欄位[票據預計兌現日]結束欄位為必填欄位", "1", this.slp_tab2_EX_DUE_DATE.RangeEndTextBox.ClientID, arl_Return); #endregion #region 如果基本檢查有誤,則Return if (arl_Return[1].ToString() != string.Empty) { return arl_Return; } #endregion #region 檢查Between欄位 #region 欄位[票據預計兌現日] if (this.slp_tab2_EX_DUE_DATE.StartDate != string.Empty || this.slp_tab2_EX_DUE_DATE.EndDate != string.Empty) { #region 檢查Between欄位如果輸入其中一個欄位則另一個欄位也必須填值 arl_Return = CAAComm.Check_Between_BeginEnd_Value (this.slp_tab2_EX_DUE_DATE.StartDate, this.slp_tab2_EX_DUE_DATE.EndDate, "票據預計兌現日", "1", this.slp_tab2_EX_DUE_DATE.RangeStartTextBox.ClientID, this.slp_tab2_EX_DUE_DATE.RangeEndTextBox.ClientID, arl_Return); #endregion #region 檢查Between欄位結束欄位一定要大於或等於開始欄位 arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin (this.slp_tab2_EX_DUE_DATE.StartDate, this.slp_tab2_EX_DUE_DATE.EndDate, "date", "欄位[票據預計兌現日]結束欄位一定要大於或等於開始欄位", "1", this.slp_tab2_EX_DUE_DATE.RangeEndTextBox.ClientID, arl_Return); #endregion } #endregion #endregion } #endregion #endregion #region 頁籤=月結處理 else if (s_Type == "頁籤=月結處理") { #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; }
/// <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; }
/// <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; }
/// <summary> /// 檢查條件 /// </summary> /// <param name="s_Type"></param> /// <returns></returns> 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_S.Text, "text", "欄位[結帳年月]開始欄位為必填欄位", "1", this.slp_YearMonth_S.TextBoxCode_Object.ClientID, arl_Return); arl_Return = CAAComm.Check_MustFillin_Column(this.slp_YearMonth_E.Text, "text", "欄位[結帳年月]結束欄位為必填欄位", "1", this.slp_YearMonth_E.TextBoxCode_Object.ClientID, arl_Return); #endregion #region 檢查SLP年月格式 arl_Return = CAAComm.Check_Format_YearMonth(this.slp_YearMonth_S.Text, "欄位[發票年月]開始欄位年月格式錯誤", "1", this.slp_YearMonth_S.TextBoxCode_Object.ClientID, arl_Return); arl_Return = CAAComm.Check_Format_YearMonth(this.slp_YearMonth_E.Text, "欄位[發票年月]結束欄位年月格式錯誤", "1", this.slp_YearMonth_E.TextBoxCode_Object.ClientID, arl_Return); #endregion #region 如果基本檢查有誤,則Return if (arl_Return[1].ToString() != string.Empty) { return arl_Return; } #endregion #region 檢查Between欄位 #region 檢查Between欄位結束欄位一定要大於或等於開始欄位 arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin (this.slp_YearMonth_S.Text, this.slp_YearMonth_E.Text, "string", "欄位[發票年月]結束欄位一定要大於或等於開始欄位", "1", this.slp_YearMonth_E.TextBoxCode_Object.ClientID, arl_Return); #endregion #endregion return arl_Return; }
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; }
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; }
/// <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; }
/// <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; }
/// <summary> /// 檢查條件 /// </summary> /// <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_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 如果基本檢查有誤,則Return if (arl_Return[1].ToString() != string.Empty) { return arl_Return; } #endregion #region 檢查欄位[發票年月] #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 return arl_Return; }
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; }
/// <summary> /// 檢查條件 /// </summary> /// <param name="s_Type"></param> /// <returns></returns> 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 SLP轉型 TextBox txt_InvoDateRange_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.SLP_InvoDateRange.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");//[發票日]起 TextBox txt_InvoDateRange_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.SLP_InvoDateRange.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");//[發票日]迄 #endregion #region 檢查必填欄位 arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_InvoDateRange.StartDate, "text", "欄位[發票日]開始欄位為必填欄位", "1", txt_InvoDateRange_B.ClientID, arl_Return); arl_Return = CAAComm.Check_MustFillin_Column(this.SLP_InvoDateRange.EndDate, "text", "欄位[發票日]結束欄位為必填欄位", "1", txt_InvoDateRange_E.ClientID, arl_Return); #endregion #region 檢查SLP日期格式 arl_Return = CAAComm.Check_Format_Date(this.SLP_InvoDateRange.StartDate, "欄位[發票日]開始欄位年月格式錯誤", "1", txt_InvoDateRange_B.ClientID, arl_Return); arl_Return = CAAComm.Check_Format_Date(this.SLP_InvoDateRange.EndDate, "欄位[發票日]結束欄位年月格式錯誤", "1", txt_InvoDateRange_E.ClientID, arl_Return); #endregion #region 如果基本檢查有誤,則Return if (arl_Return[1].ToString() != string.Empty) { return arl_Return; } #endregion #region 檢查Between欄位 #region 檢查Between欄位結束欄位一定要大於或等於開始欄位 arl_Return = CAAComm.Check_Between_End_GreaterThan_Begin (this.SLP_InvoDateRange.StartDate, this.SLP_InvoDateRange.EndDate, "date", "欄位[發票日]結束欄位一定要大於或等於開始欄位", "1", txt_InvoDateRange_E.ClientID, arl_Return); #endregion #endregion return arl_Return; }