示例#1
0
        private void frmTaMultiSelect_Load(object sender, System.EventArgs e)
        {
            ar = new ArrayList();
            ar.Add(null);
            PublicFunction.L_Init_Label(this);
            Func.RecordSet rs = new Func.RecordSet(Detail + " where " + key1 + "=N''", PublicFunction.C_con);
            vs.Cols.Count = rs.cols + 1;
            for (int c = 1; c < vs.Cols.Count; c++)
            {
                if (c > cols)
                {
                    vs.Cols[c].Visible = false;
                }
                vs.Cols[c].Name = rs.Field(c - 1);
                if (vs.Cols[c].Name == "SYS_SEL")
                {
                    vs.Cols[c].Caption  = PublicFunction.L_GetLabel_VS("Public", vs.Cols[c].Name);
                    vs.Cols[c].DataType = typeof(System.Boolean);
                }
                else
                {
                    vs.Cols[c].Caption = PublicFunction.L_GetLabel_VS(_LabelID, vs.Cols[c].Name);
                }
            }
//			//vs.Cols[key1].Visible=false;
//			//if (key2!="") vs.Cols[key2].Visible=false;
            InitTree();
        }
示例#2
0
        //Cac phuong thuc de doc ghi file
        private bool WriteToTextFile(Func.RecordSet rs)
        {
            StringBuilder obj = new StringBuilder();

            for (int i = 0; i < rs.rows; i++)
            {
                if (i < rs.rows - 1)
                {
                    obj.AppendFormat("{0}~!~!~!~!~{1}~!~!~!~!~{2}~!~!~!~!~{3}~!~!~!~!~{4}~!~!~!~!~{5}~!~!~!~!~{6}~!~!~!~!~{7}\r\n", rs.record(i, "EFF_YM"), rs.record(i, "SUB_ID"), rs.record(i, "CAS_DT"), rs.record(i, "ORD_NO"), rs.record(i, "TYP_ID"), rs.record(i, "COL_NO"), rs.record(i, "DES_MY"), rs.record(i, "TRN_NO"));
                }
                else
                {
                    obj.AppendFormat("{0}~!~!~!~!~{1}~!~!~!~!~{2}~!~!~!~!~{3}~!~!~!~!~{4}~!~!~!~!~{5}~!~!~!~!~{6}~!~!~!~!~{7}", rs.record(i, "EFF_YM"), rs.record(i, "SUB_ID"), rs.record(i, "CAS_DT"), rs.record(i, "ORD_NO"), rs.record(i, "TYP_ID"), rs.record(i, "COL_NO"), rs.record(i, "DES_MY"), rs.record(i, "TRN_NO"));
                }
            }
            try
            {
                FileInfo f = new FileInfo("tam.txt");
                if (f.Exists)
                {
                    f.Delete();
                }
                StreamWriter writer = new StreamWriter(@"tam.txt", false);
                writer.Write(obj.ToString());
                writer.Close();
            }
            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
示例#3
0
        public void InsertPre_Pay(string subject)
        {
            string SUB_NO     = subject;
            string sql_pre    = "SELECT * FROM FILJ13A WHERE EFF_YM='" + CalculatePre_Pay(eff_ym) + "' AND SUB_ID between N'" + sub_id1 + "' and N'" + sub_id2 + "' AND RSV_FG=1";
            string sql_insert = "";

            Func.RecordSet rs_pre = new Func.RecordSet(sql_pre, PublicFunction.C_con);
            if (rs_pre.rows > 0)
            {
                for (int i = 0; i < rs_pre.rows; i++)
                {
                    sql_insert = "INSERT INTO FILJ13A VALUES ('" + eff_ym + "','" + rs_pre.record(i, "SUB_ID") + "','" +
                                 rs_pre.record(i, "CAS_DT") + "','" + SUB_NO + "','" + rs_pre.record(i, "ORD_NO") + "','" +
                                 rs_pre.record(i, "TYP_ID") + "','" + rs_pre.record(i, "COL_NO") + "','" + rs_pre.record(i, "COL_DR") + "'," + T_String.IsNullTo0(rs_pre.record(i, "OUT_QT") + "") + "," +
                                 T_String.IsNullTo0(rs_pre.record(i, "RET_QT") + "") + "," + T_String.IsNullTo0(rs_pre.record(i, "ACC_QT") + "") + "," +
                                 T_String.IsNullTo00(rs_pre.record(i, "UNT_PR") + "") + "," + T_String.IsNullTo00(rs_pre.record(i, "INC_MY") + "") + "," +
                                 T_String.IsNullTo00(rs_pre.record(i, "HLD_MY") + "") + "," +
                                 T_String.IsNullTo00(rs_pre.record(i, "DES_MY") + "") + ",0," + T_String.IsNullTo00(rs_pre.record(i, "BAL_MY") + "") + ",'" +
                                 rs_pre.record(i, "TRN_NO") + "')";
                    PublicFunction.SQL_Execute(sql_insert);
                }
            }
        }
示例#4
0
        private void InitTree()
        {
            Func.RecordSet rs = new Func.RecordSet(Master, PublicFunction.C_con);
            vs.Tree.Column = 1;
            vs.Rows.Count  = 1;
            for (int i = 2; i < vs.Cols.Count; i++)
            {
                vs.Cols[i].AllowEditing = false;
            }
            vs.Cols[1].AllowEditing = true;
            Node a;

            for (int i = 0; i < rs.rows; i++)
            {
                a = vs.Rows.InsertNode(vs.Rows.Count, 0);
                ar.Add(a);
                //vs.Rows[vs.Rows.Count-1].AllowEditing=false;
                //vs.SetCellCheck(vs.Rows.Count-1,1, CheckEnum.Unchecked);
                vs.SetCellCheck(vs.Rows.Count - 1, 1, CheckEnum.Unchecked);
                for (int j = 0; j < rs.cols; j++)
                {
                    vs[vs.Rows.Count - 1, j + 1] = rs.record(i, j);
                }
                if (key1 != "" && key2 != "")
                {
                    InitDetail(rs.record(i, key1), rs.record(i, key2));
                }
                else
                {
                    if (key1 != "")
                    {
                        InitDetail(rs.record(i, key1), "");
                    }
                }
                a.Expanded = false;
            }
        }
示例#5
0
        private void InitDetail(string f1, string f2)
        {
            Func.RecordSet rs;
            if (f2 != "")
            {
                rs = new Func.RecordSet(Detail + " where " + key1 + "=N'" + f1 + "' and " + key2 + "=N'" + f2 + "'" + orderby, PublicFunction.C_con);
            }
            else
            {
                rs = new Func.RecordSet(Detail + " where " + key1 + "=N'" + f1 + "'" + orderby, PublicFunction.C_con);
            }
            Node a;

            for (int i = 0; i < rs.rows; i++)
            {
                a = vs.Rows.InsertNode(vs.Rows.Count, 1);
                vs.SetCellCheck(vs.Rows.Count - 1, 1, CheckEnum.Unchecked);
                ar.Add(a);
                for (int j = 0; j < rs.cols; j++)
                {
                    vs[vs.Rows.Count - 1, j + 1] = rs.record(i, j);
                }
            }
        }
示例#6
0
        private void cmd_ok_Click(object sender, System.EventArgs e)
        {
            int    RCV_QT = 0, PAY_QT = 0;
            double INC_MY = 0, BAL_MY = 0, HLD_MY = 0, DES_MY = 0;
            string SUB_NO = PublicFunction.L_GetLabel("frmSearch3", 3);

            if (_rs.rows <= 0)
            {
                InsertPre_Pay(SUB_NO);                // dua vao cac payment thang truoc chua thanh toan
                this.DialogResult = DialogResult.OK;
                return;
            }
            else
            {
                string sql = "";
                if (keep_amount == "Y")
                {
                    sql = "select EFF_YM,SUB_ID,CAS_DT,ORD_NO,TYP_ID,COL_NO,INC_MY,DES_MY,TRN_NO from FILJ13A where EFF_YM='" + eff_ym + "' AND SUB_ID between N'" + sub_id1 + "' and N'" + sub_id2 + "'";
                    Func.RecordSet rs1 = new Func.RecordSet(sql, PublicFunction.C_con);
                    if (rs1.rows > 0)
                    {
                        sql = "DELETE FROM FILJ13A WHERE EFF_YM='" + eff_ym + "' AND SUB_ID between N'" + sub_id1 + "' and N'" + sub_id2 + "'";
                        PublicFunction.SQL_Execute(sql);
                        InsertPre_Pay(SUB_NO);                         // dua vao cac payment thang truoc chua thanh toan
                        if (WriteToTextFile(rs1))
                        {
                            ArrayList a = ReadFromTextFile();
                            for (int i = 0; i < _rs.rows; i++)
                            {
                                bool flag = false;
                                for (int j = 0; j < a.Count; j++)
                                {
                                    string[] row = (string[])a[j];
                                    if (_rs.record(i, "SUB_ID") == row[1] && _rs.record(i, "ORD_NO") == row[3] && _rs.record(i, "TYP_ID") == row[4] && _rs.record(i, "COL_NO") == row[5] && _rs.record(i, "TRN_NO") == row[7] && CalculatePre_Pay(DateTime.Now.ToString("yyyy/MM/dd")) != row[2].Substring(0, 7))
                                    {
                                        flag   = true;
                                        RCV_QT = T_String.IsNullTo0(vs.Rows[i + 1]["RCV_QT"] + "");
                                        PAY_QT = T_String.IsNullTo0(vs.Rows[i + 1]["PAY_QT"] + "");
                                        INC_MY = PAY_QT * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                                        HLD_MY = (RCV_QT - PAY_QT) * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                                        DES_MY = T_String.IsNullTo00(row[6] + "");
                                        BAL_MY = INC_MY - DES_MY;
                                        sql    = "INSERT INTO FILJ13A (EFF_YM,SUB_ID,CAS_DT,SUB_NO,ORD_NO,TYP_ID,COL_NO,COL_DR,RET_QT,ACC_QT,UNT_PR,INC_MY,HLD_MY,DES_MY,RSV_FG,BAL_MY,TRN_NO,OUT_QT) " +
                                                 "VALUES ('" + eff_ym + "',N'" + _rs.record(i, "SUB_ID") + "','" + DateTime.Now.ToString("yyyy/MM/dd") + "','" + SUB_NO + "', " +
                                                 "'" + _rs.record(i, "ORD_NO") + "', '" + _rs.record(i, "TYP_ID") + "','" + _rs.record(i, "COL_NO") + "','" + _rs.record(i, "LOT_DR") + "', " +
                                                 RCV_QT + ", " + PAY_QT + "," + T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "") +
                                                 "," + INC_MY + "," + HLD_MY + "," + DES_MY + "," + 0 + "," + BAL_MY + ",'" + vs.Rows[i + 1]["TRN_NO"] + "', " +
                                                 T_String.IsNullTo0(_rs.record(i, "SEND_QT") + "") + ")";
                                        PublicFunction.SQL_Execute(sql);
                                        break;
                                    }
                                }
                                if (flag == false)
                                {
                                    RCV_QT = T_String.IsNullTo0(vs.Rows[i + 1]["RCV_QT"] + "");
                                    PAY_QT = T_String.IsNullTo0(vs.Rows[i + 1]["PAY_QT"] + "");
                                    INC_MY = PAY_QT * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                                    HLD_MY = (RCV_QT - PAY_QT) * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                                    DES_MY = INC_MY - HLD_MY;
                                    BAL_MY = INC_MY - DES_MY;
                                    sql    = "INSERT INTO FILJ13A (EFF_YM,SUB_ID,CAS_DT,SUB_NO,ORD_NO,TYP_ID,COL_NO,COL_DR,RET_QT,ACC_QT,UNT_PR,INC_MY,HLD_MY,DES_MY,RSV_FG,BAL_MY,TRN_NO,OUT_QT) " +
                                             "VALUES ('" + eff_ym + "',N'" + _rs.record(i, "SUB_ID") + "','" + DateTime.Now.ToString("yyyy/MM/dd") + "','" + SUB_NO + "', " +
                                             "'" + _rs.record(i, "ORD_NO") + "', '" + _rs.record(i, "TYP_ID") + "','" + _rs.record(i, "COL_NO") + "', '" + _rs.record(i, "LOT_DR") + "', " +
                                             RCV_QT + ", " + PAY_QT + "," + T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "") + ", " +
                                             INC_MY + "," + HLD_MY + "," + DES_MY + "," + 0 + "," + BAL_MY + ",'" + vs.Rows[i + 1]["TRN_NO"] + "', " +
                                             T_String.IsNullTo0(_rs.record(i, "SEND_QT") + "") + ")";
                                    PublicFunction.SQL_Execute(sql);
                                }
                            }
                        }
                    }
                    else                       // co giu lai debit nhung ko co trong database
                    {
                        InsertPre_Pay(SUB_NO); // dua vao cac payment thang truoc chua thanh toan
                        for (int i = 0; i < _rs.rows; i++)
                        {
                            RCV_QT = T_String.IsNullTo0(vs.Rows[i + 1]["RCV_QT"] + "");
                            PAY_QT = T_String.IsNullTo0(vs.Rows[i + 1]["PAY_QT"] + "");
                            INC_MY = PAY_QT * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                            HLD_MY = (RCV_QT - PAY_QT) * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                            DES_MY = INC_MY - HLD_MY;
                            BAL_MY = INC_MY - DES_MY;
                            sql    = "INSERT INTO FILJ13A (EFF_YM,SUB_ID,CAS_DT,SUB_NO,ORD_NO,TYP_ID,COL_NO,COL_DR,RET_QT,ACC_QT,UNT_PR,INC_MY,HLD_MY,DES_MY,RSV_FG,BAL_MY,TRN_NO,OUT_QT) " +
                                     "VALUES ('" + eff_ym + "',N'" + _rs.record(i, "SUB_ID") + "','" + DateTime.Now.ToString("yyyy/MM/dd") + "','" + SUB_NO + "', " +
                                     "'" + _rs.record(i, "ORD_NO") + "', '" + _rs.record(i, "TYP_ID") + "','" + _rs.record(i, "COL_NO") + "','" + _rs.record(i, "LOT_DR") + "', " +
                                     RCV_QT + ", " +
                                     PAY_QT + "," + T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "") + ", " +
                                     INC_MY + "," + HLD_MY + "," + DES_MY + "," + 0 + "," + BAL_MY + ",'" + vs.Rows[i + 1]["TRN_NO"] + "', " +
                                     T_String.IsNullTo0(_rs.record(i, "SEND_QT") + "") + ")";
                            PublicFunction.SQL_Execute(sql);
                        }
                    }
                }
                else                 // ko giu lai debit
                {
                    sql = "DELETE FROM FILJ13A WHERE EFF_YM='" + eff_ym + "' AND SUB_ID between N'" + sub_id1 + "' and N'" + sub_id2 + "'";
                    PublicFunction.SQL_Execute(sql);
                    InsertPre_Pay(SUB_NO);                    // dua vao cac payment thang truoc chua thanh toan
                    for (int i = 0; i < _rs.rows; i++)
                    {
                        RCV_QT = T_String.IsNullTo0(vs.Rows[i + 1]["RCV_QT"] + "");
                        PAY_QT = T_String.IsNullTo0(vs.Rows[i + 1]["PAY_QT"] + "");
                        INC_MY = PAY_QT * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                        HLD_MY = (RCV_QT - PAY_QT) * T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "");
                        DES_MY = INC_MY - HLD_MY;
                        BAL_MY = INC_MY - DES_MY;
                        sql    = "INSERT INTO FILJ13A (EFF_YM,SUB_ID,CAS_DT,SUB_NO,ORD_NO,TYP_ID,COL_NO,COL_DR,RET_QT,ACC_QT,UNT_PR,INC_MY,HLD_MY,DES_MY,RSV_FG,BAL_MY,TRN_NO,OUT_QT) " +
                                 "VALUES ('" + eff_ym + "',N'" + _rs.record(i, "SUB_ID") + "','" + DateTime.Now.ToString("yyyy/MM/dd") + "','" + SUB_NO + "', " +
                                 "'" + _rs.record(i, "ORD_NO") + "', '" + _rs.record(i, "TYP_ID") + "','" + _rs.record(i, "COL_NO") + "','" + _rs.record(i, "LOT_DR") + "', " +
                                 RCV_QT + ", " + PAY_QT + "," + T_String.IsNullTo00(_rs.record(i, "UNT_PR") + "") + ", " +
                                 INC_MY + "," + HLD_MY + "," + DES_MY + "," + 0 + "," + BAL_MY + ",'" + vs.Rows[i + 1]["TRN_NO"] + "', " +
                                 T_String.IsNullTo0(_rs.record(i, "SEND_QT") + "") + ")";
                        PublicFunction.SQL_Execute(sql);
                    }
                }
            }
            Accept();
        }
