Negozi Refactor: differenze tra le versioni
Nessun oggetto della modifica |
|||
| (93 versioni intermedie di 2 utenti non mostrate) | |||
| Riga 1: | Riga 1: | ||
== ShopNet == | == ShopNet == | ||
Il campo <code>ID</code> corrisponde esattamente a <code>PROG_Author.idShopGroup</code>.<br/> | |||
Questo ci permette di collegare la <code>ShopNet</code> all'utente (rappresentato da un GUID).<br/> | |||
No chiave esterna. | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="3"|WM_ShopNet | ! colspan="3"|WM_ShopNet | ||
| Riga 8: | Riga 12: | ||
|- | |- | ||
|style="font-family: monospace;"|Name | |style="font-family: monospace;"|Name | ||
|nvarchar( | |nvarchar(200) | ||
|Nome della ShopNet | |Nome della ShopNet | ||
|- | |- | ||
| Riga 20: | Riga 24: | ||
|- | |- | ||
|style="font-family: monospace;"|Piva | |style="font-family: monospace;"|Piva | ||
| | |nvarchar(50) | ||
|Partita IVA | |Partita IVA | ||
|- | |- | ||
|style="font-family: monospace;"|MainMail | |style="font-family: monospace;"|MainMail | ||
|nvarchar( | |nvarchar(255) | ||
|Mail principale | |Mail principale | ||
|- | |- | ||
|style="font-family: monospace;"|Notes | |style="font-family: monospace;"|Notes | ||
| | |text (nullable) | ||
|Note | |Note | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|StatusID | ||
|int | |int | ||
|Stato della ShopNet | |Stato della ShopNet | ||
|- | |- | ||
|style="font-family: monospace;"|AgentID | |style="font-family: monospace;"|AgentID | ||
| | |int (nullable) | ||
|ID dell'agente assegnato | |ID dell'agente assegnato | ||
|- | |- | ||
| Riga 54: | Riga 58: | ||
|bit | |bit | ||
|Indica se ha il commerce attivo | |Indica se ha il commerce attivo | ||
|- | |||
|style="font-family: monospace;"|ESW | |||
|bit | |||
|Indica se proviene da EasyStoreWeb | |||
|} | |} | ||
== | === ShopNet Ad Hoc === | ||
Queste ShopNet sono diverse e si comportano in questo modo: | |||
* '''ShopNet Trovaprodotti Orfani''' Creazione di una ShopNet per tutti i Trovaprodotti che non avevano una ShopNet. Hanno <code>Piva = '000000000000'</code>. Ne viene creata una per ognuno. | |||
* '''ShopNet Anagrafiche''' - Contiene tutti gli ShopPoint di tipo != 0 che sono anagrafiche. | |||
* '''ShopNet Estero''' - Contiene tutti gli ShopPoint Esteri (che non hanno accesso alle statistiche). Se mai dovessero avere un'area statistiche sarà necessario rimuovere gli ShopPoint implicati creando una ShopNet ad Hoc. | |||
== ShopPoint == | |||
Rappresenta la singola sede fisica di una ShopNet. | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="3"| | ! colspan="3"|WM_ShopPoint | ||
|- | |- | ||
|style="font-family: monospace;"|ID<sup>P</sup> | |style="font-family: monospace;"|ID<sup>P</sup> | ||
| Riga 65: | Riga 81: | ||
|- | |- | ||
|style="font-family: monospace;"|ShopNetID | |style="font-family: monospace;"|ShopNetID | ||
|int | |int (nullable) | ||
|id della ShopNet di appartenenza | |id della ShopNet di appartenenza (se null si tratta di anagrafiche o anagrafiche plus) | ||
|- | |- | ||
|style="font-family: monospace;"|Name | |style="font-family: monospace;"|Name | ||
|nvarchar( | |nvarchar(200) | ||
|Nome della sede | |Nome della sede | ||
|- | |||
|style="font-family: monospace;"|Logo | |||
|nvarchar(255) (nullable) | |||
|Nome dell'immagine logo che potrebbe essere <code>shoppoint-<id>-logo.gif</code> | |||
|- | |- | ||
|style="font-family: monospace;"|Website | |style="font-family: monospace;"|Website | ||
| Riga 85: | Riga 105: | ||
|- | |- | ||
|style="font-family: monospace;"|Phone | |style="font-family: monospace;"|Phone | ||
|nvarchar( | |nvarchar(500) (nullable) | ||
|Telefono della Sede | |Telefono della Sede | ||
|- | |- | ||
|style="font-family: monospace;"|Fax | |style="font-family: monospace;"|Fax | ||
|nvarchar( | |nvarchar(200) (nullable) | ||
|Fax della Sede | |Fax della Sede | ||
|- | |- | ||
| Riga 97: | Riga 117: | ||
|- | |- | ||
|style="font-family: monospace;"|ZipCode | |style="font-family: monospace;"|ZipCode | ||
| | |nvarchar(20) | ||
|CAP della sede | |CAP della sede | ||
|- | |- | ||
| Riga 105: | Riga 125: | ||
|- | |- | ||
|style="font-family: monospace;"|GeoCoordinates | |style="font-family: monospace;"|GeoCoordinates | ||
|nvarchar( | |nvarchar(500) (nullable) | ||
|Coordinate geografiche della sede | |Coordinate geografiche della sede | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|Sort | ||
|int (default 0) | |int (default 0) | ||
|Indica l'importanza di questa sede | |Indica l'importanza di questa sede | ||
| Riga 116: | Riga 136: | ||
|Visibilità della sede | |Visibilità della sede | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|TipoVisibilitaID | ||
|int | |int | ||
|Indica la "classe sociale": ''vetrina, vetrina light (from easystore), anagrafica plus o anagrafica'' | |Indica la "classe sociale": ''vetrina, vetrina light (from easystore), anagrafica plus o anagrafica'' | ||
|} | |} | ||
== | == ShopPointCulture == | ||
Una volta entrata in produzione la SP <code>FT_ShopOneLineIndex</code> sarà da modificare e dovrà attingere da questa.<br/> | Una volta entrata in produzione la SP <code>FT_ShopOneLineIndex</code> sarà da modificare e dovrà attingere da questa.<br/> | ||
Di conseguenza anche la View che si occupa della FullText <code>FullTextShopsIT</code> | Di conseguenza anche la View che si occupa della FullText <code>FullTextShopsIT</code> | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="3"| | ! colspan="3"|WM_ShopPointCulture | ||
|- | |- | ||
|style="font-family: monospace;"|ID<sup>P</sup> | |style="font-family: monospace;"|ID<sup>P</sup> | ||
| Riga 132: | Riga 152: | ||
|ID univoco | |ID univoco | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|ShopPointID<sup>U</sup> | ||
|int | |int | ||
|ID della sede di riferimento | |ID della sede di riferimento | ||
| Riga 138: | Riga 158: | ||
|style="font-family: monospace;"|Culture<sup>U</sup> | |style="font-family: monospace;"|Culture<sup>U</sup> | ||
|varchar(5) | |varchar(5) | ||
| | |Lingua a scelta tra (it-IT, fr-FR, de-DE o en-AU) | ||
|- | |- | ||
|style="font-family: monospace;"|Description | |style="font-family: monospace;"|Description | ||
|nvarchar( | |nvarchar(4000) | ||
|Descrizione della sede | |Descrizione della sede | ||
|- | |- | ||
|style="font-family: monospace;"|OpeningHours | |style="font-family: monospace;"|OpeningHours | ||
|nvarchar( | |nvarchar(500) (nullable) | ||
|Orari di apertura | |Orari di apertura | ||
|- | |- | ||
|style="font-family: monospace;"|OtherManufacturers | |style="font-family: monospace;"|OtherManufacturers | ||
|nvarchar( | |nvarchar(1100) (nullable) | ||
|Campo libero per altri manu | |Campo libero per altri manu | ||
|- | |- | ||
| Riga 157: | Riga 177: | ||
|} | |} | ||
== | == ShopPointPicture == | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="3"| | ! colspan="3"|WM_ShopPointPicture | ||
|- | |- | ||
|style="font-family: monospace;"|ID<sup>P</sup> | |style="font-family: monospace;"|ID<sup>P</sup> | ||
| Riga 165: | Riga 185: | ||
|ID della picture | |ID della picture | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|ShopPointID | ||
|int | |int | ||
|ID della sede | |ID della sede | ||
| Riga 173: | Riga 193: | ||
|Picture master | |Picture master | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|Cover | ||
|nvarchar(255) | |nvarchar(255) (nullable) | ||
|Nome dell'immagine | |Nome dell'immagine cover che potrebbe essere <code>shoppoint-<id>-cover-<sort>.jpg</code> | ||
|- | |- | ||
|style="font-family: monospace;"|Picture | |style="font-family: monospace;"|Picture | ||
|nvarchar(255) | |nvarchar(255) (nullable) | ||
|Nome dell'immagine normale che potrebbe essere < | |Nome dell'immagine normale che potrebbe essere <code>shoppoint-<id>-p-<sort>.jpg</code> | ||
|- | |- | ||
|style="font-family: monospace;"|Sort | |style="font-family: monospace;"|Sort | ||
|int | |int | ||
|Ordinamento | |Ordinamento | ||
|} | |||
Nella convenzione dei nomi di immagini abbiamo usato | |||
* '''logo''' che sta per logo (unico per ShopPoint) | |||
* '''cover''' che sta per cover (slider iniziale della scheda negozio, manca ancora l'alternativa) | |||
* '''p''' che sta per picture (quella del modulino con la gallery in scheda negozio) | |||
== ShopPointPictureCulture == | |||
Descrizione delle singole immagini della gallery in scheda negozio | |||
{| class="wikitable" | |||
! colspan="3"|WM_ShopPointPictureCulture | |||
|- | |||
|style="font-family: monospace;"|ShopPointPictureID<sup>P</sup> | |||
|int (pk) | |||
|ID della picture | |||
|- | |||
|style="font-family: monospace;"|Culture<sup>P</sup> | |||
|varchar(5) | |||
|Cultura | |||
|- | |||
|style="font-family: monospace;"|Description | |||
|nvarchar(2000) | |||
|Descrizione dell'immagine | |||
|} | |} | ||
| Riga 196: | Riga 239: | ||
|int (pk) | |int (pk) | ||
|ID del trovaprodotti | |ID del trovaprodotti | ||
|- | |||
|style="font-family: monospace;"|ShopNetID | |||
|int | |||
|ID della ShopNet di appartenenza | |||
|- | |- | ||
|style="font-family: monospace;"|Enabled | |style="font-family: monospace;"|Enabled | ||
| Riga 210: | Riga 257: | ||
|- | |- | ||
|style="font-family: monospace;"|PrivacyPolicyUrl | |style="font-family: monospace;"|PrivacyPolicyUrl | ||
|nvarchar(255) | |nvarchar(255) (nullable) | ||
|Eventuale link alla privacy policy del sito parente | |Eventuale link alla privacy policy del sito parente | ||
|- | |- | ||
| Riga 225: | Riga 272: | ||
! colspan="3"|WM_TrovaprodottiCulture | ! colspan="3"|WM_TrovaprodottiCulture | ||
|- | |- | ||
|style="font-family: monospace;"| | |style="font-family: monospace;"|TrovaprodottiID<sup>P</sup> | ||
|int (pk) | |int (pk) | ||
|ID del trovaprodotti | |ID del trovaprodotti | ||
|- | |- | ||
|style="font-family: monospace;"|Lingua<sup>P</sup> | |style="font-family: monospace;"|Lingua<sup>P</sup> | ||
|varchar(5) | |varchar(5) (pk) | ||
|Lingua del Trovaprodotti | |Lingua del Trovaprodotti | ||
|} | |} | ||
| Riga 244: | Riga 291: | ||
* <code>ShopFulltextAdditions</code> per fulltext | * <code>ShopFulltextAdditions</code> per fulltext | ||
* <code>ShopManufacturerException</code> per i negozi che non vogliono alcuni ambienti di alcuni produttori | * <code>ShopManufacturerException</code> per i negozi che non vogliono alcuni ambienti di alcuni produttori | ||
Tutte queste tabelle andrebbero rinominate con la radice <code>WM_</code> per avere un senso logico.<br/> | |||
E i nomi ''Shop'' dovrebbero diventare ''ShopPoint''. | |||
=== Nuovi nomi tabelle === | |||
* ShopService -> WM_ShopPointService (rimosso campo iconPath) | |||
* ShopServiceCulture -> WM_ShopPointServiceCulture | |||
* L_Shop_ShopService -> WM_L_ShopPoint_ShopPointService | |||
* L_Shop_ShopServiceCulture -> WM_L_ShopPoint_ShopPointServiceCulture | |||
* L_Shop_Video -> WM_L_ShopPoint_Video | |||
* L_Shop_Manufacturer -> WM_L_ShopPoint_Manufacturer | |||
* ShopContact -> WM_ShopPointContact | |||
* ShopContentExtra -> WM_ShopContentExtra | |||
* Shop_LiveChat -> WM_ShopPoint_LiveChat | |||
* Shop_LiveChat_History -> WM_Shop_LiveChat_History | |||
* ShopFulltextAdditions -> WM_ShopFulltextAdditions | |||
* ShopManufacturerException -> WM_ShopManufacturerException | |||
== Criticità == | == Criticità == | ||
| Riga 250: | Riga 314: | ||
* '''TP_CORE''' muore insieme al database. Tutti gli applicativi che la usano dovrebbero cambiare. | * '''TP_CORE''' muore insieme al database. Tutti gli applicativi che la usano dovrebbero cambiare. | ||
* '''PROGETTI''' tutta la parte delle tabelle <code>PROG_</code> risulta complessa da toccare perché eventuali cambiamenti si ripercuoterebbero sul progetto ''DashboardProgetti''. Perciò si mantiene la "ShopNet vecchia maniera" | * '''PROGETTI''' tutta la parte delle tabelle <code>PROG_</code> risulta complessa da toccare perché eventuali cambiamenti si ripercuoterebbero sul progetto ''DashboardProgetti''. Perciò si mantiene la "ShopNet vecchia maniera" | ||
* '''SINCRONIZZATORE LEAD MANAGER''' tutte le query dovrebbero attingere dalle nuove tabelle. | |||
== Tabelle obsolete == | == Tabelle obsolete == | ||
| Riga 260: | Riga 325: | ||
* <code>L_Shop_TP</code> non servirebbe più. Attenzione perché viene usata da AreaStatistiche (e forse da Intruder). | * <code>L_Shop_TP</code> non servirebbe più. Attenzione perché viene usata da AreaStatistiche (e forse da Intruder). | ||
* <code>L_Manufacturer_Shop</code> nessun utilizzo in Designbest | * <code>L_Manufacturer_Shop</code> nessun utilizzo in Designbest | ||
I valori delle tabelle <code>Region, Province e City</code> sono sporchi e vanno controllati | |||
<syntaxhighlight lang="sql"> | |||
SELECT | |||
RegionCulture.Region, | |||
ProvinceCulture.Province, | |||
City.City | |||
FROM City | |||
INNER JOIN Province ON Province.ID = City.ProvinceID | |||
INNER JOIN ProvinceCulture ON Province.ID = ProvinceCUlture.ProvinceID | |||
INNER JOIN Region ON Region.ID = Province.RegionID | |||
INNER JOIN RegionCulture ON Region.ID = RegionCulture.RegionID | |||
WHERE RegionCulture.Culture = 'en-AU' | |||
</syntaxhighlight> | |||
Ci sono troppe Roma e troppi Milano.... | |||
== Stored Procedure da aggiornare == | |||
L'elenco delle Stored Procedure da aggiornare per utilizzare le nuove tabelle si trova da ''SQL Management Studio'' cliccando col destro sulla tabella <code>Shop</code> e poi ''View Dependencies''.<br/> | |||
Sono indicate con un'icona bianca. L'obbiettivo è farle sparire modificandole in modo che usino solo le tabelle nuove. | |||
== Tipologie di contratto == | |||
* '''Anagrafica (plus)''' | |||
* '''Store Channel''' | |||
* '''Outlet''' | |||
* '''E-Commerce''' | |||
* '''Trovaprodotti''' | |||
=== Casi particolari === | |||
==== Solo Outlet (e StoreChannel light) ==== | |||
* Creazione di record in <code>WM_ShopNet</code> con ''Enable_Outlet=1''. | |||
* Creazione di almeno un record in <code>WM_ShopPoint</code> (+ <code>WM_ShopPointCulture</code>) | |||
* Creazione di un <code>WM_Trovaprodotti</code> (+ <code>WM_TrovaprodottiCulture</code>) con ''Enabled=0''. | |||
In pratica si crea uno Storechannel "light" abilitato all'outlet<br/> | |||
e un Trovaprodotti non abilitato<br/> | |||
che comunque permette di creare occasioni dalla ''ClientAdmin'' che mostrerà opzioni limitate al solo outlet (nascondendo selezioni, prodotti custom, eventi e impostazioni tp). | |||
==== Solo Trovaprodotti ==== | |||
* Creazione di record in <code>WM_ShopNet</code>. | |||
* Creazione di almeno un record in <code>WM_ShopPoint</code> (+ <code>WM_ShopPointCulture</code>) con ''Visible=0'' (non vogliamo StoreChannel). | |||
* Creazione di un <code>WM_Trovaprodotti</code> (+ <code>WM_TrovaprodottiCulture</code>). | |||
==== Solo anagrafica ==== | |||
* Creazione di almeno un record in <code>WM_ShopPoint</code> (+ <code>WM_ShopPointCulture</code>) con ''TipoVisibilita=1'' o ''TipoVisibilita=2''. Scegliere ''Anagrafiche'' come ShopNet. | |||
== WM Core G - Nuova libreria == | |||
La nuova libreria si potrebbe chiamare '''WM Core G''' dove G sta per ''"grande"'' riferito a ''core'' che non è inglese, ma napoletano. | |||
== Remember: gestione dei fittizi == | |||
<syntaxhighlight lang="sql"> | |||
-- Artheco: 2 sedi + Trovaprodotti fittizio (109267) | |||
SELECT * | |||
FROM WM_ShopNet | |||
WHERE TP_ID = 109267 | |||
-- Le ShopPoint della nuova ShopNet (315735) | |||
SELECT * | |||
FROM WM_ShopPoint | |||
WHERE ShopNetID = 315735 | |||
-- Le sue occasioni sono mappate alla sede fittizia (109267) | |||
SELECT * | |||
FROM WM_ProductBargain | |||
WHERE ShopPointID = 109267 | |||
-- La sede fittizia è giustamente non visibile | |||
SELECT * | |||
FROM WM_ShopPoint | |||
WHERE ID = 109267 | |||
</syntaxhighlight> | |||
Con la nuova gestione deve sparire il concetto di ''Trovaprodotti Fittizio'',<br/> | |||
un Trovaprodotti non è più un'entità Shop a sè stante, ma la somma dei cataloghi delle sedi della sua ShopNet.<br/> | |||
Tutte le occasioni che erano associate ad un ''Trovaprodotti Fittizio'', dopo la sincronizzazione, risultano associate ad una sede spenta (ex ''Trovaprodotti Fittizio'').<br/> | |||
Necessario intervento su questi record della <code>WM_ProductBargain</code> per assegnarli alla sede visibile corrispondente nella quale si trovano. | |||
Versione attuale delle 11:50, 23 mar 2022
ShopNet
[modifica]Il campo ID corrisponde esattamente a PROG_Author.idShopGroup.
Questo ci permette di collegare la ShopNet all'utente (rappresentato da un GUID).
No chiave esterna.
| WM_ShopNet | ||
|---|---|---|
| IDP | int (pk) | id della ShopNet |
| Name | nvarchar(200) | Nome della ShopNet |
| RagSociale | nvarchar(100) | Nome della Ragione sociale |
| Firmatario | nvarchar(100) | Nome del firmatario del contratto |
| Piva | nvarchar(50) | Partita IVA |
| MainMail | nvarchar(255) | Mail principale |
| Notes | text (nullable) | Note |
| StatusID | int | Stato della ShopNet |
| AgentID | int (nullable) | ID dell'agente assegnato |
| Enable_LMWorld | bit | Se abilitato a ricevere lead dall'estero |
| TP_ID | int (nullable) | Se valorizzato possiede un Trovaprodotti |
| Enable_Outlet | bit | Indica se ha l'outlet attivo |
| Enable_Commerce | bit | Indica se ha il commerce attivo |
| ESW | bit | Indica se proviene da EasyStoreWeb |
ShopNet Ad Hoc
[modifica]Queste ShopNet sono diverse e si comportano in questo modo:
- ShopNet Trovaprodotti Orfani Creazione di una ShopNet per tutti i Trovaprodotti che non avevano una ShopNet. Hanno
Piva = '000000000000'. Ne viene creata una per ognuno. - ShopNet Anagrafiche - Contiene tutti gli ShopPoint di tipo != 0 che sono anagrafiche.
- ShopNet Estero - Contiene tutti gli ShopPoint Esteri (che non hanno accesso alle statistiche). Se mai dovessero avere un'area statistiche sarà necessario rimuovere gli ShopPoint implicati creando una ShopNet ad Hoc.
ShopPoint
[modifica]Rappresenta la singola sede fisica di una ShopNet.
| WM_ShopPoint | ||
|---|---|---|
| IDP | int (pk) | id della sede |
| ShopNetID | int (nullable) | id della ShopNet di appartenenza (se null si tratta di anagrafiche o anagrafiche plus) |
| Name | nvarchar(200) | Nome della sede |
| Logo | nvarchar(255) (nullable) | Nome dell'immagine logo che potrebbe essere shoppoint-<id>-logo.gif
|
| Website | nvarchar(500) (nullable) | Sito web della sede |
| Referente | nvarchar(100) (nullable) | Nome del referente della sede |
| nvarchar(255) (nullable) | Email della sede | |
| Phone | nvarchar(500) (nullable) | Telefono della Sede |
| Fax | nvarchar(200) (nullable) | Fax della Sede |
| Address | nvarchar(500) | Indirizzo della sede |
| ZipCode | nvarchar(20) | CAP della sede |
| CityID | int | ID della città della sede |
| GeoCoordinates | nvarchar(500) (nullable) | Coordinate geografiche della sede |
| Sort | int (default 0) | Indica l'importanza di questa sede |
| Visible | bit | Visibilità della sede |
| TipoVisibilitaID | int | Indica la "classe sociale": vetrina, vetrina light (from easystore), anagrafica plus o anagrafica |
ShopPointCulture
[modifica]Una volta entrata in produzione la SP FT_ShopOneLineIndex sarà da modificare e dovrà attingere da questa.
Di conseguenza anche la View che si occupa della FullText FullTextShopsIT
| WM_ShopPointCulture | ||
|---|---|---|
| IDP | int (pk) | ID univoco |
| ShopPointIDU | int | ID della sede di riferimento |
| CultureU | varchar(5) | Lingua a scelta tra (it-IT, fr-FR, de-DE o en-AU) |
| Description | nvarchar(4000) | Descrizione della sede |
| OpeningHours | nvarchar(500) (nullable) | Orari di apertura |
| OtherManufacturers | nvarchar(1100) (nullable) | Campo libero per altri manu |
| Sort | int | Ordinamento delle sedi |
ShopPointPicture
[modifica]| WM_ShopPointPicture | ||
|---|---|---|
| IDP | int (pk) | ID della picture |
| ShopPointID | int | ID della sede |
| Master | bit | Picture master |
| Cover | nvarchar(255) (nullable) | Nome dell'immagine cover che potrebbe essere shoppoint-<id>-cover-<sort>.jpg
|
| Picture | nvarchar(255) (nullable) | Nome dell'immagine normale che potrebbe essere shoppoint-<id>-p-<sort>.jpg
|
| Sort | int | Ordinamento |
Nella convenzione dei nomi di immagini abbiamo usato
- logo che sta per logo (unico per ShopPoint)
- cover che sta per cover (slider iniziale della scheda negozio, manca ancora l'alternativa)
- p che sta per picture (quella del modulino con la gallery in scheda negozio)
ShopPointPictureCulture
[modifica]Descrizione delle singole immagini della gallery in scheda negozio
| WM_ShopPointPictureCulture | ||
|---|---|---|
| ShopPointPictureIDP | int (pk) | ID della picture |
| CultureP | varchar(5) | Cultura |
| Description | nvarchar(2000) | Descrizione dell'immagine |
Trovaprodotti
[modifica]Un Trovaprodotti è legato ad una ShopNet e rappresenta l'insieme di tutti i prodotti di tutte le sedi presenti in essa.
Trovaprodotti mostra anche i prodotti delle ShopSede non abilitate (caso di un cliente che ha Trovaprodotti senza Store Channel).
| WM_Trovaprodotti | ||
|---|---|---|
| IDP | int (pk) | ID del trovaprodotti |
| ShopNetID | int | ID della ShopNet di appartenenza |
| Enabled | bit | Indica se abilitato |
| EmbedUrl | nvarchar(255) (nullable) | Eventuale url di embed |
| CSS | text (nullable) | Il CSS personalizzato di questo Trovaprodotti |
| PrivacyPolicyUrl | nvarchar(255) (nullable) | Eventuale link alla privacy policy del sito parente |
| MasterCulture | varchar(5) | Lingua master per questo Trovaprodotti (e per la sua Backoffice) |
TrovaprodottiCulture
[modifica]Ogni Trovaprodotti può avere più lingue, il parametro di culture sta nella url ed è obbligatorio.
Rimosse tutte le complicazioni precedenti (duplicati di duplicati per avere le altre lingue).
| WM_TrovaprodottiCulture | ||
|---|---|---|
| TrovaprodottiIDP | int (pk) | ID del trovaprodotti |
| LinguaP | varchar(5) (pk) | Lingua del Trovaprodotti |
Proprietà extra
[modifica]Ogni sede può avere delle proprietà extra
L_Shop_ShopService,L_Shop_ShopServiceCulture,ShopServiceeShopServiceCultureper elencare i servizi e la loro descrizioneL_Shop_Video(nome scorretto) per elencare i social della sedeL_Shop_Manufacturersono i cataloghi che la sede tratta (in stock)ShopContactindica uno o più contatti riferiti ad una sedeShopContentExtracontenuti html per il pannello "extra"Shop_LiveChateShop_LiveChat_Historyusate per la live chat (che probabilmente è nata morta)ShopFulltextAdditionsper fulltextShopManufacturerExceptionper i negozi che non vogliono alcuni ambienti di alcuni produttori
Tutte queste tabelle andrebbero rinominate con la radice WM_ per avere un senso logico.
E i nomi Shop dovrebbero diventare ShopPoint.
Nuovi nomi tabelle
[modifica]- ShopService -> WM_ShopPointService (rimosso campo iconPath)
- ShopServiceCulture -> WM_ShopPointServiceCulture
- L_Shop_ShopService -> WM_L_ShopPoint_ShopPointService
- L_Shop_ShopServiceCulture -> WM_L_ShopPoint_ShopPointServiceCulture
- L_Shop_Video -> WM_L_ShopPoint_Video
- L_Shop_Manufacturer -> WM_L_ShopPoint_Manufacturer
- ShopContact -> WM_ShopPointContact
- ShopContentExtra -> WM_ShopContentExtra
- Shop_LiveChat -> WM_ShopPoint_LiveChat
- Shop_LiveChat_History -> WM_Shop_LiveChat_History
- ShopFulltextAdditions -> WM_ShopFulltextAdditions
- ShopManufacturerException -> WM_ShopManufacturerException
Criticità
[modifica]Ecco i punti difficoltosi
- DATABASE Trovaprodotti sarebbe bello eliminarlo portando tutte le tabelle che ancora sono necessarie sul database di Designbest.
- TP_CORE muore insieme al database. Tutti gli applicativi che la usano dovrebbero cambiare.
- PROGETTI tutta la parte delle tabelle
PROG_risulta complessa da toccare perché eventuali cambiamenti si ripercuoterebbero sul progetto DashboardProgetti. Perciò si mantiene la "ShopNet vecchia maniera" - SINCRONIZZATORE LEAD MANAGER tutte le query dovrebbero attingere dalle nuove tabelle.
Tabelle obsolete
[modifica]Elenco di tabelle che non usiamo/useremo più
L_Shop_TPPquando in scheda negozio si voleva mandare al TrovaprodottiL_Shop_ShopFeatureeShopFeature,ShopFeatureFamilyperché vuoteShopProposalTypeperché ancora legata al primo Webmobili-Tavolaregalo-InternicasaShopNet,ShopNetCultureeL_Shop_ShopNeterano usate per elencare le altre sedi, ora non servono più perché abbiamoShopNetSedeShopTypeeShopTypeCulturenon vediamo attualmente il loro utilizzoL_Shop_TPnon servirebbe più. Attenzione perché viene usata da AreaStatistiche (e forse da Intruder).L_Manufacturer_Shopnessun utilizzo in Designbest
I valori delle tabelle Region, Province e City sono sporchi e vanno controllati
SELECT
RegionCulture.Region,
ProvinceCulture.Province,
City.City
FROM City
INNER JOIN Province ON Province.ID = City.ProvinceID
INNER JOIN ProvinceCulture ON Province.ID = ProvinceCUlture.ProvinceID
INNER JOIN Region ON Region.ID = Province.RegionID
INNER JOIN RegionCulture ON Region.ID = RegionCulture.RegionID
WHERE RegionCulture.Culture = 'en-AU'
Ci sono troppe Roma e troppi Milano....
Stored Procedure da aggiornare
[modifica]L'elenco delle Stored Procedure da aggiornare per utilizzare le nuove tabelle si trova da SQL Management Studio cliccando col destro sulla tabella Shop e poi View Dependencies.
Sono indicate con un'icona bianca. L'obbiettivo è farle sparire modificandole in modo che usino solo le tabelle nuove.
Tipologie di contratto
[modifica]- Anagrafica (plus)
- Store Channel
- Outlet
- E-Commerce
- Trovaprodotti
Casi particolari
[modifica]Solo Outlet (e StoreChannel light)
[modifica]- Creazione di record in
WM_ShopNetcon Enable_Outlet=1. - Creazione di almeno un record in
WM_ShopPoint(+WM_ShopPointCulture) - Creazione di un
WM_Trovaprodotti(+WM_TrovaprodottiCulture) con Enabled=0.
In pratica si crea uno Storechannel "light" abilitato all'outlet
e un Trovaprodotti non abilitato
che comunque permette di creare occasioni dalla ClientAdmin che mostrerà opzioni limitate al solo outlet (nascondendo selezioni, prodotti custom, eventi e impostazioni tp).
Solo Trovaprodotti
[modifica]- Creazione di record in
WM_ShopNet. - Creazione di almeno un record in
WM_ShopPoint(+WM_ShopPointCulture) con Visible=0 (non vogliamo StoreChannel). - Creazione di un
WM_Trovaprodotti(+WM_TrovaprodottiCulture).
Solo anagrafica
[modifica]- Creazione di almeno un record in
WM_ShopPoint(+WM_ShopPointCulture) con TipoVisibilita=1 o TipoVisibilita=2. Scegliere Anagrafiche come ShopNet.
WM Core G - Nuova libreria
[modifica]La nuova libreria si potrebbe chiamare WM Core G dove G sta per "grande" riferito a core che non è inglese, ma napoletano.
Remember: gestione dei fittizi
[modifica]-- Artheco: 2 sedi + Trovaprodotti fittizio (109267)
SELECT *
FROM WM_ShopNet
WHERE TP_ID = 109267
-- Le ShopPoint della nuova ShopNet (315735)
SELECT *
FROM WM_ShopPoint
WHERE ShopNetID = 315735
-- Le sue occasioni sono mappate alla sede fittizia (109267)
SELECT *
FROM WM_ProductBargain
WHERE ShopPointID = 109267
-- La sede fittizia è giustamente non visibile
SELECT *
FROM WM_ShopPoint
WHERE ID = 109267
Con la nuova gestione deve sparire il concetto di Trovaprodotti Fittizio,
un Trovaprodotti non è più un'entità Shop a sè stante, ma la somma dei cataloghi delle sedi della sua ShopNet.
Tutte le occasioni che erano associate ad un Trovaprodotti Fittizio, dopo la sincronizzazione, risultano associate ad una sede spenta (ex Trovaprodotti Fittizio).
Necessario intervento su questi record della WM_ProductBargain per assegnarli alla sede visibile corrispondente nella quale si trovano.