Skip to content

Routing Overdue Summary

Hanya Jadestone. Kode report routing_01_summary, ditambahkan oleh INA27-296 (Done). Membuka modul routing dengan show=report&print=due_summary; routing_handler_print.php meng-include routing_handler_print_due_summary.php, 321 baris, memakai $pdo. Satu baris per PIC dan discipline dengan dua hitungan: routing yang overdue, dan routing yang jatuh tempo hari ini. Ini rekap dari Routing Overdue, yang mendaftar setiap routing; report itu tidak diubah.

Cara halaman ini diverifikasi

Ditelusuri di ina-jadestone pada 2026-09-08. Screenshot dari inact-jadestone.eris.place pada snapshot produksi 2026-09-07, project AAL-VS, Route Status Open. Master dan fork lain tidak punya report ini.

Form filter

Routing Overdue Summary, form filter: Project, Show Only Latest Revision, Route Status
Routing Overdue Summary, form filter: Project, Show Only Latest Revision, Route Status · click to enlarge

view=custom merender routing_print_due_summary_custom.htm. Tidak ada template, record grouping, atau pemilih kolom: output-nya berkolom tetap.

KontrolFieldEfek
Projectprojectproject milik user, dari getProjectPersonByResource()
Show Only Latest Revisiononly_latest_revmenyisakan satu routing per nomor dokumen: yang rout_id-nya tertinggi di antara file utama (rout_type = 1)
Route Statusrout_statusopen (default), close, atau all: ts_routing.rout_status
Preview, Download Exceldue_summary_download_asHTML di tab baru, atau .xlsx yang dibangun langsung dengan PhpSpreadsheet; excel/export_excel.php modul routing tidak dipakai

Query-nya

Satu query atas ts_routing di-join ke ts_map_routing_to, ts_resource dan ts_org_person, untuk routing project yang sudah dikirim (rout_have_send = 1) dan hanya baris penerima yang Action Indicated-nya Responsible (rout_indicate = 16) atau Approval (9). Draft routing tidak pernah dihitung, walaupun penerimanya sudah punya due date. Query juga mengembalikan rout_day, due date dikurangi hari ini:

Driverrout_day
MySQLDATEDIFF(rt.rout_due_date, NOW())
PostgreSQLrt.rout_due_date - CURRENT_DATE
SQL ServerDATEDIFF(DAY, GETDATE(), rt.rout_due_date)

Ketiganya dibaca sama: negatif berarti terlambat, nol berarti jatuh tempo hari ini, positif masih ada waktu. Lalu tiga lookup untuk discipline: discipline project, MDR (dm_docmaster_number ke dm_discipline_identifier), dan file routing (ts_map_routing_file) dari routing yang ditemukan.

Barisnya

Routing Overdue Summary di project AAL-VS, Route Status Open: satu baris per PIC dan discipline, dengan baris Total
Routing Overdue Summary di project AAL-VS, Route Status Open: satu baris per PIC dan discipline, dengan baris Total · click to enlarge

PIC

Satu PIC per routing. Baris penerima Responsible pertama menang; routing tanpa Responsible jatuh ke baris Approval pertamanya menurut map_id. Routing tanpa keduanya tidak dihitung untuk siapa pun. Labelnya person_name dari ts_org_person, atau resource_name (No user) kalau resource itu tidak punya orang di baliknya.

Discipline

Nama discipline dokumen, dicari dengan urutan ini dari file pertama routing (rout_type, lalu map_id): dm_discipline_identifier baris MDR dipetakan ke docdisc_name; kalau tidak ada, docdisc_id file; kalau tidak ada, kode MDR mentah; kalau tidak ada, -.

Dua hitungannya

Routing dihitung hanya selama PIC masih memegangnya: rout_status_resp = 'N' di baris penerima itu. Lalu:

KolomAturan
Overduerout_day < 0
Will be overdue by todayrout_day = 0
tidak dihitungrout_day > 0, masih ada waktu

Baris dikunci dengan PIC dan discipline, diurutkan PIC lalu discipline (tanpa membedakan huruf besar kecil), dan baris Total menjumlahkan kedua kolom. Karena satuannya routing, dokumen dengan dua routing terbuka dihitung dua kali, sekali per routing, dan PIC yang sama bisa muncul di beberapa baris discipline.

Masalah yang diketahui

  • Menghitung routing, bukan dokumen. Tiket meminta dokumen distinct; kode menghitung satu baris PIC per rout_id, yang distinct per routing. Dua routing dari dokumen yang sama dihitung dua-duanya.
  • Route Status Close tetap memakai gerbang pending. Routing yang sudah ditutup jarang punya penerima dengan rout_status_resp = 'N', jadi close biasanya mencetak tabel kosong.
  • Fallback discipline mencetak - untuk dokumen di luar MDR yang file routing-nya tidak punya docdisc_id.

Terkait

  • Routing Overdue: daftar per routing yang dirangkum report ini, termasuk kolom Issued Status yang hanya ada di Jadestone (INA27-299).
  • Report DMS.