Написание модуля калькулятора на NetCat
Необходимо написать модуль калькулятора для расчета стоимости из суммы элементов.
Калькулятор необходим в виде модуля или шаблона под NetCat.
Пример:
http://www.spline.ru/order/?calculation
Основные требования.
Исходными данными для калькуляции являются элементали. Их существуют
4 типа:
1. Числовые элементали (имеют имя и стоимость). Пример: Intel
Pentium 4 - 500$
2. Числовые элементали количественные (имеют имя, стоимость за
единицу, и поле для ввода едениц). Пример: память 512 мб - 100$,
если введено количество 4, то общая цена = 100*4=400$
3. Элементали количественные общие (имеют имя, число на которое
умножается данный раздел калькуляции, и чекбокс для выбора). Пример:
отделать компьютерные акксесуары под хохлому, 1.5.
Если выбран этот чекбокс, то сумма по данному разделу увеличивается
в 1,5 раза.
4. Элементы групировочные. Группируют элементы по разделам. Пример:
акксесуары, системный блок и тд.
Методика действия калькулятора.
Клиенту отображается список всех элементов калькуляции, с их
значениями, чекбоксами и тд
Пример:
Материнские платы:
ASUS - 500$ (чекбокс)
LG - 300$ (чекбокс)
ACER - 400$ (чекбокс)
Память:
512 mb - 100$ (поле для ввода)
256 mb - 70$ (поле для ввода)
Акксесуары:
Мышка - 100$ (чекбокс)
Клавиатура - 200$ (чекбокс)
Роспись - 1,5 (чекбокс)
Пример расчета:
Пусть пользователь выберет ASUS, 512 * 2, 256 *1, Мышка, Клавиатура
и Роспись. И нажал на Расчитать.
Подсчет идет по секциям (объединенным по групировочным элементам)
1. Мат платы - в счетчик по секции заносим 500$. Других чекбоксов
нет, поэтому в итоговый счетчик получаем 500$
2. Память: 100*2+70*1=270$. Других данных не внесено, поэтому 270$
добавляем к общему счетчику - получаем 770$
3. Акксесуары: 100+200=300$, так как был выделен чекбокс вида 3, то
сумму умножаем на 1,5. Получаем 300*1,5=450$. Сумму добавляем к
общему счетчику - получаем 1220$
На экран клиенту выводим опять весь калькулятор в том виде, как его
заполнил клиент. То есть все поля для ввода, чекбоксы и тд с уже
проставленными цифрами и отметками.
Под калькулятором выводим итоговую сумму.
Клиент может поменять какие то настройки и опять пересчитать.