// <summary> /// 頁籤=折讓證明單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_7(ArrayList ParameterList) { DataTable dt_Return = new DataTable(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); dt_Return = bco.GetCAA241_DISC_PRINT(ParameterList); if (dt_Return.Rows.Count == 0) { throw new Exception("查無資料"); } return dt_Return; }
/// <summary> /// 頁籤=結算未開票對帳單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_6(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "string", false));//登入人員(8) #endregion #region 連結資料庫 DataTable dt_Return = new DataTable(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); dt_Return = bco.GetInvDiscNOisX(arl_ReportService); #endregion #region 檢查回傳資料 if (dt_Return.Rows.Count == 0)//結算未開票對帳單的資料 { throw new Exception("查無資料"); } #endregion #region 整理列印資料 DataTable dt_Temp_Result = new DataTable(); DateTime d_Now = DateTime.Now; //結算未開票對帳單的資料 dt_Temp_Result = Collate_Information_Print_INVDIS_NO_IS_X(d_Now, dt_Return, dt_Temp_Result); #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料"); } #endregion return dt_Temp_Result; }
/// <summary> /// 頁籤=發票對帳單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_1(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 #region 規則 /* * 當頁籤=發票對帳單時 * 抓取[單店開立]的資料 * 當頁籤=單店未開發票對帳單 * 抓取[單店開立]&[總部彙開]的資料 * 當頁籤=計算機發票 * 抓取[單店開立]&[總部彙開]的資料 */ #endregion arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "int", false));//[路線](8) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[9].ToString(), "string", false));//[發票對帳單送達](9) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[10].ToString(), "int", false));//[列印註記](0=未列印,1=已列印)(10) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[11].ToString(), "int", false));//[判斷抓取資料範圍](0=單店開立,1=總部彙開+單店開立)(11) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[12].ToString(), "string", false));//登入人員(12) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[13].ToString(), "string", false));//那一個頁籤(13) arl_ReportService.Add(CAAComm.GetValueSetParameter("0", "string", false));//發票未作廢(14) #endregion #region 連結資料庫 #region 規則 /* * (1)當頁籤=發票對帳單時 * 只抓取[單店開立]的資料 * (2)發票對帳單:左邊上方發票的資料 * 先依照畫面上的條件,把符合條件的發票抓取出來 * 發票必須是[營業系統]且[尚未作廢] * 抓出的發票依照拆單條件[發票的建立日期][店號][群分類][開立依據][票期][是否檔期]分類 * 左邊上方發票的資料就抓每一個群組的第一筆資料 * (3)發票對帳單:右半邊發票的資料 * 抓取 VDS_CAA_INV_MAIN 的資料 * (4)發票對帳單:左邊下方明細的資料 * 依照發票號碼至 VDS_CAM_ACCT_CHECK_OUT,VDS_CAM_ACCT_CHECK_OUT_DETL * 抓取相對應的明細資料 * (5)發票對帳單:右半邊發票的資料 * 為一式二份,所以一張對帳單只能印兩張發票資料 * (6)發票對帳單:左邊下方明細的資料 * [未稅金額] = VDS_CAM_ACCT_CHECK_OUT.TOT_AMT * [含稅金額] = 若該筆明細所對應的折讓單的稅別 = [應稅] OR [零稅] * 則[未稅金額] = VDS_CAM_ACCT_CHECK_OUT.TOT_AMT + VDS_CAM_ACCT_CHECK_OUT.TOT_AMT_TAX * 若該筆明細所對應的折讓單的稅別 = [免稅] * 則[未稅金額] = 0 * (7)頁籤 = [發票對帳單] * 只抓取[單店開立]的資料,不抓取[總部彙開]的資料 * 頁籤 = [單店未開發票對帳單] OR [計算機發票] * 則抓全部的發票 */ #endregion DataSet ds_Return = new DataSet(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); ds_Return = bco.OneNonCheckSheet(null, arl_ReportService); #endregion #region 檢查回傳資料 if (ds_Return.Tables["MAIN"].Rows.Count == 0) { throw new Exception("查無資料"); } #endregion #region 整理列印資料 DataTable dt_Temp_Result = new DataTable(); dt_Temp_Result = Collate_Information_Print_Inv(ds_Return, "1", arl_ReportService[6].ToString()); #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料"); } #endregion #region 更新發票主檔的列印註記 #region 規則 /* * 當頁籤 = 發票對帳單 & 計算機發票 * 查詢完成後必須更新發票主檔的列印註記 * 當頁籤 = 單店未開發票對帳單 * 查詢完成後不必更新發票主檔的列印註記 */ #endregion DateTime d_Now = DateTime.Now; string s_LogUser = arl_ReportService[12].ToString(); bco.CAA241_UPDATE_INV_MAIN(null, ds_Return.Tables["MAIN"], d_Now, s_LogUser); #endregion return dt_Temp_Result; }
/// <summary> /// 頁籤=計算機發票 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_5(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 #region 規則 /* * 當頁籤=發票對帳單時 * 抓取[單店開立]的資料 * 當頁籤=單店未開發票對帳單 * 抓取[單店開立]&[總部彙開]的資料 * 當頁籤=計算機發票 * 抓取[單店開立]&[總部彙開]的資料 */ #endregion arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "int", false));//[路線](8) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[9].ToString(), "string", false));//[發票對帳單送達](9) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[10].ToString(), "int", false));//[列印註記](0=未列印,1=已列印)(10) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[11].ToString(), "int", false));//[判斷抓取資料範圍](0=單店開立,1=總部彙開+單店開立)(11) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[12].ToString(), "string", false));//登入人員(12) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[13].ToString(), "string", false));//那一個頁籤(13) arl_ReportService.Add(CAAComm.GetValueSetParameter("0", "string", false));//發票未作廢(14) #endregion #region 連結資料庫 DataTable dt_Return = new DataTable(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); dt_Return = bco.GetInvData(null, arl_ReportService); #endregion #region 檢查回傳資料,如果有資料,則依照[帳務人員][店號][稅別][發票號碼]排序資料 #region 規則 /* 20100318秀玲與USER確認更改需求 * 頁籤=計算機發票,排序依照[帳務人員][店號][稅別][發票號碼]排序資料 */ #endregion if (dt_Return.Rows.Count == 0) { throw new Exception("查無資料"); } else { dt_Return = new DataView(dt_Return, string.Empty, "AC_UID_RANK,STORE_ID_RANK,TAX_TYPE,INV_NO", DataViewRowState.CurrentRows).ToTable(); } #endregion #region 整理列印資料 #region 設定 dt_Temp_Result 的框架 #region 設定變數 int i_Main_Row_Right = 25;//設定右邊主檔資料區有幾個欄位(一個發票的欄位) DataTable dt_Temp_Result = new DataTable(); #endregion #region 右邊主檔資料區(印發票的地方) for (int c = 0; c < i_Main_Row_Right; c++) { dt_Temp_Result.Columns.Add("MAIN_RIGHT_" + c.ToString(), typeof(string)); } #endregion #endregion foreach (DataRow dr_Row in dt_Return.Rows) { #region 設定變數 DateTime d_INV_DATE = DateTime.Parse(dr_Row["INV_DATE"].ToString()); System.Globalization.TaiwanCalendar g_TaiwanCalendar = new System.Globalization.TaiwanCalendar(); string s_Year = g_TaiwanCalendar.GetYear(d_INV_DATE).ToString(); //發票日期(年) string s_Month = g_TaiwanCalendar.GetMonth(d_INV_DATE).ToString(); //發票日期(月) string s_Date = g_TaiwanCalendar.GetDayOfMonth(d_INV_DATE).ToString(); //發票日期(日) string s_INV_AMT = Conversion_Number(dr_Row["INV_AMT"].ToString(), 9); string s_VOUCH_RFNO = string.Empty;//統一編號 DataRow dr_Temp_Result = dt_Temp_Result.NewRow(); #endregion #region 將資料寫入TempTable for (int i = 0; i < i_Main_Row_Right; i++) { #region 設定統一編號 s_VOUCH_RFNO = Get_VOUCH_RFNO(dr_Row["VOUCH_RFNO"].ToString()); #endregion decimal decINV_UAMT = decimal.Parse(dr_Row["INV_UAMT"].ToString()); decimal decINV_TAX = decimal.Parse(dr_Row["INV_TAX"].ToString()); if (dr_Row["INV_FORM"].ToString().Trim() == "32") { decINV_UAMT = decINV_UAMT + decINV_TAX; decINV_TAX = 0; } dr_Temp_Result["MAIN_RIGHT_0"] = s_Year;//年 dr_Temp_Result["MAIN_RIGHT_1"] = s_Month;//月 dr_Temp_Result["MAIN_RIGHT_2"] = s_Date;//日 dr_Temp_Result["MAIN_RIGHT_3"] = dr_Row["INV_CHKNO"].ToString();//檢查號碼 dr_Temp_Result["MAIN_RIGHT_4"] = dr_Row["INV_NO"].ToString();//發票號碼 dr_Temp_Result["MAIN_RIGHT_5"] = dr_Row["TITLE"].ToString();//買受人 dr_Temp_Result["MAIN_RIGHT_6"] = s_VOUCH_RFNO;//統一編號 dr_Temp_Result["MAIN_RIGHT_7"] = dr_Row["ITEM_NAME"].ToString();//品名 dr_Temp_Result["MAIN_RIGHT_8"] = string.Format("{0:N}", decINV_UAMT).Replace(".00", string.Empty);//金額(20100329秀玲修改需求,改抓未稅金額) dr_Temp_Result["MAIN_RIGHT_9"] = (dr_Row["TAX_TYPE"].ToString() == "0") ? "V" : string.Empty;//應稅 dr_Temp_Result["MAIN_RIGHT_10"] = (dr_Row["TAX_TYPE"].ToString() == "2") ? "V" : string.Empty;//零稅 dr_Temp_Result["MAIN_RIGHT_11"] = (dr_Row["TAX_TYPE"].ToString() == "1") ? "V" : string.Empty;//免稅 dr_Temp_Result["MAIN_RIGHT_12"] = string.Format("{0:N}", decINV_UAMT).Replace(".00", string.Empty);//銷售額合計 dr_Temp_Result["MAIN_RIGHT_13"] = string.Format("{0:N}", decINV_TAX).Replace(".00", string.Empty);//營業稅 dr_Temp_Result["MAIN_RIGHT_14"] = string.Format("{0:N}", int.Parse(dr_Row["INV_AMT"].ToString())).Replace(".00", string.Empty);//總計 dr_Temp_Result["MAIN_RIGHT_24"] = s_INV_AMT.Substring(0, 1);//億 dr_Temp_Result["MAIN_RIGHT_15"] = s_INV_AMT.Substring(1, 1);//千萬 dr_Temp_Result["MAIN_RIGHT_16"] = s_INV_AMT.Substring(2, 1);//百萬 dr_Temp_Result["MAIN_RIGHT_17"] = s_INV_AMT.Substring(3, 1);//十萬 dr_Temp_Result["MAIN_RIGHT_18"] = s_INV_AMT.Substring(4, 1);//萬 dr_Temp_Result["MAIN_RIGHT_19"] = s_INV_AMT.Substring(5, 1);//千 dr_Temp_Result["MAIN_RIGHT_20"] = s_INV_AMT.Substring(6, 1);//百 dr_Temp_Result["MAIN_RIGHT_21"] = s_INV_AMT.Substring(7, 1);//拾 dr_Temp_Result["MAIN_RIGHT_22"] = s_INV_AMT.Substring(8, 1);//元 //20100503新增該欄位(小張計算機發票備註欄位下面加上店號) //發票對帳單的備註欄位下方的店號是抓VDS_CAM_ACCT_CHECK_OUT的店號,但計算機發票是抓VDS_CAA_INV_MAIN的店號 //但發票對帳單只列印單店分別開的發票,這一些發票在發票主檔中的欄位[店號]也是放單店 //而總部彙開的發票在發票主檔的欄位[店號]是放總部店號 //所以小張計算機發票的欄位[店號]直接抓VDS_CAA_INV_MAIN的店號即可 dr_Temp_Result["MAIN_RIGHT_23"] = dr_Row["STORE_ID_RANK"].ToString();//店號 } dt_Temp_Result.Rows.Add(dr_Temp_Result); #endregion } #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料!!"); } #endregion #region 更新發票主檔的列印註記 #region 規則 /* * 當頁籤 = 發票對帳單 & 計算機發票 * 查詢完成後必須更新發票主檔的列印註記 * 當頁籤 = 單店未開發票對帳單 * 查詢完成後不必更新發票主檔的列印註記 */ #endregion DateTime d_Now = DateTime.Now; string s_LogUser = arl_ReportService[12].ToString(); bco.CAA241_UPDATE_INV_MAIN(null, dt_Return, d_Now, s_LogUser); #endregion return dt_Temp_Result; }
/// <summary> /// 頁籤=單店未開發票對帳單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_4(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "int", false));//[路線](8) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[9].ToString(), "int", false));//[判斷抓取資料範圍](0=單店開立,1=總部彙開+單店開立)(9) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[10].ToString(), "string", false));//登入人員(10) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[11].ToString(), "string", false));//那一個頁籤(11) arl_ReportService.Add(DBNull.Value);//不論作廢否都要(12) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[13].ToString(), "string", false));//總部憑證彙開對帳列印(13) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[12].ToString(), "string", false));//是否為零元對帳單列印 1:是 0:否(14) #endregion #region 連結資料庫 DataSet ds_Return = new DataSet(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); ds_Return = bco.GetDiscCheckSheet(null, arl_ReportService); #endregion #region 檢查回傳資料 if (ds_Return.Tables["Main1"].Rows.Count == 0 && //折讓資料 ds_Return.Tables["INVDISC_ZERO"].Rows.Count == 0)//發票+折讓=零的資料 { throw new Exception("查無資料"); } #endregion #region 整理列印資料 DataTable dt_Temp_Result = new DataTable(); DateTime d_Now = DateTime.Now; //折讓資料 if (ParameterList[12].ToString() == "0") //0.一般列印 dt_Temp_Result = Collate_Information_Print_Disc(d_Now, ds_Return, "4", arl_ReportService[6].ToString()); else //1:只印零元憑證門市清單按鈕 dt_Temp_Result = Collate_Information_Print_Disc(d_Now, ds_Return, "41", arl_ReportService[6].ToString()); //折讓+發票=零的資料 dt_Temp_Result = Collate_Information_Print_InvDisc_Zero(d_Now, ds_Return, dt_Temp_Result); #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料"); } #endregion return dt_Temp_Result; }
/// <summary> /// 頁籤=單店對帳單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_3(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 #region 規則 /* * 當頁籤=發票對帳單時 * 抓取[單店開立]的資料 * 當頁籤=單店未開發票對帳單 * 抓取[單店開立]&[總部彙開]的資料 * 當頁籤=計算機發票 * 抓取[單店開立]&[總部彙開]的資料 */ #endregion arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "int", false));//[路線](8) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[9].ToString(), "string", false));//[發票對帳單送達](9) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[10].ToString(), "int", false));//[列印註記](0=未列印,1=已列印)(10) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[11].ToString(), "int", false));//[判斷抓取資料範圍](0=單店開立,1=總部彙開+單店開立)(11) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[12].ToString(), "string", false));//登入人員(12) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[13].ToString(), "string", false));//那一個頁籤(13) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[14].ToString(), "string", false));//發票作廢(14) #endregion #region 連結資料庫 DataSet ds_Return = new DataSet(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); ds_Return = bco.OneNonCheckSheet(null, arl_ReportService); #endregion #region 檢查回傳資料 if (ds_Return.Tables["MAIN"].Rows.Count == 0) { throw new Exception("查無資料"); } #endregion #region 整理列印資料 DataTable dt_Temp_Result = new DataTable(); try { dt_Temp_Result = Collate_Information_Print_Inv(ds_Return, "3", arl_ReportService[6].ToString()); } catch (Exception ex) { throw new Exception("Collate_Information_Print_Inv!錯誤訊息:" + ex.ToString()); } #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料"); } #endregion return dt_Temp_Result; }
/// <summary> /// 頁籤=折讓對帳單 /// </summary> /// <param name="ParameterList"></param> /// <returns></returns> public DataTable CAA24_2(ArrayList ParameterList) { #region 宣告變數 BCO.CAACommon CAAComm = new BCO.CAACommon(); ArrayList arl_ReportService = new ArrayList(); #endregion #region 傳入參數 arl_ReportService.Clear(); arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[0].ToString(), "string", false));//[結帳年月](0) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[1].ToString(), "string", false));//[店群]起(1) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[2].ToString(), "string", false));//[店群]迄(2) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[3].ToString(), "string", false));//[路線]起(3) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[4].ToString(), "string", false));//[路線]迄(4) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[5].ToString(), "string", false));//[結帳統編](5) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[6].ToString(), "string", false));//[店號](6) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[7].ToString(), "string", false));//[商品群分類](7) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[8].ToString(), "int", false));//[路線](8) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[9].ToString(), "int", false));//[判斷抓取資料範圍](0=單店開立,1=總部彙開+單店開立)(9) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[10].ToString(), "string", false));//登入人員(10) arl_ReportService.Add(CAAComm.GetValueSetParameter(ParameterList[11].ToString(), "string", false));//那一個頁籤(11) arl_ReportService.Add(CAAComm.GetValueSetParameter("0", "string", false));//發票未作廢(12) arl_ReportService.Add(CAAComm.GetValueSetParameter("0", "string", false));//總部憑證彙開對帳列印(13) arl_ReportService.Add(CAAComm.GetValueSetParameter("0", "string", false));//是否為零元對帳單列印 1:是 0:否(14) #endregion #region 連結資料庫 #region 規則 /* * (1)折讓對帳單:左邊上方折讓單的資料 * 先依照畫面上的條件,把符合條件的折讓單抓取出來 * 折讓單必須是[系統開立]且[營業系統]且[尚未作廢] * (2)折讓對帳單:右半邊發票的資料 * 依照折讓單號至 VDS_CAA_DISC_MAIN,VDS_CAA_DISC_DETL * 抓取相對應的發票號碼 * (3)折讓對帳單:左邊下方明細的資料 * 依照折讓單號至 VDS_CAM_ACCT_CHECK_OUT,VDS_CAM_ACCT_CHECK_OUT_DETL * 抓取相對應的明細資料 * (4)折讓對帳單:右半邊發票的資料 * 為一式四份,每一式可以列印五張發票資料,所以一張對帳單只能印五張發票資料 * (5)折讓對帳單:左邊下方明細的資料 * [未稅金額] = VDS_CAM_ACCT_CHECK_OUT.TOT_AMT * [含稅金額] = 若該筆明細所對應的折讓單的稅別 = [應稅] OR [零稅] * 則[未稅金額] = VDS_CAM_ACCT_CHECK_OUT.TOT_AMT + VDS_CAM_ACCT_CHECK_OUT.TOT_AMT_TAX * 若該筆明細所對應的折讓單的稅別 = [免稅] * 則[未稅金額] = 0 */ #endregion DataSet ds_Return = new DataSet(); BCO.CheckSheetPrint bco = new BCO.CheckSheetPrint(ConntionDB); ds_Return = bco.GetDiscCheckSheet(null, arl_ReportService); #endregion #region 檢查回傳資料 //頁籤=折讓對帳單時,不會有發票+折讓=零的資料 if (ds_Return.Tables["MAIN1"].Rows.Count == 0) { throw new Exception("查無資料"); } #endregion #region 整理列印資料 DateTime d_Now = DateTime.Now; DataTable dt_Temp_Result = Collate_Information_Print_Disc(d_Now, ds_Return, "2", arl_ReportService[6].ToString()); #endregion #region 檢查列印資料 if (dt_Temp_Result.Rows.Count == 0) { throw new Exception("查無資料"); } #endregion return dt_Temp_Result; }