ИнфоАптека ®

Автоматизация аптек и аптечных сетей

Инструменты пользователя

Инструменты сайта


user:vmsirenko:количество_стопов_в_ап_и_продажи_по_ним_с_начала_месяца

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

user:vmsirenko:количество_стопов_в_ап_и_продажи_по_ним_с_начала_месяца [2017/07/31 19:48] (текущий)
Владимир Сиренко создано
Строка 1: Строка 1:
 +====== Количество СТОПов в АП и продажи по ним с начала месяца ======
 +
 +Поставлена задача - посчитать в **Ассортиментном плане** (АП), по каждой аптеке,​ в статусе СТОП:
 +  * количество позиций, ​
 +  * количество штук в остатках,​
 +  * количество штук проданных с начала месяца.
 +
 +====== SQL запрос ======
 +В запросе пришлось объединить две выборки из АП и документов,​ затем из полученного результата отобрать только те, что входят в АП.
 +
 +<code sql>
 +select
 +  dp.dep_name,​
 +  count(med),
 +  sum(stock) as stock_qtty,
 +  abs(sum(sale)) as sum_sale
 +from (
 +with xdocs as (
 +  select
 +    dg.dep_id,
 +    a.med_id as med,
 +    1 status,
 +    a.stock_qtty as stock,
 +    0 as sale
 +  from assort a
 +    inner join medicine m on a.med_id = m.med_id
 +    inner join depgroup dg on a.dgroup_id = dg.dgroup_id
 +  where a.status='​X'​
 +
 +  union all
 +  select
 +    d.dep_id,
 +    coalesce(m.analog_id,​m.med_id) as med,
 +    2 status,
 +    0 as stock,
 +    sum(di.qtty/​di.divisor) as sale
 +  from docs d
 +  inner join docitem di on d.doc_id=di.doc_id
 +  inner join items it on di.iid=it.iid
 +  inner join medicine m on it.med_id=m.med_id
 +  where d.doctype=40
 +    and d.docdate>​=dateadd(day,​ extract(day from CURRENT_DATE)*-1+1,​ CURRENT_DATE)
 +  group by 1,2
 +)
 +select
 +  xdocs.dep_id,​
 +  xdocs.med,
 +  sum(xdocs.status) status,
 +  sum(xdocs.stock) as stock,
 +  sum(xdocs.sale) as sale
 +from xdocs
 +group by 1,2
 +) sumap
 +inner join department dp on sumap.dep_id=dp.dep_id
 +where status=3
 +   or status=1
 +group by 1
 +</​code>​
 +
 +{{tag>​ассортиментный_план СТОП}}
 +
 +
 +~~DISCUSSION~~
  
user/vmsirenko/количество_стопов_в_ап_и_продажи_по_ним_с_начала_месяца.txt · Последние изменения: 2017/07/31 19:48 — Владимир Сиренко