Концептуальная проблема – управление запасами – автоматическое определение открытого состояния (php/mysql)Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Концептуальная проблема – управление запасами – автоматическое определение открытого состояния (php/mysql)

Сообщение Anonymous »

У меня в голове крутится концептуальная проблема, и я надеюсь, что люди смогут предложить новые способы ее решения с точки зрения логики, необходимой для решения задачи.
У меня есть база данных по спасению животных, в которой есть раздел о лекарствах. Я хотел бы, чтобы запас автоматически вычитался при его использовании. Проблема заключается в «открытых бутылках», которые представляют собой что-то вроде антибиотика, срок годности которого составляет 7 дней. Мне нужно, чтобы этот счетчик отсчитывался от первого использования до полного использования бутылки (затем сбрасывался при следующем использовании) ИЛИ предупреждал, когда 7 дней истечет, чтобы ее можно было утилизировать.
Предлагаемая мной структура таблицы:
Лекарства (уже есть)
Общая таблица только для хранения названий лекарств



Идентификатор лекарства
Лекарство
Класс




1
Ципрофлоксацин
Антибиотик


2
метакам
Противовоспалительное



Принятые лекарства (также есть)
Записывает подробную информацию о лекарствах, которые давали животному. Думаю, мне придется однажды внести поправки в эту таблицу. я обдумываю это. вероятно, придется связать это по Profile_id с таблицей профилей лекарств. Вводимая доза обычно записывается в мг, и ее необходимо рассчитывать по таблице профилей неотложных лекарств. например 50 мг будут уменьшать объем примерно на 3,3 мл.



given_id
идентификатор лекарства
пациент_id
Доза (мг)
дан




1
1
4
50
20/1/2024


2
1
4
50
5.13.2024



Предлагаемая таблица – профиль экстренных лекарств
Это сделано для хранения некоторых наборов профилей лекарств для экстренной помощи, поскольку каждое лекарство может быть составлено по-разному. например, 15 мг/мл или 30 мг/мл того же лекарства. Объем будет общим объемом. эта доза будет использована для расчета выше (50 (данные) / 15 (профиль)) = 3,3 мл



profile_id
лекарство
доза (мг)
объем (мл)
Опыт (дни)



< tr>
1
1
15
125
5


2
1
30
125
365



Предлагаемая таблица – акции корректировки
Для отслеживания неуказанных корректировок запасов – например, уничтожения, запасов и т. д. Следуя примеру, на этом этапе было добавлено 4 флакона и 1 прием ципрофлоксацина 15 мг/мл.



adj_id
profile_id
вход/выход
Объем (мл)




1
1
IN
500

2
1
ВЫХОД
125



Предлагаемая таблица — запасы
Она используется для отслеживания баланса запасов, поэтому выдаваемые лекарства и корректировки запасов будут записываться в эту таблицу для обновления данных. баланс. В этой таблице должна быть только одна запись на каждый «profile_id».



balance_id
profile_id
общий объем
< /tr>



1
1
350

2
2
210



Итак, это все, что у меня есть вот что: я думаю, что когда лекарство выдается, форма записывает в две таблицы: одну для записи транзакции (meds_given), а другую для вычета объема (инвентаря). Я думаю, что смогу просчитать всю математику, чтобы сделать выводы и обновить инвентарь, но я не могу придумать механизм, позволяющий ему «знать», когда открывается новая бутылка, и предупреждать пользователей, когда истекает опыт (в днях). срок)
Моей первой мыслью было добавить поле opens_on в таблицу инвентаризации, которое будет служить триггером для будущих запросов. Хотя я не могу представить, как он будет обновляться только при определенных условиях: например. количество целого флакона, например, каждые 125 (мл).
Если лекарство записано как выданное, а остаток представляет собой целое количество, например. 1000 мл (4 бутылки по 250 мл), затем при остатке 9992,5 мл (потому что было дано 7,5 мл) начинается обратный отсчет даты. Если через 6 или 7 дней баланс находится между 750 и 1000, выдается предупреждение о том, что срок его действия истекает (то же самое относится и к 1-250, 250-500 и т. д.).
Если бы я добавил поле даты, оно должно было бы оставаться на месте и не обновляться при введении других лекарств до тех пор, пока не будут достигнуты следующие объемы 750/500/250.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ally-php-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»