Files
BE_IBL/application/controllers/inventory/receivemutasiinternal/Downloadfrombranch.php
2026-04-15 15:23:57 +07:00

148 lines
6.6 KiB
PHP

<?php
class Downloadfrombranch extends MY_Controller
{
var $db;
function __construct()
{
parent::__construct();
$this->db_inventory = $this->load->database("inventory", true);
$this->db_inventory_log = $this->load->database('inventory_log', true);
}
function download_data()
{
try {
header("Content-Type:application/json");
$datas = json_decode(file_get_contents('php://input'), true);
//echo json_encode($datas);
if($datas){
$arr_inserted = array();
foreach ($datas as $k => $v) {
$sql ="SELECT * FROM mutasirequestrespon WHERE MutasiRequestResponOldID = ? LIMIT 1";
$qry = $this->db_inventory->query([$v['MutasiRequestResponID']]);
//echo $this->db_inventory->last_query();
if(!$qry){
//echo $this->db_inventory->last_query();
exit;
}
if(!$qry->row_array()){
$this->db_inventory->trans_start();
$this->db_inventory->trans_strict(FALSE);
$id = $v['MutasiRequestResponID'];
unset($v['branch_ip']);
unset($v['MutasiRequestResponID']);
$v['MutasiRequestResponIsUploaded'] = 'Y';
$v['MutasiRequestResponOldID'] = $id;
$v['MutasiRequestResponCreated'] = date("Y-m-d H:i:s");
$v['MutasiRequestResponLastUpdated'] = date("Y-m-d H:i:s");
$qry = $this->db_inventory->insert('mutasirequestrespon', $v);
if(!$qry){
$this->sys_error_db("insert mutasirequestrespon error", $this->db_inventory->last_query());
exit;
}
$sql = "UPDATE mutasirequestreceive SET
MutasiRequestReceiveReceiveQty = ?,
MutasiRequestReceiveStatus = ?
WHERE
MutasiRequestReceiveID = ?";
$qry = $this->db_inventory->query($sql,
array(
$v['MutasiRequestResponReceive'],
$v['MutasiRequestResponStatus'],
$v['MutasiRequestResponMutasiRequestReceiveID']
)
);
if(!$qry){
$this->sys_error_db("update mutasirequestreceive error", $this->db_inventory->last_query());
exit;
}
$arr_request_status = array(
'MutasiRequestReceiveStatusMutasiRequestReceiveID' => $v['MutasiRequestResponMutasiRequestReceiveID'],
'MutasiRequestReceiveStatusStatus' => $v['MutasiRequestResponStatus'],
'MutasiRequestReceiveStatusJSON' => json_encode($v),
'MutasiRequestReceiveStatusCreated' => date("Y-m-d H:i:s"),
'MutasiRequestReceiveStatusUserID' => 10000
);
$qry = $this->db_inventory->insert('mutasirequestreceive_status', $arr_request_status);
if(!$qry){
$this->sys_error_db("insert mutasirequestreceive_status error", $this->db_inventory->last_query());
exit;
}
$data_update_mutasidetailstock = array('MutasiDetailStockReceiveQty' => $v['MutasiRequestResponReceive']);
$this->db_inventory->where('MutasiDetailStockID', $v['MutasiRequestResponMutasiDetailStockID']);
$this->db_inventory->update('mutasidetailstock', $data_update_mutasidetailstock);
$sql = "UPDATE mutasidetail
SET MutasiDetailReceiveQty = MutasiDetailReceiveQty + {$v['MutasiRequestResponReceive']}
WHERE
MutasiDetailID = ?";
$qry = $this->db_inventory->query($sql,
array(
$v['MutasiRequestResponMutasiDetailID']
)
);
if(!$qry){
$this->sys_error_db("update mutasidetail error", $this->db_inventory->last_query());
exit;
}
$sql = "SELECT COUNT(*) as x_count
FROM mutasidetail
WHERE
( MutasiDetailQty = 0 OR MutasiDetailQty <> MutasiDetailReceiveQty ) AND
MutasiDetailIsActive = 'Y' AND MutasiDetailMutasiID = ? ";
$qry = $this->db_inventory->query($sql,
array(
$v['MutasiRequestResponMutasiID']
)
);
if(!$qry){
$this->sys_error_db("update mutasidetail error", $this->db_inventory->last_query());
exit;
}
$status_mutasi = 'P';
$not_done = $qry->row()->x_count;
if($not_done == 0)
$status_mutasi = 'D';
$data_update_mutasi = array('MutasiStatus' => $status_mutasi);
$this->db_inventory->where('MutasiID', $v['MutasiRequestResponMutasiID']);
$this->db_inventory->update('mutasi', $data_update_mutasi);
$this->db_inventory->trans_complete();
array_push($arr_inserted,$id);
}
}
//print_r($arr_inserted);
$result = array( "records" => $arr_inserted);
$this->sys_ok($result);
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
}