revert changes
This commit is contained in:
parent
3a7d88a53b
commit
6cd6c0dd90
|
|
@ -200,9 +200,12 @@ function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group
|
||||||
agricultural_purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
agricultural_purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!asset.cadastral_district_name || !asset.quality_groups || !asset.agricultural_land_purpose) {
|
// Для неиспользуемых земель не нужны остальные поля
|
||||||
callback();
|
if (agricultural_purpose_name !== 'Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği') {
|
||||||
return;
|
if (!asset.cadastral_district_name || !asset.quality_groups || !asset.agricultural_land_purpose) {
|
||||||
|
callback();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
frappe.call({
|
frappe.call({
|
||||||
|
|
|
||||||
|
|
@ -61,19 +61,29 @@ def get_doctype_fields_info():
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def calculate_agricultural_tax(area_value, cadastral_district_name, quality_groups, agricultural_land_purpose, agricultural_purpose_name=None):
|
def calculate_agricultural_tax(area_value, cadastral_district_name, quality_groups, agricultural_land_purpose, agricultural_purpose_name=None):
|
||||||
try:
|
try:
|
||||||
if area_value is None or not cadastral_district_name or not quality_groups or not agricultural_land_purpose:
|
if area_value is None:
|
||||||
|
frappe.throw("Area value is required")
|
||||||
|
|
||||||
|
area_float = float(area_value)
|
||||||
|
|
||||||
|
# Для неиспользуемых земель: Area × 2%
|
||||||
|
if agricultural_purpose_name == 'Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği':
|
||||||
|
result = area_float * 0.02
|
||||||
|
|
||||||
|
return {
|
||||||
|
'tax_amount': result,
|
||||||
|
'calculation_details': {
|
||||||
|
'area_sqm': area_float,
|
||||||
|
'rate': 0.02,
|
||||||
|
'formula': f"{area_float} sq.m × 0.02 = {result}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Для используемых земель: Hectare × Score × Markup
|
||||||
|
if not cadastral_district_name or not quality_groups or not agricultural_land_purpose:
|
||||||
frappe.throw("Not all fields are filled for calculation")
|
frappe.throw("Not all fields are filled for calculation")
|
||||||
|
|
||||||
hectare_value = float(area_value)
|
hectare_value = float(area_value)
|
||||||
original_unit = "unknown"
|
|
||||||
|
|
||||||
if agricultural_purpose_name == 'Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği':
|
|
||||||
if hectare_value > 0:
|
|
||||||
hectare_value = float(area_value) / 10000
|
|
||||||
original_unit = "sq.m"
|
|
||||||
else:
|
|
||||||
original_unit = "hectares"
|
|
||||||
|
|
||||||
score = get_cadastral_score(cadastral_district_name, quality_groups)
|
score = get_cadastral_score(cadastral_district_name, quality_groups)
|
||||||
markup = get_markup_coefficient(agricultural_land_purpose)
|
markup = get_markup_coefficient(agricultural_land_purpose)
|
||||||
result = hectare_value * score * markup
|
result = hectare_value * score * markup
|
||||||
|
|
@ -81,8 +91,6 @@ def calculate_agricultural_tax(area_value, cadastral_district_name, quality_grou
|
||||||
return {
|
return {
|
||||||
'tax_amount': result,
|
'tax_amount': result,
|
||||||
'calculation_details': {
|
'calculation_details': {
|
||||||
'original_value': float(area_value),
|
|
||||||
'original_unit': original_unit,
|
|
||||||
'hectare': hectare_value,
|
'hectare': hectare_value,
|
||||||
'score': score,
|
'score': score,
|
||||||
'markup': markup,
|
'markup': markup,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue