Пример #1
0
 public static void get_so_lieu_by_row(
     List<GD_CHI_TIET_GIAO_KH> ip_lst_giao_kh
     , List<GD_CHI_TIET_GIAO_VON> ip_lst_giao_von
     , List<GD_CHI_TIET_GIAI_NGAN> ip_lst_giai_ngan
     , List<GD_KHOI_LUONG> ip_lst_khoi_luong
     , decimal ip_dc_id_don_vi
     , DateTime ip_dat_dau_nam
     , DateTime ip_dat_tu_ngay
     , DateTime ip_dat_den_ngay
     , para_F530_Group ip_group
     , string ip_str_group_key
     , out double ip_dc_so_km
     , out double ip_dc_tong_muc_dau_tu
     , out double ip_dc_ke_hoach_qbt_ntcs
     , out double ip_dc_ke_hoach_qbt_giao
     , out double ip_dc_ke_hoach_ns_ntcs
     , out double ip_dc_ke_hoach_ns_giao
     , out double ip_dc_da_nhan_qbt_trong_thang
     , out double ip_dc_da_nhan_qbt_luy_ke
     , out double ip_dc_da_nhan_ns_trong_thang
     , out double ip_dc_da_nhan_ns_luy_ke
     , out double ip_dc_da_thanh_toan_qbt_trong_thang
     , out double ip_dc_da_thanh_toan_qbt_luy_ke
     , out double ip_dc_da_thanh_toan_ns_trong_thang
     , out double ip_dc_da_thanh_toan_ns_luy_ke
     , out double ip_dc_gia_tri_thuc_hien_da_nghiem_thu_ab_qbt
     , out double ip_dc_gia_tri_thuc_hien_da_nghiem_thu_ab_ns
     , out double ip_dc_nhu_cau_von_ky_tiep_theo
     )
 {
     ip_dc_so_km = Fn.F530.getSoLieu(ip_lst_giao_kh
                              , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                              , Fn.para_bao_cao.SoKM);
     ip_dc_tong_muc_dau_tu = Fn.F530.getSoLieu(ip_lst_giao_kh
                                          , ip_lst_giao_von
                                          , ip_lst_giai_ngan
                                          , ip_lst_khoi_luong
                                          , ip_dc_id_don_vi
                                          , ip_dat_dau_nam
                                          , ip_dat_tu_ngay
                                          , ip_dat_den_ngay
                                          , ip_group
                                          , ip_str_group_key
                                          , Fn.para_bao_cao.TongMucDauTu);
     ip_dc_ke_hoach_qbt_ntcs = Fn.F530.getSoLieu(ip_lst_giao_kh
                                    , ip_lst_giao_von
                                    , ip_lst_giai_ngan
                                    , ip_lst_khoi_luong
                                    , ip_dc_id_don_vi
                                    , ip_dat_dau_nam
                                    , ip_dat_tu_ngay
                                    , ip_dat_den_ngay
                                    , ip_group
                                    , ip_str_group_key
                                    , Fn.para_bao_cao.KeHoachNamTruocChuyenSang_QuyBaoTri);
     ip_dc_ke_hoach_qbt_giao = Fn.F530.getSoLieu(ip_lst_giao_kh
                                       , ip_lst_giao_von
                                       , ip_lst_giai_ngan
                                       , ip_lst_khoi_luong
                                       , ip_dc_id_don_vi
                                       , ip_dat_dau_nam
                                       , ip_dat_tu_ngay
                                       , ip_dat_den_ngay
                                       , ip_group
                                       , ip_str_group_key
                                        , Fn.para_bao_cao.KeHoachGiao_QuyBaoTri);
     ip_dc_ke_hoach_ns_ntcs = Fn.F530.getSoLieu(ip_lst_giao_kh
                                    , ip_lst_giao_von
                                    , ip_lst_giai_ngan
                                    , ip_lst_khoi_luong
                                    , ip_dc_id_don_vi
                                    , ip_dat_dau_nam
                                    , ip_dat_tu_ngay
                                    , ip_dat_den_ngay
                                    , ip_group
                                      , ip_str_group_key
                                    , Fn.para_bao_cao.KeHoachNamTruocChuyenSang_NganSach);
     ip_dc_ke_hoach_ns_giao = Fn.F530.getSoLieu(ip_lst_giao_kh
                                       , ip_lst_giao_von
                                       , ip_lst_giai_ngan
                                       , ip_lst_khoi_luong
                                       , ip_dc_id_don_vi
                                       , ip_dat_dau_nam
                                       , ip_dat_tu_ngay
                                       , ip_dat_den_ngay
                                       , ip_group
                                       , ip_str_group_key
                                        , Fn.para_bao_cao.KeHoachGiao_NganSach);
     ip_dc_da_nhan_qbt_trong_thang = Fn.F530.getSoLieu(ip_lst_giao_kh
                                       , ip_lst_giao_von
                                       , ip_lst_giai_ngan
                                       , ip_lst_khoi_luong
                                       , ip_dc_id_don_vi
                                       , ip_dat_dau_nam
                                       , ip_dat_tu_ngay
                                       , ip_dat_den_ngay
                                       , ip_group
                                      , ip_str_group_key
                                        , Fn.para_bao_cao.KinhPhiDaNhan_TrongThang_QuyBaoTri);
     ip_dc_da_nhan_ns_trong_thang = Fn.F530.getSoLieu(ip_lst_giao_kh
                                       , ip_lst_giao_von
                                       , ip_lst_giai_ngan
                                       , ip_lst_khoi_luong
                                       , ip_dc_id_don_vi
                                       , ip_dat_dau_nam
                                       , ip_dat_tu_ngay
                                       , ip_dat_den_ngay
                                       , ip_group
                                     , ip_str_group_key
                                        , Fn.para_bao_cao.KinhPhiDaNhan_TrongThang_NganSach);
     ip_dc_da_nhan_qbt_luy_ke = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.KinhPhiDaNhan_LuyKe_QuyBaoTri);
     ip_dc_da_nhan_ns_luy_ke = Fn.F530.getSoLieu(ip_lst_giao_kh
                                        , ip_lst_giao_von
                                        , ip_lst_giai_ngan
                                        , ip_lst_khoi_luong
                                        , ip_dc_id_don_vi
                                        , ip_dat_dau_nam
                                        , ip_dat_tu_ngay
                                        , ip_dat_den_ngay
                                        , ip_group
                                      , ip_str_group_key
                                         , Fn.para_bao_cao.KinhPhiDaNhan_LuyKe_NganSach);
     ip_dc_da_thanh_toan_qbt_trong_thang = Fn.F530.getSoLieu(ip_lst_giao_kh
                                , ip_lst_giao_von
                                , ip_lst_giai_ngan
                                , ip_lst_khoi_luong
                                , ip_dc_id_don_vi
                                , ip_dat_dau_nam
                                , ip_dat_tu_ngay
                                , ip_dat_den_ngay
                                , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.KinhPhiDaThanhToan_TrongThang_QuyBaoTri);
     ip_dc_da_thanh_toan_qbt_luy_ke = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.KinhPhiDaThanhToan_LuyKe_QuyBaoTri);
     ip_dc_da_thanh_toan_ns_trong_thang = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.KinhPhiDaThanhToan_TrongThang_NganSach);
     ip_dc_da_thanh_toan_ns_luy_ke = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.KinhPhiDaThanhToan_LuyKe_NganSach);
     ip_dc_gia_tri_thuc_hien_da_nghiem_thu_ab_qbt = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.GiaTriThucHienDaNghiemThuAB_QuyBaoTri);
     ip_dc_gia_tri_thuc_hien_da_nghiem_thu_ab_ns = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.GiaTriThucHienDaNghiemThuAB_NganSach);
     ip_dc_nhu_cau_von_ky_tiep_theo = Fn.F530.getSoLieu(ip_lst_giao_kh
                               , ip_lst_giao_von
                               , ip_lst_giai_ngan
                               , ip_lst_khoi_luong
                               , ip_dc_id_don_vi
                               , ip_dat_dau_nam
                               , ip_dat_tu_ngay
                               , ip_dat_den_ngay
                               , ip_group
                               , ip_str_group_key
                                , Fn.para_bao_cao.NhuCauVonKyTiepTheo);
 }
