Fixed bug with tax exempt area
This commit is contained in:
parent
3ff83212ec
commit
482db61cf7
|
|
@ -82,7 +82,6 @@ function process_agricultural_assets_silent(frm, table_fieldname, assets, resolv
|
||||||
unique_purposes.forEach(purpose_id => {
|
unique_purposes.forEach(purpose_id => {
|
||||||
console.log(`Загрузка данных для назначения ID: "${purpose_id}"`);
|
console.log(`Загрузка данных для назначения ID: "${purpose_id}"`);
|
||||||
|
|
||||||
// ИСПРАВЛЕНО: Используем frappe.client.get и ищем по name (ID)
|
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: 'frappe.client.get',
|
method: 'frappe.client.get',
|
||||||
args: {
|
args: {
|
||||||
|
|
@ -228,7 +227,6 @@ function create_agricultural_row_with_calculation_silent(frm, table_fieldname, a
|
||||||
fill_agricultural_row_fields(row, asset, agricultural_purposes, total_area, group_info);
|
fill_agricultural_row_fields(row, asset, agricultural_purposes, total_area, group_info);
|
||||||
console.log('Поля строки заполнены:', row);
|
console.log('Поля строки заполнены:', row);
|
||||||
|
|
||||||
// ИСПРАВЛЕНО: Передаем agricultural_purposes в функцию расчета
|
|
||||||
calculate_agricultural_tax_for_row_silent(row, asset, total_area, group_info, callback, agricultural_purposes);
|
calculate_agricultural_tax_for_row_silent(row, asset, total_area, group_info, callback, agricultural_purposes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -275,7 +273,6 @@ function fill_agricultural_row_fields(row, asset, agricultural_purposes, total_a
|
||||||
if (total_area > 0) {
|
if (total_area > 0) {
|
||||||
row.torpaqsahəsi6001kodlarüzrəkvmetrlə6002kodlarüzrəhektarlaümumi = total_area;
|
row.torpaqsahəsi6001kodlarüzrəkvmetrlə6002kodlarüzrəhektarlaümumi = total_area;
|
||||||
|
|
||||||
// ИСПРАВЛЕНО: Определяем единицу измерения из purpose_name
|
|
||||||
let unit = 'единиц';
|
let unit = 'единиц';
|
||||||
if (asset.agricultural_purpose && agricultural_purposes[asset.agricultural_purpose]) {
|
if (asset.agricultural_purpose && agricultural_purposes[asset.agricultural_purpose]) {
|
||||||
let purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
let purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
||||||
|
|
@ -292,7 +289,6 @@ 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) {
|
function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group_info, callback, agricultural_purposes) {
|
||||||
console.log('=== calculate_agricultural_tax_for_row_silent ===');
|
console.log('=== calculate_agricultural_tax_for_row_silent ===');
|
||||||
|
|
||||||
// ИСПРАВЛЕНО: Получаем purpose_name из agricultural_purposes
|
|
||||||
let agricultural_purpose_name = null;
|
let agricultural_purpose_name = null;
|
||||||
if (asset.agricultural_purpose && agricultural_purposes && agricultural_purposes[asset.agricultural_purpose]) {
|
if (asset.agricultural_purpose && agricultural_purposes && agricultural_purposes[asset.agricultural_purpose]) {
|
||||||
agricultural_purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
agricultural_purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
||||||
|
|
@ -319,7 +315,7 @@ function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group
|
||||||
cadastral_district_name: asset.cadastral_district_name,
|
cadastral_district_name: asset.cadastral_district_name,
|
||||||
quality_groups: asset.quality_groups,
|
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 // ИСПРАВЛЕНО: Теперь это текст
|
agricultural_purpose_name: agricultural_purpose_name
|
||||||
},
|
},
|
||||||
callback: function(response) {
|
callback: function(response) {
|
||||||
console.log('Результат расчета налога:', response);
|
console.log('Результат расчета налога:', response);
|
||||||
|
|
@ -412,6 +408,7 @@ function group_and_create_industrial_rows_silent(frm, table_fieldname, assets, r
|
||||||
grouped_assets[group_key] = {
|
grouped_assets[group_key] = {
|
||||||
asset: asset,
|
asset: asset,
|
||||||
total_area: 0,
|
total_area: 0,
|
||||||
|
total_tax_exempt_area: 0, // ← ДОБАВЛЕНО
|
||||||
count: 0,
|
count: 0,
|
||||||
asset_names: []
|
asset_names: []
|
||||||
};
|
};
|
||||||
|
|
@ -419,6 +416,7 @@ function group_and_create_industrial_rows_silent(frm, table_fieldname, assets, r
|
||||||
}
|
}
|
||||||
|
|
||||||
grouped_assets[group_key].total_area += (asset.area || 0);
|
grouped_assets[group_key].total_area += (asset.area || 0);
|
||||||
|
grouped_assets[group_key].total_tax_exempt_area += (asset.tax_exempt_area || 0); // ← ДОБАВЛЕНО
|
||||||
grouped_assets[group_key].count += 1;
|
grouped_assets[group_key].count += 1;
|
||||||
grouped_assets[group_key].asset_names.push(asset.name);
|
grouped_assets[group_key].asset_names.push(asset.name);
|
||||||
});
|
});
|
||||||
|
|
@ -431,6 +429,7 @@ function group_and_create_industrial_rows_silent(frm, table_fieldname, assets, r
|
||||||
console.log(`Группа "${key}":`, {
|
console.log(`Группа "${key}":`, {
|
||||||
количество_активов: group.count,
|
количество_активов: group.count,
|
||||||
общая_площадь: group.total_area,
|
общая_площадь: group.total_area,
|
||||||
|
tax_exempt_area: group.total_tax_exempt_area, // ← ДОБАВЛЕНО
|
||||||
активы: group.asset_names
|
активы: group.asset_names
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -473,6 +472,7 @@ function create_industrial_group_key(asset) {
|
||||||
function create_industrial_row_with_calculation_silent(frm, table_fieldname, asset, total_area, group_info, callback) {
|
function create_industrial_row_with_calculation_silent(frm, table_fieldname, asset, total_area, group_info, callback) {
|
||||||
console.log('=== create_industrial_row_with_calculation_silent ===');
|
console.log('=== create_industrial_row_with_calculation_silent ===');
|
||||||
console.log('Актив:', asset.name, 'Общая площадь:', total_area, 'кв.м');
|
console.log('Актив:', asset.name, 'Общая площадь:', total_area, 'кв.м');
|
||||||
|
console.log('Tax-exempt площадь:', group_info.total_tax_exempt_area, 'кв.м'); // ← ДОБАВЛЕНО
|
||||||
|
|
||||||
let row = frm.add_child(table_fieldname);
|
let row = frm.add_child(table_fieldname);
|
||||||
console.log('Строка добавлена в таблицу');
|
console.log('Строка добавлена в таблицу');
|
||||||
|
|
@ -518,6 +518,12 @@ function fill_industrial_row_fields(row, asset, total_area, group_info) {
|
||||||
row.torpaqsahəsikvmetrləümumisahə = total_area;
|
row.torpaqsahəsikvmetrləümumisahə = total_area;
|
||||||
console.log('Общая площадь:', total_area, 'м²');
|
console.log('Общая площадь:', total_area, 'м²');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ← ДОБАВЛЕНО: Заполнение tax_exempt_area
|
||||||
|
if (group_info.total_tax_exempt_area > 0) {
|
||||||
|
row.torpaqsahəsikvmetrləocümlədənvergiyəcəlbolunmayansahə = group_info.total_tax_exempt_area;
|
||||||
|
console.log('Tax-exempt площадь:', group_info.total_tax_exempt_area, 'м²');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function calculate_industrial_tax_for_row_silent(row, asset, total_area, group_info, callback) {
|
function calculate_industrial_tax_for_row_silent(row, asset, total_area, group_info, callback) {
|
||||||
|
|
|
||||||
|
|
@ -468,7 +468,7 @@ def get_assets_for_year(asset_type, year):
|
||||||
'cadastral_district_code',
|
'cadastral_district_code',
|
||||||
'quality_groups',
|
'quality_groups',
|
||||||
'agricultural_land_purpose',
|
'agricultural_land_purpose',
|
||||||
'area', # ← ИЗМЕНЕНО с hectare на area
|
'area',
|
||||||
'purchase_date'
|
'purchase_date'
|
||||||
]
|
]
|
||||||
asset_type_short = "Сельхоз земли"
|
asset_type_short = "Сельхоз земли"
|
||||||
|
|
@ -480,7 +480,8 @@ def get_assets_for_year(asset_type, year):
|
||||||
'territorial_unit_code',
|
'territorial_unit_code',
|
||||||
'industrial_land_purpose',
|
'industrial_land_purpose',
|
||||||
'mining_note',
|
'mining_note',
|
||||||
'area', # ← ИЗМЕНЕНО с hectare на area
|
'area',
|
||||||
|
'tax_exempt_area', # ← ДОБАВЛЕНО
|
||||||
'purchase_date'
|
'purchase_date'
|
||||||
]
|
]
|
||||||
asset_type_short = "Промышленные земли"
|
asset_type_short = "Промышленные земли"
|
||||||
|
|
@ -508,7 +509,8 @@ def get_assets_for_year(asset_type, year):
|
||||||
if purchase_year == target_year:
|
if purchase_year == target_year:
|
||||||
filtered_assets.append(asset)
|
filtered_assets.append(asset)
|
||||||
area_value = asset.get('area', 0)
|
area_value = asset.get('area', 0)
|
||||||
frappe.log_error("Asset Matched", f"Актив подходит: {asset['name']} (дата: {asset['purchase_date']}, площадь: {area_value})")
|
tax_exempt = asset.get('tax_exempt_area', 0)
|
||||||
|
frappe.log_error("Asset Matched", f"Актив подходит: {asset['name']} (дата: {asset['purchase_date']}, площадь: {area_value}, tax_exempt: {tax_exempt})")
|
||||||
else:
|
else:
|
||||||
skipped_wrong_year += 1
|
skipped_wrong_year += 1
|
||||||
frappe.log_error("Asset Skipped", f"Актив пропущен: {asset['name']} (год: {purchase_year}, нужен {target_year})")
|
frappe.log_error("Asset Skipped", f"Актив пропущен: {asset['name']} (год: {purchase_year}, нужен {target_year})")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue