finish BOM stat referent object
This commit is contained in:
parent
4bf428fbf8
commit
74155a49be
@ -346,6 +346,7 @@ function product_lot_admin_prepare_head()
|
||||
function show_stats_for_company($product, $socid)
|
||||
{
|
||||
global $conf, $langs, $user, $db;
|
||||
$form = new Form($db);
|
||||
|
||||
$nblines = 0;
|
||||
|
||||
@ -366,11 +367,20 @@ function show_stats_for_company($product, $socid)
|
||||
print '<tr><td>';
|
||||
print '<a href="mo.php?id='.$product->id.'">'.img_object('', 'mrp').' '.$langs->trans("MO").'</a>';
|
||||
print '</td><td class="right">';
|
||||
print $product->stats_mo['customers'];
|
||||
print $form->textwithpicto($product->stats_mo['customers_toconsume'],$langs->trans("ToConsume"));
|
||||
print $form->textwithpicto($product->stats_mo['customers_consumed'],$langs->trans("QtyAlreadyConsumed"));
|
||||
print $form->textwithpicto($product->stats_mo['customers_toproduce'],$langs->trans("QtyToProduce"));
|
||||
print $form->textwithpicto($product->stats_mo['customers_produced'],$langs->trans("QtyAlreadyProduced"));
|
||||
print '</td><td class="right">';
|
||||
print $product->stats_mo['nb'];
|
||||
print $form->textwithpicto($product->stats_mo['nb_toconsume'],$langs->trans("ToConsume"));
|
||||
print $form->textwithpicto($product->stats_mo['nb_consumed'],$langs->trans("QtyAlreadyConsumed"));
|
||||
print $form->textwithpicto($product->stats_mo['nb_toproduce'],$langs->trans("QtyToProduce"));
|
||||
print $form->textwithpicto($product->stats_mo['nb_produced'],$langs->trans("QtyAlreadyProduced"));
|
||||
print '</td><td class="right">';
|
||||
print $product->stats_mo['qty'];
|
||||
print $form->textwithpicto($product->stats_mo['qty_toconsume'],$langs->trans("ToConsume"));
|
||||
print $form->textwithpicto($product->stats_mo['qty_consumed'],$langs->trans("QtyAlreadyConsumed"));
|
||||
print $form->textwithpicto($product->stats_mo['qty_toproduce'],$langs->trans("QtyToProduce"));
|
||||
print $form->textwithpicto($product->stats_mo['qty_produced'],$langs->trans("QtyAlreadyProduced"));
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
@ -2366,38 +2366,52 @@ class Product extends CommonObject
|
||||
*/
|
||||
public function load_stats_mo($socid = 0) {
|
||||
// phpcs:enable
|
||||
global $conf, $user, $hookmanager;
|
||||
global $user, $hookmanager;
|
||||
|
||||
$sql = "SELECT COUNT(DISTINCT c.fk_soc) as nb_customers, COUNT(DISTINCT c.rowid) as nb,";
|
||||
$sql .= " SUM(c.qty) as qty";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."mrp_mo as c";
|
||||
if (!$user->rights->societe->client->voir && !$socid) {
|
||||
$sql .= "INNER JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON sc.fk_soc=c.fk_soc AND sc.fk_user = ".$user->id;
|
||||
}
|
||||
$sql .= " WHERE ";
|
||||
$sql .= " c.entity IN (".getEntity('mo').")";
|
||||
$error=0;
|
||||
|
||||
$sql .= " AND c.fk_product =".$this->id;
|
||||
if ($socid > 0) {
|
||||
$sql .= " AND c.fk_soc = ".$socid;
|
||||
foreach(array('toconsume','consumed','toproduce','produced') as $role) {
|
||||
$this->stats_mo['customers_'.$role] = 0;
|
||||
$this->stats_mo['nb_'.$role] = 0;
|
||||
$this->stats_mo['qty_'.$role] = 0;
|
||||
|
||||
$sql = "SELECT COUNT(DISTINCT c.fk_soc) as nb_customers, COUNT(DISTINCT c.rowid) as nb,";
|
||||
$sql .= " SUM(mp.qty) as qty";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."mrp_mo as c";
|
||||
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."mrp_production as mp ON mp.fk_mo=c.rowid";
|
||||
if (!$user->rights->societe->client->voir && !$socid) {
|
||||
$sql .= "INNER JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON sc.fk_soc=c.fk_soc AND sc.fk_user = ".$user->id;
|
||||
}
|
||||
$sql .= " WHERE ";
|
||||
$sql .= " c.entity IN (".getEntity('mo').")";
|
||||
|
||||
$sql .= " AND mp.fk_product =".$this->id;
|
||||
$sql .= " AND mp.role ='".$role."'";
|
||||
if ($socid > 0) {
|
||||
$sql .= " AND c.fk_soc = ".$socid;
|
||||
}
|
||||
|
||||
$result = $this->db->query($sql);
|
||||
if ($result) {
|
||||
$obj = $this->db->fetch_object($result);
|
||||
$this->stats_mo['customers_'.$role] = $obj->nb_customers ? $obj->nb_customers : 0;
|
||||
$this->stats_mo['nb_'.$role] = $obj->nb ? $obj->nb : 0;
|
||||
$this->stats_mo['qty_'.$role] = $obj->qty ? $obj->qty : 0;
|
||||
} else {
|
||||
$this->error = $this->db->error();
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
|
||||
$result = $this->db->query($sql);
|
||||
if ($result) {
|
||||
$obj = $this->db->fetch_object($result);
|
||||
$this->stats_mo['customers'] = $obj->nb_customers ? $obj->nb_customers : 0;
|
||||
$this->stats_mo['nb'] = $obj->nb;
|
||||
$this->stats_mo['qty'] = $obj->qty ? $obj->qty : 0;
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$reshook = $hookmanager->executeHooks('loadStatsCustomerProposal', $parameters, $this, $action);
|
||||
if ($reshook > 0) $this->stats_mo = $hookmanager->resArray['stats_mo'];
|
||||
|
||||
return 1;
|
||||
} else {
|
||||
$this->error = $this->db->error();
|
||||
if (!empty($error)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$reshook = $hookmanager->executeHooks('loadStatsCustomerMO', $parameters, $this, $action);
|
||||
if ($reshook > 0) $this->stats_mo = $hookmanager->resArray['stats_mo'];
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
|
||||
Loading…
Reference in New Issue
Block a user