Hasat & Tedarik Envanteri
Depolanan tarım girdilerinden ve kapitalize edilmiş yetişen mahsul WIP partilerinden silo depolamasına ve birleşik malzeme tüketim defterine kadar — girdiden depolamaya finansal hat.
Bu grup ne yapar
Hasat & Tedarik Envanteri, girdiden depolamaya finansal ve fiziksel hattır: tarla kullanımı için depolanan kimyasal/gübre/tohum stoku, kapitalize edilmiş biyolojik varlıklar olarak izlenen yetişen mahsuller, silolarda depolanan hasat edilmiş malzeme ve tek bir tüketim defterinde mutabık kılınan her malzeme/kullanım maliyeti.
Dört ekranın tamamı tek bir servis dosyasını paylaşır: src/services/harvestSupplyInventoryService.ts. Tarla emirleri ve kaynak sayaçları (agroTechExecutionService.ts'ten) tüketimlerini bu grubun sahiplendiği aynı Tarım Malzeme Tüketimi defterine gönderir ve yetişen mahsul WIP partileri hasat sırasında silo kaydına kapitalize olmadan önce o defterle mutabık kalır.
1. Tarım Girdisi Depolama
Amaç: Tarla kullanımı için depolanan gübre, pestisit, tohum/fide ve toprak düzenleyicilerinin eldeki stokunu, son kullanma tarihi ve tehlike takibiyle izlemek.
Öne çıkan özellikler
- Depolama partisi & SKU kodları —
STG-2026-XXXXveSKU-2026-XXXX, kategorilerfertilizers,pesticides,seeds_seedlings,soil_conditioners. - Durum —
computeDerivedStatus()tarafından canlı türetilir: son kullanma günü sıfıra ulaştığındaexpired_quarantined, aksi halde eldeki miktar yeniden sipariş eşiğinde veya altındaykenlow_stock_alert, aksi haldestaged_ready. - Son kullanma geri sayım göstergesi —
computeDaysToExpiration()son kullanma tarihinden kalan günleri türetir; süresi dolduğunda negatif. - MSDS tehlike seviyeleri —
none,irritant,toxic,highly_toxic_corrosive, artı bir tedarikçi parti numarası ve kimyasal aktif bileşen alanı. - Depolama bölgesi/rafı — depolama partisi başına izlenen fiziksel depolama konumu.
Entegrasyon tetikleyicileri
| Eylem | Ne yapar |
|---|---|
deductStagingStock | Bir tarla/sera iş emri bir püskürtme veya gübreleme görevini tamamladığında çağrılır; SKU'nun depolama partileri boyunca (önce en yakın son kullanma tarihli) quantityOnHand'ı düşer ve her partinin türetilmiş durumunu yeniden hesaplar. |
reconcileWithChemicalAnalytics | Depolama partisinin aktif bileşen profilini eşleşen Tarım-Kimyasal Analitiği kaydına gönderir ve syncedToChemicalAnalytics'i ayarlar — bkz. Kalite & Bitki Sağlığı Operasyonları. |
triggerPurchaseOrderReorder | Kaydın reorderTriggered bayrağını çevirir; bu, defterin Yeniden Sipariş rozetini yönlendirir. Bu eklentide PO'yu daha ileri yönlendirecek bir satın alma/tedarik ekranı henüz yok. |
2. Yetişen Mahsul Takibi WIP
Amaç: Aktif bir mahsul döngüsünü ekimden olgunluğa kadar kapitalize edilmiş bir biyolojik varlık (IAS 41) olarak izlemek, girdi maliyetlerini kategoriye göre biriktirmek.
Öne çıkan özellikler
- WIP parti kodları —
WIP-2026-XXXX, her biri bir Sezon & Hasat Planlama planına bağlı. - Maliyet kapitalizasyonu — kategoriye göre bir
CapitalizedCostEntryöğeleri listesi:labor(işçilik),irrigation(sulama),fertilizer(gübre),land_usage(arazi kullanımı);accumulatedInputCosts'a ve tahmini bir biyolojik varlık değerine katılır. - GDD olgunluk göstergesi —
computeMaturityPercent()birikmiş Büyüme Derece Günleri'ni olgunlaşma için hedef GDD ile karşılaştırır. - Büyüme aşamaları —
germination → vegetative → flowering → fruiting → harvest_ready. - Durum —
active_wip,storm_damage_flag,harvest_in_progress.
Entegrasyon tetikleyicileri
| Eylem | Ne yapar |
|---|---|
syncAccumulatedCosts | Bu aynı dosyanın kendi Tarım Malzeme Tüketimi defterinden partinin tarla konumu için canlı, mutabık kalınmamış doğrudan gider kayıtlarını okur ve toplam maliyetlerini accumulatedInputCosts'a katar; her tüketim kaydını wipCostsReconciled olarak işaretler. |
capitalizeWIPToHarvest | Hasat tamamlandığında WIP bakiyesini tamamlanmış bir giriş partisine dönüştürür — agroTechExecutionService.ts'teki (bu dosyanın kendi Silo & Depolama Yönetimi kaydına yazan) logInboundStorageBatch'i çağırır ve capitalizedToHarvest'i ayarlar, durum harvest_in_progress. |
3. Silo & Depolama Yönetimi
Amaç: Depolanan tahıl ve ürün için toplu silo/depo kapasitesini, durumunu ve karantina durumunu yönetmek.
Öne çıkan özellikler
- Silo kodları —
SILO-2026-XXXX, depolama koşullarıambient,cold_storage,controlled_atmosphere,dry_depot. - Doluluk kapasitesi göstergesi —
computeFillPercent()rezerve edilen tonu toplam kapasite tonuna karşı gösterir. - Çevresel okumalar — silo başına tahıl nemi (%) ve iç sıcaklık (°C).
- Havalandırma fanı durumu —
active,idle,maintenance_required. - Karantina durumu —
clear,mold_risk_warning,sealed.
Entegrasyon tetikleyicileri
| Eylem | Ne yapar |
|---|---|
reserveStorageCapacity | Sezon & Hasat Planlama tarafından hasat planlaması sırasında çağrılır (agroTechExecutionService.ts aracılığıyla yeniden dışa aktarılır); beklenen hasat hacmini silonun reservedTons'ına ekler — bkz. Tarım Teknolojisi Operasyonları. |
linkSiloLotToTraceability | Çiftlikten Sofraya İzlenebilirlik'e bir parti depolama kaydı gönderir; izlenebilirlik partisini fiziksel depolama silosuna bağlar ve siloLotTraceabilityLinked'i ayarlar — bkz. Kalite & Bitki Sağlığı Operasyonları. |
triggerAerationMaintenance | agroTechExecutionService.ts'in createMaintenanceWorkOrder'ı üzerinden bir havalandırma fanı bakım iş emri ("Havalandırma Motoru Arızası / Aşırı Isınma") gönderir ve silonun aerationMaintenanceTriggered bayrağını fan durumu maintenance_required ile ayarlar. |
Perde arkası — silo kaydı gerçekte nerede yaşıyor
Silo kaydı (SiloRecord) başlangıçta agroTechExecutionService.ts içinde minimal bir yer tutucu olarak sunuldu; bu ekran var olmadan önce Sezon & Hasat Planlama tarafından depolama rezervasyonu için kullanılıyordu. Silo & Depolama Yönetimi çıktığından beri, o kaydın sahipliği harvestSupplyInventoryService.ts'e taşındı — ve agroTechExecutionService.ts artık buradan fetchSiloRegistry, saveSilo, reserveStorageCapacity ve SiloRecord tipini yeniden dışa aktarıyor; böylece Sezon & Hasat Planlama ve Çiftlikten Sofraya İzlenebilirlik'teki mevcut çağıranların değişmesine gerek kalmadı.
4. Tarım Malzeme Tüketimi
Amaç: Eklenti genelindeki her malzeme ve kullanım maliyeti için tek finansal tahsis defteri — kimyasallar, gübreler, su/kullanımlar, güç/elektrik ve yakıt — mevsimlik bir bütçeye karşı izlenir.
Öne çıkan özellikler
- Tüketim ID'leri —
AMC-2026-XXXX, kaynak kategorilerichemicals,fertilizers,water_utilities,power_electricity,fuel. - Mevsimlik bütçe yakım göstergesi —
computeBudgetBurnPercent()gerçek maliyet toplamını hektar başına bütçelenmiş maliyet çarpı hektar sayısıyla karşılaştırır — bütçe aşıldığında %100'ü geçebilir. - Mutabakat modalı — manuel ayarlama ve mutabakat notu alanları, artı zaten bir WIP partisine katılmış kayıtları işaretleyen bir
wipCostsReconciledbayrağı. - Çapraz bağlantı — bir tüketim kaydı
linkedWorkOrderId(Tarla/Sera Emirleri),linkedResourceCounterId(Kaynak Sayaçları) veyalinkedWipId(Yetişen Mahsul Takibi WIP) taşıyabilir.
Entegrasyon tetikleyicileri
| Eylem | Ne yapar |
|---|---|
syncAccumulatedCosts | Yukarıda açıklanan mutabakatın sahiplenen tarafı — bir WIP partisinin konumu için mutabık kalınmamış tüketim kayıtlarını okur ve bu partiye katıldığında wipCostsReconciled olarak işaretler. |
Bu defter aynı zamanda agroTechExecutionService.ts'te yaşayan iki fonksiyon için yazma hedefidir: syncOrderMaterialsToConsumption (görev tamamlandığında Tarla/Sera Emirleri'nden çağrılır) ve postResourceToMaterialConsumption (Kaynak Sayaçları'ndan çağrılır) — her ikisi de doğrudan bu depoya yeni tüketim kayıtları yazar. Bu iki fonksiyon için bkz. Tarım Teknolojisi Operasyonları.
Uçtan uca veri akışı
| Kaynak ekran / fonksiyon | Ne yazar | Hedef ekran / kayıt |
|---|---|---|
Tarım Girdisi Depolama — deductStagingStock | Eldeki miktarı düşer | Kendi defteri (Tarla/Sera Emirleri + Tarım-Kimyasal Analitiği tarafından çağrılır) |
Tarım Girdisi Depolama — reconcileWithChemicalAnalytics | Aktif bileşen profilini günceller | Tarım-Kimyasal Analitiği |
Tarım Girdisi Depolama — triggerPurchaseOrderReorder | reorderTriggered bayrağını ayarlar | Kendi kaydı (henüz bir tedarik ekranı yok) |
Yetişen Mahsul Takibi WIP — syncAccumulatedCosts | Mutabık kalınmamış tüketim maliyetini WIP'e katar | Kendi kaydı + Tarım Malzeme Tüketimi |
Yetişen Mahsul Takibi WIP — capitalizeWIPToHarvest | Yeni doğrulanmamış giriş partisi | Silo & Depolama Yönetimi kaydı |
Silo & Depolama Yönetimi — reserveStorageCapacity | reservedTons'u artırır | Kendi kaydı (Sezon & Hasat Planlama tarafından çağrılır) |
Silo & Depolama Yönetimi — linkSiloLotToTraceability | Siloyu izlenebilirlik partisine bağlar | Çiftlikten Sofraya İzlenebilirlik |
Silo & Depolama Yönetimi — triggerAerationMaintenance | Yeni bakım iş emri | maintenanceWorkOrderService (alan-bağımsız) |
Tarla/Sera Emirleri — syncOrderMaterialsToConsumption | Stoğu düşer; yeni tüketim kaydı | Tarım Girdisi Depolama + Tarım Malzeme Tüketimi |
Kaynak Sayaçları — postResourceToMaterialConsumption | Yeni tüketim kaydı (kullanım kategorisi) | Tarım Malzeme Tüketimi |
Bu bölümdeki sayfalar
Sıkça Sorulan Sorular
agroTechExecutionService.ts içinde minimal bir yer tutucu depoydu. Silo & Depolama Yönetimi tam bir ekran olarak çıktığında, sahiplik harvestSupplyInventoryService.ts'e taşındı; bu dosya artık aynı fonksiyonları yeniden dışa aktarıyor, böylece hiçbir çağıran kod değişmek zorunda kalmadı.computeDerivedStatus(), computeDaysToExpiration() sıfıra veya altına ulaştığında her zaman kaydedilmiş bir durumu geçersiz kılar — kayıt, daha önce kaydedilen herhangi bir durum değerinden bağımsız olarak expired_quarantined olarak ele alınır.computeBudgetBurnPercent() üst sınırı olmayan basit bir gerçek maliyet/bütçelenmiş maliyet oranıdır, bu yüzden bütçeyi aşan bir tarla %100'ün üzerinde bir yüzde gösterir.triggerPurchaseOrderReorder, depolama kaydında doğrudan bir reorderTriggered bayrağı ayarlar. Bu eklentide gerçek bir PO'yu yönlendirecek bir satın alma/tedarik ekranı henüz yok — bayrak, defterin rozetinin okuduğu yerel, gerçek bir bildirimdir.syncAccumulatedCosts, partinin tarla konumu için henüz wipCostsReconciled olarak işaretlenmemiş Tarım Malzeme Tüketimi kayıtlarını okur, toplam maliyetlerini partinin accumulatedInputCosts'una toplar ve bir sonraki senkronizasyonda çift sayılmaması için her kaynak kaydı mutabık kılınmış olarak işaretler.capitalizeWIPToHarvest partiyi harvest_in_progress'a geçirir ve Silo & Depolama Yönetimi kaydına doğrulanmamış bir giriş partisi kaydeder — kapitalize edilen maliyet geçmişinin kendisi, o biyolojik varlığın muhasebe izi olarak WIP kaydında kalır.