Система учета "Заявки и Наряды" на java
Материал из BiTel WiKi
Система для ведения учета работы монтажных бригад и менеджеров компаний по предоставлению интернет услуг.
сайт программы www.i-hi.ru - обновленная версия! И многое другое!
Сокращенно я ее называю "Заявки и Наряды". Программа пока не адатирована под BGBilling, а работает с биллингом Netup. Если приложить немного усилий, то тоже самое будет и возможно с BGBilling`ом.
Вообщем выложил! Смотрите сами, нам она очень пригодилась! Конечно это не окончательный релиз т.к. пока программа не совершенна и не имеет собственных модулей адаптации под другие биллинги(в частности под BGBilling), я даже не веду пока системы контроля версий, а просто постоянно ее дорабатываю!!
Вообщем вот ссылка на проект для Eclipse Galileo [1] архив с паролем: 123456 Соответственно проект потребует некоторых дополнительных библиотек для сборки программы: Вот собственно на которой показаны настройки Eclipse у меня на рабочем месте, у вас должно быть тоже самое. Для окон я использовал Visual Editor for Eclipse.
Если вы все правильно сделали и проект собрался, то при сборке вы должны увидеть сперва заставку программы а потом главное окно:
Соответственно рекомендую для первого ознакомления всетаки поставить тестовую версию биллинга Netup UTM5.
Дальше , чтоб вам не мучаться объясню где есть подводные камни, если посмотреть на главное окно(см. выше) то видно ,что с левой стороны - это подключение к базе данных UTM5 (следовательно нужно адаптировать под bgbilling в дальнейшем), с права это подключение к базе данных заявок и нарядов.Вот здесь такой ньюанс: в полях "логин" и "пароль" вводятся данные , которые хранятся в таблице базы UTM5_OFFER, называется она system_accounts.
в таблице system_accounts заводятся системные пользователи
чтобы программа заработала(т.е. было подключение к обоим базам данных)
нужно первого пользователя завести ручками, например через phpmyadmin, либо
другим удобным для вас способом. И указать этому пользователю полные права администратора
в поле right_user(выставить значение -2 (обведено красным кружком)).
И еще один шаг:
В проекте Eclipse откройте файл CDialogStart.java и по поиску(ctrl+F)
ведите строку "kusto","root",jTextFieldNameUTMOFFER.getText()))
вы увидите вот такой код:
if(StartProgram(jTextFieldServer.getText(),jTextFieldPort.getText(), jTextFieldLogin.getText(),jPasswordFieldPass.getText(),jTextFieldNameUTM5.getText(), jTextFieldServerOffer.getText(),jTextFieldPortOffer.getText(), //"manager","123qqpizdec",jTextFieldNameUTMOFFER.getText())) "kusto","root",jTextFieldNameUTMOFFER.getText()))
Здесь выделенные жирным шрифтом логин и пароль нужно заменить на свои, те которые будут указаны в левой части первого окна программы(см. выше)
Если все правильно сделали и не получили никаких ошибок при запуске программы, то должны будете увидеть потом главное окно программы:
После можно под этим пользователем войти и уже через
интерфейс программы завести других юзеров.
Поясню по поводу разграничений прав:
Существует 5-е типа :
0 - Менеджер (заявки);
1 - Менеджер (наряды кроме тех. поддержки)
2 - Менеджер (наряды только тех. поддержка)
3 - Пользователь (только просмотр и печать)
-2 - Администратор(все права соответственно)
Конфиг программы создается автоматически и шифруется(файл UTM_Admin_Lanoptic.cfg)
После шифрования выглядит следующим образом:
yNoZRgxMk6M6e2zciqdECg== p4+1jc4BSz1YG6rnpmcDxw== IptW5Xq+9m8eFus8KmqZvA== pOX0x8TrmxNIQrxAudh4fzY/5HmuuVw4 qROurD/9XqY8WYWdagMQQg== PYDOahz6T9G/oSAr832/mw== PE23Cicx2T75mlIBhd4Tww== vBVqCxLtXqUgFDFhSY31qqTLxUIrh8DC 1xDDU0I0N707j3LY3qEqrg== FJdzDZ6DENeDffdPoAH+v1WznBtLg47z LQxGXRUsZfOmOvcmvsEpCA== PE23Cicx2T5o7UoAh8ezmPrpGmOWm1gqn5+nm6aaHVM=
Еще не забудьте о самих печатных формах нарядов, заявок и счетов:
это файлы в проекте которые по умолчанию должны лежать в той же директории где и запускной файл программы:
accounts.jrxml
offers.jrxml
offers_shutdown.jrxml
offers_tech_support.jrxml
orders.jrxml
transfer.jrxml
Все файлы можно просмотреть, отредактировать и сохранить в iReport-3.7.0
Ниже прилагаю еще скрины программы:
Это скрипт самой структуры базы UTM5_OFFER
-- phpMyAdmin SQL Dump -- version 3.2.5 -- http://www.phpmyadmin.net -- -- Хост: localhost -- Время создания: Май 25 2010 г., 09:34 -- Версия сервера: 5.0.89 -- Версия PHP: 5.2.9 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- База данных: `UTM5_OFFER` -- -- -------------------------------------------------------- -- -- Структура таблицы `history_edit` -- CREATE TABLE IF NOT EXISTS `history_edit` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `user_id` INT(11) NOT NULL, `id_offer_order` INT(11) NOT NULL, `date_edit` INT(11) NOT NULL, `type_operation` TEXT NOT NULL, `is_offer_order` INT(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=65 ; -- -------------------------------------------------------- -- -- Структура таблицы `leader` -- CREATE TABLE IF NOT EXISTS `leader` ( `id_leader` INT(11) NOT NULL AUTO_INCREMENT, `name_leader` TEXT NOT NULL, `is_deleted` INT(11) NOT NULL, PRIMARY KEY (`id_leader`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ; -- -------------------------------------------------------- -- -- Структура таблицы `offers` -- CREATE TABLE IF NOT EXISTS `offers` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `is_deleted` INT(11) NOT NULL, `second_name` TEXT, `name` TEXT, `name3` TEXT, `passport_serial` TEXT, `passport_number` TEXT, `passport_give` TEXT, `date_of_grant` TEXT, `reference_address` TEXT, `location_address` TEXT, `home_phone` TEXT, `cell_phone` TEXT, `date_create_offers` DATE DEFAULT NULL, `is_process` INT(11) NOT NULL, `is_create_orders` INT(11) NOT NULL DEFAULT '0', `type_offers` TEXT, `number_client` TEXT, `entrance` TEXT, `FLOOR` TEXT, `reference_address_too` TEXT, `motive` TEXT, `entrance_too` TEXT, `floor_too` TEXT, `phone_contact` TEXT, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2453 ; -- -------------------------------------------------------- -- -- Структура таблицы `orders` -- CREATE TABLE IF NOT EXISTS `orders` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_offers` INT(11) NOT NULL, `orders_status` TEXT, `orders_type` TEXT, `leader` TEXT, `date_delivery` TEXT NOT NULL, `comments` TEXT NOT NULL, `date_delivery_end` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2487 ; -- -------------------------------------------------------- -- -- Структура таблицы `regions` -- CREATE TABLE IF NOT EXISTS `regions` ( `zones` TEXT NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- -- -- Структура таблицы `system_accounts` -- CREATE TABLE IF NOT EXISTS `system_accounts` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `login` TEXT NOT NULL, `pass` TEXT NOT NULL, `right_user` INT(11) NOT NULL, `is_deleted` INT(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
Вообщем смотрите разбирайтесь, жду пожеланий и предложений от всех!
Можно ее здорово было бы адаптировать под всякие нужды.
--Kusto 07:06, 26 мая 2010 (UTC)
мое мыло dlkustov@mail.ru