Jump to content

Rendelés-teljesítés folyamata gyártóknak, több viszonteladóval


bimlas

Recommended Posts

Üdvözletem a PrestaShop közösségnek!

 

Először is szinte elhűlve nézem a dátumokat a topic-ok mellett: nem is tudom, hogy láttam-e már ennyire aktív fórumot! Lehet, hogy a PrestaShop nem a világelső e-kereskedelmi szoftver, de hogy nagyon élénk közössége van, az fix. Minden tiszteletem!

 

Hogy a tárgyra térjek: egy gyártó webáruházát kellene összehoznom, aminek az eladás mellett le kell tudnia cserélni a jelenlegi adatbázisunkat és munkamenetünket is (tehát ERP funkciókkal is rendelkeznie kell). Saját gyártmány mellett forgalmazzuk más gyártók termékeit is, ráadásul ezt több országban, több viszonteladóval.

 

Jelenlegi munkafolyamat

  • Bejön a megrendelés
  • A viszonteladó átnézi azt, ha rendben találja, továbbítja nekünk
  • Mi jelezzük neki, hogy elkezdtük a teljesítést
    • Ha le kell gyártani, akkor azt jelezzük az embereinknek
      • Ők csak a gyártáshoz szükséges adatokat kapják meg (termék kódja, mérete, stb.)
      • A gyártás különböző állapotairól visszajelzést adnak nekünk
    • Ha van raktáron, akkor nincs vele egyéb teendőnk
    • Ha más gyártó terméke, akkor tőlük megrendeljük azt
  • Ha a termék készen áll a küldésre, jelezzük a csomagolós embernek
  • Ő is csak a szükséges adatokat kapja meg (termék kódja, címzett, stb.)
  • Ha beérkezik a pénz postára adjuk a terméket
    • Ha utánvétről van szó, akkor természetesen nem kell megvárni a pénz beérkezését

Problémám a PrestaShop-pal

 

A rendeléshez tartozik egy státusz, ami egy lineáris munkafolyamat esetén jól használható (megrendelik, csomagolom, elküldöm), de a jelenlegi munkafolyamatunkhoz nem egészen használható. Nem lineáris a folyamat: elágazások vannak benne (az alpontokra gondolok, amelyek opcionálisak is lehetnek), ezen kívül lehet olyan eset is, hogy az egyik tételt mi is rendeljük, a másik van raktáron, a harmadikat gyártani kell - a rendelés állapotát így nem lehet egyetlen szóval (státusszal) leírni. Valamint több csoporttal dolgozunk, akiknek felesleges a rendelés egészét látni: a gyártósokat pl. nem érdekli, hogy kitől jött a megrendelés; a csomagolós számára lényegtelen, hogy a gyártás melyik fázisban tart. Ezért nem is kell, hogy minden alkalmazott a rendelések listáját bogarássza és figyelje, hogy melyikkel van még neki is dolga. A státusz-jelző egyszerűen nem megfelelő.

 

A jelenlegi rendszerünkben "pipálgatjuk" a teljesítettség feltételeit: nyugtázva, gyártásra küldve (opcionális), termék kész, csomagolható, csomagolva, fizetve, lezárva. A csomagolós pl. azokat látja, ahol be van pipálva a "csomagolható" és a "fizetve".

 

Kérdésem

 

Az pattant ki a fejemből, hogy SQL lekérdezésekkel oldom meg a problémát: mindegyik csoportunk külön-külön lekérdezést hajtana végre, így csak a szükséges adatok listája jelenne meg, ha a megadott feltételek teljesülnek (pl. a csomagolós megkapná, hogy milyen címre melyik termékeket küldjük).

 

Ez az a pont, ahol elakadtam: miként tudok a rendelés állapotához több, egymástól független státuszt rendelni ("csomagolható" és "fizetve")?

 

Ti hogy csináljátok?

 

Mivel lehet, hogy a PrestaShop módosítás nélkül is ki tudna minket szolgálni, kérlek osszátok meg a ti megoldásaitokat! Biztos vagyok benne, hogy vannak itt mások is hasonló problémával, akik már lehet, hogy rá is akadtak a helyes megoldásra, a lehetőségek megfelelő kihasználására. Lehet, hogy csak mi bonyolítjuk túl a dolgokat.

 

