powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка товаров
28 сообщений из 28, показаны все 2 страниц
Проверка товаров
    #39846256
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня, господа.
Я новичек в SQL, подскажите пожалуйста: с какой стороны начать копать?
Начальство нарезало задачу: проверить достаточно ли товаров на складе для отгрузки заказов?
Вкратце: есть таблица заказов с артикулами и требуемым сроком годности и есть таблица наличия товаров на складе с датами изготовления, по одному заказу может быть отгружен товар с разными датами производства.

Каким способом можно сравнить требуемое количество и в наличии с учетом дат?
Мне на ум приходит только временная таблица с резервированием товаров из тех что в наличии и процедура резервирования товара по заказам.

Заранее спасибо...
Всем бобра )
...
Рейтинг: 0 / 0
Проверка товаров
    #39846258
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить:
Oracle 11G на винде, может это важно...
...
Рейтинг: 0 / 0
Проверка товаров
    #39846262
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverКаким способом можно сравнить требуемое количество и в наличии с учетом дат?Ну давай, опубликуй, что придумал
...
Рейтинг: 0 / 0
Проверка товаров
    #39846269
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока решения на SQL вообще нет, даже сырого, потому как не понимаю с какого края браться.
В таблице наличия не хватает полей для резервирования заказа, править таблицу нельзя.
Пробовал баловаться в Excel: сортировал по артикулу и возрастанию срока годности и построчно обрабатывал, дописывая зарезервированные количества - вроде получилось что-то похожее на правду.

Теперь в думах: реализовывать этот алгоритм на БД или есть какое то более простое решение?
...
Рейтинг: 0 / 0
Проверка товаров
    #39846297
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока задача на уровне

Sylverбаловаться в Excel: ... построчно обрабатывал

остается дождаться доброго самаритянина, который решит задачу за вас.

А пока можно хотя бы предоставить пример данных.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
with t (article, due_days) as (
  select 1, 300 from dual union all
  select 2, 400 from dual union all
  select 3, 500 from dual
), z (article, q_prod, date_prod) as (
  select 1, 10, to_date('01.01.2018', 'dd.mm.yyyy') from dual union all
  select 1, 20, to_date('01.01.2019', 'dd.mm.yyyy') from dual union all
  select 2, 10, to_date('01.02.2018', 'dd.mm.yyyy') from dual union all
  select 2, 40, to_date('02.02.2018', 'dd.mm.yyyy') from dual
)

select t.article, t.due_days, sum(z.q_prod) q_prod, max(trunc(sysdate) - z.date_prod)
  from t left outer join z on t.article = z.article
 group by t.article, t.due_days
 order by article

...
Рейтинг: 0 / 0
Проверка товаров
    #39846313
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverНачальство нарезало задачу: проверить достаточно ли товаров на складе для отгрузки заказов?
Очень странное начальство.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846315
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevSylverНачальство нарезало задачу: проверить достаточно ли товаров на складе для отгрузки заказов?
Очень странное начальство.да, преподы в универе бывают суровы!
только почему летом? )))
...
Рейтинг: 0 / 0
Проверка товаров
    #39846316
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevSylverНачальство нарезало задачу: проверить достаточно ли товаров на складе для отгрузки заказов?
Очень странное начальство.

Как вариант решения: сходить на склад и посмотреть.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846321
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DshedooiOracleDevпропущено...
Очень странное начальство.
Как вариант решения: сходить на склад и посмотреть.
Плохое решение, часть усмотренного товара может контрактоваться прямо во время "посмотра"
...
Рейтинг: 0 / 0
Проверка товаров
    #39846330
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousDshedooпропущено...

Как вариант решения: сходить на склад и посмотреть.
Плохое решение, часть усмотренного товара может контрактоваться прямо во время "посмотра"смотреть в режиме реального времени через вебку! )
...
Рейтинг: 0 / 0
Проверка товаров
    #39846333
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyCatтолько почему летом? )))
Время пересдачи наступило.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846341
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyCatandrey_anonymousпропущено...
Плохое решение, часть усмотренного товара может контрактоваться прямо во время "посмотра"смотреть в режиме реального времени через вебку! )
Тогда уж оборудовать спецкомнату, куда выводить камеры:
- со всех офисов продаж
- со склада
- из архива, куда сложены оплаченные договоры, по которым еще не прошла отгрузка
- стримы от всех курьеров, таскающих документы между офисами и складом
...
Короче, намечается серьезный проект с нормальным таким бюджетом ;)
...
Рейтинг: 0 / 0
Проверка товаров
    #39846344
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я смотрю все остроумные ))) спасибо - улыбнуло, но задача реальная.
На самом деле, это не вся задача, будет еще продолжение с поиском товаров которые в пути и их продали "с колес", но там я представляю как сделать.

Для интересующихся:
набросал пример как советовали..

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
with orders  as (
  select 1 as article, 10 as qty, 10 as due_days from dual union all
  select 1 as article, 10 as qty, 15 as due_days from dual union all
  select 2 as article, 20 as qty, 10 as due_days from dual union all
  select 2 as article, 10 as qty, 15 as due_days from dual union all
  select 2 as article,  5 as qty, 15 as due_days from dual union all
  select 3 as article, 10 as qty, 30 as due_days from dual
), sklad as (
  select 1 as article,  5 as qty, to_date('01.08.2019', 'dd.mm.yyyy') as date_prod, to_date('20.08.2019', 'dd.mm.yyyy') as bbf  from dual union all
  select 1 as article, 20 as qty, to_date('05.08.2019', 'dd.mm.yyyy') as date_prod, to_date('25.08.2019', 'dd.mm.yyyy') as bbf from dual union all
  select 2 as article,  5 as qty, to_date('01.08.2019', 'dd.mm.yyyy') as date_prod, to_date('20.08.2019', 'dd.mm.yyyy') as bbf from dual union all
  select 2 as article, 15 as qty, to_date('05.08.2019', 'dd.mm.yyyy') as date_prod, to_date('25.08.2019', 'dd.mm.yyyy') as bbf from dual
)

