revert changes

This commit is contained in:
Ali 2025-10-27 20:24:42 +04:00
parent cd8c1310f4
commit 3a7d88a53b
2 changed files with 18 additions and 13 deletions

View File

@ -195,6 +195,11 @@ function fill_agricultural_row_fields(row, asset, agricultural_purposes, total_a
}
function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group_info, callback, agricultural_purposes) {
let agricultural_purpose_name = null;
if (asset.agricultural_purpose && agricultural_purposes && agricultural_purposes[asset.agricultural_purpose]) {
agricultural_purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
}
if (!asset.cadastral_district_name || !asset.quality_groups || !asset.agricultural_land_purpose) {
callback();
return;
@ -206,7 +211,8 @@ function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group
area_value: total_area,
cadastral_district_name: asset.cadastral_district_name,
quality_groups: asset.quality_groups,
agricultural_land_purpose: asset.agricultural_land_purpose
agricultural_land_purpose: asset.agricultural_land_purpose,
agricultural_purpose_name: agricultural_purpose_name
},
callback: function(response) {
if (response.message && 'tax_amount' in response.message) {

View File

@ -60,17 +60,20 @@ def get_doctype_fields_info():
@frappe.whitelist()
def calculate_agricultural_tax(area_value, cadastral_district_name, quality_groups, agricultural_land_purpose, agricultural_purpose_name=None):
"""
Calculates tax for agricultural land
Formula: hectare × score × markup
area_value: всегда в гектарах (без конвертации)
"""
try:
if area_value is None or not cadastral_district_name or not quality_groups or not agricultural_land_purpose:
frappe.throw("Not all fields are filled for calculation")
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)
markup = get_markup_coefficient(agricultural_land_purpose)
result = hectare_value * score * markup
@ -78,6 +81,8 @@ def calculate_agricultural_tax(area_value, cadastral_district_name, quality_grou
return {
'tax_amount': result,
'calculation_details': {
'original_value': float(area_value),
'original_unit': original_unit,
'hectare': hectare_value,
'score': score,
'markup': markup,
@ -125,12 +130,6 @@ def get_markup_coefficient(agricultural_land_purpose):
@frappe.whitelist()
def calculate_industrial_tax(area_sqm, territorial_unit_name, industrial_land_purpose):
"""
Calculates tax for industrial land
Formula: (area_in_sqm ÷ 100) × score (progressive system)
area_sqm: площадь в квадратных метрах (уже вычтена tax_exempt_area)
"""
try:
if area_sqm is None or not territorial_unit_name or not industrial_land_purpose:
frappe.throw("Not all fields are filled for calculation")