PrestaShop verzió: 1.6.1.10

Edited by bimlas (see edit history)
Link to comment
Share on other sites

Másodszori elolvasásra nem gondolom, hogy ez önmagában nem kivitelezhető. Én szerintem több status felvétele az admin felületen keresztül - persze jó konfigurációval - megoldás lehetne erre. Azokat az információkat melyeket redukálni kell egyedi levélsablonokkal oldanám meg.

 

Tehát létrehoznék - például - egy "mehet gyártásra" status-t, amihez rendelnék egy olyan e-mail sablont amibe csak azok az információk szerepelnek ami kell a gyártósornak. Így alkotnám meg a többi status-t is. 

 

Függetlenedés: szerintem az, hogy a termék "fizetve" van megkaphatja a "csomagolható" status-t is, egymás után. Nem keverednek ezek össze.

De ha problémás, akkor még mindig létrehozhatsz egy új status-t ami a "csomagolható - fizetve" névre hallgat. :)

Lehet, hogy a fenti tanácsok túl egyszerűek ahhoz, amit akarsz. Ha igen, tovább kell rágni a dolgot.

Link to comment
Share on other sites

Köszönöm a választ!

 

A különböző címkék hozzárendelése nagyjából megoldaná, hogy ki mit láthasson ezzel a modullal. Alapjába véve nem lenne rossz megoldás, viszont az e-mail sablonokkal az a probléma, hogy ha változik a rendelés (pl. lemondják, vagy megváltoztatják a darabszámot), arról (ha jól sejtem) a gyártás nem értesül (egyelőre csak saját gépen tesztelem a Prestashop-ot, így a levélküldéssel kapcsolatos dolgokat nem tudom kipróbálni).

 

Ebből a szempontból szerintem jobb lenne, ha egy lebutított Rendelések nézetet láthatna a kolléga. Egy override-dal sikerült megoldanom, hogy a rendelések listájában a rendeléssel egy sorban megjelenjenek a termékek cikkszámai, tehát egy olyan nézetet sikerült készítenem, ahol a gyártáshoz szükséges adatok egy lapon jelennek meg.

 

Kk2HjyS.png

 

Mivel az override veszélyes játék és egyébként is több változatot kell készítenem (a csomagolós embenek is lenne egy, a gyártósnak is egy, stb.) ezért szeretném "klónozni" a controllers/admin/AdminOrdersController.php osztályt egy modulban annak felülírása helyett. A modul létrehozásig eljutottam, telepíteni is tudtam, létrehoztam hozzá egy menüpontot és valamennyire sikerült megoldani, hogy újrahasználjam az AdminOrdersControllerCore kódját - a konstruktor tartalmát átmásoltam a modul konstruktorába és kiegészítettem, hogy mutassa a cikkszámot:

 

class AdminMarasController extends ModuleAdminController
{
    public function __construct()
    {

      // AdminOrdersControllerCore konstruktora

 

      $this->_select .= ',
              od.`product_reference` AS `preference`,
              od.`product_quantity` AS `pquantity`';
      $this->_join .= '
              LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order` = a.`id_order`)
              LEFT JOIN `'._DB_PREFIX_.'product` product ON (product.`id_product` = od.`product_id`)';
      $this->fields_list = array_merge($this->fields_list, array(
          'preference' => array(
              'title' => 'Termék',
              'align' => 'text-left',
          )
      ));

      parent::__construct();
    }

}

 

Eddig bárhogy erősködtem, nem bírtam rávenni, hogy a ModuleAdminController helyett az AdminOrdersControllerCore osztályból származtasson, hogy ne kelljen bemásolni a konstruktor tartalmát. A class AdminMarasController extends AdminOrdersControllerCore azt eredményezi, hogy egy üres lapot kapok (blank page).

 

Hogy oldható meg, hogy a másolás helyett alosztály használatával hozhassak létre különböző Rendelés nézeteket?

Edited by bimlas (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...