select 
      o.article, 
      o.due_days, 
      sum(o.qty) z_qty,
      trunc(sysdate) + o.due_days - 
      (
         (select s.bbf - date_prod -- эта выборка делается из справочника (срок годности товара в днях)
          from sklad s
          where s.article = o.article and rownum = 1)
       ) as min_date -- минимальная дата производства которую можно отгрузить
from 
      orders o
group by o.article, o.due_days
order by o.article



Проблемы которые у меня возникли:
по артикулу 1:
- первый заказ забирает весь товар с первой ячейки склада и часть со второй (склад грузит по FIFO) как запомнить, что часть мы уже "забрали".
по артикулу 2:
похожая ситуация, просто товар весь кончился
артикул 3 - не интересен, просто нет товара
...
Рейтинг: 0 / 0
Проверка товаров
    #39846346
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevОчень странное начальство.
Иногда, отношения в коллективе выходят за рамки должностных инструкций.
Попросили ОЧЕНЬ помочь, я не могу отказать, но и не ничего не обещал...
Просто проблема интересна мне лично, даже если ничего не придумается... просто все останется как есть...
...
Рейтинг: 0 / 0
Проверка товаров
    #39846352
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CrazyCatandrey_anonymousпропущено...

Плохое решение, часть усмотренного товара может контрактоваться прямо во время "посмотра"смотреть в режиме реального времени через вебку! )
немного приоткрою, хотя подписывался, но по этому немного совру:
на складе 30 "вебок" и 3 000 паллет - вы их как считать будете?
...
Рейтинг: 0 / 0
Проверка товаров
    #39846355
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полностью задача как сформулирована?
Просто "проверить для душевного спокойствия, что товаров дофига" или "предотвратить формирование ордера, если товара недостаточно"?
Первое решается запросом в нескольких вариантах, второе - требует введения механизмов резервирования и "автомагического" снятия резерва, обязательно с учетом положений 9 Data Concurrency and Consistency
...
Рейтинг: 0 / 0
Проверка товаров
    #39846360
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за вопрос "по делу"!
Полная формулировка задачи:
найти заказы в которые был отгружен товар "с колес" и на основании данных логистики о движении ТС принять решение:
тормознуть сбор этих заказов до прибытия ТС или забить и отделаться недопоставкой.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846362
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverИногда, отношения в коллективе выходят за рамки должностных инструкций.
Попросили ОЧЕНЬ помочь, я не могу отказать, но и не ничего не обещал...
Просто проблема интересна мне лично, даже если ничего не придумается... просто все останется как есть...
Ты не обладаешь знаниями для решения этой задачи.

Sylverнемного приоткрою, хотя подписывался, но по этому немного совру:
на складе 30 "вебок" и 3 000 паллет - вы их как считать будете?
Ржу в голос блин, WMS системы нет?

andrey_anonymousПолностью задача как сформулирована?
Начальство попросило помочь))
...
Рейтинг: 0 / 0
Проверка товаров
    #39846366
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение тут простое - найти разработчика эксплуатируемой системы и поставить перед ним задачу.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846370
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нда... видимо зря начал писать, буду оставаться читателем...
Всем спасибо - можно расходиться
...
Рейтинг: 0 / 0
Проверка товаров
    #39846372
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevРжу в голос блин, WMS системы нет?Возможно была до https://www.sql.ru/forum/1202916/vosstanovlenie-konstrayntov
...
Рейтинг: 0 / 0
Проверка товаров
    #39846612
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverНда... видимо зря начал писать, буду оставаться читателем...
Всем спасибо - можно расходитьсяДа, вали отседова. Халява но пасаран.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846636
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и скажите, что слабо.
Какашками кидаться - это все умеют...
...
Рейтинг: 0 / 0
Проверка товаров
    #39846637
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозг напрочь отключать - это, да, особейшее умение.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846730
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverКакашками кидатьсяБизнес. Заполнить склад, набрать заказов, всё это внести в БД... ну ради просто внести и всё... И тут приходит озарение - а не сравнить ли заказы с наличием товара. Кому поручить? Есть тут один "новичек"! (который несколько лет назад потерял констрейнты)
...
Рейтинг: 0 / 0
Проверка товаров
    #39846754
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-SylverКакашками кидатьсяБизнес. Заполнить склад, набрать заказов, всё это внести в БД... ну ради просто внести и всё... И тут приходит озарение - а не сравнить ли заказы с наличием товара. Кому поручить? Есть тут один "новичек"! (который несколько лет назад потерял констрейнты)
Это Ваше мнение, не буду его оспаривать - мне все равно, что Вы думаете.
По поводу констрейнтов: "потерял" их не я, я нашел, что их не хватает, и восстановил, как должно было быть.
Хотя оправдываться - это так себе занятие...
...
Рейтинг: 0 / 0
Проверка товаров
    #39846774
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SylverЭто Ваше мнение.Глубокомысленное заявление. Я достаточно знаком с возможностями форума, чтобы чужое мнение оформлять цитатой.Sylverмне все равно, что Вы думаетеБолее 7 миллиардам людей всё равно. К счастью для форума, они не считают необходимым делиться этим.
...
Рейтинг: 0 / 0
Проверка товаров
    #39846787
Sylver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,
я так и понял
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка товаров
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]