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(); } }
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(); } }
// Dữ liệu chi tiết tờ khai 10/KK-TNCN private void Prc_doc_file_tk10(string p_short_name, string p_tax_name, string p_tax_code, string p_path, DirectoryInfo p_dir_source, DateTime p_ky_tk10_tu, DateTime p_ky_tk10_den) { try { // Đọc file CNTKYYYY.DBF string _search_pattern = "CNTK2012.DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu chi tiết tờ khai 10/KK-TNCN ArrayList _listFile = new ArrayList(); // Lấy danh sách các file dữ liệu chi tiết tờ khai 10/KK-TNCN _listFile.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_tk10 = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); // Biến lưu trữ số bản ghi đã thêm vào bảng TB_TK AddToListView(2, "Tiến hành thực hiện đọc dữ liệu chi tiết tờ khai 10/KK-TNCN của " + p_tax_name); int _rowsnum = 0; foreach (FileInfo _file in _listFile) { try { string _query = @"SELECT a.madtnt as tin, a.kykkhai, a.NgNop as kylb_tu_ngay, b.madlt as mst_dtk, b.sohd as hd_dlt_so, dtoc(b.ngayhd) as hd_dlt_ngay FROM {0} a LEFT JOIN DTNT_DLT.DBF as b ON a.madtnt = b.madtnt WHERE a.matkhai = '10/KK-TNCN' AND (a.Thuetky2 = 0 OR ISNULL(a.Thuetky2))"; _query = _query.Replace("{0}", _file.Name); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); int _stt = 0; // Biến đếm số bản ghi 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(); #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 = ((DateTime)_dr["kylb_tu_ngay"]).ToString("dd/MM/yyyy").Trim(); #endregion _stt++; _query = @"INSERT INTO tb_tk (short_name, tin, kykk_tu_ngay, kykk_den_ngay, kylb_tu_ngay, mst_dtk, hd_dlt_so, hd_dlt_ngay, tax_model, ma_cqt, stt, id) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', {10}, {11})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _tin); _query = _query.Replace("{2}", _kykk_tu_ngay); _query = _query.Replace("{3}", _kykk_den_ngay); _query = _query.Replace("{4}", _kylb_tu_ngay); _query = _query.Replace("{5}", _dr["mst_dtk"].ToString().Trim()); _query = _query.Replace("{6}", _dr["hd_dlt_so"].ToString().Trim()); _query = _query.Replace("{7}", _dr["hd_dlt_ngay"].ToString().Trim()); _query = _query.Replace("{8}", "VAT_APP"); _query = _query.Replace("{9}", p_tax_code); _query = _query.Replace("{10}", _stt.ToString()); _query = _query.Replace("{11}", "seq_id_csv.nextval"); try { if (_connOra_tk10.exeUpdate(_query) != 0) _rowsnum++; // Đố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 10/KK-TNCN _query = @"SELECT b.madtnt, allt(str(b.thuetky, 20, 0)) as thuetky, b.cttn FROM c102012 b WHERE b.madtnt = '" + _tin + "'"; try { _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { // Xác định mã cttn string _cttn = _dr_details["cttn"].ToString().Trim(); // Biến lưu trữ tên loại chỉ tiêu string _chi_tieu; switch (_cttn) { case "021": _chi_tieu = "DTHU_DKIEN"; break; case "022": _chi_tieu = "TL_THNHAP_DKIEN"; break; case "023": _chi_tieu = "THNHAP_CTHUE_DKIEN"; break; case "024": _chi_tieu = "GTRU_GCANH"; break; case "025": _chi_tieu = "BAN_THAN"; break; case "026": _chi_tieu = "PHU_THUOC "; break; case "027": _chi_tieu = "THNHAP_TTHUE_DKIEN"; break; case "028": _chi_tieu = "TNCN"; break; default: continue; } _query = @"UPDATE tb_tk SET " + _chi_tieu + @" = " + _dr_details["thuetky"].ToString().Trim() + @" WHERE tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); } // Xóa nội dung chi tiết tờ khai 10/KK-TNCN _dt_details.Clear(); } catch (Exception ex) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN\\Cập nhật chỉ tiêu: " + ex.Message); } #endregion #region Cập nhật phân bổ tờ khai 10/KK-TNCN try { // Phân bổ quý 1 _query = @"SELECT a.madtnt, allt(str(sum(a.thuepn), 20, 0)) as PB, '12Q1' as KYTT, CToD('01/01/2012') as HT, a.HanNop2 as HN FROM p102012 a WHERE a.kylbo2 in('01/2012', '02/2012', '03/2012') AND a.madtnt = '" + _tin + @"' GROUP BY a.madtnt, HN"; _dt_details = _connFoxPro.exeQuery(_query); // Phân bổ quý 2 _query = @"SELECT a.madtnt, allt(str(sum(a.thuepn), 20, 0)) as PB, '12Q2' as KYTT, CToD('01/01/2012') as HT, a.HanNop2 as HN FROM p102012 a WHERE a.kylbo2 in('04/2012', '05/2012', '06/2012') AND a.madtnt = '" + _tin + @"' GROUP BY a.madtnt, HN"; _dt_details.Merge(_connFoxPro.exeQuery(_query)); // Phân bổ quý 3 _query = @"SELECT a.madtnt, allt(str(sum(a.thuepn), 20, 0)) as PB, '12Q3' as KYTT, CToD('01/01/2012') as HT, a.HanNop2 as HN FROM p102012 a WHERE a.kylbo2 in('07/2012', '08/2012', '09/2012') AND a.madtnt = '" + _tin + @"' GROUP BY a.madtnt, HN"; _dt_details.Merge(_connFoxPro.exeQuery(_query)); // Phân bổ quý 4 _query = @"SELECT a.madtnt, allt(str(sum(a.thuepn), 20, 0)) as PB, '12Q4' as KYTT, CToD('01/01/2012') as HT, a.HanNop2 as HN FROM p102012 a WHERE a.kylbo2 in('10/2012', '11/2012', '12/2012') AND a.madtnt = '" + _tin + @"' GROUP BY a.madtnt, HN"; _dt_details.Merge(_connFoxPro.exeQuery(_query)); foreach (DataRow _dr_details in _dt_details.Rows) { // Xác định kỳ phân bổ string _kytt = _dr_details["KYTT"].ToString().Trim(); switch (_kytt) { case "12Q1": _query = @"UPDATE tb_tk a SET a.PB01 = " + _dr_details["PB"].ToString().Trim() + @", a.KYTT01 = '" + _dr_details["KYTT"].ToString().Trim() + @"', a.HT01 = '" + ((DateTime)_dr_details["HT"]).ToString("dd/MM/yyyy").Trim() + @"', a.HN01 = '" + ((DateTime)_dr_details["HN"]).ToString("dd/MM/yyyy").Trim() + @"' WHERE a.tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); break; case "12Q2": _query = @"UPDATE tb_tk a SET a.PB02 = " + _dr_details["PB"].ToString().Trim() + @", a.KYTT02 = '" + _dr_details["KYTT"].ToString().Trim() + @"', a.HT02 = '" + ((DateTime)_dr_details["HT"]).ToString("dd/MM/yyyy").Trim() + @"', a.HN02 = '" + ((DateTime)_dr_details["HN"]).ToString("dd/MM/yyyy").Trim() + @"' WHERE a.tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); break; case "12Q3": _query = @"UPDATE tb_tk a SET a.PB03 = " + _dr_details["PB"].ToString().Trim() + @", a.KYTT03 = '" + _dr_details["KYTT"].ToString().Trim() + @"', a.HT03 = '" + ((DateTime)_dr_details["HT"]).ToString("dd/MM/yyyy").Trim() + @"', a.HN03 = '" + ((DateTime)_dr_details["HN"]).ToString("dd/MM/yyyy").Trim() + @"' WHERE a.tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); break; case "12Q4": _query = @"UPDATE tb_tk a SET a.PB04 = " + _dr_details["PB"].ToString().Trim() + @", a.KYTT04 = '" + _dr_details["KYTT"].ToString().Trim() + @"', a.HT04 = '" + ((DateTime)_dr_details["HT"]).ToString("dd/MM/yyyy").Trim() + @"', a.HN04 = '" + ((DateTime)_dr_details["HN"]).ToString("dd/MM/yyyy").Trim() + @"' WHERE a.tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); break; default: continue; } } _dt_details.Clear(); } catch (Exception ex) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN\\Cập nhật phân bổ: " + ex.Message); } #endregion #region Cập nhật trường rv_so_tien try { // Biến lưu trữ kỳ chốt dữ liệu string _ky_tk10_den = p_ky_tk10_den.Month.ToString().PadLeft(2, '0') + "/" + p_ky_tk10_den.Year.ToString(); _query = @"SELECT allt(str(sum(a.thuepn), 20, 0)) as rv_so_tien FROM p102012 a WHERE a.kylbo2 <= '" + _ky_tk10_den + "'"; _dt_details = _connFoxPro.exeQuery(_query); foreach (DataRow _dr_details in _dt_details.Rows) { _query = @"UPDATE tb_tk a SET a.rv_so_tien = " + _dr_details["rv_so_tien"].ToString() + @" WHERE a.tin = '" + _tin + "'"; _connOra_tk10.exeUpdate(_query); } } catch (Exception e) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN\\Cập nhật trường reverse: " + e.Message); } #endregion } catch (Exception ex) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN: " + ex.Message); continue; } } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (Exception ex) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN\\Thông tin chính: " + ex.Message); continue; } } AddToListView(2, "Đã thêm " + _rowsnum + " bản ghi vào bảng TB_TK của " + p_tax_name); _connOra_tk10.close(); _listFile.Clear(); _listFile = null; AddToListView(2, "Hoàn thành việc tải dữ liệu chi tiết tờ khai 10/KK-TNCN của " + p_tax_name); } catch (IOException e) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN\\Lỗi đăng nhập: " + e.Message); } catch (Exception e) { AddToListView(0, p_tax_name + "\\Tờ khai 10/KK-TNCN: " + e.Message); } }
// Dữ liệu số dư phát sinh đầu kỳ private void Prc_doc_file_sdps(string p_short_name, string p_tax_name, string p_tax_code, ref DateTime p_ky_ps_tu, ref DateTime p_ky_ps_den, string p_path, DirectoryInfo p_dir_source) { // Đọc file SDPSYYYY.DBF string _search_pattern = "SDPS*.DBF"; // Đối tượng lưu trữ danh sách file dữ liệu số dư phát sinh đầu kỳ ArrayList _listFile_sdps = new ArrayList(); // Lấy danh sách các file dữ liệu số dư phát sinh đầu kỳ _listFile_sdps.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_sdps = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); AddToListView(2, "Tiến hành việc tải dữ liệu số dư phát sinh đầu kỳ của " + p_tax_name); // Biến lưu số bản ghi đã được thêm vào bảng TB_PS int _rowsnum = 0; foreach (FileInfo _file in _listFile_sdps) { try { string _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.thuetky as so_tien, a.kylbo, a.kykkhai FROM {0} a WHERE a.matkhai IN ('02T/KK-TNCN', '02Q/KK-TNCN', '03T/KK-TNCN', '03Q/KK-TNCN', '07/KK-TNCN', '08/KK-TNCN', '08A/KK-TNCN', '10/KK-TNCN', '10A/KK-TNCN') AND a.mamuc = '1000' AND a.thuetky > 0"; /* 02T/KK-TNCN Tháng 02Q/KK-TNCN Quý 03T/KK-TNCN Tháng 03Q/KK-TNCN Quý 07/KK-TNCN Tháng 08/KK-TNCN Quý 08A/KK-TNCN Quý 10/KK-TNCN Tháng 10A/KK-TNCN Tháng */ _query = _query.Replace("{0}", _file.Name); 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); int _stt = 0; // Biến đếm số bản ghi 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ộ try { _ky_lbo = new DateTime(Int32.Parse(_kylbo.Substring(2, 4)), // Năm Int32.Parse(_kylbo.Substring(0, 2)), // Tháng 1); // Ngày } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: Kỳ lập bộ sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: " + e.Message); continue; } // Tờ khai tháng if (_ma_tkhai.Equals("02T/KK-TNCN") || _ma_tkhai.Equals("03T/KK-TNCN") || _ma_tkhai.Equals("07/KK-TNCN") || _ma_tkhai.Equals("10/KK-TNCN") || _ma_tkhai.Equals("10A/KK-TNCN")) { try { _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); } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: " + e.Message); continue; } } // 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 try { _quy_ky_kkhai = Int32.Parse(_kykkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_kykkhai.Trim().Substring(1, 4)); } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh đầu kỳ: " + e.Message); continue; } 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 { throw new InvalidDataException("Tháng của kỳ phát sinh không hợp lệ"); } } if (_kylbo.CompareTo(p_ky_ps_den) > 0 || _kylbo.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(p_ky_ps_den) > 0 || _ky_psinh_tu.CompareTo(p_ky_ps_tu) < 0) continue; #endregion _stt++; // Bản ghi số mấy _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, ky_psinh_tu, ky_psinh_den, so_tien, han_nop, ngay_htoan, ngay_nop, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', {18})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _stt.ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{5}", _ma_tkhai); _query = _query.Replace("{6}", "757"); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _dr["ma_tmuc"].ToString().Trim()); _query = _query.Replace("{9}", "TKNS"); _query = _query.Replace("{10}", ""); _query = _query.Replace("{11}", ""); _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}", ((DateTime)_dr["ngay_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{16}", "VAT_APP"); _query = _query.Replace("{17}", ""); _query = _query.Replace("{18}", "seq_id_csv.nextval"); if (_connOra_sdps.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu số dư phát sinh: " + e.Message); continue; } } AddToListView(2, "Đã thêm " + _rowsnum + "bản ghi dữ liệu số dư phát sinh đầu kỳ vào bảng TB_PS của " + p_tax_name); _listFile_sdps.Clear(); _listFile_sdps = null; _connOra_sdps.close(); AddToListView(2, "Hoàn thành việc tải dữ liệu số dư phát sinh đầu kỳ của " + p_tax_name); }
// Dữ liệu phát sinh tháng private void Prc_doc_file_ps_thang(string p_short_name, string p_tax_name, string p_tax_code, ref DateTime p_ky_ps_tu, ref DateTime p_ky_ps_den, string _path, DirectoryInfo p_dir_source) { // Đọc file TZMMYYYY.DBF string _search_pattern = "TZ*.DBF"; // Đối tượng lưu trữ danh sách các file dữ liệu phát sinh tháng ArrayList _listFile_tz = new ArrayList(); // Lấy danh sách các file dữ liệu phát sinh tháng _listFile_tz.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_tz = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); AddToListView(2, "Tiến hành tải dữ liệu phát sinh tháng của " + p_tax_name); // Biến lưu số bản ghi dữ liệu phát sinh tháng // đã đọc vào bảng TB_PS int _rowsnum = 0; foreach (FileInfo _file in _listFile_tz) { try { string _query = @"SELECT a.madtnt as tin, a.matkhai as ma_tkhai, a.ngnop as ngay_nop, a.matm as ma_tmuc, a.hannop2 as han_nop, a.thuetky as so_tien, ('01/'+a.KyKKhai) as ky_psinh_tu, a.KyKKhai FROM {0} a,DTNT2.DBF b WHERE a.madtnt = b.madtnt AND a.MaMuc = '1000' AND a.MaTKhai IN ('02T/KK-TNCN', '03T/KK-TNCN', '07/KK-TNCN') AND a.ThueTKy2 <> 1 AND a.ThueTKy > 0"; _query = _query.Replace("{0}", _file.Name); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); int _stt = 0; // Biến đếm số bản ghi foreach (DataRow _dr in _dt.Rows) { string _ky_kkhai = _dr["KyKKhai"].ToString().Replace("/", ""); // Xác định kỳ phát sinh của đối tượng nộp thuế DateTime _ky_psinh_tu; DateTime _ky_psinh_den; try { _ky_psinh_tu = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _ky_psinh_den = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _ky_psinh_den = _ky_psinh_den.AddMonths(1).AddDays(-1); } catch (FormatException) { AddToListView(0, p_tax_name + "\\Phát sinh tháng: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Phát sinh tháng: " + e.Message); continue; } // Kiểm tra kỳ phát sinh nằm trong kỳ chốt dữ liệu if (_ky_psinh_tu.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(p_ky_ps_den) > 0 || _ky_psinh_den.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_den.CompareTo(p_ky_ps_den) > 0) continue; _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, ky_psinh_tu, ky_psinh_den, so_tien, han_nop, ngay_htoan, ngay_nop, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', {18})"; _stt++; // Bản ghi số mấy _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _stt.ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{5}", _dr["ma_tkhai"].ToString().Trim()); _query = _query.Replace("{6}", "757"); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _dr["ma_tmuc"].ToString().Trim()); _query = _query.Replace("{9}", "TKNS"); _query = _query.Replace("{10}", _dr["ky_psinh_tu"].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}", ""); _query = _query.Replace("{15}", ((DateTime)_dr["ngay_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{16}", "VAT_APP"); _query = _query.Replace("{17}", ""); _query = _query.Replace("{18}", "seq_id_csv.nextval"); if (_connOra_tz.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (Exception e) { AddToListView(0, p_tax_name + "\\Phát sinh tháng: " + e.Message); continue; } } AddToListView(2, "Đã thêm " + _rowsnum + " bản ghi dữ liệu phát sinh tháng vào bảng TB_PS của " + p_tax_name); _connOra_tz.close(); _listFile_tz.Clear(); _listFile_tz = null; AddToListView(2, "Hoàn thành tải dữ liệu phát sinh tháng cho " + p_tax_name); }
//Dữ liệu phát sinh quý private void Prc_doc_file_ps_quy(string p_short_name, string p_tax_name, string p_tax_code, ref DateTime p_ky_ps_tu, ref DateTime p_ky_ps_den, string p_path, DirectoryInfo p_dir_source) { // Đọc file CNTKYYYY.DBF string _search_pattern = "CNTK*.DBF"; // Đối tượng lưu danh sách các file dữ liệu phát sinh quý ArrayList _listFile_cntk = new ArrayList(); // Lấy danh sách các file dữ liệu phát sinh quý _listFile_cntk.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_cntk = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); AddToListView(2, "Tiến hành tải dữ liệu phát sinh quý của " + p_tax_name); // Biến lưu số bản ghi dữ liệu phát sinh tháng // đã đọc vào bảng TB_PS int _rowsnum = 0; foreach (FileInfo _file in _listFile_cntk) { try { string _query = @"SELECT a.madtnt as tin, a.matkhai as ma_tkhai, a.matm as ma_tmuc, a.ngnop as ngay_nop, a.hannop2 as han_nop, a.thuetky as so_tien, a.KyKkhai, a.KyLbo FROM {0} a WHERE a.matkhai IN ('02Q/KK-TNCN', '03Q/KK-TNCN', '08/KK-TNCN', '08A/KK-TNCN') AND a.thuetky2 <> 1 AND a.thuetky > 0"; _query = _query.Replace("{0}", _file.Name.ToString()); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); DataTable _dt = _connFoxPro.exeQuery(_query); int _stt = 0; // Biến đếm số bản ghi foreach (DataRow _dr in _dt.Rows) { #region Kiểm tra kỳ lập bộ string _temp = ""; _temp = _dr["kylbo"].ToString().Trim(); _temp = _temp.Replace("/", ""); try { // 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(p_ky_ps_den) > 0 || _kylbo.CompareTo(p_ky_ps_tu) < 0) continue; } catch (FormatException) { AddToListView(0, p_tax_name + "\\Phát sinh quý: Kỳ lập bộ sai định dạng ngày tháng"); } catch (Exception ex) { AddToListView(0, p_tax_name + "\\Phát sinh quý: " + ex.Message); } #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 mã tờ khai // Xác định mã tờ khai //if (_ma_tkhai.Equals("08/KK-TNCN") && _ma_tmuc.Equals("1014")) // _ma_tkhai = "08TN/KK-TNCN"; //else if (_ma_tkhai.Equals("08A/KK-TNCN") && _ma_tmuc.Equals("1014")) // _ma_tkhai = "08ATN/KK-TNCN"; #endregion #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 try { _quy_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(0, 1)); _nam_ky_kkhai = Int32.Parse(_ky_kkhai.Trim().Substring(1, 4)); } catch (FormatException) { AddToListView(0, p_tax_name + "\\Phát sinh quý: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Phát sinh quý: " + e.Message); continue; } #region Xác định kỳ phát sinh dựa vào quý của kỳ kê khai 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 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 { throw new InvalidDataException("Tháng của kỳ phát sinh không hợp lệ"); } if (_ky_psinh_tu.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(p_ky_ps_den) > 0) continue; #endregion #endregion _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, ky_psinh_tu, ky_psinh_den, so_tien, han_nop, ngay_htoan, ngay_nop, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', {18})"; _stt++; // Bản ghi số mấy _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _stt.ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{5}", _ma_tkhai); _query = _query.Replace("{6}", "757"); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _ma_tmuc); _query = _query.Replace("{9}", "TKNS"); _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}", ((DateTime)_dr["ngay_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{16}", "VAT_APP"); _query = _query.Replace("{17}", ""); _query = _query.Replace("{18}", "seq_id_csv.nextval"); if (_connOra_cntk.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (Exception e) { AddToListView(0, p_tax_name + "\\Phát sinh quý: " + e.Message); continue; } } AddToListView(2, "Đã thêm " + _rowsnum + " bản ghi dữ liệu phát sinh quý vào bảng TB_PS của " + p_tax_name); _listFile_cntk.Clear(); _listFile_cntk = null; _connOra_cntk.close(); AddToListView(2, "Hoàn thành tải dữ liệu phát sinh quý của " + p_tax_name); }
// Dữ liệu tờ khai 10A/KK-TNCN private void Prc_doc_file_p10a(string p_short_name, string p_tax_name, string p_tax_code, ref DateTime p_ky_ps_tu, ref DateTime p_ky_ps_den, string p_path, DirectoryInfo p_dir_source) { // Đọc file P10AYYYY.DBF string _search_pattern = "P10A*.DBF"; // Đối tượng lưu trữ danh sách file dữ liệu tờ khai 10A/KK-TNCN ArrayList _listFile_p10a = new ArrayList(); // Lấy danh sách các file dữ liệu tờ khai 10A/KK-TNCN _listFile_p10a.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_p10a = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); AddToListView(2, "Tiến hành việc tải dữ liệu tờ khai 10A/KK-TNCN của " + p_tax_name); // Biến lưu trữ số bản ghi đã được thêm vào bảng TB_PS int _rowsnum = 0; foreach (FileInfo _file in _listFile_p10a) { try { string _query = @"SELECT a.kykkhai2, a.kylbo, a.madtnt as tin, a.matkhai as ma_tkhai, a.matm as ma_tmuc, a.ngnop as ngay_nop, a.hannop2 as han_nop, a.thuepn as so_tien FROM {0} a WHERE a.matkhai = '10/KK-TNCN' AND a.thuetky2 <> 1 AND a.ThuePN > 0 AND a.mamuc = '1000'"; _query = _query.Replace("{0}", _file.Name); 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); int _stt = 0; // Biến đếm số bản ghi 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ữ kỳ lập bộ lấy từ file dữ liệu string _temp = _dr["kylbo"].ToString().Replace("/", "").Trim(); // Kỳ lập bộ DateTime _kylbo; try { _kylbo = new DateTime(Int32.Parse(_temp.Substring(2, 4)), // Năm Int32.Parse(_temp.Substring(0, 2)), // Tháng 1); // Ngày } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu tờ khai 10A/KK-TNCN: Kỳ lập bộ sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu tờ khai 10A/KK-TNCN: " + e.Message); continue; } // Biến lưu trữ kỳ kê khai lấy từ file dữ liệu string _ky_kkhai = _dr["KyKKhai2"].ToString().Replace("/", "").Trim(); // Xác định kỳ phát sinh của đối tượng nộp thuế // Ngày bắt đầu kỳ phát sinh DateTime _ky_psinh_tu; // Ngày kết thúc kỳ phát sinh DateTime _ky_psinh_den; try { _ky_psinh_tu = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _ky_psinh_den = new DateTime(Int32.Parse(_ky_kkhai.Substring(2, 4)), Int32.Parse(_ky_kkhai.Substring(0, 2)), 1); _ky_psinh_den = _ky_psinh_den.AddMonths(1).AddDays(-1); } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu tờ khai 10A/KK-TNCN: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu tờ khai 10A/KK-TNCN: " + e.Message); continue; } if (_kylbo.CompareTo(p_ky_ps_den) > 0 || _kylbo.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(p_ky_ps_tu) < 0 || _ky_psinh_tu.CompareTo(p_ky_ps_den) > 0) continue; #endregion _stt++; // Bản ghi số mấy _query = @"INSERT INTO tb_ps (short_name, stt, loai, ma_cqt, tin, ma_tkhai, ma_chuong, ma_khoan, ma_tmuc, tkhoan, ky_psinh_tu, ky_psinh_den, so_tien, han_nop, ngay_htoan, ngay_nop, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', {18})"; _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _stt.ToString()); _query = _query.Replace("{2}", "TK"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{5}", "10A/KK-TNCN"); _query = _query.Replace("{6}", "757"); _query = _query.Replace("{7}", "000"); _query = _query.Replace("{8}", _dr["ma_tmuc"].ToString().Trim()); _query = _query.Replace("{9}", "TKNS"); _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}", ((DateTime)_dr["ngay_nop"]).ToString("dd/MM/yyyy").ToString().Trim()); _query = _query.Replace("{16}", "VAT_APP"); _query = _query.Replace("{17}", ""); _query = _query.Replace("{18}", "seq_id_csv.nextval"); if (_connOra_p10a.exeUpdate(_query) != 0) _rowsnum++; } _dt.Clear(); _dt = null; _connFoxPro.close(); } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu tờ khai 10A/KK-TNCN: " + e.Message); continue; } } AddToListView(2, "Đã thêm " + _rowsnum + " bản ghi dữ liệu tờ khai 10A/KK-TNCN của " + p_tax_name + " vào bảng TB_PS"); _listFile_p10a.Clear(); _listFile_p10a = null; _connOra_p10a.close(); AddToListView(2, "Hoàn thành việc tải dữ liệu tờ khai 10A/KK-TNCN của " + p_tax_name); }
// Dữ liệu nợ private void Prc_doc_file_no(string p_short_name, string p_tax_name, string p_tax_code, ref DateTime p_ky_no_den, string p_path, DirectoryInfo p_dir_source) { // File NOYYYY.DBF string _search_pattern = "NO*.DBF"; // Đối tượng lưu trữ các file dữ liệu ArrayList _listFile_no = new ArrayList(); // Lấy danh sách các file dữ liệu _listFile_no.AddRange(p_dir_source.GetFiles(_search_pattern)); CLS_DBASE.ORA _connOra_no = new CLS_DBASE.ORA(GlobalVar.gl_connTKTQ); AddToListView(2, "Tiến hành thực hiện tải dữ liệu nợ của " + p_tax_name); // Biến lưu số bản ghi đã được thêm vào bảng TB_NO int _rowsnum = 0; foreach (FileInfo _file in _listFile_no) { try { string _query = @"SELECT a.madtnt as tin, a.matm as tmt_ma_tmuc, a.matk as ma_tkhoan, a.KyKKhai, a.hannop as han_nop, sum(iif(a.LoaiDC = '1',a.NoDKy + a.ThueDC,a.ThueDC)) as no_cuoi_ky, a.KyLBo FROM {0} a WHERE (a.MaMuc = '1000' OR (a.mamuc <> '1000' AND a.matm = '4268')) AND (a.LoaiQD = '0') AND iif(a.LoaiDC = '1', a.NoDKy + a.ThueDC, a.ThueDC) <> 0 GROUP BY tin, tmt_ma_tmuc, ma_tkhoan, KyKKhai, han_nop, KyLbo"; _query = _query.Replace("{0}", _file.Name); CLS_DBASE.FOX _connFoxPro = new CLS_DBASE.FOX(p_path); // Chứa dữ liệu DataTable _dt = _connFoxPro.exeQuery(_query); int _stt = 0; // Biến đếm số bản ghi MessageBox.Show(_dt.Rows.Count.ToString()); foreach (DataRow _dr in _dt.Rows) { #region Kiểm tra kỳ kê khai và kỳ lập bộ try { // Biến lưu trữ kỳ lập bộ lấy từ file dữ liệu string _ky_lbo = _dr["KyLBo"].ToString().Replace("/", "").Trim(); // Kỳ lập bộ DateTime _kylbo = new DateTime(Int32.Parse(_ky_lbo.Substring(2, 4)), // Năm Int32.Parse(_ky_lbo.Substring(0, 2)), // Tháng 1); // Ngày if ((_kylbo.AddMonths(1).AddDays(-1)).CompareTo(p_ky_no_den.AddMonths(1)) != 0) continue; } catch (FormatException) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: Kỳ lập bộ sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: " + e.Message); continue; } #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 = "0" + _ky_kkhai; // 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) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: " + e.Message); 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) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: Kỳ kê khai sai định dạng"); continue; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: " + e.Message); continue; } #endregion #endregion _query = @"INSERT INTO tb_no (short_name, stt, loai, ma_cqt, tin, ma_chuong, ma_khoan, tmt_ma_tmuc, tkhoan, ngay_hach_toan, kykk_tu_ngay, kykk_den_ngay, han_nop, dkt_ma, no_cuoi_ky, tax_model, status, id) VALUES ('{0}', {1}, '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', {17})"; _stt++; // Bản ghi số mấy _query = _query.Replace("{0}", p_short_name); _query = _query.Replace("{1}", _stt.ToString()); _query = _query.Replace("{2}", "CD"); _query = _query.Replace("{3}", p_tax_code); _query = _query.Replace("{4}", _dr["tin"].ToString().Trim()); _query = _query.Replace("{5}", "757"); _query = _query.Replace("{6}", "000"); _query = _query.Replace("{7}", _dr["tmt_ma_tmuc"].ToString().Trim()); _query = _query.Replace("{8}", _dr["ma_tkhoan"].ToString().Trim()); _query = _query.Replace("{9}", p_ky_no_den.ToString("dd/MM/yyyy")); _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["han_nop"]).ToString("dd/MM/yyyy")); _query = _query.Replace("{13}", ""); _query = _query.Replace("{14}", _dr["no_cuoi_ky"].ToString().Trim()); _query = _query.Replace("{15}", "VAT_APP"); _query = _query.Replace("{16}", ""); _query = _query.Replace("{17}", "seq_id_csv.nextval"); if (_connOra_no.exeUpdate(_query) != 0) _rowsnum++; } _connFoxPro.close(); _dt.Clear(); _dt = null; } catch (Exception e) { AddToListView(0, p_tax_name + "\\Dữ liệu nợ: " + e.Message); } } AddToListView(2, "Đã thêm " + _rowsnum + " bản ghi vào bảng TB_NO của " + p_tax_name); _connOra_no.close(); _listFile_no.Clear(); _listFile_no = null; AddToListView(2, "Hoàn thành việc tải dữ liệu nợ của " + p_tax_name); }