/* * Modify by ManhTV3 on 27/04/2012 * Kết xuất file excel báo cáo tiến độ chuẩn hóa * */ public static void Prc_Bcao_Chuan_Hoa(string p_sourcePath, string p_destinPath) { Microsoft.Office.Interop.Excel.Application _excelApp; _excelApp = new Microsoft.Office.Interop.Excel.Application(); // Mở file mẫu excel Microsoft.Office.Interop.Excel.Workbook workBook = _excelApp.Workbooks.Open(p_sourcePath, //Filename Type.Missing, //UpdateLinks Type.Missing, //ReadOnly Type.Missing, //Format Type.Missing, //Password Type.Missing, //WriteResPassword Type.Missing, //IgnoreReadOnlyRecommended Type.Missing, //Origin Type.Missing, //Delimiter Type.Missing, //Editable Type.Missing, //Notify Type.Missing, //Converter Type.Missing, //AddToMru Type.Missing, //Local Type.Missing); //CorruptLoad // Lấy dữ liệu using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { try { _ora.TransStart(); // Kết xuất báo cáo tiến độ chuẩn hóa string _sql = "SELECT * FROM vw_bc_ch;"; DataTable _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "BaoCaoChuanHoa", _dt); _dt.Clear(); workBook.SaveAs(p_destinPath, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //_ora.TransCommit(); } finally { // Đóng file mẫu excel workBook.Close(false, p_sourcePath, null); _excelApp.Quit(); CLS_EXCEL.Prc_releaseObject(workBook); CLS_EXCEL.Prc_releaseObject(_excelApp); } } }
public static void Fnc_cap_nhat_bmb() { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_MAP_TMS.Prc_Update_bac_mbai()"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Fnc_Cap_nhat_01TKH(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_ULT.Prc_sync_01_thkh('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static string Fnc_Capnhatdanhmuc(string p_short_name) { // Biến lưu trữ tên của hàm hoặc thủ tục //string v_pck = "FNC_GHI_DU_LIEU_DKNTK"; // Hàm lưu số bản ghi đã được xóa string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CHUYENDOI_VAT.Prc_Capnhatdanhmuc('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } return "Y"; }
public static void Prc_delete() { CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); string _query = @"DELETE FROM tb_temp_dchieu WHERE mau = 'VAT-APP'"; _ora.TransStart(); try { _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e) { throw new Exception("Có lỗi khi xóa dữ liệu: " + e.Message.ToString()); _ora.TransRollBack(); } finally { _ora.close(); } }
// Hàm đọc dữ liệu con khau tru 01/GTGT public static int Fnc_doc_file_ckt_01_old(string p_short_name, string p_tax_name, string p_tax_code, DateTime p_ky_chot, string p_path, DirectoryInfo p_dir_source, Forms.Frm_QLCD p_frm_qlcd ) { string flages = "YES"; //using (CLS_DBASE.ORA _connOra_no = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) using (CLS_DBASE.ORA _connOra_no = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQVATW)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_CKT_01"; // Biến lưu số bản ghi đã được bổ sung vào bảng TB_NO int _rowsnum = 0; string _File_Nghi = "Nghi" + p_ky_chot.ToString("yyyy") + ".DBF"; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; #region Docfile ckt_01/GTGT // File string _search_pattern = "ST" + p_ky_chot.ToString("MMyyyy") + ".DBF"; // Đối tượng lưu trữ các file dữ liệu ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) continue; _query = @"SELECT a.madtnt as tin, max(c.machuong) as machuong, max(c.makhoan) as makhoan, max(a.KyKKhai) as KyKKhai, max(a.HanNop) as HanNop, a.MaTM as MaTMuc, sum(a.KTTHTRUOC + a.sodcqt)*(-1) as SoTien FROM {0} a INNER JOIN DTNT2.DBF as c ON a.madtnt = c.madtnt WHERE (KTTHTRUOC + sodcqt) < 0 and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) GROUP BY a.madtnt, a.MaTM "; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); // int countf = 0; foreach (DataRow _dr in _dt.Rows) { #region Xác định kỳ phát sinh của đối tượng nộp thuế // Biến lưu trữ kỳ kê khai lấy từ file dữ liệu string _ky_kkhai = _dr["KyKKhai"].ToString().Replace("/", "").Trim(); if (_ky_kkhai.Length < 6) _ky_kkhai = p_ky_chot.ToString("MMyyyy"); //Nếu kỳ kê khai trước tháng 1/2005 thì chuyển thành 1/2005 try { if (Int32.Parse(_ky_kkhai.Substring(2, 4)) < 2005) _ky_kkhai = "012005"; } catch (FormatException e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + e.Message); _error_message += e.Message + "(" + _file.Name + ");"; continue; } catch (Exception e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + e.Message); _error_message += e.Message + "(" + _file.Name + ");"; continue; } // Ngày bắt đầu kỳ phát sinh DateTime _kykk_tu_ngay; // Ngày kết thúc kỳ phát sinh DateTime _kykk_den_ngay; try { _kykk_tu_ngay = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _kykk_den_ngay = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _kykk_den_ngay = _kykk_den_ngay.AddMonths(1).AddDays(-1); } catch (FormatException e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + e.Message); _error_message += e.Message + "(" + _file.Name + ");"; continue; } catch (Exception e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + e.Message); _error_message += e.Message + "(" + _file.Name + ");"; continue; } #endregion string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = @"INSERT INTO tb_con_kt (STT, TIN, tax_model, ma_cqt, ma_tkhai, ma_tkhai_tms, short_name, ma_chuong, ma_khoan, ma_tmuc, KYKK_TU_NGAY, KYKK_DEN_NGAY, han_nop, ngay_htoan, so_tien, tkhoan ) VALUES ({0}, '{1}', '{2}', '{3}', '{4}','{5}','{6}','{7}', '{8}','{9}','{10}','{11}','{12}','{13}',{14},'{15}')"; _query = _query.Replace("{0}", _rowsnum.ToString()); _query = _query.Replace("{1}", matin); _query = _query.Replace("{2}", "VAT-APP"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", "01/GTGT"); _query = _query.Replace("{5}", "0026"); _query = _query.Replace("{6}", p_short_name); _query = _query.Replace("{7}", _dr["machuong"].ToString().Trim()); _query = _query.Replace("{8}", _dr["makhoan"].ToString().Trim()); _query = _query.Replace("{9}", _dr["MaTMuc"].ToString().Trim()); _query = _query.Replace("{10}", _kykk_tu_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{11}", _kykk_den_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{12}", ((DateTime)_dr["HanNop"]).ToString("dd/MM/yyyy").Trim()); _query = _query.Replace("{13}", p_ky_chot.ToString("dd/MM/yyyy")); _query = _query.Replace("{14}", _dr["SoTien"].ToString().Trim()); _query = _query.Replace("{15}", "TK_NGAN_SACH"); if (_connOra_no.exeUpdate(_query) != 0) _rowsnum++; } _connFoxPro.close(); _dt.Clear(); _dt = null; } _listFile.Clear(); _listFile = null; if (flages != "No") { // Ghi log _connOra_no.TransStart(); _query = null; // Modify by ManhTV3 on 30.05.2012 if (_error_message.Length == 0) { _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + p_short_name + "', '" + v_pck + "', 'Y', null)"; _connOra_no.TransExecute(_query); _connOra_no.TransCommit(); } else { _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + p_short_name + "', '" + v_pck + "', 'N', '" + _error_message + "')"; _connOra_no.TransExecute(_query); _connOra_no.TransRollBack(); } } #endregion return _rowsnum; } }
public static void prc_ktra_du_lieu_ps(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_MOI_TRUONG.prc_set_glview('" + p_short_name + "')"; _ora.TransExecute(_query); _query = "call PCK_CHECK_DATA.prc_ktra_du_lieu_ps(userenv('client_info'))"; _ora.TransExecute(_query); _ora.TransCommit(); } }
// Hàm xóa dữ liệu phát sinh cũ trong bảng TB_PS public static int Fnc_xoa_du_lieu_ps_cu(string p_short_name, string p_tax_name, Forms.Frm_QLCD p_frm_qlcd) { using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_XOA_DU_LIEU_PS"; // Biến lưu số bản ghi đã được xóa int _rowsnum = 0; _query = @"DELETE FROM tb_ps WHERE short_name = '" + p_short_name + @"' AND tax_model = 'VAT-APP'"; _rowsnum = _ora.exeUpdate(_query); // Ghi log _ora.TransStart(); _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + p_short_name + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); return _rowsnum; } }
// Hàm đọc dữ liệu phát sinh trên TK TNDN CNBDS public static int Fnc_doc_file_ps_cnbds(string p_short_name, string p_tax_name, string p_tax_code, DateTime p_ky_chot, DateTime p_ky_ps_tu, DateTime p_ky_ps_den, string p_path, DirectoryInfo p_dir_source, Forms.Frm_QLCD p_frm_qlcd) { using (CLS_DBASE.ORA _connOra_cntk = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { DateTime _ky_ps_tu = p_ky_ps_tu; DateTime _ky_ps_den = p_ky_ps_den; string _query = ""; //Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_PS_CNBDS"; // Biến lưu số bản ghi dữ liệu phát sinh int _rowsnum = 0; string _File_Nghi = "Nghi" + p_ky_chot.ToString("yyyy") + ".DBF"; // Đọc file TKDNYYYY.DBF string _search_pattern = "SMD*.DBF"; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; // Đối tượng lưu danh sách các file dữ liệu phát sinh quý ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu phát sinh quý _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) continue; _query = @"SELECT a.madtnt as tin, a.matkhai as ma_tkhai, a.matm as ma_tmuc, a.ngnop as ngay_nop, a.hannop as han_nop, a.thuecl as so_tien, a.qui as KyKkhai, a.KyLbo, b.mabpql, b.macaptren, b.machuong FROM {0} a, DTNT2.DBF b WHERE a.matkhai IN ('02/TNDN') AND a.thuecl <> 0 AND a.madtnt = b.madtnt and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay))"; _query = _query.Replace("{0}", _file.Name.ToString()); _query = _query.Replace("{3}", _File_Nghi); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Kiểm tra kỳ lập bộ string _temp = ""; _temp = _dr["kylbo"].ToString().Trim(); _temp = _temp.Replace("/", ""); // Kỳ lập bộ DateTime _kylbo = new DateTime(Int32.Parse(_temp.Substring(2, 4)), // Năm Int32.Parse(_temp.Substring(0, 2)), // Tháng 1); // Ngày if (_kylbo.CompareTo(_ky_ps_den) > 0 || _kylbo.CompareTo(_ky_ps_tu) < 0) continue; #endregion string _ky_kkhai = _dr["KyKKhai"].ToString().Trim().Replace("/", ""); string _ma_tkhai = _dr["ma_tkhai"].ToString().Trim(); string _ma_tmuc = _dr["ma_tmuc"].ToString().Trim(); #region Xác định kỳ phát sinh int _quy_ky_kkhai = 1; // Biến lưu trữ quý của kỳ kê khai int _nam_ky_kkhai = 2010; // Biến lưu trữ năm của kỳ kê khai _quy_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(1, 4)); DateTime _ky_kk_tu; // Ngày bắt đầu kỳ kk DateTime _ky_kk_den; // Ngày kết thúc kỳ kk if (_quy_ky_kkhai == 1) { _ky_kk_tu = new DateTime(_nam_ky_kkhai, 1, 1); _ky_kk_den = new DateTime(_nam_ky_kkhai, 3, 31); } else if (_quy_ky_kkhai == 2) { _ky_kk_tu = new DateTime(_nam_ky_kkhai, 4, 1); _ky_kk_den = new DateTime(_nam_ky_kkhai, 6, 30); } else if (_quy_ky_kkhai == 3) { _ky_kk_tu = new DateTime(_nam_ky_kkhai, 7, 1); _ky_kk_den = new DateTime(_nam_ky_kkhai, 9, 30); } else if (_quy_ky_kkhai == 4) { _ky_kk_tu = new DateTime(_nam_ky_kkhai, 10, 1); _ky_kk_den = new DateTime(_nam_ky_kkhai, 12, 31); } else { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + new InvalidDataException("Tháng của kỳ phát sinh không hợp lệ").Message); continue; } if (_ky_kk_tu.CompareTo(_ky_ps_tu) < 0 || _ky_kk_den.CompareTo(_ky_ps_den) > 0) continue; #endregion _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, kykk_tu_ngay, kykk_den_ngay, so_tien, han_nop, ngay_htoan, tax_model, status, id, ma_cbo, ma_pban) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', {12}, '{13}', '{14}', '{15}', '{16}', {17}, '{18}', '{19}')"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", (_rowsnum + 1).ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); _query = _query.Replace("{5}", _ma_tkhai); _query = _query.Replace("{6}", _dr["machuong"].ToString().Trim()); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _ma_tmuc); _query = _query.Replace("{9}", "TK_NGAN_SACH"); _query = _query.Replace("{10}", _ky_kk_tu.ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{11}", _ky_kk_den.ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{12}", _dr["so_tien"].ToString().Trim()); _query = _query.Replace("{13}", ((DateTime)_dr["han_nop"]).ToString("dd/MM/yyyy").Trim()); _query = _query.Replace("{14}", p_ky_chot.ToString("dd/MM/yyyy").Trim()); _query = _query.Replace("{15}", "VAT-APP"); _query = _query.Replace("{16}", ""); _query = _query.Replace("{17}", "seq_id_csv.nextval"); _query = _query.Replace("{18}", _dr["mabpql"].ToString().Trim()); _query = _query.Replace("{19}", _dr["macaptren"].ToString().Trim()); if (_connOra_cntk.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile.Clear(); _listFile = null; // Ghi log _connOra_cntk.TransStart(); _query = null; return _rowsnum; } }
public static void Prc_QLTQCT_KhoiTao_MoiTruong(string p_short_name, DC.Forms.Frm_QLCD p_frm_qlcd) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_MOI_TRUONG.prc_set_glview('" + p_short_name + "')"; _ora.TransExecute(_query); _query = "call PCK_MOI_TRUONG.prc_cre_dblink(userenv('client_info'))"; _ora.TransExecute(_query); _query = "call PCK_MOI_TRUONG.prc_ktao(userenv('client_info'))"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static int Fnc_copy_file_dtnt_ftp(string p_forder, DirectoryInfo p_dir_destination, string p_short_name, Forms.Frm_QLCD p_frm_qlcd, string p_server, string p_username, string p_password, string p_filename) { using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { // Biến lưu trữ trên hàm hoặc thủ tục string v_pck = "FNC_COPY_FILE_DTNT"; // Biến xác định ghi logs khi thực hiện thành công string logs = ""; // Biến lưu câu lệnh sql string _query = ""; // Biến lưu trữ số file đã copy về máy int _so_file = 1; _ora.TransStart(); try { #region Copy files //Create a WebClient. WebClient request = new WebClient(); //Declare Ftp parameters /* string FtpServer = "ftp://10.15.117.98/aiun/BPH_DBVAT_707/DTNT/"; string FtpUserName = "******"; string FtpPassword = "******";*/ //Setup our credentials request.Credentials = new NetworkCredential(p_username, p_password); try { //Download the data into a Byte array byte[] fileData = request.DownloadData(p_server + p_forder + "/" + p_filename); //Create a FileStream that we'll write the // byte array to. FileStream file = File.Create(p_dir_destination + "\\" + p_filename); //Write the full byte array to the file. file.Write(fileData, 0, fileData.Length); file.Close(); // _so_file++; /* } catch (FormatException e) { MessageBox.Show(e.Message); } }*/ } catch (FormatException e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + ": " + e.Message); logs = "E"; return -1; } // MessageBox.Show("Download complete"); #endregion } catch (Exception e) { p_frm_qlcd.AddToListView(0, " + " + p_short_name + ": " + e.Message); // Ghi log _query = null; _query += "call PCK_TRACE_LOG.prc_ins_log_vs('" + p_short_name + "', '" + v_pck + "', 'N', '"; _query += e.Message.ToString().Replace("'", "\"") + "')"; _ora.TransExecute(_query); _ora.TransRollBack(); return -1; } if (logs != "E") { // Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + p_short_name + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } return _so_file; } }
public static void Prc_Tat_Toan(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CUTOVER.Prc_Tat_Toan('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_Qlt_Slech_No(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QLT.Prc_Job_qlt_Slech_No('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_Ktra_Kchot(string p_short_name) { string _query = null; DataTable _dt = null; string _tax_model = "QLT"; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = @"SELECT tax_model FROM tb_lst_taxo WHERE short_name='&1'"; _query = _query.Replace("&1", p_short_name); _dt = _ora.TransExecute_DataTable(_query); if (_dt.Rows.Count > 0) { _tax_model = _dt.Rows[0]["tax_model"].ToString(); } _dt.Reset(); _query = @"SELECT (SELECT NVL(TO_CHAR(KY_CHOT,'MM/RRRR'),'NULL') FROM tb_lst_taxo WHERE short_name='&1') KYCHOT_DC, (SELECT TO_CHAR(MAX(kylb_den_ngay),'MM/RRRR') FROM qlt_sothue_lock@qlt_&1 WHERE loai_so='ST1B') KYKHOASO_CQT, (SELECT TO_CHAR(MAX(kyno_tu_ngay),'MM/RRRR') FROM qlt_so_no@qlt_&1) KYNO_QLT, (SELECT TO_CHAR(MAX(kyno_tu_ngay),'MM/RRRR') FROM &2_so_no@qlt_&1) KYNO_QCT FROM dual"; _query = _query.Replace("&1", p_short_name); _query = _query.Replace("&2", _tax_model); _dt = _ora.TransExecute_DataTable(_query); if (_dt.Rows.Count > 0) { if ( _dt.Rows[0]["KYCHOT_DC"].ToString().Equals(_dt.Rows[0]["KYCHOT_DC"].ToString()) & _dt.Rows[0]["KYCHOT_DC"].ToString().Equals(_dt.Rows[0]["KYKHOASO_CQT"].ToString()) & _dt.Rows[0]["KYCHOT_DC"].ToString().Equals(_dt.Rows[0]["KYNO_QLT"].ToString()) & _dt.Rows[0]["KYCHOT_DC"].ToString().Equals(_dt.Rows[0]["KYNO_QCT"].ToString()) ) { _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('&1', 'PRC_KTRA_KCHOT', 'Y', null)"; _query = _query.Replace("&1", p_short_name); _ora.TransExecute(_query); } else { _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('&1', 'PRC_KTRA_KCHOT', 'N', '&2')"; _query = _query.Replace("&1", p_short_name); _query = _query.Replace("&2", "KYCHOT_DC: " + _dt.Rows[0]["KYCHOT_DC"].ToString() + " " + "KYKHOASO_CQT: " + _dt.Rows[0]["KYKHOASO_CQT"].ToString() + " " + "KYNO_QLT: " + _dt.Rows[0]["KYNO_QLT"].ToString() + " " + "KYNO_QCT(cho QCT): " + _dt.Rows[0]["KYNO_QCT"].ToString()); _ora.TransExecute(_query); } } _ora.TransCommit(); } }
public static void Prc_QLT_QctCCTT(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QCT.Prc_Job_Qct_Thop_CCTT_GTGT('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_QLT_GetQltTKMB(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QLT.Prc_Qlt_Get_TKTMB('" + p_short_name + "')"; _ora.TransExecute(_query); _query = "call PCK_MAP_TMS.Prc_Update_bac_mbai()"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_QLT_GetQltNo(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QLT.prc_qlt_get_no('" + p_short_name + "')"; _ora.TransExecute(_query); _query = "call PCK_MAP_TMS.prc_map_tc_no('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
// Đọc dữ liệu TKMB public static void Fnc_doc_file_tkmb(string p_short_name, string p_tax_name, string p_tax_code, string p_path, DirectoryInfo p_dir_source, DateTime p_ky_chot, Forms.Frm_QLCD p_frm_qlcd, ref int p_rownum, ref int p_rownumn) { using (CLS_DBASE.ORA _connOra_tkmb = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQVATW)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_TKMB"; string _Nam_TrK = p_ky_chot.Year.ToString().Trim(); string _TM_1801, _TM_1802, _TM_1803, _TM_1804, _TM_1805, _TM_1806; string _File_Nghi = "Nghi" + p_ky_chot.ToString("yyyy") + ".DBF"; // Biến lưu trữ số bản ghi đã thêm vào bảng TB_TK int _rowsnum = 0; int _rowsnumn = 0; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; // Đọc file TKMBYYYY.DBF string _search_pattern = "TKMB" + _Nam_TrK + ".DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu tờ khai môn bài ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu tờ khai môn bài _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) continue; _query = @"SELECT a.madtnt as tin, a.kykkhai, a.NgNop as NgNop, DToC(a.NgNop) as cNgNop, dtoc(a.HanNop) as HanNop, a.kylbo, sum(a.ThueTKy) as TongThue FROM {0} a INNER JOIN DTNT2.DBF as c ON a.madtnt = c.madtnt WHERE (a.TThTK$'1,3,4' AND a.KyLBo <= '{4}' AND a.ngnop = (sele max(ngnop) from {0} d where a.MaDTNT = d.MaDTNT and a.KyKKhai = d.KyKKhai AND d.TThTK$'1,3,4' and !delete() AND d.KyLBo <= '{4}' ) and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) ) GROUP BY a.madtnt, a.kykkhai, a.NgNop, a.HanNop, a.kylbo"; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); _query = _query.Replace("{4}", p_ky_chot.ToString("MM/yyyy")); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Xác định mã đối tượng người nộp thuế string _tin = _dr["tin"].ToString().Trim(); string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); #endregion #region Xác định kỳ kê khai string _kykk_tu_ngay = "01/01/" + _dr["kykkhai"].ToString().Trim(); string _kykk_den_ngay = "31/12/" + _dr["kykkhai"].ToString().Trim(); #endregion #region Xác định kỳ lập bộ string _kylb_tu_ngay = ("01/" + _dr["kylbo"].ToString().Trim()); string kylbo = _dr["kylbo"].ToString().Trim(); #endregion #region Không lấy dữ liệu có kỳ lập bộ lớn hơn kỳ chốt if (Int32.Parse(kylbo.Substring(0, 2)) > Int32.Parse(p_ky_chot.ToString("MM"))) { continue; } #endregion #region Lấy số ID tự tăng trong CSDL trung gian _query = @"select seq_id_csv.nextval ID from dual"; DataTable _dt_ID = _connOra_tkmb.exeQuery(_query); string _ID = _dt_ID.Rows[0]["ID"].ToString().Trim(); string _NgNop = ((DateTime)_dr["NgNop"]).ToString("dd/MM/yyyy").Trim(); if (Int32.Parse(kylbo.Substring(0, 2)) > Int32.Parse(p_ky_chot.ToString("MM"))) { continue; } #endregion #region Xác định thuế hạch toán vào các TM _TM_1801 = "0"; _TM_1802 = "0"; _TM_1803 = "0"; _TM_1804 = "0"; _TM_1805 = "0"; _TM_1806 = "0"; _query = @"SELECT a.MaTM as MaTM, a.ThueTKy as SoTien FROM {0} a WHERE a.madtnt = '{1}' AND a.kykkhai = '{2}' AND a.NgNop = CToD('{3}') "; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{1}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{2}", _dr["kykkhai"].ToString().Trim()); _query = _query.Replace("{3}", _dr["cNgNop"].ToString().Trim()); DataTable _dt_hachtoan; _dt_hachtoan = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_hachtoan in _dt_hachtoan.Rows) { switch (_dr_hachtoan["MaTM"].ToString().Trim()) { case "1801": _TM_1801 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1802": _TM_1802 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1803": _TM_1803 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1804": _TM_1804 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1805": _TM_1805 = _dr_hachtoan["SoTien"].ToString().Trim(); break; case "1806": _TM_1806 = _dr_hachtoan["SoTien"].ToString().Trim(); break; } } #endregion int flag = 0; _query = @"INSERT INTO TB_TKMB_HDR (short_name, tin, KYTT_TU_NGAY, KYTT_DEN_NGAY, NGAY_HTOAN, NGAY_NOP_TK, tax_model, ma_cqt, id, Han_Nop, TONG_THUE_PN_NNT, TONG_THUE_PN_CQT, TM_1801, TM_1802, TM_1803, TM_1804, TM_1805, TM_1806 ) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, '{9}',{10},{11},{12}, {13},{14},{15},{16},{17})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", matin); _query = _query.Replace("{2}", _kykk_tu_ngay); _query = _query.Replace("{3}", _kykk_den_ngay); _query = _query.Replace("{4}", p_ky_chot.ToString("dd/MM/yyyy").Trim()); _query = _query.Replace("{5}", _NgNop); _query = _query.Replace("{6}", "VAT-APP"); _query = _query.Replace("{7}", p_tax_code); _query = _query.Replace("{8}", _ID); _query = _query.Replace("{9}", _dr["HanNop"].ToString().Trim()); _query = _query.Replace("{10}", _dr["TongThue"].ToString().Trim()); _query = _query.Replace("{11}", _dr["TongThue"].ToString().Trim()); _query = _query.Replace("{12}", _TM_1801); _query = _query.Replace("{13}", _TM_1802); _query = _query.Replace("{14}", _TM_1803); _query = _query.Replace("{15}", _TM_1804); _query = _query.Replace("{16}", _TM_1805); _query = _query.Replace("{17}", _TM_1806); if (_connOra_tkmb.exeUpdate(_query) != 0) _rowsnum++; string _File_DTL = "MBCT" + _Nam_TrK + ".DBF"; // Đối tượng lưu trữ thông tin chi tiết tờ khai 10/KK-TNCN DataTable _dt_details; #region Cập nhật chỉ tiêu tờ khai môn bài _query = @"SELECT b.madtnt, b.STT as STT, b.BacMB as BacMB_NNT, b.BacMB2 as BacMB_CQT, allt(str(b.VonDK, 20, 0)) as VonDK_NNT, allt(str(b.VonDK2, 20, 0)) as VonDK_CQT, allt(str(b.ThuePN, 20, 0)) as ThuePN_NNT, allt(str(b.ThuePN2, 20, 0)) as ThuePN_CQT FROM {0} b WHERE b.madtnt = '{1}' And b.ngnop = ctod('{2}') AND !Empty(b.MaTM) "; _query = _query.Replace("{0}", _File_DTL); _query = _query.Replace("{1}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{2}", _dr["cNgNop"].ToString().Trim()); _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { string _Chi_Tieu = ""; if (_dr_details["STT"].ToString().Trim() == "2") _Chi_Tieu = "2"; if (_dr_details["STT"].ToString().Trim() == "3") _Chi_Tieu = "3"; // Bac mon bai NNT string _BacMB_NNT = _dr_details["BacMB_NNT"].ToString().Trim(); // Bac mon bai CQT string _BacMB_CQT = _dr_details["BacMB_CQT"].ToString().Trim(); //VonDK NNT string _VonDK_NNT = _dr_details["VonDK_NNT"].ToString().Trim(); //VonDK CQT string _VonDK_CQT = _dr_details["VonDK_CQT"].ToString().Trim(); //ThuePN NNT string _ThuePN_NNT = _dr_details["ThuePN_NNT"].ToString().Trim(); //ThuePN NNT string _ThuePN_CQT = _dr_details["ThuePN_CQT"].ToString().Trim(); if (_Chi_Tieu == "2") { _query = @"UPDATE TB_TKMB_HDR SET BMB_NNT = '{0}', Von_DKy_NNT = {1}, Thue_PN_NNT = {2}, BMB_CQT = '{3}', Von_DKy_CQT = {4}, Thue_PN_CQT = {5} Where ID = {6} "; _query = _query.Replace("{0}", _BacMB_NNT); _query = _query.Replace("{1}", _VonDK_NNT); _query = _query.Replace("{2}", _ThuePN_NNT); _query = _query.Replace("{3}", _BacMB_CQT); _query = _query.Replace("{4}", _VonDK_CQT); _query = _query.Replace("{5}", _ThuePN_CQT); _query = _query.Replace("{6}", _ID.ToString()); _connOra_tkmb.exeUpdate(_query); } if (_Chi_Tieu == "3") { _query = @"INSERT INTO TB_TKMB_DTL (id, HDR_ID, BMB_NNT, Von_DKy_NNT, Thue_PN_NNT, BMB_CQT, Von_DKy_CQT, Thue_PN_CQT ) VALUES ({0}, {1}, '{2}', {3}, {4}, '{5}', {6}, {7})"; _query = _query.Replace("{0}", "seq_id_csv.nextval"); _query = _query.Replace("{1}", _ID.ToString()); _query = _query.Replace("{2}", _BacMB_NNT); _query = _query.Replace("{3}", _VonDK_NNT); _query = _query.Replace("{4}", _ThuePN_NNT); _query = _query.Replace("{5}", _BacMB_CQT); _query = _query.Replace("{6}", _VonDK_CQT); _query = _query.Replace("{7}", _ThuePN_CQT); _connOra_tkmb.exeUpdate(_query); } } // Xóa nội dung chi tiết tờ khai _dt_details.Clear(); #endregion } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile.Clear(); _listFile = null; //Ghi log _connOra_tkmb.TransStart(); _query = null; // return _rowsnum; p_rownum = _rowsnum; p_rownumn = _rowsnumn; } }
public static void Prc_import_psqt(DirectoryInfo p_dir_source, string p_path) { CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); string _query = ""; string _search_pattern = "PSQT.DBF"; _ora.TransStart(); try { ArrayList _listFile = new ArrayList(); _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { try { _query = @"SELECT short_name, matkhai, tien from {0}"; _query = _query.Replace("{0}", _file.Name.ToString()); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { _query = @"INSERT INTO tb_temp_dchieu ( short_name, mau, v_char1, v_char2, v_char3, loai) VALUES ('{1}', '{2}', '{3}', '{4}', '{5}', '{6}')"; _query = _query.Replace("{1}", _dr["short_name"].ToString()); _query = _query.Replace("{2}", "VAT-APP"); _query = _query.Replace("{3}", _dr["matkhai"].ToString()); _query = _query.Replace("{4}", String.Format("{0:#,0}", Double.Parse(_dr["tien"].ToString()))); _query = _query.Replace("{5}", ""); _query = _query.Replace("{6}", "PS"); _ora.TransExecute(_query); } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (FormatException e) { _ora.TransRollBack(); throw new FormatException("Có lỗi khi import file psqt.dbf: " + e.Message.ToString()); } catch (Exception e) { _ora.TransRollBack(); throw new Exception("Có lỗi khi import file psqt.dbf: " + e.Message.ToString()); } } _ora.TransCommit(); _listFile.Clear(); _listFile = null; } catch (Exception e) { _ora.TransRollBack(); throw new Exception("Có lỗi khi import file psqt.dbf: " + e.Message.ToString()); } finally { _ora.close(); } }
public static void Fnc_doc_file_thang(string p_short_name, string p_tax_name, string p_tax_code, string p_path, DirectoryInfo p_dir_source, DateTime p_ky_chot, DateTime p_ky, Forms.Frm_QLCD p_frm_qlcd ) { using (CLS_DBASE.ORA _connOra_tkmb = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQVATW)) { string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_CCTT"; int _rowsnum = 0; string _File_Nghi = "Nghi" + p_ky.ToString("yyyy") + ".DBF"; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; string _search_pattern = "TK" + p_ky.ToString("MMyyyy") + ".DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu tờ khai môn bài ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu tờ khai môn bài _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile) { if (_file.Name.Length != 12) continue; _query = @"SELECT a.madtnt as tin, a.kykkhai, max(a.NgNop) as NgNop, max(a.HanNop) as HanNop, a.kylbo, a.MaTM as MaTM, sum(a.thuecl) as so_tien FROM {0} a INNER JOIN DTNT2.DBF as c ON a.madtnt = c.madtnt WHERE a.TThTK$'1' AND allt(a.MaTKHAI) = '4Q/GTGTKH' and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) GROUP BY a.madtnt, a.kykkhai, a.kylbo, a.MaTM"; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Xác định mã đối tượng người nộp thuế string _tin = _dr["tin"].ToString().Trim(); string matin = _dr["tin"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); #endregion #region Xác định kỳ phát sinh của đối tượng nộp thuế // Biến lưu trữ kỳ kê khai lấy từ file dữ liệu string _ky_kkhai = _dr["KyKKhai"].ToString().Replace("/", "").Trim(); if (_ky_kkhai.Length != 5) _ky_kkhai = (((p_ky_chot.Month - 1) / 3) + 1).ToString("D") + p_ky_chot.ToString("yyyy"); // Ngày bắt đầu kỳ phát sinh DateTime _kykk_tu_ngay; // Ngày kết thúc kỳ phát sinh DateTime _kykk_den_ngay; int _quy_ky_kkhai; int _nam_ky_kkhai; _quy_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(1, 4)); if (_quy_ky_kkhai == 1) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 1, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 3, 31); } else if (_quy_ky_kkhai == 2) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 4, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 6, 30); } else if (_quy_ky_kkhai == 3) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 7, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 9, 30); } else if (_quy_ky_kkhai == 4) { _kykk_tu_ngay = new DateTime(_nam_ky_kkhai, 10, 1); _kykk_den_ngay = new DateTime(_nam_ky_kkhai, 12, 31); } else { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + new InvalidDataException("Quý không hợp lệ").Message); continue; } #endregion #region Lấy số ID tự tăng trong CSDL trung gian _query = @"select seq_id_csv.nextval ID from dual"; DataTable _dt_ID = _connOra_tkmb.exeQuery(_query); string _ID = _dt_ID.Rows[0]["ID"].ToString().Trim(); #endregion string _NgNop = ((DateTime)_dr["NgNop"]).ToString("dd/MM/yyyy").Trim(); string _HanNop = ((DateTime)_dr["HanNop"]).ToString("dd/MM/yyyy").Trim(); string _MaTM = _dr["MaTM"].ToString().Trim(); _query = @"INSERT INTO TB_01_THKH_HDR (short_name, tin, KYTT_TU_NGAY, KYTT_DEN_NGAY, NGAY_HTOAN, NGAY_NOP_TK, tax_model, ma_cqt, id, Han_Nop ) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', {8}, '{9}')"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", matin); _query = _query.Replace("{2}", _kykk_tu_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{3}", _kykk_den_ngay.ToString("dd/MM/yyyy")); _query = _query.Replace("{4}", p_ky_chot.ToString("dd/MM/yyyy")); _query = _query.Replace("{5}", _NgNop); _query = _query.Replace("{6}", "VAT-APP"); _query = _query.Replace("{7}", p_tax_code); _query = _query.Replace("{8}", _ID); _query = _query.Replace("{9}", _HanNop); if (_connOra_tkmb.exeUpdate(_query) != 0) _rowsnum++; string _File_DTL = "KH" + p_ky.ToString("MMyyyy") + ".DBF"; if (p_dir_source.GetFiles(_File_DTL).Count() > 0) { DataTable _dt_details; #region Cập nhật chỉ tiêu tờ khai khoan _query = @"SELECT b.madtnt, allt(str(sum(b.DSo), 20, 0)) as Doanh_Thu, allt(str(sum(b.GTTT), 20, 0)) as GTTT, allt(str(sum(b.ThueSuat), 2, 0)) as ThueSuat, allt(str(sum(b.Thue), 20, 0)) as Thue_GTGT FROM {0} b WHERE b.madtnt = '" + _tin + "' AND b.MaTM = '" + _MaTM + "' GROUP BY b.madtnt, b.MaTM"; _query = _query.Replace("{0}", _File_DTL); _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { string _thue_suat = _dr_details["ThueSuat"].ToString().Trim(); if (_thue_suat == "5") { _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_quy_ts_5 = {0}, a.gtgt_chiu_thue_quy_ts_5 = {1}, a.thue_gtgt_quy_ts_5 = {2} WHERE a.ID = {3}" ; } else { _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_quy_ts_10 = {0}, a.gtgt_chiu_thue_quy_ts_10 = {1}, a.thue_gtgt_quy_ts_10 = {2} WHERE a.ID = {3}" ; } _query = _query.Replace("{0}", _dr_details["doanh_thu"].ToString().Trim()); _query = _query.Replace("{1}", _dr_details["GTTT"].ToString().Trim()); _query = _query.Replace("{2}", _dr_details["Thue_GTGT"].ToString().Trim()); _query = _query.Replace("{3}", _ID); _connOra_tkmb.exeUpdate(_query); _query = @"UPDATE TB_01_THKH_HDR a SET a.doanh_thu_ts_5 = a.doanh_thu_quy_ts_5 / 3 , a.gtgt_chiu_thue_ts_5 = a.gtgt_chiu_thue_quy_ts_5 / 3, a.thue_gtgt_ts_5 = a.thue_gtgt_quy_ts_5 / 3, a.doanh_thu_ts_10 = a.doanh_thu_quy_ts_10 / 3 , a.gtgt_chiu_thue_ts_10 = a.gtgt_chiu_thue_quy_ts_10 / 3, a.thue_gtgt_ts_10 = a.thue_gtgt_quy_ts_10 /3 WHERE a.ID = {3}"; _query = _query.Replace("{3}", _ID); _connOra_tkmb.exeUpdate(_query); } // Xóa nội dung chi tiết tờ khai _dt_details.Clear(); #endregion } } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile.Clear(); _listFile = null; //Ghi log _connOra_tkmb.TransStart(); _query = null; } }
// Ket chuyen du lieu tinh phat public static void Fnc_get_tinh_phat(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QTN.prc_get_qtn_tinh_phat('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_QLTQCT_GetLog(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_MOI_TRUONG.prc_get_errors('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
// Cap nhat tinh chat no public static void Fnc_update_tc_no(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QTN.prc_update_tc_no_vat('" + p_short_name + "')"; _ora.TransExecute(_query); //Map t/c no tms _query = "call PCK_MAP_TMS.prc_map_tc_no('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
public static void Prc_Create_DB_Link(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CDOI_DLIEU_QTN.prc_cre_dblink('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }
private void bw_DoWork(object sender, DoWorkEventArgs e) { // Modify by ManhTV3 on 3/5/2012 BackgroundWorker worker = sender as BackgroundWorker; for (int i = 0; i < arr_dr.Count; i++) { v_dr = (DataRow)arr_dr[i]; v_index = (int)arr_index[i]; AddToListView(2, "Bắt đầu việc xử lý của " + v_dr[1].ToString()); this.Enabled = false; BackgroundWorker _worker = sender as BackgroundWorker; // Reset log if (this.ckb_reset_log.Checked) { using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { string _tax_model = v_dr[6].ToString().Trim(); string _short_name = v_dr[1].ToString(); _ora.TransStart(); string _query = "call pck_trace_log.Prc_reset_log('" + _short_name + "','" + _tax_model + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } #region Cơ quan thuế QLT, QCT if (v_dr[6].ToString().Equals("QLT") || v_dr[6].ToString().Equals("QCT")) { // Kiểm tra môi trường if (this.ckb_ktao.Checked) { // Khởi tạo môi trường AddToListView(2, "Khởi tạo môi trường"); Prc_khoiTaoMoiTruong(v_dr[1].ToString()); } else if ((this.ckb_ddep.Checked)) //|| (this.ckb_mt_vatwin.Checked)) { // Dọn dẹp môi trường AddToListView(2, "Dọn dẹp môi trường"); Prc_donDepMoiTruong(v_dr[1].ToString()); } else { if ((this.ckb_check_kychot.Checked) || (this.ckb_qlt_ps.Checked) || (this.ckb_qlt_no.Checked) || (this.ckb_qlt_ckt.Checked) || (this.ckb_qlt_tkmb.Checked) || (this.ckb_qlt_dkntk.Checked) || (this.ckb_qlt_slech_no.Checked) || (this.ckb_qct_no.Checked) ||(this.ckb_qct_tkmb.Checked) ||(this.ckb_qct_dkntk.Checked) ||(this.ckb_qct_cctt.Checked) ||(this.ckb_qct_slech_no.Checked)) { // Kiểm tra kỳ chốt AddToListView(2, "Kiểm tra kỳ chốt"); TKTQ_PCK_ORA_QLT.Prc_Ktra_Kchot(v_dr[1].ToString()); } // Tổng hợp dữ liệu nợ, phát sinh, tờ khai 10 #region TH dữ liệu if (v_combo_value == "TH") { // Tổng hợp dữ liệu phát sinh if (this.ckb_qlt_ps.Checked) { AddToListView(2, "QLT - Tổng hợp dữ liệu phát sinh"); TKTQ_PCK_ORA_QLT.Prc_QLT_QltPs(v_dr[1].ToString()); } // Tổng hợp dữ liệu nợ if (this.ckb_qlt_no.Checked) { AddToListView(2, "QLT - Tổng hợp dữ liệu nợ"); TKTQ_PCK_ORA_QLT.Prc_QLT_QltNo(v_dr[1].ToString()); } // Tổng hợp dữ liệu ckt if (this.ckb_qlt_ckt.Checked) { AddToListView(2, "QLT - Tổng hợp dữ liệu còn khấu trừ"); TKTQ_PCK_ORA_QLT.Prc_QLT_QltCkt(v_dr[1].ToString()); } // Tổng hợp dữ liệu TKMB if (this.ckb_qlt_tkmb.Checked) { AddToListView(2, "QLT - Tổng hợp dữ liệu tờ khai môn bài"); TKTQ_PCK_ORA_QLT.Prc_QLT_QltTKMB(v_dr[1].ToString()); } // Tổng hợp dữ liệu DKNTK if (this.ckb_qlt_dkntk.Checked) { AddToListView(2, "QLT - Tổng hợp dữ liệu đăng ký nộp tờ khai"); TKTQ_PCK_ORA_QLT.Prc_QLT_QltDKNTK(v_dr[1].ToString()); } if (this.ckb_qlt_slech_no.Checked) { AddToListView(2, "QLT - Tổng hợp sai lệch sổ nợ với sổ thu nộp"); TKTQ_PCK_ORA_QLT.Prc_Qlt_Slech_No(v_dr[1].ToString()); } if (this.ckb_qct_no.Checked) { AddToListView(2, "QCT - Tổng hợp dữ liệu nợ"); TKTQ_PCK_ORA_QLT.Prc_QLT_QctNo(v_dr[1].ToString()); } if (this.ckb_qct_tkmb.Checked) { AddToListView(2, "QCT - Tổng hợp dữ liệu TKMB"); TKTQ_PCK_ORA_QLT.Prc_QLT_QctTKMB(v_dr[1].ToString()); } if (this.ckb_qct_dkntk.Checked) { AddToListView(2, "QCT - Tổng hợp dữ liệu ĐKNTK"); TKTQ_PCK_ORA_QLT.Prc_QLT_QctDKNTK(v_dr[1].ToString()); } if (this.ckb_qct_cctt.Checked) { AddToListView(2, "QCT - Tổng hợp dữ liệu CCTT"); TKTQ_PCK_ORA_QLT.Prc_QLT_QctCCTT(v_dr[1].ToString()); } if (this.ckb_qct_slech_no.Checked) { AddToListView(2, "QCT - Tổng hợp sai lệch sổ nợ với sổ thu nộp"); TKTQ_PCK_ORA_QLT.Prc_Qct_Slech_No(v_dr[1].ToString()); } } #endregion #region Kết chuyển dữ liệu else if (v_combo_value == "CV") { // Lấy dữ liệu phát sinh đã tổng hợp if (this.ckb_qlt_ps.Checked) { AddToListView(2, "QLT - Chuyển dữ liệu phát sinh"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQltPs(v_dr[1].ToString()); } // Lấy dữ liệu nợ đã tổng hợp if (this.ckb_qlt_no.Checked) { AddToListView(2, "QLT - Chuyển dữ liệu nợ"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQltNo(v_dr[1].ToString()); } if (this.ckb_qlt_ckt.Checked) { AddToListView(2, "QLT - Chuyển dữ liệu còn khấu trừ"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQltCkt(v_dr[1].ToString()); } if (this.ckb_qlt_tkmb.Checked) { AddToListView(2, "QLT - Chuyển dữ liệu TKMB"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQltTKMB(v_dr[1].ToString()); } if (this.ckb_qlt_dkntk.Checked) { AddToListView(2, "QLT - Chuyển dữ liệu ĐKNTK"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQltDKNTK(v_dr[1].ToString()); } if (this.ckb_qlt_slech_no.Checked) { AddToListView(2, "QLT - Chuyển sai lệch sổ nợ với sổ thu nộp"); TKTQ_PCK_ORA_QLT.Prc_Qlt_Get_Slech_No(v_dr[1].ToString()); } if (this.ckb_qct_no.Checked) { AddToListView(2, "QCT - Chuyển dữ liệu nợ"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQctNo(v_dr[1].ToString()); } if (this.ckb_qct_tkmb.Checked) { AddToListView(2, "QCT - Chuyển dữ liệu TKMB"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQctTKMB(v_dr[1].ToString()); } if (this.ckb_qct_dkntk.Checked) { AddToListView(2, "QCT - Chuyển dữ liệu ĐKNTK"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQctDKNTK(v_dr[1].ToString()); } if (this.ckb_qct_cctt.Checked) { AddToListView(2, "QCT - Chuyển dữ liệu CCTT"); TKTQ_PCK_ORA_QLT.Prc_QLT_GetQctCCTT(v_dr[1].ToString()); } if (this.ckb_qct_slech_no.Checked) { AddToListView(2, "QCT - Chuyển sai lệch sổ nợ với sổ thu nộp"); TKTQ_PCK_ORA_QLT.Prc_Qct_Get_Slech_No(v_dr[1].ToString()); } if (this.ckb_error.Checked) { AddToListView(2, "Chuyển log"); TKTQ_PCK_ORA_QLT.Prc_QLTQCT_GetLog(v_dr[1].ToString()); } } #endregion } } #endregion #region Cơ quan thuế VAT if (v_dr[6].ToString().Equals("VAT")) { if (this.ckb_copy_file.Checked) { // Chuyển các file trong thư mục cũ sang thư mục BK tương ứng. Prc_Remove_Existed_File(v_index); // Chuyển các file từ máy của các cơ quan thuế về máy trạm Prc_Copy_To_Destination_Machine(v_index); } // Chuyển dữ liệu vào hệ thống Prc_Read_Data_VATW(v_index); } #endregion #region Ứng dụng QTN //Tạo DB link kết nối đến QTN cho tất cả các loại CQT if (this.ckb_tao_DB_link.Checked) { string v_pck = "PRC_KTAO_QTN"; string _query; _ora.TransStart(); try { AddToListView(2, "QTN - Tạo DB link QTN"); TKTQ_PCK_ORA_QTN.Prc_Create_DB_Link(v_dr[1].ToString()); //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e1) { //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'N', '" + e1.Message + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } //Số tính phạt trên QTN cho tất cả các loại CQT if (this.ckb_chuyen_tinh_phat.Checked) { string v_pck = "PRC_QTN_GET_TPHAT"; string _query; _ora.TransStart(); try { AddToListView(2, "QTN - Tổng hợp số tính phạt"); TKTQ_PCK_ORA_QTN.Fnc_get_tinh_phat(v_dr[1].ToString()); //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e1) { //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'N', '" + e1.Message + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } #endregion #region Ứng dụng PNN if (this.ckb_ktao_pnn.Checked) { AddToListView(2, "PNN - Khởi tạo môi trường"); TKTQ_PCK_ORA_PNN.Prc_KhoiTao_MoiTruong(v_dr[1].ToString()); } if (this.ckb_ddep_pnn.Checked) { AddToListView(2, "PNN - Dọn dẹp môi trường"); TKTQ_PCK_ORA_PNN.Prc_DonDep_MoiTruong(v_dr[1].ToString()); } if (v_combo_value_pnn == "TH") { if (this.ckb_pnn_no.Checked) { AddToListView(2, "PNN - Tổng hợp nợ"); TKTQ_PCK_ORA_PNN.Prc_TH_No(v_dr[1].ToString()); } } if (v_combo_value_pnn == "CV") { if (this.ckb_pnn_no.Checked) { AddToListView(2, "PNN - Chuyển dữ liệu nợ"); TKTQ_PCK_ORA_PNN.Prc_Get_No(v_dr[1].ToString()); } if (this.ckb_pnn_tk01.Checked) { AddToListView(2, "PNN - Chuyển dữ liệu tờ khai 01/TK-SDDPNN"); TKTQ_PCK_ORA_PNN.Prc_Get_tk01(v_dr[1].ToString()); } if (this.ckb_pnn_tk02.Checked) { AddToListView(2, "PNN - Chuyển dữ liệu tờ khai 02/TK-SDDPNN"); TKTQ_PCK_ORA_PNN.Prc_Get_tk02(v_dr[1].ToString()); } if (this.ckb_pnn_dmuc.Checked) { AddToListView(2, "PNN - Chuyển dữ liệu danh mục"); TKTQ_PCK_ORA_PNN.Prc_Get_Dmuc(v_dr[1].ToString()); } } #endregion #region Đọc dữ liệu nhập ngoài if (this.ckb_nhap_ngoai_no.Checked) { string v_pck = "PRC_NN_GET_NO"; string _query; _ora.TransStart(); try { AddToListView(2, "Đọc dữ liệu nợ nhập ngoài"); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_read_no(v_dr[1].ToString()); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_tong_hop_no(v_dr[1].ToString()); //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e1) { //Ghi log string _message = e1.Message.Replace("'", "''"); _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'N', '" + _message + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } if (this.ckb_nhap_ngoai_ps.Checked) { string v_pck = "PRC_NN_GET_PS"; string _query; _ora.TransStart(); try { AddToListView(2, "Đọc dữ liệu phát sinh nhập ngoài"); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_read_ps(v_dr[1].ToString()); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_tong_hop_ps(v_dr[1].ToString()); //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e1) { //Ghi log string _message = e1.Message.Replace("'", "''"); _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'N', '" + _message + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } if (this.ckb_nhap_ngoai_ckt.Checked) { string v_pck = "PRC_NN_GET_CKT"; string _query; _ora.TransStart(); try { AddToListView(2, "Đọc dữ liệu còn khấu trừ nhập ngoài"); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_read_ckt(v_dr[1].ToString()); TKTQ_PCK_ORA_NHAP_NGOAI.Fnc_tong_hop_ckt(v_dr[1].ToString()); //Ghi log _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'Y', null)"; _ora.TransExecute(_query); _ora.TransCommit(); } catch (Exception e1) { //Ghi log string _message = e1.Message.Replace("'", "''"); _query = null; _query = "call PCK_TRACE_LOG.prc_ins_log_vs('" + v_dr[1].ToString() + "', '" + v_pck + "', 'N', '" + _message + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } } #endregion #region Check Data if (this.ckb_check_no.Checked) { AddToListView(2, " - Kiểm tra dữ liệu nợ"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_NO(v_dr[1].ToString()); } if (this.ckb_check_ps.Checked) { AddToListView(2, " - Kiểm tra dữ liệu phát sinh"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_PS(v_dr[1].ToString()); } if (this.ckb_check_tkmb.Checked) { AddToListView(2, " - Kiểm tra dữ liệu tờ khai môn bài"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_TKMB(v_dr[1].ToString()); } if (this.ckb_check_ckt.Checked) { AddToListView(2, "Check - Kiểm tra dữ liệu nợ"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_CKT(v_dr[1].ToString()); } if (this.ckb_check_dkntk.Checked) { AddToListView(2, " - Kiểm tra dữ liệu đăng ký nộp tờ khai"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_DKNTK(v_dr[1].ToString()); } if (this.ckb_check_tkkh.Checked) { AddToListView(2, " - Kiểm tra dữ liệu tờ khai khoán"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_TKKH(v_dr[1].ToString()); } if (this.ckb_check_TK_PNN.Checked) { AddToListView(2, "Check - Kiểm tra dữ liệu tờ khai phi nông nghiệp"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_TK_PNN(v_dr[1].ToString()); } if (this.ckb_check_tphat.Checked) { AddToListView(2, "Check - Kiểm tra dữ liệu tính phạt"); TKTQ_PCK_ORA_CHECKDATA.Prc_CHECK_TPH(v_dr[1].ToString()); } #endregion #region Kết xuất if (this.ckb_kxu_loi.Checked) { AddToListView(2, "Kết xuất sai lệch"); Prc_KetXuat_Slech(v_dr[1].ToString()); } if (this.ckb_kxu_ctiet.Checked) { AddToListView(2, "Kết xuất chi tiết"); Prc_KetXuat_CTiet(v_dr[1].ToString()); } if (this.ckb_kxu_cdloi.Checked) { AddToListView(2, "Kết xuất chi tiết dữ liệu chuyển đổi lỗi"); Prc_KetXuat_ChuyenDoiLoi(v_dr[1].ToString()); } if (this.ckb_kxu_bban.Checked) { AddToListView(2, "Kết xuất biên bản lần 1"); Prc_Ketxuat_Bienban(v_dr[1].ToString()); } if (this.ckb_kxu_bban2.Checked) { AddToListView(2, "Kết xuất biên bản lần 2"); Prc_Ketxuat_Bienban2(v_dr[1].ToString()); } #endregion AddToListView(2, " + Kết thúc việc xử lý của " + v_dr[1].ToString()); v_dr = null; } }
// Gen biên bản đối chiếu dữ liệu lần 1 public static void Prc_BienBan(string _pathFOpen, string _pathFSave, string _short_name ) { using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { #region HEADER string _query_ps = "SELECT stt, tax_model, ten_tkhai, sotien FROM vw_bc_ps"; string _query_no = "SELECT stt, tax_model, tmt_ma_tmuc, so_no, so_pnop FROM vw_bc_no"; string _query_tcno = "SELECT STT, TAX_MODEL, TEN_TCNO, SO_NO FROM VW_BC_TCNO"; string _query_tphat = "SELECT STT, TAX_MODEL, SL, SOTIEN FROM VW_BC_TPHAT"; string _query_tphat_1 = "SELECT STT, TAX_MODEL FROM VW_BC_TPHAT"; string _query_tkh = "SELECT STT, TAX_MODEL, SL, DOANHTHU, GTTT, THUEPN FROM VW_BC_TKH"; string _query_tkh_1 = "SELECT STT, TAX_MODEL FROM VW_BC_TKH"; string _query_dkntk = "SELECT STT, TAX_MODEL, TEN_TKHAI, SL FROM VW_BC_DKNTK"; string _query_ckt = "SELECT STT, TAX_MODEL, TEN_TKHAI, SOTIEN FROM VW_BC_CKT"; string _query_tkmb = "SELECT STT, TAX_MODEL, ten_bac, SL, SOTIEN FROM VW_BC_TKMB"; string _query_tkmb_1 = "SELECT STT, TAX_MODEL, ten_bac FROM VW_BC_TKMB"; string _query_01pnn = "SELECT stt, TAX_MODEL, ma_tmuc, SL, SOTIEN FROM VW_BC_01PNN"; string _query_01pnn_1 = "SELECT stt, TAX_MODEL, ma_tmuc FROM VW_BC_01PNN"; string _query_02pnn = "SELECT stt, TAX_MODEL, ma_tmuc, SL, SOTIEN FROM VW_BC_02PNN"; string _query_02pnn_1 = "SELECT stt, TAX_MODEL, ma_tmuc FROM VW_BC_02PNN"; const int _row_start_1 = 4; Object _objNULL = System.Reflection.Missing.Value; Object _objTRUE = true; Object _objFALSE = false; String _query = null; DataTable _dt = null; string _txtField = null; // Đóng phiên làm việc Database _ora.TransStart(); // Mở kết nối đến CQT trong các câu lệnh query _query = "call PCK_MOI_TRUONG.prc_set_glview('" + _short_name + "')"; _ora.TransExecute(_query); // Tham số cho thứ tự của table trong WORD int _k; // Tham số cho thứ tự xóa table trong WORD int _z = 0; // Các index của table trong _Document cần xóa ArrayList _arr_delTable = new ArrayList(); // Mở một instance cho MS Word Microsoft.Office.Interop.Word.ApplicationClass _wordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); _wordApp.Visible = false; // Sao chép mẫu biên bản theo _pathFOpen Object _strFile = _pathFOpen; _Document _doc = _wordApp.Documents.Add(ref _strFile, //Template ref _objNULL, //NewTemplate ref _objNULL, //DocumentType ref _objFALSE //Visible ); #endregion #region IN DU LIEU #region In bảng phát sinh _k = 4; _dt = _ora.TransExecute_DataTable(_query_ps); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng nợ _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_no); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng tc nợ _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tcno); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng tính phạt _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tphat); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So CQT quản lý _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tphat_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So sai lệch _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tphat_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng tk khoán _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkh); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //Số CQT quản lý _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkh_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //Số sai lệch _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkh_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng dkntk _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_dkntk); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng còn khấu trừ _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_ckt); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng TKMB _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkmb); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So CQT quan ly _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkmb_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So sai lech _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_tkmb_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng 01 PNN _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_01pnn); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So CQT quan ly _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_01pnn_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So sai lech _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_01pnn_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion #region In bảng 02 pnn _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_02pnn); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So CQT quan ly _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_02pnn); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); //So sai lech _k = _k + 1; _dt = _ora.TransExecute_DataTable(_query_02pnn_1); Prc_fill_tbBienBan(_k, _doc, _dt, _row_start_1); // Add các index của table cần xóa if (_dt.Rows.Count == 0) _arr_delTable.Add(_k); _dt.Reset(); #endregion // Xóa table không cần thiết của _Document foreach (int i in _arr_delTable) { _doc.Tables[i - _z].Delete(); _z++; } #endregion #region END // Tính số trang của biên bản Microsoft.Office.Interop.Word.WdStatistic _stat = Microsoft.Office.Interop.Word.WdStatistic.wdStatisticPages; int _countPage = _doc.ComputeStatistics(_stat, ref _objNULL); // Điền các giá trị MERGE MAIL #region MERGE MAIL _query = @"SELECT * FROM vw_bban_01"; _dt = _ora.TransExecute_DataTable(_query); foreach (Field _docField in _doc.Fields) { Microsoft.Office.Interop.Word.Range _rngFieldCode = _docField.Code; String _fieldText = _rngFieldCode.Text; if (_fieldText.StartsWith(" MERGEFIELD")) { // Kết quả _rngFieldCode.Text có dạng // MERGEFIELD MyFieldName \\* MERGEFORMAT Int32 _endMerge = _fieldText.IndexOf("\\"); Int32 _fieldNameLength = _fieldText.Length - _endMerge; String _fieldName = _fieldText.Substring(11, _endMerge - 11); // thực hiện thay thế các Fields foreach (DataColumn _col in _dt.Columns) { if (_col.ColumnName.ToString().Trim().ToLower().Equals(_fieldName.Trim().ToLower())) { foreach (DataRow _row in _dt.Rows) { _docField.Select(); _txtField = _row[_col].ToString(); //_txtField = _row[_col].ToString() + (_fieldName.Trim() == "fld_CQT1" ? " giữ 01 bản, " : ""); if ((_fieldName.Trim().ToUpper() == "fld_tax_model".ToUpper()) & _row[_col].ToString().ToUpper().Equals("QCT")) _txtField = @"QLT\QCT"; if (_fieldName.Trim().ToUpper() == "fld_CountPage".ToUpper()) _txtField = _countPage.ToString(); _wordApp.Selection.TypeText(CLS_FONT.Fnc_TCVN3ToUNICODE(_txtField)); } } } } } _dt.Reset(); #endregion // Save tài liệu Object _pathSaveFile = _pathFSave + "\\" + _short_name + "_BienBanDoiChieu_01.doc"; _doc.SaveAs(ref _pathSaveFile, //FileName ref _objNULL, //FileFormat ref _objNULL, //LockComments ref _objNULL, //Password ref _objNULL, //AddToRecentFiles ref _objNULL, //WritePassword ref _objNULL, //ReadOnlyRecommended ref _objNULL, //EmbedTrueTypeFonts ref _objNULL, //SaveNativePictureFormat ref _objNULL, //SaveFormsData ref _objNULL, //SaveAsAOCELetter ref _objNULL, //Encoding ref _objNULL, //InsertLineBreaks ref _objNULL, //AllowSubstitutions ref _objNULL, //LineEnding ref _objNULL //AddBiDiMarks ); // Đóng tài liệu _doc.Close(ref _objFALSE, ref _objNULL, ref _objNULL); // Thoát WORD _wordApp.Quit(ref _objNULL, ref _objNULL, ref _objNULL); // Đóng phiên làm việc Database _ora.TransCommit(); } #endregion }
// Dữ liệu quyết định ấn định, bãi bỏ quyết định public static int Fnc_doc_file_qdad(string p_short_name, string p_tax_name, string p_tax_code, DateTime p_ky_chot, DateTime p_ky_ps_tu, DateTime p_ky_ps_den, string p_path, DirectoryInfo p_dir_source, Forms.Frm_QLCD p_frm_qlcd) { using (CLS_DBASE.ORA _connOra_qdad = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { DateTime _ky_ps_tu = p_ky_ps_tu; DateTime _ky_ps_den = p_ky_ps_den; string _query = ""; // Biến lưu trữ tên của hàm hoặc thủ tục string v_pck = "FNC_DOC_FILE_QDAD"; string _File_Nghi = "Nghi" + p_ky_chot.ToString("yyyy") + ".DBF"; // Biến lưu trữ số bản ghi int _rowsnum = 0; // Đọc file QDADYYYY.DBF string _search_pattern = "QDAD*.DBF"; // Biến lưu mô tả lỗi, ngoại lệ trong quá trình đọc file dữ liệu string _error_message = ""; // Đối tượng lưu trữ danh sách file dữ liệu quyết định ấn định, bãi bỏ quyết định ArrayList _listFile_qdad = new ArrayList(); // Lấy danh sách các file dữ liệu quyết định ấn định, bãi bỏ quyết định _listFile_qdad.AddRange(p_dir_source.GetFiles(_search_pattern)); foreach (FileInfo _file in _listFile_qdad) { _query = @"SELECT a.madtnt, a.matkhai as ma_tkhai, a.matm as ma_tmuc, a.kylbo,a.kykkhai, iif(Subs(DToC(a.NgayQD), 4, 7) == a.KyLBo, a.NgayQD, ('01/'+a.KyLBo)) as ngay_nop, a.hannop as han_nop, iif(a.Loai=1,a.thuecl,-1*a.thuecl) as so_tien , b.mabpql, b.macaptren, b.machuong FROM {0} a ,dtnt2 b WHERE a.maad IN ('02','03') AND a.thuecl > 0 AND a.matkhai IN ('01/TAIN', '01/BVMT', '01/PHLP', '01/KHAC', '01A/TNDN', '01B/TNDN') AND a.madtnt = b.madtnt and Allt(a.madtnt) not in (select Allt(MaDTNT) from {3} where empty(denngay)) "; _query = _query.Replace("{0}", _file.Name); _query = _query.Replace("{3}", _File_Nghi); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Đối tượng lưu trữ các bản ghi DataTable _dt = _connFoxPro.exeQuery(_query); foreach (DataRow _dr in _dt.Rows) { #region Kiểm tra kỳ phát sinh và kỳ lập bộ nằm trong kỳ chốt dữ liệu // Biến lưu trữ mã tờ khai string _ma_tkhai = _dr["ma_tkhai"].ToString().Trim(); // Biến lưu trữ kỳ lập bộ string _kylbo = _dr["kylbo"].ToString().Replace("/", "").Trim(); // Biến lưu trữ kỳ kê khai string _kykkhai = _dr["kykkhai"].ToString().Replace("/", "").Trim(); // Kỳ lập bộ DateTime _ky_lbo; DateTime _ky_psinh_tu; // Ngày bắt đầu kỳ phát sinh DateTime _ky_psinh_den; // Ngày kết thúc kỳ phát sinh // Xác định kỳ lập bộ _ky_lbo = new DateTime(Int32.Parse(_kylbo.Substring(2, 4)), // Năm Int32.Parse(_kylbo.Substring(0, 2)), // Tháng 1); // Ngày // Tờ khai tháng if (_ma_tkhai.Equals("01/TAIN") || _ma_tkhai.Equals("01/BVMT") || _ma_tkhai.Equals("01/KHAC")) { _ky_psinh_tu = new DateTime(Int32.Parse(_kykkhai.Substring(2, 4)), // Năm Int32.Parse(_kykkhai.Substring(0, 2)), // Tháng 1); // Ngày // Ngày kết thúc kỳ phát sinh _ky_psinh_den = new DateTime(Int32.Parse(_kykkhai.Substring(2, 4)), // Năm Int32.Parse(_kykkhai.Substring(0, 2)), // Tháng 1); // Ngày _ky_psinh_den = _ky_psinh_den.AddMonths(1).AddDays(-1); } // Tờ khai quý else { int _quy_ky_kkhai = 1; // Biến lưu trữ quý của kỳ kê khai int _nam_ky_kkhai = 2010; // Biến lưu trữ năm của kỳ kê khai _quy_ky_kkhai = Int32.Parse(_kykkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_kykkhai.Trim().Substring(1, 4)); if (_quy_ky_kkhai == 1) { _ky_psinh_tu = new DateTime(_nam_ky_kkhai, 1, 1); _ky_psinh_den = new DateTime(_nam_ky_kkhai, 3, 31); } else if (_quy_ky_kkhai == 2) { _ky_psinh_tu = new DateTime(_nam_ky_kkhai, 4, 1); _ky_psinh_den = new DateTime(_nam_ky_kkhai, 6, 30); } else if (_quy_ky_kkhai == 3) { _ky_psinh_tu = new DateTime(_nam_ky_kkhai, 7, 1); _ky_psinh_den = new DateTime(_nam_ky_kkhai, 9, 30); } else if (_quy_ky_kkhai == 4) { _ky_psinh_tu = new DateTime(_nam_ky_kkhai, 10, 1); _ky_psinh_den = new DateTime(_nam_ky_kkhai, 12, 31); } else { p_frm_qlcd.AddToListView(0, " + " + p_short_name + "/ " + v_pck + ": " + new InvalidDataException("Tháng của kỳ phát sinh không hợp lệ").Message); _error_message += "Tháng của kỳ phát sinh không hợp lệ(" + _file.Name + ");"; continue; } } if (_ky_lbo.CompareTo(_ky_ps_den) > 0 || _ky_lbo.CompareTo(_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(_ky_ps_den) > 0) continue; #endregion _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, kykk_tu_ngay, kykk_den_ngay, so_tien, han_nop, ngay_htoan, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', {17})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", (_rowsnum + 1).ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); string matin = _dr["madtnt"].ToString().Trim(); if (matin.Length > 10) { matin = matin.Insert(10, "-"); } _query = _query.Replace("{4}", matin); _query = _query.Replace("{5}", _ma_tkhai); _query = _query.Replace("{6}", _dr["machuong"].ToString().Trim()); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _dr["ma_tmuc"].ToString().Trim()); _query = _query.Replace("{9}", "TK_NGAN_SACH"); _query = _query.Replace("{10}", _ky_psinh_tu.ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{11}", _ky_psinh_den.ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{12}", _dr["so_tien"].ToString().Trim()); _query = _query.Replace("{13}", ((DateTime)_dr["han_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{14}", ((DateTime)_dr["ngay_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{15}", "VAT-APP"); _query = _query.Replace("{16}", ""); _query = _query.Replace("{17}", "seq_id_csv.nextval"); if (_connOra_qdad.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } _listFile_qdad.Clear(); _listFile_qdad = null; // Ghi log _connOra_qdad.TransStart(); _query = null; return _rowsnum; } }
public static void Prc_ChiTiet(string p_sourcePath, string p_destinPath, string p_short_name) { Microsoft.Office.Interop.Excel.Application _excelApp; _excelApp = new Microsoft.Office.Interop.Excel.Application(); // Mở file mẫu excel Microsoft.Office.Interop.Excel.Workbook workBook = _excelApp.Workbooks.Open(p_sourcePath, //Filename Type.Missing, //UpdateLinks Type.Missing, //ReadOnly Type.Missing, //Format Type.Missing, //Password Type.Missing, //WriteResPassword Type.Missing, //IgnoreReadOnlyRecommended Type.Missing, //Origin Type.Missing, //Delimiter Type.Missing, //Editable Type.Missing, //Notify Type.Missing, //Converter Type.Missing, //AddToMru Type.Missing, //Local Type.Missing); //CorruptLoad // Lấy dữ liệu using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { System.Data.DataTable _dt = null; string _sql = null; try { _ora.TransStart(); _ora.TransExecute("call PCK_MOI_TRUONG.Prc_Set_glView('" + p_short_name + "')"); // Kết xuất phát sinh _sql = "SELECT * FROM vw_ct_ps"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_PS", _dt); _dt.Clear(); // Kết xuất số nợ _sql = "SELECT * FROM vw_ct_no"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_NO", _dt); _dt.Clear(); // Kết xuất số tính phạt nộp chậm _sql = "SELECT * FROM VW_CT_TPHAT"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_TPHAT", _dt); _dt.Clear(); // Kết xuất chi tiết tờ khai khoán _sql = "SELECT * FROM VW_CT_TKH"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_TKH", _dt); _dt.Clear(); // Kết xuất chi tiết tờ khai khoán _sql = "SELECT * FROM VW_CT_CKT"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_CKT", _dt); _dt.Clear(); // Kết xuất đkntk _sql = "SELECT * FROM VW_CT_DKNTK"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_DKNTK", _dt); _dt.Clear(); // Kết xuất chi tiết tkmb _sql = "SELECT * FROM VW_CT_TKMB"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_TKMB", _dt); _dt.Clear(); // Kết xuất chi tiết tkmb _sql = "SELECT * FROM VW_CT_01PNN"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_TK01PNN", _dt); _dt.Clear(); // Kết xuất chi tiết tkmb _sql = "SELECT * FROM VW_CT_02PNN"; _dt = _ora.TransExecute_DataTable(_sql); if (_dt.Rows.Count > 0) CLS_EXCEL.Prc_Add_Sheets(workBook, "DuLieu_TK02PNN", _dt); _dt.Clear(); workBook.SaveAs(p_destinPath, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); _ora.TransCommit(); } finally { // Đóng file mẫu excel workBook.Close(false, p_sourcePath, null); _excelApp.Quit(); CLS_EXCEL.Prc_releaseObject(workBook); CLS_EXCEL.Prc_releaseObject(_excelApp); } } }
public static int Fnc_ghi_du_lieu_dkntk(string p_short_name) { // Biến lưu trữ tên của hàm hoặc thủ tục //string v_pck = "FNC_GHI_DU_LIEU_DKNTK"; // Hàm lưu số bản ghi đã được xóa int _rowsnum = 0; string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CHUYENDOI_VAT.prc_capnhat_dkntk('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); _ora.TransStart(); _query = "call PCK_CHUYENDOI_VAT.prc_ghi_dkntk('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } return _rowsnum; }
public static void Prc_Ktra_Dlieu_KyLB(string p_short_name) { string _query = null; using (CLS_DBASE.ORA _ora = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ)) { _ora.TransStart(); _query = "call PCK_CHECK_DATA.Prc_Ktra_Dlieu_KyLB('" + p_short_name + "')"; _ora.TransExecute(_query); _ora.TransCommit(); } }