Hi Ben,
It’s not really that easy, there have been built a lot of different tables/databases and API calls already. It’s not just a simple SQL export where you can work with.
I have been trying to rebuild it, and have been getting quite far but still need some help. Is there any chance I could go on a skype call with you or someone else who can help me with this?
I am also not able to upload any php files here in this forum, it’s forbidden apparently. So I will copy the code below
Nevil
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
ini_set('memory_limit', '-1');
var_dump($argv);
if ($argc == 3) {
$thisrec = 'select * FROM nh_ProdOrderWrap where status=\'voorstel\' and sku=\''.$argv[1].'\' limit 1;';
$thisamount = $argv[2];
} else {
$thisrec = 'select * FROM nh_ProdOrderWrap where status=\'in_bestelling\' order by status,leverancier desc;';
$thisamount = 0;
};
//print($txt);
print ("***");
//require_once('config.php');
require_once('./config.php');
require_once('../dbfunctions.php');
require_once ( '../NatHeroes/initsql.php' );
require_once "MRPEasyRestClient.php";
require_once "../InventoryPlanner/InventoryPlannerClient.php";
$url = 'https://app.mrpeasy.com/rest/v1/';
$rest = new MRPEasyRestClient();
$rest->setApiKey('myAPIkey');
$rest->setAccessKey(')s e c r e t;
// setup SQL transaction
$txt = 'USE NatHeroes;';
$stmt = $dbh->prepare($txt);
$ret = $stmt->execute();
//$txt = 'select * FROM nh_ProdOrderWrap where status=\'in_bestelling\' order by status,leverancier desc;';
$stmt = $dbh->prepare($thisrec);
foreach ($dbh->query($thisrec) as $SQLrow) {
if ($thisamount<>0){ //use value from commandline
$SQLrow['Aanvullen'] = $thisamount;
}
print_r(($SQLrow));
//die("--");
$thisBooking = $SQLrow['id'];
$data = array(
'sku' => $SQLrow['sku'],
'article_id' => $SQLrow['mrp_artikelID'],
'quantity' => $SQLrow['Aanvullen'],
'assigned_id' => '1',
'site_id' => '1');
print ('CreateManOrder:'.$data['sku'].':' .$data['article_id'].':' .$data['quantity'].':'
.$data['assigned_id'].':' .$data['site_id']."\n");
$leverancier = $SQLrow['Leverancier'];
if (strtoupper($leverancier) == 'NATURAL HEROES') {
print("Insert into mrp:\n");
$error_insertingInMrp = '';
$man_ord_id = MRPcreateManOrder($rest, $url, $data);
if (!empty($man_ord_id->errors)){
$error=$man_ord_id->errors[0]->error;
$error_insertingInMrp = "Error: MRP: ".$error ;
};
$tabledata = ReadMrpTable($rest,$url,'manufacturing-orders?man_ord_id='.$man_ord_id);
$NewMO=$tabledata[0]->code;
print_r($NewMO);
$invPlanPO = $NewMO;}
else {
// bepaal PO omdat er geen MO is
$txt = 'select `NatHeroes`.`fnGetLasPurchOrdnr` ();';
$stmt = $dbh->prepare($txt);
$ret = $dbh->query($txt);
foreach ($dbh->query($txt) as $SQLret) { $invPlanPO = $SQLret[0]; }
$temp = ++$invPlanPO; $invPlanPO = $temp;
$NewMO='';
};
//print_r($data);
$newStatus='in_bestelling';
$data = array(
'purchase-order'=>
array(
'addMySKUs'=> true,
'addBarcodes'=> true,
'status'=> 'open',
'warehouse' => 'c955_330498075',
'reference' => $invPlanPO,
'expected_date' => $SQLrow['Verwachte Lever Datum'],
'vendor' => $SQLrow['Leverancier'],
'items' => array(
'0' => array(
'id' => $SQLrow['id'],
'sku' => $SQLrow['sku'],
'title' => $SQLrow['Omschrijving'],
'replenishment' => $SQLrow['Aanvullen'],
'barcode' => $SQLrow['barcode'],
'cost_price' => $SQLrow['cost_price']
)
)
)
);
print_r($data);
print("Insert into InvPlan:\n");
$result=InvPlanPostPO($restI, $urlI, $data);
//print_r($result);
$tableitem = new stdClass();
array(
$tableitem->id = $SQLrow['id'],
$tableitem->sku = $SQLrow['sku'],
$tableitem->title = $SQLrow['Omschrijving'],
$tableitem->replenishment = $SQLrow['Aanvullen'],
$tableitem->werkopdrachtnr = $NewMO,
$tableitem->inkoopopdrachtnr = $invPlanPO,
$tableitem->status = ($error_insertingInMrp != '' ? $error_insertingInMrp : 'aangemaakt'),
$tableitem->opdrachtdatum = date('Y-m-d H:i:s'),
$tableitem->opdracht_door = 'webtool',
$tableitem->verw_levdatum = date('Y-m-d H:i:s',$SQLrow['Verwachte Lever Datum']),
$tableitem->datum_opgeleverd = NULL,
$tableitem->afgehandel_door = NULL,
$tableitem->aantal_geproduceerd = NULL,
$tableitem->vendor_levering =
$tableitem->warehouse = $SQLrow['warehouse'],
$tableitem->lead_time = $SQLrow['lead_time'],
$tableitem->review_period = $SQLrow['review_period'],
$tableitem->under_value = $SQLrow['under_value'],
$tableitem->oos = $SQLrow['Uitverkocht'],
$tableitem->vendor_conn = $SQLrow['vendor_conn'],
$tableitem->vendor_rule = $SQLrow['vendor_rule'],
$tableitem->mrp_artikelID = $SQLrow['mrp_artikelID'],
$tableitem->cost_price = $SQLrow['cost_price'],
$tableitem->barcode = $SQLrow['barcode']
);
$SQLinsert = db_build_insert('nh_productieOrders',$tableitem);
print("\n".$SQLinsert."\n");
$stmt = $dbh->prepare($SQLinsert);
$ret = $stmt->execute();
}
//print(json_encode($data));
//die("--");
//get MO-text
//$a = ReadMrpMan_ordersIntoDB($rest,$url,'manufacturing-orders',$dbh,'NatHeroes','MRPmanufacturing_orders')
print("Done\n");
?>