private void tong_hop_bao_cao(DS_RPT_THONG_TIN_TONG_HOP ip_ds, BackgroundWorker ip_bgw)
{
var ip_dt = ip_ds.Tables[0];
for(int i = 0; i < ip_dt.Rows.Count; i++)
{
DataRow v_dr = ip_dt.Rows[i];
decimal v_id_nhan_vien = CIPConvert.ToDecimal(v_dr["ID_NHAN_VIEN"]);
//B1: Tong hop thong tin 1 nhan vien
DataRow v_dr_thong_tin_tong_hop = get_thong_tin_tong_hop_1_nhan_vien(v_id_nhan_vien, int.Parse(m_txt_thang.Text.Trim()), int.Parse(m_txt_nam.Text.Trim()));
//B2: Insert vao Rpt
insertThongTinTongHopNV2RPT(v_dr_thong_tin_tong_hop);
ip_bgw.ReportProgress((i + 1) * 100 / ip_dt.Rows.Count);
}
}