Wiki source code of Карточка ОЕМ
Last modified by Vladislav Eleseev on 2024/01/23 07:12
Show last authors
1 | Карточка ОЕМ. |
2 | |
3 | [[image:1705993896854-934.png||height="666" width="974"]] |
4 | |
5 | |
6 | Карточка ОЕМ кода открывается из справочника ОЕМ. Предусмотреть возможность открытия не из справочника. Точно будет открываться из карточки товара. С открытием по коду. Карточка работает однотипно с другими карточками в проекте. Информация сохраняется после нажатия Ок. |
7 | |
8 | Карточки имеет 4 вкладки. Предусмотреть сохранения открытие карточки на той вкладке, которую выбрали последний раз в карточке такого типа. По умолчанию первая вкладка. |
9 | На первой вкладке отображаются поля из запроса. |
10 | SELECT c.id, c.code, c.oemmarkid, m.name as mark, c.info, c.code_ex |
11 | |
12 | FROM oem_codes AS c |
13 | |
14 | LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid |
15 | |
16 | WHERE c.id = 58553 ORDER BY id |
17 | |
18 | |
19 | Поле производитель должна быть возможность выбрать из диалога. |
20 | |
21 | |
22 | Вкладка Автомобили. |
23 | [[image:image-20240123101116-2.png||height="513" width="752"]] |
24 | Данные берутся из запроса |
25 | 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, |
26 | |
27 | fleet.quantity, '-' as quantity_rate, m.quality, c.name as country, '' as popular, m.country_id , m.image, db.oem_id |
28 | |
29 | FROM auto_marks AS m |
30 | |
31 | LEFT JOIN ( |
32 | |
33 | SELECT mark_id, COUNT(id) as items |
34 | |
35 | FROM auto_models GROUP BY mark_id) AS mdls ON mdls.mark_id = m.id |
36 | |
37 | LEFT JOIN auto_countries AS c ON c.id = m.country_id |
38 | |
39 | LEFT JOIN ( |
40 | |
41 | SELECT SUM(quantity) AS quantity, mark_id |
42 | |
43 | FROM auto_sells GROUP BY mark_id) AS fleet ON fleet.mark_id = m.id |
44 | |
45 | LEFT JOIN ( |
46 | |
47 | SELECT SUM(mf.quantity_guarantee) AS quantity_guarantee, SUM(mf.quantity_nonguarantee) AS quantity_nonguarantee, md.mark_id |
48 | |
49 | FROM auto_modifications AS mf |
50 | |
51 | LEFT JOIN auto_models AS md ON md.id = mf.model_id |
52 | |
53 | GROUP BY md.mark_id) AS fleet2 ON fleet2.mark_id = m.id |
54 | |
55 | LEFT JOIN ( |
56 | |
57 | SELECT md.mark_id, db.oem_id, c.code, c.code_ex |
58 | |
59 | FROM auto_models AS md |
60 | |
61 | LEFT JOIN auto_modifications AS mf ON mf.model_id = md.id |
62 | |
63 | LEFT JOIN product_cars AS dbc ON dbc.modification_id = mf.id |
64 | |
65 | LEFT JOIN product_oem AS db ON dbc.product_id = db.product_id |
66 | |
67 | LEFT JOIN oem_codes AS c ON c.id = db.oem_id |
68 | |
69 | GROUP BY md.mark_id, db.oem_id, c.code, c.code_ex) AS db ON db.mark_id = m.id |
70 | |
71 | WHERE db.oem_id = 56134 ORDER BY m.name |
72 | |
73 | |
74 | Запрос можно изменить. |
75 | Вкладка возможно устаревшая. Т.к. данные явно не актуальные. Но переносим для общей картины. Картинку вставлять не нужно. |
76 | |
77 | |
78 | |
79 | Вкладка товары |
80 | |
81 | [[image:1705993920794-577.png||height="664" width="974"]] |
82 | |
83 | Данные берутся из запроса |
84 | |
85 | |
86 | SELECT * FROM products AS p |
87 | |
88 | JOIN product_oem AS td ON td.product_id = p.id |
89 | |
90 | WHERE td.oem_id = 158577 |
91 | |
92 | |
93 | |
94 | Вкладка Заменители ОЕМ |
95 | |
96 | [[image:1705993936537-323.png||height="656" width="974"]] |
97 | |
98 | |
99 | Данные берутся из запроса |
100 | |
101 | 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 |
102 | |
103 | FROM oem_codes AS c |
104 | |
105 | LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid |
106 | |
107 | LEFT JOIN product_oem AS pc ON pc.oem_id = c.id |
108 | |
109 | LEFT JOIN product_oem AS pc2 ON pc2.oem_id = 158577 |
110 | |
111 | WHERE pc2.product_id = pc.product_id AND pc2.oem_id <> pc.oem_id |
112 | |
113 | ORDER BY id |