Exemplo n.º 1
0
        /*
         * 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);
                }
            }
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 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();
     }
 }
Exemplo n.º 4
0
        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";
        }
Exemplo n.º 5
0
 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();
     }
 }
Exemplo n.º 6
0
        // 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;
            }
        }
Exemplo n.º 7
0
 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();
     }
 }
Exemplo n.º 8
0
        // 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;
            }
        }
Exemplo n.º 9
0
        // 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;
            }
        }
Exemplo n.º 10
0
 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();
     }
 }
Exemplo n.º 11
0
        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;
            }
        }
Exemplo n.º 12
0
 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();
     }
 }
Exemplo n.º 13
0
 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();
     }
 }
Exemplo n.º 14
0
        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();
            }
        }
Exemplo n.º 15
0
 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();
     }
 }
Exemplo n.º 16
0
 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();
     }
 }
Exemplo n.º 17
0
 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();
     }
 }
Exemplo n.º 18
0
        // Đọ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;
            }
        }
Exemplo n.º 19
0
        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();
            }
        }
Exemplo n.º 20
0
        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;

            }
        }
Exemplo n.º 21
0
 // 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();
     }
 }
Exemplo n.º 22
0
 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();
     }
 }
Exemplo n.º 23
0
 // 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();
     }
 }
Exemplo n.º 24
0
 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();
     }
 }
Exemplo n.º 25
0
        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;
            }
        }
Exemplo n.º 26
0
        // 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
        }
Exemplo n.º 27
0
        // 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;
            }
        }
Exemplo n.º 28
0
        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);
                }
            }
        }
Exemplo n.º 29
0
        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;
        }
Exemplo n.º 30
0
 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();
     }
 }