Demo

PartnerService

Customer / supplier (partner) အတွက် builtin CRUD နှင့် ရှာဖွေမှုကို ပေးပါသည်။ Plugin-local partner ဇယား မဖန်တီးရပါ။

Inject

TSXinject
1import { 2 ContainerRegistryManager, 3 PartnerService, 4 Inject, 5 Service, 6} from "@quan-erp/shared-backend-core"; 7 8@Service() 9export class MyPluginService { 10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN) 11 private partnerService: PartnerService; 12}

Lookup method များ

  • getPartnerById(id) — id ဖြင့် partner တစ်ဦး ရှာဖွေပါသည်
  • getPartner({ search?, isCustomer?, isSupplier?, skip, limit }) — filter နှင့် စာမျက်နှာခွဲ စာရင်း
  • sportlightSearch(dto, user) — Spotlight ရှာဖွေမှု (source API စာလုံးပေါင်းအတိုင်း)
TSXlookup
1import { 2 ContainerRegistryManager, 3 Inject, 4 PartnerService, 5 Service, 6} from "@quan-erp/shared-backend-core"; 7 8@Service() 9export class SalePartnerService { 10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN) 11 private partnerService: PartnerService; 12 13 async customers(search?: string) { 14 return this.partnerService.getPartner({ 15 search, 16 isCustomer: true, 17 skip: 0, 18 limit: 20, 19 }); 20 } 21 22 async byId(id: number) { 23 return this.partnerService.getPartnerById(id); 24 } 25}

Create / update / delete

CreateServiceProps သည် { data, manager?, createdByUserId? } ဖြစ်ပါသည်။ isCustomer / isSupplier ကို အသုံးပြုပုံနှင့် ကိုက်ညီအောင် ထားရှိရပါသည်။

  • create(props) — partner တစ်ဦး ဖန်တီးပါသည် (firstName, lastName မဖြစ်မနေ လိုအပ်ပါသည်)
  • createMany(props) — အစုလိုက် ဖန်တီးပါသည်
  • update(id, partner, updateBy?) — id ဖြင့် အပ်ဒိတ် လုပ်ပါသည်
  • delete(id) — ဖျက်ပါသည်
TSXcreate
1import { 2 ContainerRegistryManager, 3 Inject, 4 PartnerService, 5 Service, 6} from "@quan-erp/shared-backend-core"; 7 8@Service() 9export class CustomerOnboardService { 10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN) 11 private partnerService: PartnerService; 12 13 async createCustomer(createdByUserId: number) { 14 return this.partnerService.create({ 15 createdByUserId, 16 data: { 17 firstName: "Aung", 18 lastName: "Kyaw", 19 phone: "09123456789", 20 isCustomer: true, 21 isSupplier: false, 22 }, 23 }); 24 } 25}

မှတ်ချက်

  • Plugin-local customer/vendor entity မဖန်တီးမီ ဤ service ကို ဦးစားပေးရပါသည်
  • Frontend partner hook/component များကို base plugin မှ ပေးထားပါသည်