Posted on: 31 Ağustos 2019 Posted by: alidemirkaya Comments: 0

1 Yeni Mezun 1 Yeni Sistem – Ürün Ağacı ve Veritabanı

Herkese merhabalar. Operasyon kayıtlarını bir yerden almamız lazımdı. Tabi operasyonların bütünü bir parçayı oluşturuyordu. Yaptığınız operasyonlar sonucunda bir parçayı oluşturuyorsunuz. O parçayı başka bir parçayla birleştirerek yeni bir parça oluşmasını sağlıyorsunuz. Bunun için de bir ürün ağacı gerekiyor. Hep birlikte bu sorunu çözelim.

Ürün Ağacı

Bir malzeme listesi olan ürün ağacı, bir ürünü üretmek için gerekli olan yarı mamullerin ve/veya hammaddelerin hangi hiyerarşik yapı ve miktarlarda bir araya getirilmesi gerektiğini tanımlayan reçete olarak düşünülebilir. Bazı ürünlerin ürün ağacı kayıtları mevcuttu. Ancak bu kayıtlar ise Excel ortamında tutulmaktaydı.

Bizim işimiz Excel dosyasını belirli bir formata getirip veya var olan format üzerinden işleyip veritabanına kaydetmek. Tabi kayıt işlemini gerçekleştirirken düzenli bir hale getirmeliyiz. Çünkü operasyon ve montaj reçetelerini oluşturabilmek ve reçeteleri düzenleyebilmek için bu işlemin doğru ve akıcı bir şekilde ilerlemesi gerekir.

Excel ortamında ürün ağacı 1 – 1.1- 1.2- 1.1.1 şeklinde sırayla kayıttaydı. Biraz daha detaylandırmak amacıyla aşağıdaki görsele bakabilirsiniz.

Bunu 2 şekilde kaydedebilirsiniz. 1.si sıra numaralarına göre işlem yaparsınız. Bu işlem biraz zahmetli olacaktır sizin için. Çünkü sıra numaraları kaydederken ek bir işlem de gerekebilir. 2. yöntem ise ebeveyn aile yöntemi olarak bilinmektedir. Biraz açıklama için şu görseli inceleyelim.

Ana ürünlerimiz Bilgisayar ve Beyaz Eşya. Bunlar en üst kategoride ve hiçbir üst kategorisi yok. Üst kategorisi beyaz eşya olan yani beyaz eşyanın alt bileşenleri, çamaşır makinesi, buzdolabı, ütü. Bunlar beyaz eşya kategorisinde olduklarından dolayı ebeveyn kodları (Parent Id) beyaz eşya ya eşit olacaktır. Aynı şekilde çamaşır makineleri de düşük ve yüksek devirli olmak üzere 2 ye ayrılıyor. Bunların da bağlantısı çamaşır makinesi olduğundan dolayı üst kategorisi çamaşır makinesinin kayıt kodu olacaktır.

Bir reçete tanımlaması yaparken, şu adımları uygulayabilirsiniz. Bir parçayı seçtiniz. Parçanın kayıt numarasını aldınız. Aldığınız bu kayıt numarasına eşit olan ebeveyn kodlarını onunla eşitleyebilirsiniz. Eğer bu yöntemi yaparsanız yanlış olacaktır. Çünkü bir alt kategoridekilerin de alt kategorileri olabilir. O yüzden veritabanına kaydederken sıra numaralarını da kaydedelim.

Küçük bir string (metin) sorgusuyla o işlemi halledebilirsiniz. Örneğin çamaşır makinesinin reçetesini çıkartmak istiyorsunuz. Çamaşır makinesinin sıra kodu 1.1 ‘dir. Metin başlangıcı 1.1 olan diye bir sorgu yazarsanız o parçaya bağlı olan alt kategorileri de listelemiş olacaksınız. MSSQL üzerinden küçük bir örnek vermek istiyorum.

Stored procedure (Saklı yordamlar) olarak yazmak isterseniz de benzer bir yöntemi kullanabilirsiniz. Bu yazılık bu kadar olsun. Başka bir yazı da görüşmek dileğiyle esen kalın.

 

 

 

 

Leave a Comment