def calculation_special_again(productListA, special_price, value_num):
    """
    用大于等于特价值/数量值的商品(非特例品) 计算公式值。 返回新的特价价格
    :param productListA:
    :param special_price:
    :param value_num:
    :return:
    """
    ge_specialvalue_qtty_sum = 0
    ge_specialvalue_amt_sum = 0
    small_specialvalue_amt_sum = 0
    for product in productListA:
        for seat in product.productSeatList:
            if seat.seat == False and seat.is_run_other_pro != False:
                if seat.is_discount == 'y':
                    if seat.amt_receivable >= special_price / value_num:
                        ge_specialvalue_amt_sum += seat.amt_receivable
                        ge_specialvalue_qtty_sum += seat.qtty
                    else:
                        small_specialvalue_amt_sum += seat.amt_receivable
                else:
                    small_specialvalue_amt_sum += seat.amt_receivable
    if ge_specialvalue_qtty_sum > 0:
        return (special_price / value_num * ge_specialvalue_qtty_sum +
            small_specialvalue_amt_sum)
    else:
        return special_price
