Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите с алгоритмом проги. Добавлено: 11.07.07 09:16  

Автор вопроса:  fuzytsfcrew | Web-сайт: video-edit.com.ua | ICQ: 314339 
Есть базы данных в BDF которые можно только читать (менять ее низя). Это что-то на подобии тех. процесса. В них есть следующие поля: "Серийный № детали", "название детали", "назв.професии (имеется ввиду профессия рабочего, который выполняет некую операцию по изготовлению этой детали. для одной детали - несколько профессий)", "цех (рабочего, который - смотри выше.)", "Розряд (рабочего)" и "Трудоемкость (за операцию конкретного рабочего для конкретной детали)".

Цель: Сделать некий план по производству за определенны период. Т.е. выбираем деталь по №, -> вводим колличество этих деталей, -> вводим временные рамки в два DBPicer-a (от и до) - когда план всех деталей набран - произвести расчет с выдачей на ведомости.

Содержание вых. данных:

Для всего плана должна быть таблицы в виде:
1. ОБЩИЙ: Профессия, цех, розряд, трудоемкость умноженная на количество деталей, зарплата умноженная на количество деталей.
(профессии могут повторятся, если у них отличия в №цеха или розряде. Для одинаковых профессий трудоемкость и зарплата суммируется)
2. ЦЕХ: Профессия, трудоемкость умноженная на количество деталей и зарплата умноженная на количество деталей.
(профессии могут повторятся, если у них отличия в розряде. Для одинаковых профессий трудоемкость и зарплата суммируется)

Чего я уже сделал:

Примитивную форму с комбобоксом (combo1) и двумя DAO - Data1, Data2 т.к. базы 2 шт. и текстбокс (text1) для ввода количества деталей.

Заполняю combo1 значениями Серийный № детали (NAME_CH) из 2-х баз.


Data1.RecordSource = "SELECT DISTINCT baz_ip.NAME_CH FROM baz_ip ORDER BY NAME_CH"
Data1.Refresh
Data2.RecordSource = "SELECT DISTINCT baz_msp.NAME_CH FROM baz_msp ORDER BY NAME_CH"
Data2.Refresh

With Data1.Recordset
Do Until .EOF
        If Not IsNull(!NAME_CH) Then Combo1.AddItem !NAME_CH
        .MoveNext
Loop
End With

With Data2.Recordset
Do Until .EOF
        If Not IsNull(!NAME_CH) Then Combo1.AddItem !NAME_CH
        .MoveNext
Loop
End With


А вот как дальше расставить по полкам задачи которые нужно сделать? Каким путем лучше пойти? Может ложить данные этого "Плана производства" в свежесозданную базу?
Как потом чего? Может кто-то разъяснить по пунктам - типа - выделил в базе все записи у которых ..., перенес их..., создал...., объеденил записи,где ...., и т.д.???
Просто на словах...

Моя форма - http://www.visual-basic.by.ru/pictures/form_trud.gif

Пример данных базы - http://www.visual-basic.by.ru/pictures/baza_trud.gif

Огромное спасибо заранее.

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #1
Добавлено: 11.07.07 14:55
Народ! Я ж не прошу писать прогу за меня....
Хоть натолкните на мысль, как это лучше сделать..

План производства я уже набираю в таблицу Access (time1, time2, detaL_name, kollichestvo)

Как быть дальше?

Ответить

Номер ответа: 2
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #2 Добавлено: 11.07.07 15:52
Народ! Я ж не прошу писать прогу за меня....


мммм очень на это похоже :)

Хоть натолкните на мысль, как это лучше сделать..


создай таблицы в SQL которой прописана каждая часть (класс)

начнем что производят!!!

таблица продукция:

название_ "Коробок спичек"
номер_на_производстве_ 1Q3er5h
колво_операций_ 3
названия_операций_ сделатьСпички, сделатьКоробку, наклеитьФосфор


описываем операции:

название "Сделать Спички"
номер_цеха 23у
колво_человек 1
имя_человека "Вася Петичкин"
время_на_деталь 5 сек
стоимость_секунды_работы)на_человека 1$

название "Сделать Коробку"
номер_цеха 68п
колво человек 2
имя_человека "Коля Коровин" "Маша Баянина"
время_на_деталь_для_одного_человека 1 день
стоимость_секунды_работы_на_человека 1$

название "Наклеить Фосфор"
номер_цеха 23в
колво_человек 1
имя_человека "Имма Петровна"
время_на_деталь_для_одного_человека 3 часа
стоимость_секунды_работы_на_человека 2$

