Карточка ОЕМ

Last modified by Vladislav Eleseev on 2024/01/23 07:12

Карточка ОЕМ.

1705993896854-934.png

Карточка ОЕМ кода открывается из справочника ОЕМ. Предусмотреть возможность открытия не из справочника. Точно будет открываться из карточки товара. С открытием по коду. Карточка работает однотипно с другими карточками в проекте. Информация сохраняется после нажатия Ок.

Карточки имеет 4 вкладки. Предусмотреть сохранения открытие карточки на той вкладке, которую выбрали последний раз в карточке такого типа. По умолчанию первая вкладка.
На первой вкладке отображаются поля из запроса.
SELECT c.id, c.code, c.oemmarkid, m.name as mark, c.info, c.code_ex

FROM oem_codes AS c

LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid

WHERE c.id = 58553  ORDER BY id
 

Поле производитель должна быть возможность выбрать из диалога.

Вкладка Автомобили.
image-20240123101116-2.png
Данные берутся из запроса
SELECT top(10) m.id, mdls.items, m.name, m.[begin], COALESCE(CAST(m.[end] as CHAR(18)), 'н.в.') as _end, m.[end], fleet2.quantity_guarantee, fleet2.quantity_nonguarantee,

       fleet.quantity, '-' as quantity_rate, m.quality, c.name as country, '' as popular, m.country_id , m.image, db.oem_id

FROM auto_marks AS m

LEFT JOIN (

       SELECT mark_id, COUNT(id) as items

       FROM auto_models GROUP BY mark_id) AS mdls ON mdls.mark_id = m.id

LEFT JOIN auto_countries AS c ON c.id = m.country_id

LEFT JOIN (

       SELECT SUM(quantity) AS quantity, mark_id

       FROM auto_sells GROUP BY mark_id) AS fleet ON fleet.mark_id = m.id

LEFT JOIN (

       SELECT SUM(mf.quantity_guarantee) AS quantity_guarantee, SUM(mf.quantity_nonguarantee) AS quantity_nonguarantee, md.mark_id

       FROM auto_modifications AS mf

       LEFT JOIN auto_models AS md ON md.id = mf.model_id

       GROUP BY md.mark_id) AS fleet2 ON fleet2.mark_id = m.id

LEFT JOIN (

       SELECT md.mark_id, db.oem_id, c.code, c.code_ex

       FROM auto_models AS md

       LEFT JOIN auto_modifications AS mf ON mf.model_id = md.id

       LEFT JOIN product_cars AS dbc ON dbc.modification_id = mf.id

       LEFT JOIN product_oem AS db ON dbc.product_id = db.product_id

       LEFT JOIN oem_codes AS c ON c.id = db.oem_id

       GROUP BY md.mark_id, db.oem_id, c.code, c.code_ex) AS db ON db.mark_id = m.id

WHERE db.oem_id = 56134  ORDER BY m.name
 

Запрос можно изменить.
Вкладка возможно устаревшая. Т.к. данные явно не актуальные. Но переносим для общей картины. Картинку вставлять не нужно.
 

Вкладка товары

1705993920794-577.png

Данные берутся из запроса

SELECT * FROM products AS p

JOIN product_oem AS td ON td.product_id = p.id 

WHERE td.oem_id = 158577 

Вкладка Заменители ОЕМ

1705993936537-323.png

Данные берутся из запроса

SELECT c.id, c.id as oem_id, c.code, c.code as name, c.oemmarkid, m.name as mark, c.info, c.code_ex

FROM oem_codes AS c

LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid

LEFT JOIN product_oem AS pc ON pc.oem_id = c.id

LEFT JOIN product_oem AS pc2 ON pc2.oem_id = 158577

WHERE pc2.product_id = pc.product_id AND pc2.oem_id <> pc.oem_id 

ORDER BY id

Tags:
Created by Vladislav Eleseev on 2024/01/23 07:11