438 lines
21 KiB
PHP
438 lines
21 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 get_param_z()
|
|
{
|
|
$body_z = file_get_contents("php://input");
|
|
$body = gzuncompress($body_z);
|
|
return json_decode($body, true);
|
|
}
|
|
|
|
function reply($resp)
|
|
{
|
|
echo json_encode($resp);
|
|
}
|
|
|
|
function reply_gz($resp)
|
|
{
|
|
//echo json_encode($resp);
|
|
echo gzcompress(json_encode($resp));
|
|
}
|
|
|
|
function download_data()
|
|
{
|
|
try {
|
|
header("Content-Type:application/json");
|
|
// $datas = json_decode(file_get_contents('php://input'), true);
|
|
|
|
$datas = $this->get_param_z();
|
|
|
|
// print_r($datas);
|
|
// echo json_encode($datas);
|
|
// exit;
|
|
|
|
|
|
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();
|
|
$this->sys_error_db("select mutasirequestrespon error : ". $this->db_inventory->last_query());
|
|
exit;
|
|
}
|
|
|
|
if(!$qry->row_array()){
|
|
$this->db_inventory->trans_start();
|
|
$this->db_inventory->trans_strict(FALSE);
|
|
|
|
|
|
$id = $v['MutasiRequestResponID'];
|
|
$M_BranchID = $v['M_BranchID'];
|
|
|
|
unset($v['M_BranchID']);
|
|
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);
|
|
|
|
$sql = $this->db_inventory->insert_string('mutasirequestrespon', $v) . ' ON DUPLICATE KEY UPDATE MutasiRequestResponOldID = MutasiRequestResponOldID';
|
|
$qry = $this->db_inventory->query($sql);
|
|
|
|
if(!$qry){
|
|
$arr = [
|
|
"err" => "insert mutasirequestrespon error",
|
|
"message" => $this->db_inventory->error()['message']
|
|
];
|
|
// print_r($this->db_inventory->error()['message']);
|
|
// $this->sys_error_db("insert mutasirequestrespon error", $this->db_inventory->error()['message']);
|
|
$this->sys_error_db($arr);
|
|
exit;
|
|
}
|
|
|
|
// $sql_cek_status = "select *
|
|
// from mutasirequestreceive
|
|
// WHERE MutasiRequestReceiveID = ?";
|
|
|
|
// $qry_cek_status = $this->db_inventory->query($sql_cek_status,[
|
|
// $v['MutasiRequestResponMutasiRequestReceiveID']
|
|
// ]);
|
|
// if(!$qry_cek_status){
|
|
// $arr_e = [
|
|
// "msg" => "select cek status mutasirequestreceive error",
|
|
// "error" => $this->db_inventory->error()['message'],
|
|
// "lastquery" => $this->db_inventory->last_query()
|
|
// ];
|
|
// $this->sys_error_db($arr_e);
|
|
// exit;
|
|
// }
|
|
|
|
// $data_status = $qry_cek_status->row_array();
|
|
// if($data_status['MutasiRequestReceiveStatus'] != "D") {
|
|
// $qty = intval($v['MutasiRequestResponReceive']);
|
|
// $sql = "UPDATE mutasirequestreceive SET
|
|
// MutasiRequestReceiveReceiveQty = MutasiRequestReceiveReceiveQty + $qty,
|
|
// MutasiRequestReceiveStatus = ?
|
|
// WHERE
|
|
// MutasiRequestReceiveID = ?";
|
|
// $qry = $this->db_inventory->query($sql,
|
|
// array(
|
|
// $v['MutasiRequestResponStatus'],
|
|
// $v['MutasiRequestResponMutasiRequestReceiveID']
|
|
// )
|
|
// );
|
|
|
|
// if(!$qry){
|
|
// $this->sys_error_db("update mutasirequestreceive error", $this->db_inventory->last_query());
|
|
// exit;
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
// $qty = intval($v['MutasiRequestResponReceive']);
|
|
// $sql = "UPDATE mutasirequestreceive SET
|
|
// MutasiRequestReceiveReceiveQty = MutasiRequestReceiveReceiveQty + $qty,
|
|
// MutasiRequestReceiveStatus = ?
|
|
// WHERE
|
|
// MutasiRequestReceiveID = ?";
|
|
// $qry = $this->db_inventory->query($sql,
|
|
// array(
|
|
// $v['MutasiRequestResponStatus'],
|
|
// $v['MutasiRequestResponMutasiRequestReceiveID']
|
|
// )
|
|
// );
|
|
|
|
// print_r($this->db_inventory->last_query());
|
|
|
|
|
|
|
|
|
|
// $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;
|
|
// }
|
|
|
|
// add check data mutasirequestreceive_status
|
|
|
|
// $sql_check = "SELECT *
|
|
// FROM mutasirequestreceive_status
|
|
// WHERE MutasiRequestReceiveStatusMutasiRequestReceiveID = ?
|
|
// AND
|
|
// MutasiRequestReceiveStatusStatus IN ('D','P')
|
|
// ";
|
|
|
|
$MutasiRequestReceiveStatusMutasiRequestReceiveID_check = $v['MutasiRequestResponMutasiRequestReceiveID'];
|
|
|
|
$sql_check = "SELECT COUNT(*) as total
|
|
FROM mutasirequestreceive_status
|
|
WHERE JSON_EXTRACT(MutasiRequestReceiveStatusJSON, '$.MutasiRequestResponOldID') = ?
|
|
AND JSON_EXTRACT(MutasiRequestReceiveStatusJSON, '$.M_BranchID') = ?
|
|
AND MutasiRequestReceiveStatusMutasiRequestReceiveID = ?
|
|
AND MutasiRequestReceiveStatusStatus = ?";
|
|
|
|
$qry_check = $this->db_inventory->query($sql_check,[
|
|
$v['MutasiRequestResponOldID'],
|
|
$M_BranchID,
|
|
$MutasiRequestReceiveStatusMutasiRequestReceiveID_check,
|
|
$v['MutasiRequestResponStatus']
|
|
]);
|
|
|
|
// print_r($this->db_inventory->last_query());
|
|
|
|
|
|
if(!$qry_check){
|
|
$this->sys_error_db("check mutasirequestreceive_status error : ". $this->db_inventory->last_query());
|
|
exit;
|
|
}
|
|
|
|
// exit;
|
|
|
|
$data_cek = $qry_check->row_array();
|
|
// $data_json_cek = json_decode($data_cek['MutasiRequestReceiveStatusJSON']);
|
|
|
|
// $data_json_cek = $this->objToArray(json_decode($data_cek['MutasiRequestReceiveStatusJSON']));
|
|
|
|
// print_r($arr_request_status);
|
|
// exit;
|
|
|
|
|
|
|
|
// exit;
|
|
|
|
|
|
|
|
// $json2 = array(
|
|
// "MutasiRequestResponOldID"=> $v['MutasiRequestResponOldID'],
|
|
// "MutasiRequestResponType"=> $v['MutasiRequestResponType'],
|
|
// "MutasiRequestResponMutasiRequestReceiveID"=> $v['MutasiRequestResponMutasiRequestReceiveID'],
|
|
// "MutasiRequestResponToCompanyAdddressID"=> $v['MutasiRequestResponToCompanyAdddressID'],
|
|
// "MutasiRequestResponFromCompanyAdddressID"=> $v['MutasiRequestResponFromCompanyAdddressID'],
|
|
// "MutasiRequestResponMutasiRequestDetailID"=> $v['MutasiRequestResponMutasiRequestDetailID'],
|
|
// "MutasiRequestResponMutasiID"=> $v['MutasiRequestResponMutasiID'],
|
|
// "MutasiRequestResponMutasiDetailStockID"=> $v['MutasiRequestResponMutasiDetailStockID'],
|
|
// "MutasiRequestResponMutasiDetailID"=> $v['MutasiRequestResponMutasiDetailID'],
|
|
// "MutasiRequestResponStatus"=> $v['MutasiRequestResponStatus'],
|
|
// "MutasiRequestResponReceive"=> $v['MutasiRequestResponReceive'],
|
|
// "MutasiRequestResponCreated"=> $v['MutasiRequestResponCreated'],
|
|
// "MutasiRequestResponLastUpdated"=> $v['MutasiRequestResponLastUpdated'],
|
|
// "MutasiRequestResponIsUploaded"=> $v['MutasiRequestResponIsUploaded'],
|
|
// "MutasiRequestResponIsdownloadded"=> $v['MutasiRequestResponIsdownloadded'],
|
|
// "M_BranchID"=> $M_BranchID
|
|
// );
|
|
|
|
// print_r($json2);
|
|
// print_r("penanda");
|
|
|
|
$v['M_BranchID'] = $M_BranchID;
|
|
$arr_request_status = array(
|
|
'MutasiRequestReceiveType' => 'T',
|
|
'MutasiRequestReceiveStatusMutasiRequestReceiveID' => $v['MutasiRequestResponMutasiRequestReceiveID'],
|
|
'MutasiRequestReceiveStatusStatus' => $v['MutasiRequestResponStatus'],
|
|
'MutasiRequestReceiveStatusJSON' => json_encode($v),
|
|
'MutasiRequestReceiveStatusCreated' => date("Y-m-d H:i:s"),
|
|
'MutasiRequestReceiveStatusUserID' => 10000
|
|
);
|
|
|
|
// print_r($arr_request_status);
|
|
|
|
|
|
if($data_cek['total'] == 0)
|
|
// if(count($data_cek) == 0)
|
|
{
|
|
$sql_cek_status = "select *
|
|
from mutasirequestreceive
|
|
WHERE MutasiRequestReceiveID = ?";
|
|
|
|
$qry_cek_status = $this->db_inventory->query($sql_cek_status,[
|
|
$v['MutasiRequestResponMutasiRequestReceiveID']
|
|
]);
|
|
if(!$qry_cek_status){
|
|
$arr_e = [
|
|
"msg" => "select cek status mutasirequestreceive error",
|
|
"error" => $this->db_inventory->error()['message'],
|
|
"lastquery" => $this->db_inventory->last_query()
|
|
];
|
|
$this->sys_error_db($arr_e);
|
|
exit;
|
|
}
|
|
|
|
$data_status = $qry_cek_status->row_array();
|
|
if($data_status['MutasiRequestReceiveStatus'] != "D") {
|
|
$qty = intval($v['MutasiRequestResponReceive']);
|
|
$sql = "UPDATE mutasirequestreceive SET
|
|
MutasiRequestReceiveReceiveQty = MutasiRequestReceiveReceiveQty + $qty,
|
|
MutasiRequestReceiveStatus = ?
|
|
WHERE
|
|
MutasiRequestReceiveID = ?";
|
|
$qry = $this->db_inventory->query($sql,
|
|
array(
|
|
$v['MutasiRequestResponStatus'],
|
|
$v['MutasiRequestResponMutasiRequestReceiveID']
|
|
)
|
|
);
|
|
|
|
if(!$qry){
|
|
$this->sys_error_db("update mutasirequestreceive error : ". $this->db_inventory->last_query());
|
|
exit;
|
|
}
|
|
}
|
|
|
|
$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;
|
|
}
|
|
|
|
// masuk if
|
|
$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;
|
|
}
|
|
// masuk if
|
|
|
|
$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("select mutasidetail error : ". $this->db_inventory->last_query());
|
|
exit;
|
|
}
|
|
|
|
// masuk if
|
|
$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);
|
|
// masuk if
|
|
|
|
}
|
|
|
|
|
|
// end
|
|
|
|
// // masuk if
|
|
// $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;
|
|
// }
|
|
// // masuk if
|
|
|
|
// masuk if
|
|
// $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;
|
|
// }
|
|
// masuk if
|
|
|
|
// // masuk if
|
|
// $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);
|
|
// // masuk if
|
|
|
|
$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);
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
}
|