New FEATURE

This commit is contained in:
florian HENRY 2016-09-07 14:08:41 +02:00
parent d6be1cebcb
commit baa7aa8cd4

View File

@ -171,13 +171,11 @@ class InterfaceWorkflowManager extends DolibarrTriggers
//find all shippement on order origin
$order = new Commande($this->db);
$ret=$order->fetch($this->origin_id);
$ret=$order->fetch($object->origin_id);
if ($ret<0) {
$this->error=$order->error; $this->errors=$order->errors;
return $ret;
}
var_dump($order);
exit;
$ret=$order->fetchObjectLinked($order->id,'commande',null,'shipping');
if ($ret<0) {
$this->error=$order->error; $this->errors=$order->errors;
@ -185,11 +183,15 @@ class InterfaceWorkflowManager extends DolibarrTriggers
}
//Build array of quantity shipped by product for an order
if (is_array($order->linkedObjects) && count($order->linkedObjects)>0) {
foreach($order->linkedObjects as $shipping) {
if (is_array($shipping->lines) && count($shipping->lines)>0) {
foreach($shipping->lines as $shippingline) {
$qtyshipped[$shippingline->fk_product]+=$shippingline->qty;
}
foreach($order->linkedObjects as $type=>$shipping_array) {
if ($type=='shipping' && is_array($shipping_array) && count($shipping_array)>0) {
foreach ($shipping_array as $shipping) {
if (is_array($shipping->lines) && count($shipping->lines)>0) {
foreach($shipping->lines as $shippingline) {
$qtyshipped[$shippingline->fk_product]+=$shippingline->qty;
}
}
}
}
}
}
@ -199,13 +201,13 @@ class InterfaceWorkflowManager extends DolibarrTriggers
$qtyordred[$orderline->fk_product]+=$orderline->qty;
}
}
dol_syslog(var_export($qtyordred,true));
dol_syslog(var_export($qtyshipped,true));
//dol_syslog(var_export($qtyordred,true),LOG_DEBUG);
//dol_syslog(var_export($qtyshipped,true),LOG_DEBUG);
//Compare array
$diff_array=array_diff_assoc($qtyordred,$qtyshipped);
if (count($diff_array)==0) {
//No diff => mean everythings is shipped
$ret=$object->setStatut(Commande::STATUS_CLOSED, $this->origin_id, $this->origin);
$ret=$object->setStatut(Commande::STATUS_CLOSED, $object->origin_id, $object->origin);
if ($ret<0) {
$this->error=$object->error; $this->errors=$object->errors;
return $ret;