close

Вход

Забыли?

вход по аккаунту

?

otchet po pro

код для вставкиСкачать
 Министерство образования и науки РФ
ФГБОУ ВПО "Тульский Государственный Университет"
Кафедра "Автоматизированных информационных и управляющих систем"
ОТЧЕТ по производственно-технологической практике на тему: "РАСЧЕТ НОРМ ВРЕМЕНИ СОТРУДНИКОВ ООО " ЩЕКИНСКИЙ ЗАВОД РТО" "
Студента гр.230991___________________Семёновой К. И.
(подпись, дата)
Руководитель доцент, к.т.н. ___________________Ковешников В.А.
(подпись, дата)
Тула 2012
Содержание
ВВЕДЕНИЕ3
1 Общая характеристика места практики4
1.1 Структура компании. Уровень автоматизации предприятия6
2 Постановка задачи10
3 Описание метода организации данных14
3.1 Описание входной и выходной информации14
3.2 Организация ведения информационной базы16
3.3 Математическая модель16
4 Описание программно-технических средств18
4.1 Программно-технические средства, необходимые для разработки программы18
4.2 Программно-технические средства при использовании программы20
4.3 Описание программы20
Заключение26
Список литературы27
Приложения28
ВВЕДЕНИЕ
Производственно-технологическая практика является составной частью учебного процесса. Основная задача практики - это расширение и закрепление знаний в области машинной обработки технико-экономической информации и приобретение навыков эксплуатации и совершенствования современных пакетов программ и автоматизированных информационных управляющих систем.
Необходимой частью практики является изучение приемов работы с автоматизированными информационными системами, правил охраны труда и пожарной безопасности в информационно-вычислительном центре.
Также предполагается изучение структуры предприятия, структуры отдела информационных технологий предприятия
Результатом практики является отчетный документ.
1 Общая характеристика места практики
ООО "Щекинский завод РТО" - это современное промышленное предприятие, продукция которого обеспечивает бесперебойное движение голубого топлива по сети газопроводов к потребителям, как в России, так и за рубежом. ООО "Щекинский завод РТО" является дочерним предприятием ОАО "Газэнергосервис". Сотни компрессорных и тысячи газопроводных станций "Газпрома" должны работать без сбоев. Их работоспособность вот уже 45 лет подряд обеспечивают запасные части и оборудование, выпускаемые ООО "Щекинский завод РТО". Предприятие не только выпускает основную продукцию, но в соответствии с требованиями рынка, осваивает новый ассортимент, проводит серьезное техническое перевооружение производства, внедряет новое оборудование, позволяющее выпускать конкурентоспособную высококачественную продукцию.
На предприятии проводится постоянная работа по улучшению качества производимой продукции. Контроль качества осуществляется на всех стадиях жизненного цикла продукции, начиная от входного контроля сырья и материалов, пооперационного контроля заготовок в процессе обработки и до приемки готовых изделий. Система менеджмента качества ООО "Щекинский завод РТО" сертифицирована на соответствие требованиям ГОСТ Р ИСО 9001-2011 (ИСО 9001:2011).
Основные направления ООО "Щекинский завод РТО":
* Рабочие и направляющие лопатки для турбин высокого и низкого давления, лопатки осевого компрессора как к отечественным (ГТК10-4, ГТ700-5, ГТ750-6, ГТ6-750, ГТТ-3М) так и к импортным (ГТК-10И, ГТК-25И, "Центавр") ГПА;
* Рабочие лопатки ЦВД, ЦСД, ЦНД паровых турбин мощностью до 300 МВт;
* Ротора нагнетателей газовых турбин и электроприводных * агрегатов типа 260-13-1, ЭГПА 280-14-8, 280-11-1(2,3), 370-14-1, 370-18-1(2), 370-17-1, 520-12-1;
* Промвалы и муфты зубчатые, рабочие колеса насосов, колодки всех типоразмеров и модификаций;
* Лабиринтные уплотнения и крепежные изделия к импортным газоперекачивающим агрегатам;
* Подогреватели газа автоматические ПГА-100, ПГА-200;
* Водогрейные автоматизированные котлы КСВа-1,0 Гс (Гм) "ВК-22", КСВа-2,0 Гс "ВК-21";
* Изготовление осевого режущего инструмента;
Оказывает услуги:
* Высокоточная механическая обработка металла;
* Термическая раскройка листового проката сталей и сплавов;
* Высокоточная динамическая балансировка роторов;
* Ремонт электродвигателей и сварочных генераторов;
* Ремонт газотурбинного технологического оборудования;
* Прочие услуги по металлообработке.
В 2007 году на предприятии создана служба безопасности, основной задачей которой является защита экономических интересов и деловой репутации общества.
В последние годы показатель ритмичности загрузки предприятия отвечает желаемым результатам. Это соответствует единому графику проведения ремонтных работ, что, в конечном счете, обеспечивает надежную транспортировку газа.
Спектр номенклатуры предприятия постоянно расширяется. Освоено производство уникальных узлов и деталей к импортным газоперекачивающим агрегатам, организован ремонт роторов и нагнетателей газовых турбин, увеличено производство водогрейных автоматизированных котлов. В целом, ассортимент выпускаемой продукции расширен до шестисот наименований.
Благоприятствующими факторами развития предприятия являются коллектив специалистов, современные технологии и постепенное обновление производственных фондов. Это позволяет работать и иметь потенциал развития.
Реализуется проект технического перевооружения предприятия. Это, в свою очередь, позволяет увеличивать ассортимент выпускаемой продукции, снижать себестоимость выпускаемых изделий и повышать их конкурентоспособность.
Продукция ООО "Щекинский завод РТО" широко известна не только в России и странах СНГ, но и в дальнем зарубежье. География поставок обширна: Белоруссия, Казахстан, Украина, Узбекистан, Иран, Иордания, Чехия. Стабильность работы предприятия, успехи в области качества, постоянный рост производственных мощностей, ввод в сферу производства станков с числовым программным управлением свидетельствуют о надежности и качестве выпускаемой продукции.
1.1 Структура компании. Уровень автоматизации предприятия
Все функциональные подсистемы предприятия находятся в строго определенном функциональном взаимодействии. Структура функциональной зависимости имеет в основном иерархический вид (Рисунок 1).
ООО "Щекинский завод РТО" серьезно относится к проблеме автоматизации. В настоящее время на предприятии функционируют более 100 персональных компьютеров (ПК), объединенных в локальную вычислительную сеть и выполняющих различного рода задачи. ПК установлены практически в каждом подразделении предприятия. С использованием ПК ведется документооборот, бухгалтерский учет, складской учет. Проектируются инструмент, оснастка, будущие готовые изделия, выпускаемые предприятием, создаются технологические процессы обработки изделий.
Для решения различного рода задач применяется разнообразное программное обеспечение: офисные системы, системы бухгалтерского учета, системы автоматизированного проектирования, системы разработки технологических процессов, системы разработки управляющих программ для станков с ЧПУ и д.р.
За годы развития информационных систем предприятия были приобретены и созданы различные базы данных: информационно-правовые базы, базы инструмента и оснастки, материалов, справочники по ремонту и техническому устройству и т.д.
Вычислительная техника и программное обеспечение на предприятии отвечает самым современным стандартам. Регулярно проводятся модернизации оборудования и программного обеспечения. Сотрудники предприятия посещают курсы повышения квалификации, различные семинары, выставки и следят за появлением технических новинок на рынке информационных технологий.
Рис. 1. Структура управления ООО "Щекинский завод РТО"
Для полноценной реализации проекта необходимо взаимодействие с другими функциональными системами организации. Схема взаимодействия с другими функциональными системами представлена на рисунке 2.
Рис. 2. Схема взаимодействия функциональных систем организации для получения необходимой информации для выполнения проекта
2. Постановка задачи
Система класса ERP
Для оптимизации документооборота, уменьшения времени его обработки требуется внедрение автоматизированной системы заполнения рабочих нарядов, как одной составляющих частей, внедрение на заводе планирования ресурсов предприятия (ERP).
Система класса ERP (Enterprise Resource Planning - Управление ресурсами предприятия) - это корпоративная информационная система для автоматизации планирования, учета, контроля и анализа всех основных бизнес-процессов и решения бизнес задач в масштабе предприятия (организации). ERP-система помогает интегрировать все отделы и функции компании в единую систему, при этом все департаменты работают с единой базой данных и им проще обмениваться между собой разного рода информацией.
Обычно ERP система включает в себя различные функциональные модули, например, бухгалтерский и налоговый учет, управление складом, транспортировками, казначейство, кадровый учет, управление взаимоотношениями с клиентами. Различные программные модули единой системы ERP позволяют заменить устаревшие разрозненные информационные системы по управлению логистикой, финансами, складом, проектами. Вся информация хранится в единой базе данных, откуда она может быть в любое время получена по запросу.
Наряд на сдельную работу (Форма 414-АПК.)
Наряд на сдельную работу по форме 414-АПК используется для учета выполненных работ в строительстве, промышленных, вспомогательных и прочих производствах группой работников (бригадой, звеном и т.п.).
Документ выписывается перед началом работ сроком до одного месяца. На лицевой стороне ежедневно или на определенный период записывается задание, разряд работы, норма времени и расценка за единицу работ. Здесь же после выполнения задания отражается количество принятых годных изделий или выполненных работ, указывается отработанное время, общая сумма оплаты труда и процент доплаты.
На оборотной стороне документа заполняется табель, в котором учитывается время, отработанное каждым работником. Заработок каждого определяется пропорционально объемам выполненных работ, отработанному времени, разряду работ и установленным за нее расценкам.
Наряд утверждается руководителем подразделения и используется в бухгалтерии для записей в расчетно-платежную ведомость и в накопительную ведомость учета затрат.
Форма может применяться не на группу, а на индивидуальных работников в строительстве, вспомогательных, обслуживающих и прочих производствах.
На лицевой и оборотной стороне наряда ежедневно записывается задание работнику. Здесь же фиксируется количество принятой работы (изделий), затраченное время (норматив и фактически), начисленная сумма основной оплаты, процент доплаты.
Выдачу задания в наряде подписывает прораб или заведующий мастерской, приемку работ - руководитель соответствующего подразделения, для которого выполнялись работы. Правильность расчетов в наряде удостоверяет нормировщик.
Наряд утверждает руководитель подразделения, после чего он поступает в бухгалтерию для записи сумм в расчетно-платежную ведомость и в накопительную ведомость учета затрат.
Рис. 3. Форма 414-АПК ООО "Щекинский завод РТО"
Рис. 4. Оборотная сторона Формы 414-АПК ООО "Щекинский завод РТО"
Автоматизация заполнения Формы 414-АПК позволит оптимизировать работу сотрудника по расчету норм на работы.
Ввод справочников позволяет хранить и быстро получать доступ к интересующей информации, тем самым, повышая производительность, и, сокращая затраты времени на данное заполнение.
3 Описание метода организации данных
3.1 Описание входной и выходной информации
Входной информацией является: перечень сотрудников, тарифная ставка, справочник технологических операций, описание работ (справочник), справочник оборудования.
Входные данные могут поступать как на бумажном носителе, так и в виде файлов выгрузки, в частности перечня сотрудников из 1С: Предприятия (Приложение 1) и Архивов техпроцессов (Приложение 2), в котором описаны операции по деталям.
На основе этих документов формируются следующие таблицы базы данных: Таблица 1
Структура таблицы "Разряды" Таблица 2
Структура таблицы "Оклады"
Таблица 3
Структура таблицы "Должности"
Таблица 4
Структура таблицы "Подразделения"
Таблица 5
Структура таблицы "Работники"
Таблица 6
Структура таблицы "Оборудование"
Таблица 7
Структура таблицы "Чертеж"
Таблица 8
Структура таблицы "Операции"
Таблица 9
Структура таблицы "Нормы Времени"
Таблица 10
Структура таблицы "Наряды"
Для оптимальности ввода данных созданы справочники "Цеха и подразделения", "Должности, Сотрудники, Оборудование, Классификаторы. В них содержится условно постоянная информация, которая при необходимости можно редактировать.
Выходной информацией является отчет: Наряд на сдельные работы (Приложение 3).
3.2 Организация ведения информационной базы
Входная информация формируется в конце месяца. За подготовку файлов и методов контроля ввода ответственным является ответственный сотрудник.
После решения задачи промежуточные файлы, как правило, не сохраняются. Если есть необходимость хранить такой файл, то его копируют с другим именем.
Файлы, которые содержат постоянную или условно - постоянную информацию (например, справочники) важно поддерживать в актуальном состоянии путем внесения изменений. Ответственным за внесение изменений является ответственный сотрудник.
Файлы выходной информации после решения задачи всегда сохраняются. Файлы, где накапливается информация для последующих решений, сохраняются без изменений. 3.3 Математическая модель
Разряд работы берется из справочника разрядов (Rz); Норма времени зависит от описания работ и оборудования, в зависимости от них указываются 3 коэффициента, по которым находится основная единица нормы времени, также могут быть указаны поправочные коэффициенты.
Итоговая норма времени рассчитывается по формуле:
,
где
- итоговая норма времени,
- основная единица нормы времени полученная из справочника,
- поправочные коэффициенты, их количество зависит от типа операции.
Расценка берется из справочника разрядов которые устанавливает головная организация ().
Н-часы вычисляются по формуле:
,
где
- нормо/часы,
- количество работ.
Сумма по операции вычисляется формулой:
,
где
- количество по операции принятой нормо-контролем.
Заработная плата (ЗП) вычисляется по формуле:
где
x, y - период времени.
4 Описание программно-технических средств
4.1 Программно-технические средства, необходимые для разработки программы
Таблица 11
Характеристики компьютера, на котором создавалась программа
НаименованиеНазвание наименованияХарактеристикаВидеоадаптерNVIDIA GeForce GTS 2501 ГбПроцессор AMD Athlon x3 4253.10 GHz Оперативная памятьKingston2.00 ГБДисковое пространствоHitachi500 ГБРазрешение монитораAcer1366-768 точек Программа разрабатывалась под управлением операционной системы Windows XP Professional service pack 3.
Для разработки использовались программные и инструментальные средства:
* среда программирования Borland Delphi 7.0
* Microsoft Office 2003
Смотрите приложение 4 листинг программы.
Delphi - это комбинация нескольких важнейших технологий: * Высокопроизводительный компилятор в машинный код; * Объектно-ориентированная модель компонент; * Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов; * Масштабируемые средства для построения баз данных. Основной упор модели в Delphi делается на то, чтобы максимально производительно использовать код. Это позволяет очень быстро разрабатывать приложения, так как уже существуют заранее подготовленные объекты. А так же вы можете создавать свои собственные объекты, без каких-либо ограничений. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. В стандартную поставку Delphi входят основные объекты из 270 базовых классов. На этом языке очень удобно писать, как приложения к базам данных, так даже и игровые программы. Если принять во внимание и удобный интерфейс для создания графических оболочек, то можно с уверенностью заявить что язык Delphi- это очень доступный для понимания, но в то же время и очень мощный язык программирования. В программе используются компоненты Delphi:
* Main Menu - для создания главного меню;
* Popup Menu -для создания контекстных меню;
* Image List - для хранения изображений;
* Ado connection - для связи БД access с Delphi;
* Ado table - для связи таблиц access с Delphi;
* Data Source - обеспечивает связь между набором данных и компонентами отображения и редактирования данных;
* Edit - для ввода данных пользователем;
* Label - создание меток, для удобства;
* ComboBox - раскрываемый список;
* DBGrid - для вывода таблиц;
* Bitbtn - для создания кнопок;
* Panel - для объединения нескольких компонентов;
* DBedit - для ввода данных пользователем.
Microsoft Office Access или просто Microsoft Access - реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. БД access я связал с Delphi с помощью компонента ADO connection.
4.2 Программно-технические средства при использовании программы
Для использования программы необходимы следующие программно-технические средства:
Аппаратная часть предусматривает использование следующего оборудования:
- процессор не ниже................................................533 MHz
- объём оперативной памяти не ниже...........................1Gb
- жесткий диск........................................................5 Gb
- монитор
- клавиатура
- мышь
- принтер
В качестве программного обеспечения необходимо иметь следующие программные продукты:
- Операционная система MS Windows ME, XP, 2000, 2003.
- Архиватор.
- Установленный пакет Microsoft Offise 2003.
4.3 Описание программы
Программа "Расчет нормы времени" разработана в среде программирования Borland Delphi 7.0 под управлением операционной системы Windows XP.
Структурное содержание директории программы
В корневом каталоге программы содержатся следующие файлы и подкаталоги:
* Project.exe - файл программы;
* Icons - каталог содержащий иконки;
* time.dbe - база данных;
* Наряд.xls - шаблон документа "Наряд на сдельные работы".
Запуск программы
Запускается программа из корневого каталога, файл Project.exe.
Завершение работы программы
Завершить работу с программой можно в любой момент времени. Чтобы завершить работу с программой нужно нажать на крестик в правом верхнем углу формы, либо выбрать пункт меню "Файл" - "Завершение работы".
Описание работы программы
После запуска файла на экране появится главная форма работы программы, на которой расположены меню и дублирующие его кнопки операций (рисунок 5).
Рис. 5. Главное окно программы
Для продолжения работы необходимо выбрать один из пунктов меню.
Перед тем, как начать работу с программой, следует заполнить начальные справочники "Цеха и подразделения", "Должности", "Сотрудники", "Оборудование", "Классификаторы", выбрав соответствующие пункты меню.
Выбрав пункт меню "Справочники" - "Номенклатура" или нажатием на дублирующую кнопку на панели откроется окно справочника номенклатуры (рисунок 3).
Выбрав пункт меню "Справочники" - "Покупатели" или нажатием на дублирующую кнопку на панели откроется окно справочника покупателей (рисунок 4). Выбрав пункт меню "Справочники" - "Производители" или нажатием на дублирующую кнопку на панели откроется окно справочника производителей (рисунок 5). Рис.3. Общий вид окна справочника номенклатуры
Выбрав пункт меню "Справочники" - "Производители" или нажатием на дублирующую кнопку на панели откроется окно справочника производителей (рисунок 5). Рис.4. Общий вид окна справочника покупатели
Выбрав пункт меню "Справочники" - "Производители" или нажатием на дублирующую кнопку на панели откроется окно справочника производителей (рисунок 5). Рис.5. Общий вид окна справочника производители,продолжение
Основные справочники имеют одинаковую организацию для удобства пользователя и содержат в себе: табличную часть с конкретными данными для каждого справочника и кнопки управления1 (рисунок 6) в верхней части.
Рис.6. Общий вид окна справочника
Описание функций панели справочников:
1 - Добавление новой записи;
2 - Удаление текущей записи;
3 - Редактирование текущей записи;
4 - Принятие изменений (активно только в режиме добавления или редактирования);
5 - Отмена изменений (активно только в режиме добавления или редактирования);
6 - Обновляет справочник.
Заполнения справочников "Должности", "Цеха и подразделения", "Сотрудники" можно автоматически воспользовавшись импортом данных из 1С: Предприятия для этого необходимо выбрать пункт меню Файл,Импорт,1С:Предприятие:
Рисунок диалога
После заполнения минимально необходимой справочной информации можно приступать к основным функциям программы.
Для расчета нормы времени необходимо ввести данные по операциям.
Для этого необходимо выбрать пункт меню Операции, Нормы рабочего времени.
Заполнения справочников "Оборудование" и списка операций с уже указанными нормами времени, можно автоматически воспользовавшись импортом данных из Архив - Autoproject для этого необходимо пункт меню Файл, Импорт, Архив - Autoproject.
Рисунок диалога
Для ввода нормы времени с бланка, поступившего от мастера цеха или участка необходимо нажать кнопку наряды на сдельные работы, откроется окно, содержащее меню сотрудники и описание работ (рисунок, )
Рисунок
После ввода документов возможна печать отчета "Наряд на сдельные работы".
Для печати отчета необходимо открыть форму "Наряд на сдельные работы", выбрать интересующего сотрудника и нажать на кнопку "Наряд на сдельные работы". После чего откроется Microsoft Excel с формой документа.
Приложение 1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ActnList, XPStyleActnCtrls, ActnMan, ToolWin,
ActnCtrls, ActnMenus, ADODB, ExcelXP, OleServer, OleCtnrs, StdCtrls, DB,
Grids, DBGrids, DBTables, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
ImageList1: TImageList;
ActionMainMenuBar1: TActionMainMenuBar;
ActionManager1: TActionManager;
Action1: TAction;
Action2: TAction;
OpenDialog1: TOpenDialog;
Action3: TAction;
Action4: TAction;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
ADOTable3: TADOTable;
ADOTable4: TADOTable;
ADOTable5: TADOTable;
Action5: TAction;
Action6: TAction;
Action7: TAction;
Action8: TAction;
OpenDialog2: TOpenDialog;
Table1: TTable;
Table2: TTable;
Приложение 1 ADOTable6: TADOTable;
ADOTable7: TADOTable;
DataSource1: TDataSource;
ADOTable8: TADOTable;
DataSource2: TDataSource;
ADOTable9: TADOTable;
Action9: TAction;
Action10: TAction;
Action11: TAction;
Action12: TAction;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Bevel1: TBevel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
procedure Action1Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Action4Execute(Sender: TObject);
procedure Action5Execute(Sender: TObject);
procedure Action6Execute(Sender: TObject);
procedure Action7Execute(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Action8Execute(Sender: TObject);
function WinToDos(St: string): string;
procedure ConectionTable(Table: TTable; TName: string);
function finds(Table: TADOTable; TFild, TFind: string): boolean;
procedure Action9Execute(Sender: TObject);
Приложение 1
procedure Action10Execute(Sender: TObject);
procedure Action11Execute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
StartDir:String;
XL: variant;
XLPic,XlSheet: OleVariant;
implementation
uses Unit2, Unit3, Unit4, ComObj, Unit5, Unit7;
{$R *.dfm}
procedure Delay(Value: Cardinal);
var
F, N: Cardinal;
begin
N := 0;
while N <= (Value div 10) do
begin
SleepEx(1, True);
Application.ProcessMessages;
Inc(N);
end;
F := GetTickCount;
repeat
Application.ProcessMessages;
N := GetTickCount;
Приложение 1
until (N - F >= (Value mod 10)) or (N < F);
end;
function TForm1.finds(Table: TADOTable; TFild, TFind: string): boolean;
var
f:boolean;
begin
f:=false;
Table.First;
while not(Table.Eof) do begin
if Table.FieldByName(TFild).AsString=TFind then begin
f:=true;
Break;
end else Table.Next;
end;
Result:=f;
end;
procedure TForm1.ConectionTable(Table: TTable; TName: string);
begin
Table.Active:=false;
repeat
until FileExists(TName);
Table.TableName:=TName;
Table.Active:=true;
end;
function TForm1.WinToDos(St: string): string;
var
Ch: PChar;
begin
Ch := StrAlloc(Length(St) + 1);
Приложение 1 AnsiToOem(PChar(St), Ch);
Result := Ch;
StrDispose(Ch);
end;
procedure TForm1.Action1Execute(Sender: TObject);
var
Frm: TForm2;
begin
if Action1.Tag=1 then begin
frm:= TForm2.Create(Owner);
Action1.Tag:=0;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var s:string;
begin
StartDir:=GetCurrentDir;
s:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+
StartDir+'\time.mdb;Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;';
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:=s;
ADOConnection1.Connected:=true;
ADOTable1.Active:=false;
ADOTable2.Active:=false;
ADOTable3.Active:=false;
Приложение 1
ADOTable4.Active:=false;
ADOTable5.Active:=false;
ADOTable6.Active:=false;
ADOTable7.Active:=false;
ADOTable8.Active:=false;
ADOTable9.Active:=false;
ADOTable1.Active:=true;
ADOTable2.Active:=true;
ADOTable3.Active:=true;
ADOTable4.Active:=true;
ADOTable5.Active:=true;
ADOTable6.Active:=true;
ADOTable7.Active:=true;
ADOTable8.Active:=true;
ADOTable9.Active:=true;
end;
procedure TForm1.Action2Execute(Sender: TObject);
var i,st:integer;
NFile,kodFio,Fio,kodDolh,Dolh,kodPodr,Podr,Nach,Oklad,Razrad:String;
error,ok:boolean;
begin
if OpenDialog1.Execute then begin
NFile:=OpenDialog1.FileName;
XL := CreateOleObject('Excel.Application');
XL.DisplayAlerts := false;
XL.WorkBooks.Open(NFile);
XlSheet:=XL.WorkBooks[1].WorkSheets[1];
XL.Visible:= false;
i:=7; st:=1;
while XlSheet.Range['A'+IntToStr(i)].FormulaR1C1 <> '' do begin
Приложение 1
error:=false;
kodFio:=XlSheet.Range['B'+IntToStr(i)].FormulaR1C1;
Fio:=XlSheet.Range['C'+IntToStr(i)].FormulaR1C1;
kodDolh:=XlSheet.Range['D'+IntToStr(i)].FormulaR1C1;
Dolh:=XlSheet.Range['E'+IntToStr(i)].FormulaR1C1;
kodPodr:=XlSheet.Range['F'+IntToStr(i)].FormulaR1C1;
Podr:=XlSheet.Range['G'+IntToStr(i)].FormulaR1C1;
Nach:=XlSheet.Range['H'+IntToStr(i)].FormulaR1C1;
Oklad:=XlSheet.Range['I'+IntToStr(i)].FormulaR1C1;
Razrad:=XlSheet.Range['J'+IntToStr(i)].FormulaR1C1;
ADOTable1.Filter:='kod='+kodPodr;
ADOTable2.Filter:='kod='+kodDolh;
if ADOTable1.IsEmpty then begin
ADOTable1.Insert;
ADOTable1.FieldByName('kod').AsString:=kodPodr;
ADOTable1.FieldByName('name').AsString:=Podr;
ADOTable1.FieldByName('otv').AsString:=Nach;
ADOTable1.Post;
end else
if MessageDlg('Заменить данные по подразделению?'+#13+
'Наименование: '+ADOTable1.FieldByName('name').AsString+#13+'Ответственный: '+ADOTable1.FieldByName('otv').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable1.Edit;
ADOTable1.FieldByName('kod').AsString:=kodPodr;
ADOTable1.FieldByName('name').AsString:=Podr;
ADOTable1.FieldByName('otv').AsString:=Nach;
ADOTable1.Post;
end;
Приложение 1
if ADOTable2.IsEmpty then begin
ADOTable2.Insert;
ADOTable2.FieldByName('kod').AsString:=kodDolh;
ADOTable2.FieldByName('name').AsString:=Dolh;
ADOTable2.Post;
end else
if MessageDlg('Заменить данные по должности?'+#13+
'Наименование: '+ADOTable2.FieldByName('name').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable2.Edit;
ADOTable2.FieldByName('kod').AsString:=kodDolh;
ADOTable2.FieldByName('name').AsString:=Dolh;
ADOTable2.Post;
end;
ADOTable4.Filter:='name='+''''+Oklad+'''';
if ADOTable4.IsEmpty then begin
error:=true;
ShowMessage('Незаведен вид окладов');
end else
Oklad:=ADOTable4.FieldByName('id').AsString;
ADOTable5.Filter:='name='+''''+Razrad+'''';
if ADOTable5.IsEmpty then begin
error:=true;
ShowMessage('Незаведен вид разряда');
end else
Razrad:=ADOTable5.FieldByName('id').AsString;
if error then
ShowMessage('Сотрудник '+Fio+' не будет добавлен!')
else begin
Приложение 1
ADOTable3.Filter:='kod='+kodFio;
if ADOTable3.IsEmpty then begin
ADOTable3.Insert;
ADOTable3.FieldByName('fid').AsString:=ADOTable1.FieldByName('id').AsString;
ADOTable3.FieldByName('kod').AsString:=kodFio;
ADOTable3.FieldByName('FIO').AsString:=Fio;
ADOTable3.FieldByName('vidoplat').AsString:=Oklad;
ADOTable3.FieldByName('dolh').AsString:=ADOTable2.FieldByName('id').AsString;
ADOTable3.FieldByName('razrad').AsString:=Razrad;
ADOTable3.Post;
end else
if MessageDlg('Заменить данные по сотруднику?'+#13+
'Ф.И.О.: '+ADOTable3.FieldByName('FIO').AsString+#13+
'Вид оплаты: '+ADOTable4.FieldByName('name').AsString+#13+
'Должность: '+ADOTable2.FieldByName('name').AsString+#13+
'Разряд: '+ADOTable5.FieldByName('name').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable3.Edit;
ADOTable3.FieldByName('fid').AsString:=ADOTable1.FieldByName('id').AsString;
ADOTable3.FieldByName('kod').AsString:=kodFio;
ADOTable3.FieldByName('FIO').AsString:=Fio;
ADOTable3.FieldByName('vidoplat').AsString:=Oklad;
ADOTable3.FieldByName('dolh').AsString:=ADOTable2.FieldByName('id').AsString;
ADOTable3.FieldByName('razrad').AsString:=Razrad;
ADOTable3.Post;
end;
end;
i:=i+1;
end;
Приложение 1
XL.ActiveWorkbook.Close;
XL.Application.Quit;
end;
end;
procedure TForm1.Action3Execute(Sender: TObject);
var
Frm: TForm3;
begin
if Action3.Tag=1 then begin
frm:= TForm3.Create(Owner);
frm.Caption:='Виды окладов';
frm.DataSource1.DataSet:=Frm.ADOTable1;
Action3.Tag:=0;
end;
end;
procedure TForm1.Action4Execute(Sender: TObject);
var
Frm: TForm3;
begin
if Action4.Tag=1 then begin
frm:= TForm3.Create(Owner);
frm.Caption:='Разряды';
frm.DataSource1.DataSet:=Frm.ADOTable2;
Action4.Tag:=0;
end;
end;
procedure TForm1.Action5Execute(Sender: TObject);
begin
Close;
end;
Приложение 1
procedure TForm1.Action6Execute(Sender: TObject);
var
Frm: TForm3;
begin
if Action6.Tag=1 then begin
frm:= TForm3.Create(Owner);
frm.Caption:='Должности';
frm.DataSource1.DataSet:=Frm.ADOTable3;
Action6.Tag:=0;
end;
end;
procedure TForm1.Action7Execute(Sender: TObject);
var
Frm: TForm4;
begin
if Action7.Tag=1 then begin
frm:= TForm4.Create(Owner);
Action7.Tag:=0;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
Form1.Action7.Tag:=1;
end;
procedure TForm1.Action8Execute(Sender: TObject);
var f:string;
files:TextFile;
find:boolean;
begin
Приложение 1
if OpenDialog2.Execute then begin
f:=OpenDialog2.FileName;
AssignFile(files,StartDir+'\clear.bat');
Rewrite(files);
writeln(files, WinToDos(':delite'));
writeln(files, WinToDos('del "'+StartDir+'\temp\*.*" /q /f'));
writeln(files, WinToDos('if ERRORLEVEL 1 goto delite'));
CloseFile(files);
WinExec(PChar(StartDir+'\clear.bat'),0);
Delay(3000);
WinExec(PChar(StartDir+'\7z.exe e -o"'+StartDir+'\temp" "'+f+'"'),0);
Delay(3000);
ConectionTable(Table1, StartDir+'\temp\DET_MEX.db');
ADOTable6.Filter:='Oboz='+''''+Table1.FieldByName('ObozDetal').AsString+'''';
if ADOTable6.IsEmpty then begin
ADOTable6.Insert;
ADOTable6.FieldByName('Oboz').AsString:=Table1.FieldByName('ObozDetal').AsString;
ADOTable6.FieldByName('Name').AsString:=Table1.FieldByName('NameDet').AsString;
ADOTable6.FieldByName('Data').AsString:=Table1.FieldByName('Data').AsString;
ADOTable6.Post;
end else
if MessageDlg('Заменить данные по детали?'+#13+
'№ чертежа: '+Table1.FieldByName('ObozDetal').AsString+#13+
'Дата составления: '+Table1.FieldByName('Data').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable6.Edit;
ADOTable6.FieldByName('Oboz').AsString:=Table1.FieldByName('ObozDetal').AsString;
ADOTable6.FieldByName('Name').AsString:=Table1.FieldByName('NameDet').AsString;
ADOTable6.FieldByName('Data').AsString:=Table1.FieldByName('Data').AsString;
Приложение 1 ADOTable6.Post;
end;
ConectionTable(Table2, StartDir+'\temp\OP_MEX.db');
Table2.First;
while not(Table2.Eof) do begin
ADOTable7.Filter:='name='+''''+Table2.FieldByName('Equipment1').AsString+'''';
if ADOTable7.IsEmpty then begin
ADOTable7.Insert;
ADOTable7.FieldByName('name').AsString:=Table2.FieldByName('Equipment1').AsString;
ADOTable7.Post;
end;
find:=finds(ADOTable8,'InfOper',Table2.FieldByName('InfOper').AsString);
if not(find) then begin
ADOTable8.Insert;
ADOTable8.FieldByName('NameOper').AsString:=Table2.FieldByName('NameOper').AsString;
ADOTable8.FieldByName('InfOper').AsString:=Table2.FieldByName('InfOper').AsString;
ADOTable8.Post;
end else
if MessageDlg('Заменить операцию?'+#13+
'Название операции: '+ADOTable8.FieldByName('NameOper').AsString+#13+
'Описание операции: '+ADOTable8.FieldByName('InfOper').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable8.Edit;
ADOTable8.FieldByName('NameOper').AsString:=Table2.FieldByName('NameOper').AsString;
ADOTable8.FieldByName('InfOper').AsString:=Table2.FieldByName('InfOper').AsString;
ADOTable8.Post;
end;
//ADOTable9.Filter:='idOborud='+ADOTable7.FieldByName('id').AsString;
find:=finds(ADOTable9,'idOborud',ADOTable7.FieldByName('id').AsString);
Приложение 1
if not(find) then begin
ADOTable9.Insert;
ADOTable9.FieldByName('idOborud').AsString:=ADOTable7.FieldByName('id').AsString;
ADOTable9.FieldByName('Tvspom').AsString:=Table2.FieldByName('Tvspom').AsString;
ADOTable9.FieldByName('Tosn').AsString:=Table2.FieldByName('Tosn').AsString;
ADOTable9.FieldByName('TimePZ').AsString:=Table2.FieldByName('TimePZ').AsString;
ADOTable9.FieldByName('TimeSHT').AsString:=Table2.FieldByName('TimeSHT').AsString;
ADOTable9.Post;
end else
if MessageDlg('Заменить данные по времени (t)?'+#13+
't - вспомогательное: '+ADOTable9.FieldByName('Tvspom').AsString+#13+
't - основное: '+ADOTable9.FieldByName('Tosn').AsString+#13+
't - PZ: '+ADOTable9.FieldByName('TimePZ').AsString+#13+
't - SHT: '+ADOTable9.FieldByName('TimeSHT').AsString,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
ADOTable9.Edit;
ADOTable9.FieldByName('idOborud').AsString:=ADOTable7.FieldByName('id').AsString;
ADOTable9.FieldByName('Tvspom').AsString:=Table2.FieldByName('Tvspom').AsString;
ADOTable9.FieldByName('Tosn').AsString:=Table2.FieldByName('Tosn').AsString;
ADOTable9.FieldByName('TimePZ').AsString:=Table2.FieldByName('TimePZ').AsString;
ADOTable9.FieldByName('TimeSHT').AsString:=Table2.FieldByName('TimeSHT').AsString;
ADOTable9.Post;
end;
Table2.Next;
end;
end;
end;
procedure TForm1.Action9Execute(Sender: TObject);
var
Приложение 1 Frm: TForm3;
begin
if Action9.Tag=1 then begin
frm:= TForm3.Create(Owner);
frm.Caption:='Оборудование';
frm.DataSource1.DataSet:=Frm.ADOTable4;
Action9.Tag:=0;
end;
end;
procedure TForm1.Action10Execute(Sender: TObject);
var
Frm: TForm5;
begin
if Action10.Tag=1 then begin
frm:= TForm5.Create(Owner);
Action10.Tag:=0;
end;
end;
procedure TForm1.Action11Execute(Sender: TObject);
var
Frm: TForm7;
begin
if Action11.Tag=1 then begin
frm:= TForm7.Create(Owner);
Action11.Tag:=0;
end;
end;
end.
Приложение 2
1 Кнопки управления присутствуют на всех формах программы.
---------------
------------------------------------------------------------
---------------
------------------------------------------------------------
2
1
Документ
Категория
Без категории
Просмотров
449
Размер файла
4 978 Кб
Теги
pro, otchet
1/--страниц
Пожаловаться на содержимое документа