update for wage
This commit is contained in:
@@ -301,6 +301,243 @@ def get_new_wage_for_free_buying(kill_house_free_sale_bar_info):
|
||||
}
|
||||
|
||||
|
||||
# def get_finance_info(kill_house, date1=None, date2=None):
|
||||
# before_total_out_live_buying_province_carcasses_weight = 0
|
||||
# after_total_out_live_buying_province_carcasses_weight = 0
|
||||
# before_new_out_selling = 0
|
||||
# after_new_out_selling = 0
|
||||
# extra_company_amount = 0
|
||||
# total_wage_type = WageType.objects.filter(trash=False)
|
||||
# province_live_wage_type = total_wage_type.filter(en_name='province-kill-request', trash=False).first()
|
||||
# free_buying_live_weight_wage_type = total_wage_type.filter(en_name='live-buy', trash=False).first()
|
||||
# free_buying_carcesses_weight_wage_type = total_wage_type.filter(en_name='carcasse-buy', trash=False).first()
|
||||
# free_sell_carcesses_weight_wage_type = total_wage_type.filter(en_name='carcasse-sell', trash=False).first()
|
||||
# province_live_wage_type_amount = province_live_wage_type.amount if province_live_wage_type.status == True else 0
|
||||
# free_buying_live_weight_wage_type_amount = free_buying_live_weight_wage_type.amount if free_buying_live_weight_wage_type.status == True else 0
|
||||
# free_buying_carcesses_weight_wage_type_amount = free_buying_carcesses_weight_wage_type.amount if free_buying_carcesses_weight_wage_type.status == True else 0
|
||||
# free_sell_carcesses_weight_wage_type_amount = free_sell_carcesses_weight_wage_type.amount if free_sell_carcesses_weight_wage_type.status == True else 0
|
||||
#
|
||||
# if date1:
|
||||
# province_kill_requests = ProvinceKillRequest.objects.filter(killhouse_user=kill_house, trash=False,
|
||||
# archive_wage=False, return_to_province=False,
|
||||
# kill_request__recive_date__date__gte=date1,
|
||||
# kill_request__recive_date__date__lte=date2,
|
||||
# state__in=('pending', 'accepted'),
|
||||
# first_car_allocated_quantity=0).order_by('id')
|
||||
#
|
||||
# return_province_kill_requests = ProvinceKillRequest.objects.filter(killhouse_user=kill_house, trash=True,
|
||||
# return_trash=True,
|
||||
# archive_wage=False, return_to_province=False,
|
||||
# kill_request__recive_date__date__gte=date1,
|
||||
# kill_request__recive_date__date__lte=date2,
|
||||
# state__in=('pending', 'accepted'),
|
||||
# first_car_allocated_quantity=0).order_by(
|
||||
# 'id')
|
||||
# kill_house_requests = KillHouseRequest.objects.filter(
|
||||
# Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
# Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
# Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
# kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
# trash=False, calculate_status=True
|
||||
# )
|
||||
#
|
||||
# return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
# Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
# Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
# Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
# kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
# trash=True, return_trash=True, calculate_status=True
|
||||
# )
|
||||
# kill_house_free_bar_info = KillHouseFreeBarInformation.objects.filter(
|
||||
# Q(kill_house=kill_house) | Q(exclusive_killer=kill_house),
|
||||
# archive_wage=False,
|
||||
# calculate_status=True, date__date__gte=date1, date__date__lte=date2,
|
||||
# trash=False)
|
||||
# kill_house_free_sale_bar_info = KillHouseFreeSaleBarInformation.objects.filter(
|
||||
# kill_house=kill_house,
|
||||
# archive_wage=False,
|
||||
# calculate_status=True, date__date__gte=date1, date__date__lte=date2,
|
||||
# trash=False)
|
||||
# slaughter_transactions = InternalTransaction.objects.filter(
|
||||
# kill_house=kill_house, status='completed', date__date__gte=date1, date__date__lte=date2,
|
||||
# trash=False)
|
||||
# difference_requests = BarDifferenceRequest.objects.filter(kill_house=kill_house, trash=False, state='accepted',
|
||||
# create_date__date__gte=date1,
|
||||
# create_date__date__lte=date2)
|
||||
# else:
|
||||
#
|
||||
# province_kill_requests = ProvinceKillRequest.objects.filter(killhouse_user=kill_house, trash=False,
|
||||
# archive_wage=False, return_to_province=False,
|
||||
# state__in=('pending', 'accepted'),
|
||||
# first_car_allocated_quantity=0).order_by('id')
|
||||
#
|
||||
# return_province_kill_requests = ProvinceKillRequest.objects.filter(killhouse_user=kill_house, trash=True,
|
||||
# return_trash=True,
|
||||
# archive_wage=False, return_to_province=False,
|
||||
# state__in=('pending', 'accepted'),
|
||||
# first_car_allocated_quantity=0).order_by(
|
||||
# 'id')
|
||||
# kill_house_requests = KillHouseRequest.objects.filter(
|
||||
# Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
# Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
# Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
# trash=False, calculate_status=True
|
||||
# )
|
||||
# return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
# Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
# Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
# Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
# trash=True, return_trash=True, calculate_status=True
|
||||
# )
|
||||
# kill_house_free_bar_info = KillHouseFreeBarInformation.objects.filter(
|
||||
# Q(kill_house=kill_house) | Q(exclusive_killer=kill_house),
|
||||
# archive_wage=False,
|
||||
# calculate_status=True,
|
||||
# trash=False)
|
||||
# kill_house_free_sale_bar_info = KillHouseFreeSaleBarInformation.objects.filter(
|
||||
# kill_house=kill_house,
|
||||
# archive_wage=False,
|
||||
# calculate_status=True,
|
||||
# trash=False)
|
||||
# slaughter_transactions = InternalTransaction.objects.filter(
|
||||
# kill_house=kill_house, status='completed',
|
||||
# trash=False)
|
||||
# difference_requests = BarDifferenceRequest.objects.filter(kill_house=kill_house, trash=False, state='accepted')
|
||||
#
|
||||
# total_paid_wage = slaughter_transactions.aggregate(total=Sum('amount'))[
|
||||
# 'total'] or 0
|
||||
# total_province_live_weight = province_kill_requests.aggregate(total=Sum('total_killed_weight'))['total'] or 0
|
||||
# total_province_live_weight += kill_house_requests.aggregate(total=Sum('accepted_real_weight'))['total'] or 0
|
||||
# total_province_live_weight += \
|
||||
# difference_requests.aggregate(total=Sum('weight'))['total'] or 0
|
||||
# difference_requests_weight = \
|
||||
# difference_requests.aggregate(total=Sum('weight'))['total'] or 0
|
||||
# return_total_province_live_weight = return_province_kill_requests.aggregate(total=Sum('total_killed_weight'))[
|
||||
# 'total'] or 0
|
||||
# return_total_province_live_weight += return_kill_house_requests.aggregate(total=Sum('accepted_real_weight'))[
|
||||
# 'total'] or 0
|
||||
#
|
||||
# final_date = '2025-05-28'
|
||||
# total_out_selling_province_carcasses_weight = \
|
||||
# kill_house_free_sale_bar_info.filter(date__date__lte=final_date).aggregate(
|
||||
# total=Sum('real_weight_of_carcasses'))['total'] or 0
|
||||
# new_total_out_selling_province_carcasses_weight = \
|
||||
# kill_house_free_sale_bar_info.filter(date__date__gt=final_date,
|
||||
# quarantine_weight_of_carcasses__gt=0).aggregate(
|
||||
# total_weight=Sum(
|
||||
# Case(
|
||||
# When(real_weight_of_carcasses__lt=F('quarantine_weight_of_carcasses'),
|
||||
# then=F('real_weight_of_carcasses')),
|
||||
# default=F('quarantine_weight_of_carcasses'),
|
||||
# output_field=FloatField()
|
||||
# )
|
||||
# )
|
||||
# )
|
||||
# new_out_selling = new_total_out_selling_province_carcasses_weight['total_weight'] or 0
|
||||
#
|
||||
# total_out_selling_province_carcasses_weight += new_out_selling
|
||||
#
|
||||
# if wage_counting_type == 'live':
|
||||
# total_province_carcasses_weight = total_province_live_weight
|
||||
# total_pure_province_carcasses_weight = total_province_carcasses_weight
|
||||
# else:
|
||||
# return_total_province_live_weight = int(return_total_province_live_weight * 0.75)
|
||||
# total_province_carcasses_weight = total_province_live_weight * 0.75
|
||||
# difference_requests_weight = difference_requests_weight * 0.75
|
||||
# total_out_carcasses_buying_for_pure_province_carcasses_weight = \
|
||||
# kill_house_free_bar_info.aggregate(total=Sum('weight_of_carcasses'))['total'] or 0
|
||||
# out_selling_out_carcasses_buying_difference = total_out_selling_province_carcasses_weight - total_out_carcasses_buying_for_pure_province_carcasses_weight if (
|
||||
# total_out_selling_province_carcasses_weight - total_out_carcasses_buying_for_pure_province_carcasses_weight) > 0 else 0
|
||||
# total_pure_province_carcasses_weight = total_province_carcasses_weight - out_selling_out_carcasses_buying_difference
|
||||
# total_out_live_buying_province_carcasses_weight = \
|
||||
# kill_house_free_bar_info.filter(buy_type='live').aggregate(total=Sum('live_weight'))['total'] or 0
|
||||
# real_total_out_live_buying_province_carcasses_weight = total_out_live_buying_province_carcasses_weight
|
||||
# if new_out_selling_count_wage:
|
||||
# if out_selling_ignore:
|
||||
# before_total_out_live_buying_province_carcasses_weight = \
|
||||
# kill_house_free_bar_info.filter(create_date__date__lt=new_out_selling_count_wage_date,
|
||||
# buy_type='live').aggregate(total=Sum('live_weight'))['total'] or 0
|
||||
# after_total_out_live_buying_province_carcasses_weight = \
|
||||
# kill_house_free_bar_info.filter(create_date__date__gte=new_out_selling_count_wage_date,
|
||||
# buy_type='live').aggregate(total=Sum('live_weight'))['total'] or 0
|
||||
# get_new_wage = get_new_wage_for_free_buying(kill_house_free_sale_bar_info)
|
||||
#
|
||||
# before_new_out_selling = get_new_wage['before_new_out_selling']
|
||||
# after_new_out_selling = get_new_wage['after_new_out_selling']
|
||||
# max_amount = before_total_out_live_buying_province_carcasses_weight * 0.80
|
||||
# if max_amount <= before_new_out_selling:
|
||||
# before_total_out_live_buying_province_carcasses_weight -= max_amount
|
||||
# else:
|
||||
# before_total_out_live_buying_province_carcasses_weight -= before_new_out_selling
|
||||
#
|
||||
# if after_total_out_live_buying_province_carcasses_weight > after_new_out_selling:
|
||||
# extra_company_amount = int(after_new_out_selling * extra_company_amount)
|
||||
# after_total_out_live_buying_province_carcasses_weight -= after_new_out_selling
|
||||
#
|
||||
# else:
|
||||
# extra_company_amount = int(after_total_out_live_buying_province_carcasses_weight * extra_company_amount)
|
||||
#
|
||||
# after_total_out_live_buying_province_carcasses_weight = 0
|
||||
#
|
||||
# total_out_live_buying_province_carcasses_weight = before_total_out_live_buying_province_carcasses_weight + after_total_out_live_buying_province_carcasses_weight
|
||||
#
|
||||
# else:
|
||||
# if out_selling_ignore:
|
||||
# max_amount = total_out_live_buying_province_carcasses_weight * 0.80
|
||||
# if max_amount <= new_out_selling:
|
||||
# total_out_live_buying_province_carcasses_weight -= max_amount
|
||||
# else:
|
||||
# total_out_live_buying_province_carcasses_weight -= new_out_selling
|
||||
#
|
||||
# # else:
|
||||
# # total_out_live_buying_province_carcasses_weight -= total_out_selling_province_quarantine_carcasses_weight
|
||||
# total_out_carcasses_buying_province_carcasses_weight = \
|
||||
# kill_house_free_bar_info.filter(buy_type='carcass').aggregate(total=Sum('weight_of_carcasses'))['total'] or 0
|
||||
#
|
||||
# total_pure_province_carcasses_price = total_pure_province_carcasses_weight * province_live_wage_type_amount
|
||||
# difference_requests_price = difference_requests_weight * province_live_wage_type_amount
|
||||
# total_return_pure_province_carcasses_price = return_total_province_live_weight * province_live_wage_type_amount
|
||||
# total_out_selling_province_carcasses_price = total_out_selling_province_carcasses_weight * free_sell_carcesses_weight_wage_type_amount
|
||||
# if new_out_selling_count_wage:
|
||||
# total_out_live_buying_province_carcasses_price = int(
|
||||
# (before_total_out_live_buying_province_carcasses_weight * before_out_buying_count_wage_amount) + (
|
||||
# after_total_out_live_buying_province_carcasses_weight * free_buying_live_weight_wage_type_amount))
|
||||
# else:
|
||||
# total_out_live_buying_province_carcasses_price = total_out_live_buying_province_carcasses_weight * free_buying_live_weight_wage_type_amount
|
||||
#
|
||||
# total_out_carcasses_buying_province_carcasses_price = total_out_carcasses_buying_province_carcasses_weight * free_buying_carcesses_weight_wage_type_amount
|
||||
# total_price = total_pure_province_carcasses_price + total_out_selling_province_carcasses_price + total_out_live_buying_province_carcasses_price + total_out_carcasses_buying_province_carcasses_price + extra_company_amount + total_return_pure_province_carcasses_price
|
||||
#
|
||||
# return {
|
||||
# "total_province_live_weight": total_province_live_weight,
|
||||
# "total_province_carcasses_weight": total_province_carcasses_weight,
|
||||
# "total_out_selling_province_carcasses_weight": total_out_selling_province_carcasses_weight,
|
||||
# "total_pure_province_carcasses_weight": total_pure_province_carcasses_weight,
|
||||
# "total_pure_province_carcasses_price": total_pure_province_carcasses_price,
|
||||
# "total_out_selling_province_carcasses_price": total_out_selling_province_carcasses_price,
|
||||
# "total_out_carcasses_buying_province_carcasses_weight": total_out_carcasses_buying_province_carcasses_weight,
|
||||
# "total_out_carcasses_buying_province_carcasses_price": total_out_carcasses_buying_province_carcasses_price,
|
||||
# "total_out_live_buying_province_carcasses_weight": real_total_out_live_buying_province_carcasses_weight,
|
||||
# "total_out_live_buying_province_carcasses_price": total_out_live_buying_province_carcasses_price,
|
||||
# "total_paid_wage": total_paid_wage,
|
||||
# "total_price": total_price,
|
||||
# "province_live_wage_amount": province_live_wage_type_amount,
|
||||
# "free_buying_live_weight_amount": free_buying_live_weight_wage_type_amount,
|
||||
# "free_buying_carcesses_weight_amount": free_buying_carcesses_weight_wage_type_amount,
|
||||
# "free_sell_carcesses_weight_amount": free_sell_carcesses_weight_wage_type_amount,
|
||||
# "extra_company_amount": extra_company_amount,
|
||||
# "before_total_out_live_buying_province_carcasses_weight": before_total_out_live_buying_province_carcasses_weight,
|
||||
# "after_total_out_live_buying_province_carcasses_weight": after_total_out_live_buying_province_carcasses_weight,
|
||||
# "before_new_out_selling": before_new_out_selling,
|
||||
# "after_new_out_selling": after_new_out_selling,
|
||||
# "return_total_province_live_weight": return_total_province_live_weight,
|
||||
# "total_return_pure_province_carcasses_price": total_return_pure_province_carcasses_price,
|
||||
# "difference_requests_weight": difference_requests_weight,
|
||||
# "difference_requests_price": difference_requests_price,
|
||||
#
|
||||
# }
|
||||
|
||||
|
||||
def get_finance_info(kill_house, date1=None, date2=None):
|
||||
before_total_out_live_buying_province_carcasses_weight = 0
|
||||
after_total_out_live_buying_province_carcasses_weight = 0
|
||||
@@ -333,21 +570,34 @@ def get_finance_info(kill_house, date1=None, date2=None):
|
||||
state__in=('pending', 'accepted'),
|
||||
first_car_allocated_quantity=0).order_by(
|
||||
'id')
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
if kill_house.killer and kill_house.type == 'public':
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
killhouse_user=kill_house, archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
killhouse_user=kill_house, archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
else:
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
kill_request__recive_date__date__gte=date1, kill_request__recive_date__date__lte=date2,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
kill_house_free_bar_info = KillHouseFreeBarInformation.objects.filter(
|
||||
Q(kill_house=kill_house) | Q(exclusive_killer=kill_house),
|
||||
archive_wage=False,
|
||||
@@ -377,18 +627,30 @@ def get_finance_info(kill_house, date1=None, date2=None):
|
||||
state__in=('pending', 'accepted'),
|
||||
first_car_allocated_quantity=0).order_by(
|
||||
'id')
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
|
||||
if kill_house.killer and kill_house.type == 'public':
|
||||
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
killhouse_user=kill_house, archive_wage=False,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
killhouse_user=kill_house, archive_wage=False,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
else:
|
||||
kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
trash=False, calculate_status=True
|
||||
)
|
||||
return_kill_house_requests = KillHouseRequest.objects.filter(
|
||||
Q(Q(killhouse_user=kill_house) & Q(killer=kill_house)) | Q(
|
||||
Q(killhouse_user=kill_house) & Q(killer__isnull=True)) | Q(
|
||||
Q(killhouse_user=kill_house) | Q(killer=kill_house)), archive_wage=False,
|
||||
trash=True, return_trash=True, calculate_status=True
|
||||
)
|
||||
kill_house_free_bar_info = KillHouseFreeBarInformation.objects.filter(
|
||||
Q(kill_house=kill_house) | Q(exclusive_killer=kill_house),
|
||||
archive_wage=False,
|
||||
|
||||
Reference in New Issue
Block a user