AVATAR Integrasi Module With MAGIC
π Akses Aplikasiβ
Berikut adalah alamat akses cepat untuk environment aplikasi:
| Environment | URL Akses | Deskripsi |
|---|---|---|
| π Production | https://magic.kalbenutritionals.com | Environment utama pengguna |
| π§ͺ Development | https://magicdev.kalbenutritionals.web.id | Testing & staging area |
Ringkasanβ
AVATAR adalah modul integrasi dari ERPS untuk sistem produksi (MES/OEE/SMARTQA/SMARTMTN/dsb) dengan fitur utama:
- Health check integrasi via Hangfire job.
- Dumping aktivitas PM dan kalkulasi changeover item berikutnya.
- Lookup katalog metode/material changeover serta detail biaya per line produksi.
Peta Folder (khusus AVATAR)β
- API controller: Controllers/Api/Avatar/AvatarController.cs
- Service interface + implementasi: Magic.Services/AVATAR dan Magic.Services/AVATAR/Interface
- DTO request/response: Magic.Common/ApiRequest/AVATAR dan Magic.Common/ApiResponse/AVATAR
- Entity/DB model: Magic.Common/Entity/AVATAR
- DbContext & model builder: Magic.DAL/Context/AVATARContext.cs dan Magic.DAL/ModelBuilders/SQL/Avatar
Arsitektur Singkatβ
- Controller memaparkan endpoint REST berversi (
api/{version}/Avatar/...). - Services memuat logika:
AVATARGeneralServices(health check) danAVATARDumpingServices(PM activity, changeover, katalog CO). - DAL menggunakan
AVATARContext(EF Core, SQL Server) dengan koneksiAVATARConnectionyang didekripsi viaAppServicesHelper. - Hangfire: dipakai untuk enqueue/recurring job
CheckHelthAvatar.
Endpoint Utamaβ
GET /api/v1.0/Avatar/HealthCheck?type=Trigger|now- Trigger recurring job hourly (type=Trigger) atau enqueue sekali.
POST /api/v1.0/Avatar/PMActivity- Body:
AvatarFormRequest { productionLine, fromDate } - Kembalikan list
MRequestFormyang approved & aktif pada rentang tanggal.
- Body:
POST /api/v1.0/Avatar/ChangeOverNextItem- Body:
AvatarChangeoverRequest { machineId, operatorId, timestamp, productionLine, currentProduction, nextProduction } - Respon:
NextChangeover { metode, material, qty, duration, costWaktu, costMaterial, costTotal, timestamp }atau error 1000/1001/1002/1003 sesuai validasi.
- Body:
POST /api/v1.0/Avatar/ListMetodeCO- Body:
DataTableRequestPayload(server-side paging/filter/sort). - Respon:
GeneralObjectResponsedengan data Metode CO aktif.
- Body:
POST /api/v1.0/Avatar/ListMaterialCO- Sama seperti di atas untuk Material CO aktif.
POST /api/v1.0/Avatar/ListPLCOD- Body:
DataTableRequestPayload. - Respon:
GeneralObjectResponsedengan data gabungan metode/material/line (projected keAvatarPLCODResponse).
- Body:
DTO Singkatβ
AvatarFormRequest:ProductionLine,FromDate.AvatarChangeoverRequest: metadata pemanggil +productionLine+currentProduction/nextProduction(boNumber,itemCode).AvatarResponse.NextChangeover: hasil kalkulasi changeover (kode/deskripsi metode & material, qty, durasi, biaya).AvatarPLCODResponse: detail biaya changeover per line/metode/material (digunakan ListPLCOD).
Alur ChangeOverNextItem (ringkas)β
- Validasi item FROM/TO ada dan punya mapping gramasi/variant.
- Ambil metode CO dari
MProductVariantMetodeChangeOveruntuk kombinasi variant FROMβTO. - Ambil material CO next product (
MMaterialConextProductβMMaterialChangeOver). - Ambil detail PLCOD per line (
MProductionLineChangeOverDetail) untuk metode+material+line. - Hitung respon (qty, durasi, biaya waktu/material/total, timestamp sekarang).
Database & Konfigurasiβ
- Koneksi: name
AVATARConnection(dekripsi Rijndael) diatur viaAppServicesHelper/ appsettings. - EF Core dengan NoTrackingWithIdentityResolution; command timeout 100 menit.
- DbSet utama:
MItem,MRequestForm,MProductionLineChangeOverDetail,MMetodeChangeOver,MMaterialChangeOver,MMaterialConextProduct,MProductVariant*,MProductionLine,MVariant*,TrRps*,MShift.
Dependency Pentingβ
- Hangfire (background/recurring job) β periksa dashboard untuk log
HealthCheck_Avatar. - IHttpClientFactory β untuk ping kesehatan ke
https://erps.kalbenutritionals.com/. - ILogger β untuk logging proses changeover dan error.