Files
2026-04-15 15:23:57 +07:00

174 lines
7.9 KiB
PHP

<?php
class Setupfromcenterv1 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);
$bodyZ = file_get_contents('php://input');
$body = gzuncompress($bodyZ);
$datas = json_decode($body, true);
// print_r($datas);
if ($datas) {
$this->db_inventory->trans_start();
$this->db_inventory->trans_strict(FALSE);
$arr_inserted = array();
foreach ($datas as $k => $v) {
$sql = "SELECT * FROM mutasisetupbranch WHERE MutasiSetupBranchOldID = ? LIMIT 1";
$qry = $this->db_inventory->query([$v['MutasiSetupBranchID']]);
//echo $this->db_inventory->last_query();
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
//print_r($qry->row_array());
if (!$qry->row_array()) {
$arr_insert_setup = $v;
$arr_insert_setup['MutasiSetupBranchOldID'] = $v['MutasiSetupBranchID'];
unset($arr_insert_setup['branch_ip']);
unset($arr_insert_setup['MutasiSetupBranchID']);
$arr_insert_setup['MutasiSetupBranchIsSend'] = 'Y';
$arr_insert_setup['MutasiSetupBranchCreated'] = date("Y-m-d H:i:s");
$arr_insert_setup['MutasiSetupBranchLastUpdated'] = date("Y-m-d H:i:s");
// $qry = $this->db_inventory->insert('mutasisetupbranch', $arr_insert_setup);
// $qry = $this->db_inventory->insert('mutasisetupbranch', $arr_insert_setup);
$sql = $this->db_inventory->insert_string('mutasisetupbranch', $arr_insert_setup) . ' ON DUPLICATE KEY UPDATE MutasiSetupBranchOldID = MutasiSetupBranchOldID';
$qry = $this->db_inventory->query($sql);
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
$last_id = $this->db_inventory->insert_id();
$sql = "SELECT * FROM mutasisetupbranch WHERE MutasiSetupBranchID = ?";
$qry = $this->db_inventory->query($sql, array($last_id));
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
$data_after_insert = $qry->row_array();
//print_r($data_after_insert);
$this->create_mutasi($data_after_insert, $last_id );
//$arr_inserted = $v;
}
array_push($arr_inserted, $v['MutasiSetupBranchID']);
}
$this->db_inventory->trans_complete();
// $resp = array(
// 'status' => 'OK',
// "data" => array("records" => $arr_inserted)
// );
$result = array("records" => $arr_inserted);
$this->sys_ok($result);
// echo gzcompress(json_encode($resp));
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function create_mutasi($mutasi,$xid)
{
//print_r($mutasi);
$arr_insert_mutasi = $this->objToArray(json_decode($mutasi['MutasiSetupBranchJSON']));
//print_r($arr_insert_mutasi);
$details = $arr_insert_mutasi['details'];
$id = $arr_insert_mutasi['MutasiID'];
unset($arr_insert_mutasi['details']);
unset($arr_insert_mutasi['MutasiID']);
$arr_insert_mutasi['MutasiCreated'] = date("Y-m-d H:i:s");
$arr_insert_mutasi['MutasiLastUpdated'] = date("Y-m-d H:i:s");
$qry = $this->db_inventory->insert('mutasi', $arr_insert_mutasi);
//echo $this->db_inventory->last_query();
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
$last_id = $this->db_inventory->insert_id();
foreach ($details as $key => $value) {
$arr_insert_mutasi_details = array();
$arr_insert_mutasi_details['MutasiDetailMutasiRequestReceiveID'] = $value['MutasiDetailMutasiRequestReceiveID'];
$arr_insert_mutasi_details['MutasiDetailItemID'] = $value['MutasiDetailItemID'];
$arr_insert_mutasi_details['MutasiDetailItemUnitID'] = $value['MutasiDetailItemUnitID'];
$arr_insert_mutasi_details['MutasiDetailQty'] = $value['MutasiDetailQty'];
$arr_insert_mutasi_details['MutasiDetailReceiveQty'] = $value['MutasiDetailReceiveQty'];
$arr_insert_mutasi_details['MutasiDetailMutasiID'] = $last_id;
$arr_insert_mutasi_details['MutasiDetailCreated'] = date("Y-m-d H:i:s");
$arr_insert_mutasi_details['MutasiDetailLastUpdated'] = date("Y-m-d H:i:s");
$arr_insert_mutasi_details['MutasiDetailUserID'] = 220688;
//print_r($arr_insert_mutasi_details);
$qry = $this->db_inventory->insert('mutasidetail', $arr_insert_mutasi_details);
//echo $this->db_inventory->last_query();
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
$id_detail = $this->db_inventory->insert_id();
$arr_detail_additional = array();
$arr_detail_additional['MutasiDetailAddtionalRequestDetailID'] = $value['mutasi_request_detail_id'];
$arr_detail_additional['MutasiDetailAddtionalMutasiDetailID'] = $id_detail;
$arr_detail_additional['MutasiDetailAddtionalMutasiRequestReceiveNumber'] = $value['request_receive_number'];
$arr_detail_additional['MutasiDetailAddtionalMutasiRequestReceiveID'] = $value['request_receive_id'];
$arr_detail_additional['MutasiDetailAddtionalMutasiRequestNumber'] = $value['request_number'];
$arr_detail_additional['MutasiDetailAddtionalCompanyID'] = $value['CompanyID'];
$arr_detail_additional['MutasiDetailAddtionalM_BranchID'] = $value['M_BranchID'];
$arr_detail_additional['MutasiDetailAddtionalEstimatedDelivery'] = $value['estimated_delivery'];
$arr_detail_additional['MutasiDetailAddtionalRequestQty'] = $value['request_qty'];
$arr_detail_additional['MutasiDetailAddtionalRestQty'] = $value['rest_qty'];
$arr_detail_additional['MutasiDetailAddtionalNote'] = $value['note'];
$qry = $this->db_inventory->insert('mutasidetailadditional', $arr_detail_additional);
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
}
$sql = "UPDATE mutasisetupbranch SET MutasiSetupBranchIsCreated = 'Y',
MutasiSetupBranchMutasiBranchID = ?
WHERE MutasiSetupBranchID = ? ";
$qry = $this->db_inventory->query($sql, array($last_id, $xid));
if (!$qry) {
echo $this->db_inventory->last_query();
exit;
}
return true;
}
protected function objToArray($obj)
{
// Not an object or array
if (!is_object($obj) && !is_array($obj)) {
return $obj;
}
// Parse array
foreach ($obj as $key => $value) {
$arr[$key] = $this->objToArray($value);
}
// Return parsed array
return $arr;
}
}