Wiki source code of Карточка ОЕМ
Last modified by Vladislav Eleseev on 2024/01/23 07:12
Hide last authors
5.1 | 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 |