public decimal get_so_tien_con_phai_thanh_toan(decimal ip_dc_id_thanh_toan, decimal ip_dc_id_hop_dong)
    {
        // Nếu là tạm ứng nghiệm thu thực tế bằng null
        US_V_GD_THANH_TOAN v_us_gd_tt = new US_V_GD_THANH_TOAN(ip_dc_id_thanh_toan);

        // Nếu là tạm ứng lần >=2 thì: giá trị còn lại phải thanh toán bằng giá trị hđ trừ đi đã thanh toán
        if (v_us_gd_tt.IsGIA_TRI_NGHIEM_THU_THUC_TENull())
        {
            return(v_us_gd_tt.dcGIA_TRI_HOP_DONG - get_so_tien_da_thanh_toan(ip_dc_id_hop_dong));
        }
        // Nếu là thanh lý thì: giá trị còn lại phải thanh toán bằng giá trị nghiệm thu thực tế trừ đi đã thanh toán
        return(v_us_gd_tt.dcGIA_TRI_NGHIEM_THU_THUC_TE - get_so_tien_da_thanh_toan(ip_dc_id_hop_dong));
    }