示例#7
0
        public string GET_SQL(Func.RecordSet rs, string where)
        {
            string sql = "", wh = "", sort = "";

            for (int i = 0; i < rs.rows; i++)
            {
                string s = T_String.GetDataFromSQL("SQL_DR", "SYS_BS_TAPRINTOUT_GETCOLS", "COL_ID='" + rs.record(i, "COL_ID") + "'");
                if (sql != "")
                {
                    sql += ",";
                }
                if (s != null && s != "")                 // rs.record(i,"TAB_DR")=="" || rs.record(i,"TAB_DR")==null)
                {
                    sql += "(" + s + ") " + rs.record(i, "COL_ID");
                }
                else
                {
                    sql += rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID");
                }
                if (rs.record(i, "SRT_BT") + "" == "True")
                {
                    if (sort != "")
                    {
                        sort += ",";
                    }
                    sort += rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID");
                }
                if (rs.record(i, "CON_C1") + "" != "" && rs.record(i, "CON_D1") + "" != "")        // dieu kien 1
                {
                    wh += "and (" + rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID") + " " + rs.record(i, "CON_C1") + " ";
                    if (rs.record(i, "COL_ID") == "1")                 // datetime
                    {
                        wh += "'" + DateTime.Parse(rs.record(i, "CON_D1") + "").ToString("yyyy/MM/dd") + "'";
                    }
                    else
                    {
                        if (rs.record(i, "COL_ID") == "2")                     // bit
                        {
                            if (rs.record(i, "CON_D1") + "" == "1")
                            {
                                wh += rs.record(i, "CON_D1");
                            }
                            else
                            {
                                wh += rs.record(i, "CON_D1") + " or " + rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID") + " is null";
                            }
                        }
                        else                         // char
                        {
                            if (rs.record(i, "CON_C1") == "like")
                            {
                                wh += "N'%" + rs.record(i, "CON_D1") + "%'";
                            }
                            else
                            {
                                wh += "N'" + rs.record(i, "CON_D1") + "'";
                            }
                        }
                    }
                    if (rs.record(i, "CON_C2") + "" != "" && rs.record(i, "CON_D2") + "" != "")            //dieu kien 2
                    {
                        wh += " " + rs.record(i, "AND_OR") + " ";
                        wh += "(" + rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID") + " " + rs.record(i, "CON_C2") + " ";
                        if (rs.record(i, "COL_ID") == "2")                     // bit
                        {
                            if (rs.record(i, "CON_D2") + "" == "1")
                            {
                                wh += rs.record(i, "CON_D2");
                            }
                            else
                            {
                                wh += rs.record(i, "CON_D2") + " or " + rs.record(i, "TAB_DR") + "." + rs.record(i, "COL_ID") + " is null";
                            }
                        }
                        else                         // char
                        {
                            if (rs.record(i, "CON_C2") == "like")
                            {
                                wh += "N'%" + rs.record(i, "CON_D2") + "%'";
                            }
                            else
                            {
                                wh += "N'" + rs.record(i, "CON_D2") + "'";
                            }
                        }
                    }
                    wh += ")";
                }
            }
            string from;

            from = " from FILC06A,FILB01A where FILC06A.EMP_ID=FILB01A.EMP_ID ";
            sql  = "select " + sql + from + wh + " and " + where;
            if (sort != "")
            {
                sql += " order by " + sort;
            }
            return(sql);
        }
