Система учета "Заявки и Наряды" на java
Материал из BiTel WiKi
Kusto (Обсуждение | вклад) |
DimOn (Обсуждение | вклад) м (переименовал «Система учета "Заявки и Наряды" на java - обновленная версия на сайте!» в «Система учета "Заявки и Наряды" на java»: плохое на) |
||
(17 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
'''Система для ведения учета работы монтажных бригад и менеджеров компаний по предоставлению интернет услуг.''' | '''Система для ведения учета работы монтажных бригад и менеджеров компаний по предоставлению интернет услуг.''' | ||
+ | |||
+ | сайт программы www.i-hi.ru - обновленная версия! И многое другое! | ||
Сокращенно я ее называю "Заявки и Наряды". | Сокращенно я ее называю "Заявки и Наряды". | ||
Строка 28: | Строка 30: | ||
это подключение к базе данных заявок и нарядов.Вот здесь такой ньюанс: в полях "логин" и "пароль" вводятся данные , которые хранятся | это подключение к базе данных заявок и нарядов.Вот здесь такой ньюанс: в полях "логин" и "пароль" вводятся данные , которые хранятся | ||
в таблице базы UTM5_OFFER, называется она system_accounts. | в таблице базы UTM5_OFFER, называется она system_accounts. | ||
+ | [[Файл:System_accounts.jpg]] | ||
+ | |||
+ | |||
+ | в таблице 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())) | ||
+ | |||
+ | Здесь выделенные жирным шрифтом логин и пароль нужно заменить на свои, те которые будут указаны в левой части первого окна программы(см. выше) | ||
+ | |||
+ | Если все правильно сделали и не получили никаких ошибок при запуске программы, то должны будете увидеть потом главное окно программы: | ||
+ | |||
+ | |||
+ | [[Файл:Main.jpg]] | ||
+ | |||
+ | |||
+ | После можно под этим пользователем войти и уже через | ||
+ | интерфейс программы завести других юзеров. | ||
+ | Поясню по поводу разграничений прав: | ||
+ | Существует 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 | ||
+ | |||
+ | Ниже прилагаю еще скрины программы: | ||
+ | |||
+ | [[Файл:Main2.jpg]] | ||
+ | |||
+ | |||
+ | [[Файл:Main3.jpg]] | ||
+ | |||
+ | |||
+ | [[Файл:Main4.jpg]] | ||
+ | |||
+ | |||
+ | [[Файл:Main5.jpg]] | ||
+ | |||
+ | |||
+ | [[Файл:Main6.jpg]] | ||
+ | |||
+ | |||
+ | [[Файл:Main7.jpg]] | ||
+ | |||
+ | |||
+ | Это скрипт самой структуры базы UTM5_OFFER | ||
+ | |||
+ | <source lang=mysql> | ||
+ | -- 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 ; | ||
+ | |||
+ | </source> | ||
+ | Вообщем смотрите разбирайтесь, жду пожеланий и предложений от всех! | ||
+ | |||
+ | Можно ее здорово было бы адаптировать под всякие нужды. | ||
+ | |||
+ | --[[Участник:Kusto|Kusto]] 07:06, 26 мая 2010 (UTC) | ||
+ | |||
+ | '''мое мыло''' dlkustov@mail.ru |
Текущая версия на 05:58, 10 мая 2012
Система для ведения учета работы монтажных бригад и менеджеров компаний по предоставлению интернет услуг.
сайт программы 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