Feature #3929
[ LOGIC ]Implementasi Logic History Page
0%
Description
Dear Tim Developer,
Sehubungan dengan kebutuhan pengembangan sistem, berikut saya sampaikan detail logic dan langkah-langkah yang akan digunakan pada History Page untuk memudahkan pemahaman dan implementasi.
1. Ambil Data User
• Ambil UserID & CustomerID dari session login pada table CRMSUSER.
→ Ini jadi parameter utama untuk filter riwayat.
2. Training History
• Query ke tabel:
• PTRSALESHEADER → booking header (DocNo, CustomerID, DocStatus).
Pada sisi ES:
Jika pengguna melakukan Booking, maka status akan menjadi Booking.
Jika pengguna melakukan Pembayaran, maka status berubah menjadi Submitted.
Selanjutnya, Admin perlu melakukan pengecekan pada menu Service Order untuk memastikan apakah pembayaran sudah benar dilakukan.
Jika valid, admin akan mengubah status menjadi Paid.
Pada sisi CRM:
Ketika pengguna baru melakukan Booking dan Pembayaran, status akan tercatat sebagai Waiting Payment.
Setelah admin mengubah status menjadi Paid, maka status di CRM otomatis berubah menjadi Complete.
• Detail sesi (SessionName, StartTime, EndTime, Price, Coach).
SessionName: diambil dari tabel PTRSALESITEMS, field Material. Untuk master data ServiceName diambil dari tabel PMDSRV0001, field ServiceID dan ServiceName, dengan mencocokkan DocNo pada PTRSALESHEADER dan PTRSALESITEMS.
StartTime: diambil dari tabel PTRSALESHEADER, field StartTime.
EndTime: diambil dari tabel PTRSALESHEADER, field EndTime.
Price: diambil dari tabel PTRSALESITEMS, field NetAmount, dengan mencocokkan DocNo pada PTRSALESHEADER dan PTRSALESITEMS.
Coach: diambil dari tabel PTRSALESHEADER, field Coach. Master data Coach diambil dari tabel PMDSRV0007.
• Mapping ke UI Training Tab:
• Judul = "Training"
• Nama Sesi = SessionName
• Booking ID = BookingID
• Date & Time = StartTime – EndTime
• Detail Latihan = SessionName + Price
• Coach Name = CoachName
• Status Button = berdasarkan Status (Completed → hijau tua)
3. Payment History
• Mapping ke UI Payment Tab:
o Judul = "Payment"
o Payment Status = Status (Waiting Payment, Completed)
o Booking ID = ServiceID
o Date & Time = Date & Time merupakan tanggal dan waktu yang dipesan oleh user untuk sesi training.
o Deskripsi = ServiceName + Price
o Status = Kuning muda (Waiting Payment), hijau tua (Completed)
4. Search & Filter
• Search:
o Cari dari ServiceID, ServiceName, CoachName.
• Filter:
o Tanggal: filter StartTime (Training) atau PaymentDate (Payment).
o Status: Completed, Waiting Payment.
o Kategori: Training atau Payment.
port = https://demo-ecommerce-golfcourse.minovais.com/ECommerce_History.html
database = 103.153.60.89
nama database = MinovaES_DEMO_GolfCourse
Files