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; }
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 , DateTime ip_dat_dau_nam , DateTime ip_dat_tu_ngay , DateTime ip_dat_den_ngay , decimal ip_dc_id_loai_nhiem_vu , decimal? ip_dc_id_cong_trinh_khoan , decimal? ip_dc_id_du_an_muc_tieu_muc , para_bao_cao ip_para , para_Level ip_level ) { 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: switch (ip_level) { case para_Level.TongCong: v_dc_result = ip_lst_giao_kh.Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.LoaiNhiemVu: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.CongTrinh: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.Khoan: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.DuAn: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.Muc: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; case para_Level.TieuMuc: v_dc_result = ip_lst_giao_kh .Where(x => x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => getDouble(x.GHI_CHU_2 ?? "0")); break; default: break; } break; case para_bao_cao.KeHoachNamTruocChuyenSang_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KeHoachNamTruocChuyenSang_NganSach: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KeHoachGiao_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KeHoachGiao_NganSach: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KinhPhiDaNhan_TrongThang_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KinhPhiDaNhan_LuyKe_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KinhPhiDaNhan_TrongThang_NganSach: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc && x.DM_QUYET_DINH.NGAY_THANG >= ip_dat_tu_ngay && x.DM_QUYET_DINH.NGAY_THANG <= ip_dat_den_ngay) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KinhPhiDaNhan_LuyKe_NganSach: switch (ip_level) { case para_Level.TongCong: 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) .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) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.LoaiNhiemVu: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.CongTrinh: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Khoan: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.DuAn: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.Muc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; case para_Level.TieuMuc: 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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .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_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_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_dau_nam_bo_sung + v_dc_dieu_chinh); break; default: break; } break; case para_bao_cao.KinhPhiDaThanhToan_TrongThang_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N") .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; default: break; } break; case para_bao_cao.KinhPhiDaThanhToan_LuyKe_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N") .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "N" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; default: break; } break; case para_bao_cao.KinhPhiDaThanhToan_TrongThang_NganSach: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y") .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_tu_ngay && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; default: break; } break; case para_bao_cao.KinhPhiDaThanhToan_LuyKe_NganSach: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y") .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_giai_ngan .Where(x => x.DM_GIAI_NGAN.NGAY_THANG >= ip_dat_dau_nam && x.DM_GIAI_NGAN.NGAY_THANG <= ip_dat_den_ngay && x.DM_GIAI_NGAN.IS_NGUON_NS_YN == "Y" && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => x.SO_TIEN_NOP_THUE + (x.SO_TIEN_TT_CHO_DV_HUONG ?? 0))); break; default: break; } break; case para_bao_cao.GiaTriThucHienDaNghiemThuAB_QuyBaoTri: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU ?? 0))); break; default: break; } break; case para_bao_cao.GiaTriThucHienDaNghiemThuAB_NganSach: switch (ip_level) { case para_Level.TongCong: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.LoaiNhiemVu: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.CongTrinh: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.Khoan: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.DuAn: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_CONG_TRINH == ip_dc_id_cong_trinh_khoan && x.ID_DU_AN == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.Muc: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; case para_Level.TieuMuc: v_dc_result = Convert.ToDouble(ip_lst_khoi_luong .Where(x => x.NGAY_THANG >= ip_dat_dau_nam && x.NGAY_THANG <= ip_dat_den_ngay && x.ID_LOAI_NHIEM_VU == ip_dc_id_loai_nhiem_vu && x.ID_KHOAN == ip_dc_id_cong_trinh_khoan && x.ID_TIEU_MUC == ip_dc_id_du_an_muc_tieu_muc) .Sum(x => (x.SO_TIEN_DA_NGHIEM_THU_NS ?? 0))); break; default: break; } break; default: break; } return v_dc_result; }