Пример #2
0
            public static double getSoLieu(
                List<GD_CHI_TIET_GIAO_KH> ip_lst_giao_kh
                , List<GD_CHI_TIET_GIAO_VON> ip_lst_giao_von
                , List<GD_CHI_TIET_GIAI_NGAN> ip_lst_giai_ngan
                , List<GD_KHOI_LUONG> ip_lst_khoi_luong
                , decimal ip_dc_id_don_vi
                , DateTime ip_dat_dau_nam
                , DateTime ip_dat_tu_ngay
                , DateTime ip_dat_den_ngay
                , para_F530_Group ip_group
                , string ip_str_group_key
                , para_bao_cao ip_para
                )
            {
                double v_dc_result = 0;
                List<GD_CHI_TIET_GIAO_KH> v_lst_kh_dieu_chinh;
                List<GD_CHI_TIET_GIAO_KH> v_lst_kh_dau_nam_bo_sung;
                List<GD_CHI_TIET_GIAO_VON> v_lst_giao_von_dau_nam_bo_sung;
                List<GD_CHI_TIET_GIAO_VON> v_lst_giao_von_dieu_chinh;
                decimal? v_dc_dieu_chinh;
                decimal? v_dc_dau_nam_bo_sung;

                switch (ip_para)
                {
                    case para_bao_cao.SoKM:
                        v_dc_result = ip_lst_giao_kh
                            .Where(x =>
                                (
                                    //Don vi
                                x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                    //Nhom theo Cuc
                                || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                        || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                        || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                            .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                    && ip_group == para_F530_Group.Cuc)
                                    //Tong cong
                                || (ip_group == para_F530_Group.TongCong)
                            )
                            .Sum(x => getDouble(x.GHI_CHU_2 ?? "0"));
                        break;
                    case para_bao_cao.TongMucDauTu:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && (
                                    (
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && (
                                    (
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && y.ID_LOAI_NHIEM_VU == x.ID_LOAI_NHIEM_VU
                               && y.ID_CONG_TRINH == x.ID_CONG_TRINH
                               && y.ID_KHOAN == x.ID_KHOAN
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.TONG_MUC_DAU_TU);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.TONG_MUC_DAU_TU);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KeHoachNamTruocChuyenSang_QuyBaoTri:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && (
                                    (
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && (
                                    (
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && y.ID_LOAI_NHIEM_VU == x.ID_LOAI_NHIEM_VU
                               && y.ID_CONG_TRINH == x.ID_CONG_TRINH
                               && y.ID_KHOAN == x.ID_KHOAN
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_NAM_TRUOC_CHUYEN_SANG);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_NAM_TRUOC_CHUYEN_SANG);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KeHoachNamTruocChuyenSang_NganSach:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KeHoachGiao_QuyBaoTri:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KeHoachGiao_NganSach:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_NS);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_NS);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KinhPhiDaNhan_TrongThang_QuyBaoTri:
                        v_lst_giao_von_dieu_chinh = ip_lst_giao_von
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay
                                   && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_giao_von_dau_nam_bo_sung = ip_lst_giao_von
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay
                                   && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_giao_von_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_giao_von_dieu_chinh.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_dau_nam_bo_sung = v_lst_giao_von_dau_nam_bo_sung.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KinhPhiDaNhan_LuyKe_QuyBaoTri:
                        v_lst_giao_von_dieu_chinh = ip_lst_giao_von
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_dau_nam
                                   && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_giao_von_dau_nam_bo_sung = ip_lst_giao_von
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                                   && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_dau_nam
                                   && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_giao_von_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_giao_von_dieu_chinh.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_dau_nam_bo_sung = v_lst_giao_von_dau_nam_bo_sung.Sum(x => x.SO_TIEN_QUY_BT);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KinhPhiDaNhan_TrongThang_NganSach:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                               && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay
                               && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                               && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                               && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay
                                   && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                                   && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_NS);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_NS);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KinhPhiDaNhan_LuyKe_NganSach:
                        v_lst_kh_dieu_chinh = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO == WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                               && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_dau_nam
                               && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                               && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList();
                        v_lst_kh_dau_nam_bo_sung = ip_lst_giao_kh
                           .Where(x => x.DM_QUYET_DINH.ID_LOAI_QUYET_DINH_GIAO != WebUS.ID_LOAI_GIAO_DICH.DIEU_CHINH
                               && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_dau_nam
                               && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay
                               && ((
                               //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                               //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                               //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                           .ToList()
                            //Loại trừ dự án, mục, tiểu mục điều chỉnh
                           .Where(x => !v_lst_kh_dieu_chinh.Exists(y =>
                               y.ID_DON_VI == x.ID_DON_VI
                               && (y.ID_DU_AN == x.ID_DU_AN
                               || (x.ID_TIEU_MUC == null && y.ID_MUC == x.ID_MUC)
                               || (x.ID_TIEU_MUC != null && y.ID_TIEU_MUC == x.ID_TIEU_MUC))))
                           .ToList();
                        v_dc_dieu_chinh = v_lst_kh_dieu_chinh.Sum(x => x.SO_TIEN_NS);
                        v_dc_dau_nam_bo_sung = v_lst_kh_dau_nam_bo_sung.Sum(x => x.SO_TIEN_NS);
                        v_dc_result = Convert.ToDouble(v_dc_dieu_chinh + v_dc_dau_nam_bo_sung);
                        break;
                    case para_bao_cao.KinhPhiDaThanhToan_TrongThang_QuyBaoTri:
                        v_dc_result = Convert.ToDouble(ip_lst_giai_ngan
                                        .Where(x => x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N"
                                            && x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay
                                            && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay
                                            && ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_NOP_THUE
                                            + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0)));
                        break;
                    case para_bao_cao.KinhPhiDaThanhToan_LuyKe_QuyBaoTri:
                        v_dc_result = Convert.ToDouble(ip_lst_giai_ngan
                                        .Where(x => x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N"
                                            && ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_NOP_THUE
                                            + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0)));
                        break;
                    case para_bao_cao.KinhPhiDaThanhToan_TrongThang_NganSach:
                        v_dc_result = Convert.ToDouble(ip_lst_giai_ngan
                                        .Where(x => x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y"
                                            && x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay
                                            && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay
                                            && ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_NOP_THUE
                                            + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0)));
                        break;
                    case para_bao_cao.KinhPhiDaThanhToan_LuyKe_NganSach:
                        v_dc_result = Convert.ToDouble(ip_lst_giai_ngan
                                        .Where(x => x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y"
                                            && ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_NOP_THUE
                                            + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0)));
                        break;

                    case para_bao_cao.GiaTriThucHienDaNghiemThuAB_QuyBaoTri:
                        v_dc_result = Convert.ToDouble(ip_lst_khoi_luong
                                        .Where(x => ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_DA_NGHIEM_THU) ?? 0);
                        break;
                    case para_bao_cao.GiaTriThucHienDaNghiemThuAB_NganSach:
                        v_dc_result = Convert.ToDouble(ip_lst_khoi_luong
                                        .Where(x => ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .Sum(x => x.SO_TIEN_DA_NGHIEM_THU_NS) ?? 0);
                        break;
                    case para_bao_cao.NhuCauVonKyTiepTheo:
                        v_dc_result = Convert.ToDouble(ip_lst_khoi_luong
                                        .Where(x => ((
                                            //Don vi
                                    x.ID_DON_VI == ip_dc_id_don_vi && ip_group == para_F530_Group.DonVi)
                                            //Nhom theo Cuc
                                    || ((x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains(ip_str_group_key.ToUpper())
                                            || x.DM_DON_VI.TEN_DON_VI.ToUpper().Contains((ip_str_group_key + ".").ToUpper())
                                            || (x.DM_DON_VI.TEN_DON_VI + " - Văn phòng").ToUpper()
                                                .Contains(ip_str_group_key.Replace(".", " - Văn phòng").ToUpper()))
                                        && ip_group == para_F530_Group.Cuc)
                                            //Tong cong
                                    || (ip_group == para_F530_Group.TongCong)
                                   ))
                                        .OrderByDescending(x => x.NGAY_THANG)
                                        .GroupBy(x => new { x.NGAY_THANG, x.ID })
                                        .Select(x => x.First())
                                        .Sum(x => x.NHU_CAU_VON_KY_TIEP_THEO) ?? 0);
                        break;
                    default:
                        break;
                }
                return v_dc_result;
            }