перечисляем персонал (или идем в отдел кадров)

имя_рабочего "Вася Петичкин"
стаж 45 лет
уровень 4 разряд
до пенсии 99 лет
сколько_детей 7 по полкам
и т.д.

потом соединяешь все таблицы вместе и запрашиваешь вот этот номер "1Q3er5h"

выводится вся информация по этому продукту вплоть сколько детей у того или иного рабочего. Можно и штрафы за парковку приплести.

Надеюсь чем нибудь тебе помог

Ответить

Номер ответа: 3
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #3
Добавлено: 11.07.07 17:05
Сделать некий план по производству за определенны период. Т.е. выбираем деталь по №, -> вводим колличество этих деталей, -> вводим временные рамки в два DBPicer-a (от и до) - когда план всех деталей набран - произвести расчет с выдачей на ведомости.

Если я всё правильно понял - тебе нужно посчитать количество рабочих и зарплату. Так?
Если так, то не вижу препятствий.
1. У тебя есть необходимое кол-во деталей и трудоемкость для каждой операции. Умножаем. Получилась суммарная трудоемкость для каждой операции - ТО_с
2. У тебя есть время производства (между времеными рамками) - Т_пр. Делим ТО_с на Т_пр. Получилось количество рабочих для каждой операции - К_р.
3. Каждой операции соответствует профессия, но иногда можно совмещать операции, задействую при этом одного рабочего. Например фрезеровщик 5 разряда запросто может выполнять работу сверловщика 2 разряда. Слесарь может делать распиловку проката и т.д. Так вот на следующем этапе мы смотрим как можно совместить просессии. Например у нас получилось что нужно 2.6 слесаря и 0.3 распиловщика. Совмещаем. Берем для проиводства 2.9 слесаря, но т.к. слесаря бывают только целыми - берем 3.0 Начинай с наивысших разрядов (6,5) и определяй количество рабочих. Потом смотри, если кто - то недозагружен - впаривай ему работу долее низкого разряда и т.д.
4. В результате мы имеем некую таблицу, в которой напротив каждой операции стоит фамилия (ID) рабочего. Т.к. нам изветсна трудоемкость каждой операции и разряд работы - мы можем подсчитать зарплату каждого рабочего.

Кажись всё :)

Ответить

Номер ответа: 4
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #4
Добавлено: 12.07.07 07:45
To Серёга...

Вы все правильно поняли.
На самом деле этот процесс уже идет полным ходом, но вручную...Тетки в бухгалтерии и в плановом и в производственном отделе пыхтят над этим с калькуляторами и бумажками..
Процесс теперь стоит только в автоматизации всего этого ...

Допустим я этот план производства (количество дет., название дет., период с и до) заполняю в новую БД Accessa в виде (time1, time2, number, kolichestvo)
теперь я так понимаю мои действия - выделить (SELECT) все записи у которых №детали = которая есть в БД Accessa со всеми ее атребутами и ГЛАВНОЕ - Трудоёмкость и Зарплата сразу должны быть умножены на количество деталей. Потом наверное нужно все эти записи в таблицу реальную помещать, чтоб к след. детали перейти. И так до EOF БД Accessa. Потом эту новую таблицу, в которой будет (Профессия, Цех, Розряд, Трудоемкость, Зарплата) каким-то чудом объеденить записи где Профессия, Цех, Розряд ОДИНАКОВЫЕ и для них значения Трудоемкость, Зарплата ПРОСУММИРОВАТЬ.
Это только первая часть всего этого... - Может есть какой-то другой путь реализации всего этого?

Ответить

Номер ответа: 5
Автор ответа:
 VisualPaul



ICQ: 402519798 

Вопросов: 12
Ответов: 111
 Профиль | | #5 Добавлено: 12.07.07 09:31
Эта пять! И +1.

Ответить

Номер ответа: 6
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #6
Добавлено: 12.07.07 09:36
To VisualPaul

Эта пять! И +1.


- это Вы о чем?

Ответить

Номер ответа: 7
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #7
Добавлено: 12.07.07 16:19
Может есть какой-то другой путь реализации всего этого?

ИМХО нет.

Ответить

Номер ответа: 8
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #8
Добавлено: 12.07.07 16:34
ИМХО нет.


Понятно. Значит и буду так действовать.
Но никак не выходит в одну таблицу новой базы Accessa засунуть определенные столбци из нескольких баз БДФ.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам