29 require
'../main.inc.php';
30 require_once DOL_DOCUMENT_ROOT.
'/bom/class/bom.class.php';
31 require_once DOL_DOCUMENT_ROOT.
'/mrp/class/mo.class.php';
36 $hookmanager->initHooks(array(
'mrpindex'));
39 $langs->loadLangs(array(
"companies",
"mrp"));
49 $staticbom =
new BOM($db);
50 $staticmo =
new Mo($db);
57 print
'<div class="fichecenter"><div class="fichethirdleft">';
64 if ($conf->use_javascript_ajax) {
65 $sql =
"SELECT COUNT(t.rowid) as nb, status";
66 $sql .=
" FROM ".MAIN_DB_PREFIX.
"mrp_mo as t";
67 $sql .=
" GROUP BY t.status";
68 $sql .=
" ORDER BY t.status ASC";
72 $num = $db->num_rows(
$resql);
76 $dataseries = array();
77 $colorseries = array();
80 include DOL_DOCUMENT_ROOT.
'/theme/'.$conf->theme.
'/theme_vars.inc.php';
83 $obj = $db->fetch_object(
$resql);
85 $vals[$obj->status] = $obj->nb;
93 print
'<div class="div-table-responsive-no-min">';
94 print
'<table class="noborder nohover centpercent">';
95 print
'<tr class="liste_titre"><th colspan="2">'.$langs->trans(
"Statistics").
' - '.$langs->trans(
"ManufacturingOrder").
'</th></tr>'.
"\n";
96 $listofstatus = array(0, 1, 2, 3, 9);
97 foreach ($listofstatus as $status) {
98 $dataseries[] = array($staticmo->LibStatut($status, 1), (isset($vals[$status]) ? (
int) $vals[$status] : 0));
99 if ($status == Mo::STATUS_DRAFT) {
100 $colorseries[$status] =
'-'.$badgeStatus0;
102 if ($status == Mo::STATUS_VALIDATED) {
103 $colorseries[$status] = $badgeStatus1;
105 if ($status == Mo::STATUS_INPROGRESS) {
106 $colorseries[$status] = $badgeStatus4;
108 if ($status == Mo::STATUS_PRODUCED) {
109 $colorseries[$status] = $badgeStatus6;
111 if ($status == Mo::STATUS_CANCELED) {
112 $colorseries[$status] = $badgeStatus9;
115 if (empty($conf->use_javascript_ajax)) {
116 print
'<tr class="oddeven">';
117 print
'<td>'.$staticmo->LibStatut($status, 0).
'</td>';
118 print
'<td class="right"><a href="list.php?statut='.$status.
'">'.(isset($vals[$status]) ? $vals[$status] : 0).
'</a></td>';
122 if ($conf->use_javascript_ajax) {
123 print
'<tr><td class="center" colspan="2">';
125 include_once DOL_DOCUMENT_ROOT.
'/core/class/dolgraph.class.php';
127 $dolgraph->SetData($dataseries);
128 $dolgraph->SetDataColor(array_values($colorseries));
129 $dolgraph->setShowLegend(2);
130 $dolgraph->setShowPercent(1);
131 $dolgraph->SetType(array(
'pie'));
132 $dolgraph->SetHeight(
'200');
133 $dolgraph->draw(
'idgraphstatus');
134 print $dolgraph->show($totalnb ? 0 : 1);
150 print
'</div><div class="fichetwothirdright">';
158 $sql =
"SELECT a.rowid, a.status, a.ref, a.tms as datem, a.status, a.fk_product";
159 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bom_bom as a";
160 $sql .=
" WHERE a.entity IN (".getEntity(
'bom').
")";
161 $sql .= $db->order(
"a.tms",
"DESC");
162 $sql .= $db->plimit($max, 0);
164 $resql = $db->query($sql);
166 print
'<div class="div-table-responsive-no-min">';
167 print
'<table class="noborder centpercent">';
168 print
'<tr class="liste_titre">';
169 print
'<th colspan="4">'.$langs->trans(
"LatestBOMModified", $max).
'</th></tr>';
171 $num = $db->num_rows(
$resql);
175 $obj = $db->fetch_object(
$resql);
177 $staticbom->id = $obj->rowid;
178 $staticbom->ref = $obj->ref;
179 $staticbom->fk_product = $obj->fk_product;
180 $staticbom->date_modification = $obj->datem;
181 $staticbom->status = $obj->status;
183 print
'<tr class="oddeven">';
184 print
'<td>'.$staticbom->getNomUrl(1, 32).
'</td>';
185 print
'<td>'.dol_print_date($db->jdate($obj->datem),
'dayhour').
'</td>';
186 print
'<td class="right">'.$staticbom->getLibStatut(3).
'</td>';
191 print
'<tr class="oddeven">';
192 print
'<td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
195 print
"</table></div>";
207 $sql =
"SELECT a.rowid, a.status, a.ref, a.tms as datem, a.status";
208 $sql .=
" FROM ".MAIN_DB_PREFIX.
"mrp_mo as a";
209 $sql .=
" WHERE a.entity IN (".getEntity(
'mo').
")";
210 $sql .= $db->order(
"a.tms",
"DESC");
211 $sql .= $db->plimit($max, 0);
213 $resql = $db->query($sql);
215 print
'<div class="div-table-responsive-no-min">';
216 print
'<table class="noborder centpercent">';
217 print
'<tr class="liste_titre">';
218 print
'<th colspan="4">'.$langs->trans(
"LatestMOModified", $max).
'</th></tr>';
220 $num = $db->num_rows(
$resql);
224 $obj = $db->fetch_object(
$resql);
226 $staticmo->id = $obj->rowid;
227 $staticmo->ref = $obj->ref;
228 $staticmo->date_modification = $obj->datem;
229 $staticmo->status = $obj->status;
231 print
'<tr class="oddeven">';
232 print
'<td>'.$staticmo->getNomUrl(1, 32).
'</td>';
233 print
'<td>'.dol_print_date($db->jdate($obj->datem),
'dayhour').
'</td>';
234 print
'<td class="right">'.$staticmo->getLibStatut(3).
'</td>';
239 print
'<tr class="oddeven">';
240 print
'<td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
243 print
"</table></div>";
249 print
'</div></div>';
255 $reshook = $hookmanager->executeHooks(
'dashboardMRP', $parameters);