BUG-DASH-280826 - perbaiki sumber data checkout dan definisi Checked Out di dashboard
sp_generate_dashboard_data menebak Mcu_CheckinoutOutTime dari MAX() timestamp event lab (sample receive/sampling done), bukan dari checkout fisik pasien, sehingga pasien yang belum checkout bisa tampil "Checked Out" walau stationnya belum selesai. Ganti sumbernya ke cpone.preregister_checkin_checkout (log checkin/checkout asli) dan hentikan pemaksaan Mcu_CheckinoutID = order_id yang bentrok untuk project multi-hari. KPI "Checked Out" di GetKPI juga diselaraskan dengan detail pasien: sekarang hitung dari GetAllPatients dan mensyaratkan semua station wajib sudah selesai, bukan cuma checkout fisik saja, supaya angka KPI dan modal detail selalu sinkron.
This commit is contained in:
@@ -261,11 +261,11 @@ func Patients(w http.ResponseWriter, r *http.Request) {
|
||||
filteredByKPI = append(filteredByKPI, p)
|
||||
}
|
||||
case "inprogress":
|
||||
if p.InTime != "" && !p.HasOut {
|
||||
if p.InTime != "" && !(p.HasOut && p.ProgressStatus == "done") {
|
||||
filteredByKPI = append(filteredByKPI, p)
|
||||
}
|
||||
case "checkedout":
|
||||
if p.HasOut {
|
||||
if p.HasOut && p.ProgressStatus == "done" {
|
||||
filteredByKPI = append(filteredByKPI, p)
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user