fixed bug with purposes id and name
This commit is contained in:
parent
2e08089ce1
commit
3ff83212ec
|
|
@ -80,17 +80,17 @@ function process_agricultural_assets_silent(frm, table_fieldname, assets, resolv
|
|||
|
||||
if (unique_purposes.size > 0) {
|
||||
unique_purposes.forEach(purpose_id => {
|
||||
console.log(`Загрузка данных для назначения: "${purpose_id}"`);
|
||||
console.log(`Загрузка данных для назначения ID: "${purpose_id}"`);
|
||||
|
||||
// ИСПРАВЛЕНО: Используем frappe.client.get и ищем по name (ID)
|
||||
frappe.call({
|
||||
method: 'frappe.client.get_value',
|
||||
method: 'frappe.client.get',
|
||||
args: {
|
||||
doctype: 'Agricultural Purpose Type',
|
||||
filters: {'purpose_name': purpose_id},
|
||||
fieldname: ['name', 'purpose_name']
|
||||
name: purpose_id
|
||||
},
|
||||
callback: function(agri_response) {
|
||||
console.log(`Ответ для назначения "${purpose_id}":`, agri_response);
|
||||
console.log(`Ответ для назначения ID "${purpose_id}":`, agri_response);
|
||||
|
||||
if (agri_response.message) {
|
||||
agricultural_purposes[purpose_id] = {
|
||||
|
|
@ -99,7 +99,7 @@ function process_agricultural_assets_silent(frm, table_fieldname, assets, resolv
|
|||
};
|
||||
console.log(`✅ Назначение загружено:`, agricultural_purposes[purpose_id]);
|
||||
} else {
|
||||
console.warn(`⚠️ Назначение "${purpose_id}" не найдено в базе`);
|
||||
console.warn(`⚠️ Назначение ID "${purpose_id}" не найдено в базе`);
|
||||
}
|
||||
|
||||
processed_count++;
|
||||
|
|
@ -111,7 +111,7 @@ function process_agricultural_assets_silent(frm, table_fieldname, assets, resolv
|
|||
}
|
||||
},
|
||||
error: function(error) {
|
||||
console.error(`❌ Ошибка загрузки назначения "${purpose_id}":`, error);
|
||||
console.error(`❌ Ошибка загрузки назначения ID "${purpose_id}":`, error);
|
||||
processed_count++;
|
||||
if (processed_count === unique_purposes.size) {
|
||||
group_and_create_agricultural_rows_silent(frm, table_fieldname, assets, agricultural_purposes, resolve);
|
||||
|
|
@ -153,14 +153,14 @@ function group_and_create_agricultural_rows_silent(frm, table_fieldname, assets,
|
|||
if (!grouped_assets[group_key]) {
|
||||
grouped_assets[group_key] = {
|
||||
asset: asset,
|
||||
total_area: 0, // ← ИЗМЕНЕНО с total_hectare
|
||||
total_area: 0,
|
||||
count: 0,
|
||||
asset_names: []
|
||||
};
|
||||
console.log(`Создана новая группа: "${group_key}"`);
|
||||
}
|
||||
|
||||
grouped_assets[group_key].total_area += (asset.area || 0); // ← ИЗМЕНЕНО с hectare
|
||||
grouped_assets[group_key].total_area += (asset.area || 0);
|
||||
grouped_assets[group_key].count += 1;
|
||||
grouped_assets[group_key].asset_names.push(asset.name);
|
||||
});
|
||||
|
|
@ -172,7 +172,7 @@ function group_and_create_agricultural_rows_silent(frm, table_fieldname, assets,
|
|||
Object.entries(grouped_assets).forEach(([key, group]) => {
|
||||
console.log(`Группа "${key}":`, {
|
||||
количество_активов: group.count,
|
||||
общая_площадь: group.total_area, // ← ИЗМЕНЕНО
|
||||
общая_площадь: group.total_area,
|
||||
активы: group.asset_names
|
||||
});
|
||||
});
|
||||
|
|
@ -220,15 +220,16 @@ function create_agricultural_group_key(asset, agricultural_purposes) {
|
|||
|
||||
function create_agricultural_row_with_calculation_silent(frm, table_fieldname, asset, agricultural_purposes, total_area, group_info, callback) {
|
||||
console.log('=== create_agricultural_row_with_calculation_silent ===');
|
||||
console.log('Актив:', asset.name, 'Общая площадь:', total_area); // ← ИЗМЕНЕНО
|
||||
console.log('Актив:', asset.name, 'Общая площадь:', total_area);
|
||||
|
||||
let row = frm.add_child(table_fieldname);
|
||||
console.log('Строка добавлена в таблицу');
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
function fill_agricultural_row_fields(row, asset, agricultural_purposes, total_area, group_info) {
|
||||
|
|
@ -271,13 +272,14 @@ function fill_agricultural_row_fields(row, asset, agricultural_purposes, total_a
|
|||
}
|
||||
}
|
||||
|
||||
if (total_area > 0) { // ← ИЗМЕНЕНО с total_hectare
|
||||
if (total_area > 0) {
|
||||
row.torpaqsahəsi6001kodlarüzrəkvmetrlə6002kodlarüzrəhektarlaümumi = total_area;
|
||||
|
||||
// Определяем единицу измерения для лога
|
||||
// ИСПРАВЛЕНО: Определяем единицу измерения из purpose_name
|
||||
let unit = 'единиц';
|
||||
if (asset.agricultural_purpose) {
|
||||
if (asset.agricultural_purpose === 'Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği') {
|
||||
if (asset.agricultural_purpose && agricultural_purposes[asset.agricultural_purpose]) {
|
||||
let purpose_name = agricultural_purposes[asset.agricultural_purpose].purpose_name;
|
||||
if (purpose_name === 'Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği') {
|
||||
unit = 'кв.м';
|
||||
} else {
|
||||
unit = 'га';
|
||||
|
|
@ -287,14 +289,21 @@ 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) {
|
||||
function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group_info, callback, agricultural_purposes) {
|
||||
console.log('=== calculate_agricultural_tax_for_row_silent ===');
|
||||
|
||||
// ИСПРАВЛЕНО: Получаем purpose_name из 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;
|
||||
}
|
||||
|
||||
console.log('Параметры расчета:', {
|
||||
area: total_area, // ← ИЗМЕНЕНО с hectare
|
||||
area: total_area,
|
||||
cadastral_district_name: asset.cadastral_district_name,
|
||||
quality_groups: asset.quality_groups,
|
||||
agricultural_land_purpose: asset.agricultural_land_purpose,
|
||||
agricultural_purpose: asset.agricultural_purpose
|
||||
agricultural_purpose_name: agricultural_purpose_name
|
||||
});
|
||||
|
||||
if (!asset.cadastral_district_name || !asset.quality_groups || !asset.agricultural_land_purpose) {
|
||||
|
|
@ -306,16 +315,16 @@ function calculate_agricultural_tax_for_row_silent(row, asset, total_area, group
|
|||
frappe.call({
|
||||
method: 'taxes_az.taxes_az.doctype.land_tax_declaration.land_tax_declaration.calculate_agricultural_tax',
|
||||
args: {
|
||||
area_value: total_area, // ← ИЗМЕНЕНО с hectare
|
||||
area_value: total_area,
|
||||
cadastral_district_name: asset.cadastral_district_name,
|
||||
quality_groups: asset.quality_groups,
|
||||
agricultural_land_purpose: asset.agricultural_land_purpose,
|
||||
agricultural_purpose_name: asset.agricultural_purpose // ← ДОБАВЛЕНО
|
||||
agricultural_purpose_name: agricultural_purpose_name // ИСПРАВЛЕНО: Теперь это текст
|
||||
},
|
||||
callback: function(response) {
|
||||
console.log('Результат расчета налога:', response);
|
||||
|
||||
if (response.message && 'tax_amount' in response.message) { // ← ИСПРАВЛЕНО
|
||||
if (response.message && 'tax_amount' in response.message) {
|
||||
row.vergiməbləğimanatla = response.message.tax_amount;
|
||||
console.log(`✅ Налог рассчитан: ${response.message.tax_amount} манат`);
|
||||
|
||||
|
|
@ -402,14 +411,14 @@ function group_and_create_industrial_rows_silent(frm, table_fieldname, assets, r
|
|||
if (!grouped_assets[group_key]) {
|
||||
grouped_assets[group_key] = {
|
||||
asset: asset,
|
||||
total_area: 0, // ← ИЗМЕНЕНО с total_hectare
|
||||
total_area: 0,
|
||||
count: 0,
|
||||
asset_names: []
|
||||
};
|
||||
console.log(`Создана новая группа: "${group_key}"`);
|
||||
}
|
||||
|
||||
grouped_assets[group_key].total_area += (asset.area || 0); // ← ИЗМЕНЕНО с hectare
|
||||
grouped_assets[group_key].total_area += (asset.area || 0);
|
||||
grouped_assets[group_key].count += 1;
|
||||
grouped_assets[group_key].asset_names.push(asset.name);
|
||||
});
|
||||
|
|
@ -421,7 +430,7 @@ function group_and_create_industrial_rows_silent(frm, table_fieldname, assets, r
|
|||
Object.entries(grouped_assets).forEach(([key, group]) => {
|
||||
console.log(`Группа "${key}":`, {
|
||||
количество_активов: group.count,
|
||||
общая_площадь: group.total_area, // ← ИЗМЕНЕНО
|
||||
общая_площадь: group.total_area,
|
||||
активы: group.asset_names
|
||||
});
|
||||
});
|
||||
|
|
@ -463,15 +472,15 @@ function create_industrial_group_key(asset) {
|
|||
|
||||
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('Актив:', asset.name, 'Общая площадь:', total_area, 'кв.м'); // ← ИЗМЕНЕНО
|
||||
console.log('Актив:', asset.name, 'Общая площадь:', total_area, 'кв.м');
|
||||
|
||||
let row = frm.add_child(table_fieldname);
|
||||
console.log('Строка добавлена в таблицу');
|
||||
|
||||
fill_industrial_row_fields(row, asset, total_area, group_info); // ← ИЗМЕНЕНО
|
||||
fill_industrial_row_fields(row, asset, total_area, group_info);
|
||||
console.log('Поля строки заполнены:', row);
|
||||
|
||||
calculate_industrial_tax_for_row_silent(row, asset, total_area, group_info, callback); // ← ИЗМЕНЕНО
|
||||
calculate_industrial_tax_for_row_silent(row, asset, total_area, group_info, callback);
|
||||
}
|
||||
|
||||
function fill_industrial_row_fields(row, asset, total_area, group_info) {
|
||||
|
|
@ -505,7 +514,7 @@ function fill_industrial_row_fields(row, asset, total_area, group_info) {
|
|||
console.log('Полезные ископаемые:', asset.mining_note ? 'Да' : 'Нет');
|
||||
}
|
||||
|
||||
if (total_area > 0) { // ← ИЗМЕНЕНО с total_hectare
|
||||
if (total_area > 0) {
|
||||
row.torpaqsahəsikvmetrləümumisahə = total_area;
|
||||
console.log('Общая площадь:', total_area, 'м²');
|
||||
}
|
||||
|
|
@ -514,7 +523,7 @@ function fill_industrial_row_fields(row, asset, total_area, group_info) {
|
|||
function calculate_industrial_tax_for_row_silent(row, asset, total_area, group_info, callback) {
|
||||
console.log('=== calculate_industrial_tax_for_row_silent ===');
|
||||
console.log('Параметры расчета:', {
|
||||
area_sqm: total_area, // ← ИЗМЕНЕНО с hectare
|
||||
area_sqm: total_area,
|
||||
territorial_unit_name: asset.territorial_unit_name,
|
||||
industrial_land_purpose: asset.industrial_land_purpose
|
||||
});
|
||||
|
|
@ -528,14 +537,14 @@ function calculate_industrial_tax_for_row_silent(row, asset, total_area, group_i
|
|||
frappe.call({
|
||||
method: 'taxes_az.taxes_az.doctype.land_tax_declaration.land_tax_declaration.calculate_industrial_tax',
|
||||
args: {
|
||||
area_sqm: total_area, // ← ИЗМЕНЕНО с hectare
|
||||
area_sqm: total_area,
|
||||
territorial_unit_name: asset.territorial_unit_name,
|
||||
industrial_land_purpose: asset.industrial_land_purpose
|
||||
},
|
||||
callback: function(response) {
|
||||
console.log('Результат расчета налога:', response);
|
||||
|
||||
if (response.message && 'tax_amount' in response.message) { // ← ИСПРАВЛЕНО
|
||||
if (response.message && 'tax_amount' in response.message) {
|
||||
row.vergiməbləğimanatla = response.message.tax_amount;
|
||||
console.log(`✅ Налог рассчитан: ${response.message.tax_amount} манат`);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue