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 //find all shippement on order origin
$order = new Commande($this->db); $order = new Commande($this->db);
$ret=$order->fetch($this->origin_id); $ret=$order->fetch($object->origin_id);
if ($ret<0) { if ($ret<0) {
$this->error=$order->error; $this->errors=$order->errors; $this->error=$order->error; $this->errors=$order->errors;
return $ret; return $ret;
} }
var_dump($order);
exit;
$ret=$order->fetchObjectLinked($order->id,'commande',null,'shipping'); $ret=$order->fetchObjectLinked($order->id,'commande',null,'shipping');
if ($ret<0) { if ($ret<0) {
$this->error=$order->error; $this->errors=$order->errors; $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 //Build array of quantity shipped by product for an order
if (is_array($order->linkedObjects) && count($order->linkedObjects)>0) { if (is_array($order->linkedObjects) && count($order->linkedObjects)>0) {
foreach($order->linkedObjects as $shipping) { foreach($order->linkedObjects as $type=>$shipping_array) {
if (is_array($shipping->lines) && count($shipping->lines)>0) { if ($type=='shipping' && is_array($shipping_array) && count($shipping_array)>0) {
foreach($shipping->lines as $shippingline) { foreach ($shipping_array as $shipping) {
$qtyshipped[$shippingline->fk_product]+=$shippingline->qty; 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; $qtyordred[$orderline->fk_product]+=$orderline->qty;
} }
} }
dol_syslog(var_export($qtyordred,true)); //dol_syslog(var_export($qtyordred,true),LOG_DEBUG);
dol_syslog(var_export($qtyshipped,true)); //dol_syslog(var_export($qtyshipped,true),LOG_DEBUG);
//Compare array //Compare array
$diff_array=array_diff_assoc($qtyordred,$qtyshipped); $diff_array=array_diff_assoc($qtyordred,$qtyshipped);
if (count($diff_array)==0) { if (count($diff_array)==0) {
//No diff => mean everythings is shipped //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) { if ($ret<0) {
$this->error=$object->error; $this->errors=$object->errors; $this->error=$object->error; $this->errors=$object->errors;
return $ret; return $ret;