/// <summary> /// 傳入參數 : @月結月份, @月結功能代號 /// /// 呼叫:ChanMonthCloseYN.ChanMonthCloseYN /// /// IF FLAG=N THEN /// 回傳訊息:「此月份尚未月結,不允許執行解除月結作業」 /// ELSE /// (1)依條件FUNC_NO=@月結功能代號 AND /// MONTH_CLOSE=@月結月份,將資料異動回資料庫VDS_CAA_MON_SETTING(月結設定檔) /// ENABLE = 0 /// UPDATEUID = 登入系統之使用者ID /// UPDATEDATE = 取AP系統日期 /// (2)依INVOICE_MONTH=@月結月份,異動資料庫VDS_CAA_INVOICE_TRACK /// 異動欄位: /// (2.1) CLOSEUID = "" /// (2.2) CLOSEDATE = "" /// (2.3) UPDATEUID = 登入系統之使用者ID /// (2.4) UPDATEDATE = 取AP系統日期 /// End IF /// </summary> public ArrayList RecordingByOpen(ArrayList ParameterList, DbTransaction RootDBT, string ConntionDB ) { try { string strResult = string.Empty; string strMsg = string.Empty; ArrayList ary = new ArrayList(); ParameterList1.Clear(); ParameterList1.Add(GetValueSetParameter(ParameterList[0].ToString(), "string", false)); //V_MONTH_CLOSE ParameterList1.Add(GetValueSetParameter(ParameterList[1].ToString(), "string", false)); //V_FUNC_NO CAAModel.ChanMonthCloseYN BCO = new CAAModel.ChanMonthCloseYN(ConntionDB); ArrayList aryResult = BCO.GetChanMonthCloseStatus(ParameterList, null); //設定檔 Y:已月結 N:未月結 if (aryResult[0].ToString() == "Y") { strMsg = "此月份尚未月結,不允許執行解除月結作業!"; ary.Add(aryResult[0].ToString()); ary.Add(strMsg); return ary; } else { bool IsRootTranscation = false; try { CAA_InvTrackDBO DBO = new CAA_InvTrackDBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion ArrayList arrRec = DBO.RecordingByOpen(ParameterList, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion return arrRec; } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw ex; } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } } } catch (Exception ex) { throw ex; } }
/// <summary> /// TABLE:VDS_CAA_MON_SETTING(月結設定檔) /// 說明:檢查MONTH_CLOSE=@結帳年月且FUNC_NO=@功能號且ENABLE=1,如果有值表示已經月結了,如果沒有值表示還沒月結,回傳檢查狀態@月結狀態 /// FLAG(有值傳Y,無值傳N)。 /// 傳入值: /// @結帳年月 /// @功能號 /// 回傳值: /// @月結狀態FLAG /// </summary> public ArrayList GetChanMonthCloseStatus(ArrayList ParameterList, DbTransaction RootDBT ) { bool IsRootTranscation = false; try { CAA_InvTrackDBO DBO = new CAA_InvTrackDBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion ArrayList ary = DBO.GetChanMonthCloseStatus(ParameterList, DBT); #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion return ary; } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw ex; } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } }
/// <summary> /// 傳入參數:@依照頁面輸入的查詢條件(沒有輸入的條件不為條件判斷) /// **文字型態採用模糊查詢** /// /// 回傳資料:@回傳gridview 參照web ui spec /// /// Table: /// VDS_CAA_INVOICE_TRACK /// </summary> public DataTable QueryInvTrackByLike(ArrayList ParameterList) { try { CAA_InvTrackDBO DBO = new CAA_InvTrackDBO(ref USEDB); DataTable dt = DBO.QueryInvTrackByLike(ParameterList); return dt; } catch (Exception ex) { throw ex; } }