示例#8
0
        public void RPTta(C1XLBook book, string RPT_ID, string title, string wh)
        {
            //string ID="RPT1";
            book = new C1XLBook();

            XLSheet sheet = book.Sheets[0];

            FormatExcel.Init_Excel(sheet);
            sheet.Name = "Sheet1";

            XLStyle Title   = FormatExcel.Get_Style(book, 16, true, XLAlignVertEnum.Center, XLAlignHorzEnum.Center, true, false, "");
            XLStyle Caption = FormatExcel.Get_Style(book, 10, true, XLAlignVertEnum.Center, XLAlignHorzEnum.Center, true, true, "");
            XLStyle StringN = FormatExcel.Get_Style(book, 10, false, XLAlignVertEnum.Undefined, XLAlignHorzEnum.Undefined, false, false, "");
            XLStyle String  = FormatExcel.Get_Style(book, 10, false, XLAlignVertEnum.Undefined, XLAlignHorzEnum.Undefined, false, true, "");
            XLStyle INT     = FormatExcel.Get_Style(book, 10, false, XLAlignVertEnum.Undefined, XLAlignHorzEnum.Undefined, false, true, "#,###");
            XLStyle GIO     = FormatExcel.Get_Style(book, 10, false, XLAlignVertEnum.Undefined, XLAlignHorzEnum.Undefined, false, true, "#,###");
            XLStyle DOU     = FormatExcel.Get_Style(book, 10, false, XLAlignVertEnum.Undefined, XLAlignHorzEnum.Undefined, false, true, "#,###.##");


            string sql = "";

            sql = "Select * from FILE07B where RPT_ID=N'" + RPT_ID + "' and SHO_BT=1 ORDER BY SEQ_NO";
            Func.RecordSet rscon = new Func.RecordSet(sql, PublicFunction.C_con);
            sql = GET_SQL(rscon, wh);
            Func.RecordSet rs = new RecordSet(sql, PublicFunction.C_con);
            try
            {
                if (rs.rows <= 0)
                {
                    return;
                }
            }
            catch { return; }
            int       r = 0, cols = 0;
            ArrayList a = new ArrayList();

            a.Add(0);
            sheet.Columns[0].Width = 680;
            for (int i = 0; i < rs.cols; i++)
            {
                cols++;
                a.Add(i);
            }

            // tieu de
            sheet.MergedCells.Add(r, 0, 1, cols);
            sheet.Rows[r].Height = 800;
            FormatExcel.Set_Cell(sheet[r, 0],
                                 T_String.GetDataFromSQL("COM_N1", "FILA01A"), Title);
            r++;
            sheet.MergedCells.Add(r, 0, 1, cols);
            sheet.Rows[r].Height = 800;
            FormatExcel.Set_Cell(sheet[r, 0], title, Title);
            r++;
            FormatExcel.Set_Cell(sheet[r, cols - 2], PublicFunction.L_Get_RPT("RptTa", 1) + ":" + PublicFunction.A_UserID, StringN);
            r++;
            FormatExcel.Set_Cell(sheet[r, cols - 2], PublicFunction.L_Get_RPT("RptTa", 2) + ":" + T_String.GetDate().ToString("yyyy/MM/dd HH:mm"), StringN);
            r++;
            FormatExcel.Set_Cell(sheet[r, 0], "STT", Caption);
            for (int i = 0; i < rscon.rows; i++)
            {
                FormatExcel.Set_Cell(sheet[r, i + 1], rscon.record(i, "COL_NM"), Caption);
                sheet.Columns[i + 1].Width = T_String.IsNullTo0(rscon.record(i, "WID_VL")) * 17;
            }

            r++;

            //

            for (int i = 0; i < rs.rows; i++)
            {
                FormatExcel.Set_Cell(sheet[r, 0], i + 1 + "", INT);
                for (int c = 0; c < rscon.rows; c++)
                {
                    int c1 = c + 1;
                    switch (rscon.record(c, "TYP_ID") + "")
                    {
                    case "1":                            // DateTime
                    {
                        try
                        {
                            FormatExcel.Set_Cell(sheet[r, c1], DateTime.Parse(rs.record(i, c) + "").ToString("yyyy/MM/dd"), String);
                        }
                        catch { FormatExcel.Set_Cell(sheet[r, c1], "", String); }
                        break;
                    }

                    case "2":                            // boolean
                    {
                        if (rs.record(i, c) + "" != "True")
                        {
                            FormatExcel.Set_Cell(sheet[r, c1], "False", String);
                        }
                        else
                        {
                            FormatExcel.Set_Cell(sheet[r, c1], "True", String);
                        }
                        break;
                    }

                    case "":
                    {
                        FormatExcel.Set_Cell(sheet[r, c1], rs.record(i, c), String);
                        break;
                    }

                    case "3":                             // 00:00
                    {
                        FormatExcel.Set_Cell(sheet[r, c1], T_String.IsNullTo00(rs.record(i, c)).ToString("##:##"), String);
//							if(rscon.record(c,"SUM_BT")+""=="True")
//							{
//								a[c1]= T_String.CongTG(T_String.IsNullTo00(a[c1]+""),T_String.IsNullTo00(rs.record(i,c)));
//							}
                        break;
                    }

                    case "4":                             // double
                    {
                        FormatExcel.Set_Cell(sheet[r, c1], T_String.IsNullTo00(rs.record(i, c)).ToString("#,###.##"), DOU);
                        if (rscon.record(c, "SUM_BT") + "" == "True")
                        {
                            a[c1] = T_String.IsNullTo00(a[c1] + "") + T_String.IsNullTo00(rs.record(i, c));
                        }
                        break;
                    }

                    case "5":                             // int
                    {
                        FormatExcel.Set_Cell(sheet[r, c1], T_String.IsNullTo00(rs.record(i, c)).ToString("#,###.##"), INT);
                        if (rscon.record(c, "SUM_BT") + "" == "True")
                        {
                            a[c1] = T_String.IsNullTo00(a[c1] + "") + T_String.IsNullTo00(rs.record(i, c));
                        }
                        break;
                    }
                    }
                }
                r++;
                if (i + 1 == rs.rows)            //dong cuoi
                {
                    for (int c = 0; c < rscon.rows; c++)
                    {
                        int c1 = c + 1;
                        if (rscon.record(c, "SUM_BT") + "" == "True")
                        {
                            switch (rscon.record(c, "TYP_ID") + "")
                            {
                            //							case "3": // 00:00
                            //							{
                            //								FormatExcel.Set_Cell(sheet[r,c1], T_String.IsNullTo00(a[c1]+"").ToString("##:##"),String);
                            //								break;
                            //							}
                            case "4":                                     // double
                            {
                                FormatExcel.Set_Cell(sheet[r, c1], T_String.IsNullTo00(a[c1] + "").ToString("#,###.##"), DOU);
                                break;
                            }

                            case "5":                                     // int
                            {
                                FormatExcel.Set_Cell(sheet[r, c1], T_String.IsNullTo00(a[c1] + "").ToString("#,###.##"), INT);
                                break;
                            }
                            }
                        }
                    }
                }
            }



//			}

            try
            {
                string fileName = Application.StartupPath + @"\\Reports\\TAPO_" + RPT_ID + ".xls";
                book.Save(fileName);
                System.Diagnostics.Process.Start(fileName);
            }
            catch
            {
                MessageBox.Show("You must close TAPO_" + RPT_ID + ".xls file first!!!!!");
                return;
            }
        }