Files
BE_IBL/application/controllers/fix/Hs_deliveryorder.php
2026-04-15 15:23:57 +07:00

138 lines
4.2 KiB
PHP

<?php
class Hs_deliveryorder extends MY_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
echo '<pre>';
echo "cek [username]<br/> Untuk menampilkan list surat jalan petugas";
}
public function cek($petugas)
{
//query TestName UnitName NatUnitName MethodeUnitName
// UnitName : UnitName yang ada di t_orderdetail
// NatUnitName : UnitName yg diambil dari T_Test
// MethodeUnitName : UnitName yg diambil dari nat_methode_unit, sesuai dengan t_orderdetail methodeID
// Action : tampilkan tombol "Fix Unit" jika UnitName <> NatUnitName atau UnitName <> MethodeUnitName
// parameter dari tombol ini adalah orderDetailID dan petugas
// url_fix = "/one-api/fix/unit/fix/$orderDetailID/$petugas"
// "<button onClick=\"document.location.href='$url_fix'\">Fix Verif Valid Race</button>";
// utk menampilkan listing bisa menggunakan fungsi print_table dengan parameter rows dari qry->result_array
$sql = "SELECT HS_DeliveryOrderID as id,
DATE_FORMAT(HS_DeliveryOrderDate,'%d-%m-%Y') as tanggal,
HS_DeliveryOrderNumber as nomor,
CONCAT(M_StaffName, ' [',M_UserUsername,']') as petugas,
CASE
WHEN HS_DeliveryOrderStatus = 'N' THEN 'Baru'
WHEN HS_DeliveryOrderStatus = 'S' THEN 'Kirim'
WHEN HS_DeliveryOrderStatus = 'A' THEN 'Diterima'
WHEN HS_DeliveryOrderStatus = 'X' THEN 'Ditolak'
WHEN HS_DeliveryOrderStatus = 'G' THEN 'Berangkat'
WHEN HS_DeliveryOrderStatus = 'P' THEN 'Proses'
WHEN HS_DeliveryOrderStatus = 'D' THEN 'Selesai'
ELSE ''
END as status
FROM one_hs.hs_deliveryorder
join m_user ON M_UserID = HS_DeliveryOrderM_UserID
join m_staff ON M_StaffID = M_UserM_StaffID
WHERE M_UserUsername = ?
AND HS_DeliveryOrderIsActive = 'Y'
AND HS_DeliveryOrderStatus <> 'D'";
$qry = $this->db->query($sql, [$petugas]);
if (!$qry) {
echo "ERR : \n";
print_r($this->db->error());
exit;
}
$rows = $qry->result_array();
echo '<style>
th, td {
padding: 15px;
text-align: left;
}
tr:nth-child(even) {background-color: #f2f2f2;}
table {
border: solid 1px ;
min-width:600px;
}
</style>
';
echo '<table>';
echo '<tr>';
echo "<td>Tanggal</td> <td>Nomor</td> <td>Petugas</td> <td>Status</td> <td>Aksi</td>
</tr>\n";
foreach ($rows as $r) {
echo '<tr>';
echo "<td>{$r['tanggal']} </td> <td>{$r['nomor']}</td> <td>{$r['petugas']}</td> <td>{$r['status']}</td>
";
$url_target = '/one-api/fix/hs_deliveryorder/fix/'. $r['id'] . '/' . $petugas;
echo '<td>';
echo "<a type='button' target=\"_blank\" href=\"$url_target\"> Ganti status 'selesai' </a>";
echo "</td>";
// $x_note = "<pre>" . print_r($r, true) . "</pre>";
// echo "<td>$x_note</td>";
echo '</tr>';
}
}
function fix($id, $petugas)
{
$sql = "UPDATE one_hs.hs_deliveryorder SET HS_DeliveryOrderStatus = 'D' WHERE HS_DeliveryOrderID = $id";
$qry = $this->db->query($sql);
if (!$qry) {
echo json_encode(['status' => 'ERR', 'message' => print_r($this->db->error(), true)]);
exit;
}
echo 'update OK';
header("Location: /one-api/fix/hs_deliveryorder/cek/".$petugas);
exit();
}
public function print_table_style()
{
echo "
<style>
th, td {
padding: 15px;
text-align: left;
}
tr:nth-child(even) {background-color: #f2f2f2;}
table {
border: solid 1px ;
min-width:600px;
}
</style>
";
}
public function print_table($keys)
{
$this->print_table_style();
echo "<table>";
echo "<tr>";
foreach ($keys as $k) {
echo "<td>$k</td>";
}
echo "</tr>\n";
foreach ($rows as $r) {
echo "<tr>";
foreach ($keys as $k) {
echo "<td>" . $r[$k] . "</td>";
}
echo "</tr>";
}
echo "</table>";
}
}