|
@@ -22,7 +22,7 @@ $comm_map_pd = array_flip($comm_map_dp);
|
|
|
$map_pd = array_flip($map_dp);
|
|
|
|
|
|
$nbmax = isset($_GET['nbmax']) && is_numeric($_GET['nbmax']) && $_GET['nbmax']==(int)$_GET['nbmax'] && $_GET['nbmax']>=0 ?$_GET['nbmax'] :5000;
|
|
|
-$limit = $nbmax!=5000 ?$nbmax :0;
|
|
|
+$limit = $nbmax;
|
|
|
|
|
|
$sql_d_fk_commerciaux = implode(',', $comm_map_pd);
|
|
|
$sql_p_fk_commerciaux = implode(',', $comm_map_dp);
|
|
@@ -198,30 +198,68 @@ if (isset($_GET['propal_assoc'])) {
|
|
|
if (isset($_GET['order_assoc'])) {
|
|
|
$sql = 'SELECT o.rowid o_rowid, o.ref o_ref, o.fk_user_author o_fk_user_author, o.fk_user_modif o_fk_user_modif, o.fk_user_valid o_fk_user_valid,
|
|
|
s.rowid, s.nom, s.email, GROUP_CONCAT(DISTINCT su.fk_user SEPARATOR ",") fk_users, s.fk_user_creat, s.fk_user_modif,
|
|
|
- p.rowid p_rowid, p.ref p_ref, p.fk_user_author p_fk_user_author, p.fk_user_modif p_fk_user_modif, p.fk_user_valid p_fk_user_valid,
|
|
|
- GROUP_CONCAT(DISTINCT ao.fk_user_action SEPARATOR ",") o_actioncom_fk_user, COUNT(DISTINCT ao.fk_user_action) o_actioncom_fk_user_nb, GROUP_CONCAT(DISTINCT ps_oh.id_employee SEPARATOR ",") o_history_ids_employee,
|
|
|
- GROUP_CONCAT(DISTINCT ap.fk_user_action SEPARATOR ",") p_actioncom_fk_user, COUNT(DISTINCT ap.fk_user_action) p_actioncom_fk_user_nb,
|
|
|
- GROUP_CONCAT(DISTINCT ep.fk_socpeople) ep_fk_user
|
|
|
+ GROUP_CONCAT(DISTINCT ao.fk_user_action SEPARATOR ",") o_actioncom_fk_user, COUNT(DISTINCT ao.fk_user_action) o_actioncom_fk_user_nb
|
|
|
|
|
|
FROM `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'commande` o
|
|
|
- INNER JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'societe` s
|
|
|
- ON s.rowid=o.fk_soc
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact` e
|
|
|
ON e.element_id=o.rowid AND e.fk_c_type_contact IN ('.implode(',', array_keys($contacts['commande'])).')
|
|
|
|
|
|
+ LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'societe` s
|
|
|
+ ON s.rowid=o.fk_soc
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'societe_commerciaux` su
|
|
|
ON su.fk_soc=s.rowid
|
|
|
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'actioncomm` ao
|
|
|
ON ao.fk_soc=s.rowid AND ao.elementtype="commande" AND ao.fk_element=o.rowid
|
|
|
+
|
|
|
+ WHERE 1
|
|
|
+ AND e.fk_socpeople IS NULL
|
|
|
+
|
|
|
+ GROUP BY o.rowid
|
|
|
+ ORDER BY o.rowid DESC'
|
|
|
+ .($limit ?' LIMIT '.$limit :'');
|
|
|
+ pre_sql($sql);
|
|
|
+ $q = DB::o_select($sql);
|
|
|
+ var_dump($q);
|
|
|
+ while($row=$q->fetch_assoc()) {
|
|
|
+ $list[$row['o_rowid']] = $row;
|
|
|
+ }
|
|
|
+
|
|
|
+ $sql = 'SELECT o.rowid o_rowid, GROUP_CONCAT(DISTINCT ps_oh.id_employee SEPARATOR ",") o_history_ids_employee
|
|
|
|
|
|
+ FROM `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'commande` o
|
|
|
+ LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact` e
|
|
|
+ ON e.element_id=o.rowid AND e.fk_c_type_contact IN ('.implode(',', array_keys($contacts['commande'])).')
|
|
|
+
|
|
|
LEFT JOIN `'.DB_BASE.'`._objects_d o_d
|
|
|
ON o_d.oid=o.rowid AND o_d.tid=14
|
|
|
LEFT JOIN `'.DB_BASE.'`._objects_p o_p
|
|
|
ON o_p.id=o_d.id
|
|
|
LEFT JOIN `'.DB_P_BASE.'`.ps_order_history ps_oh
|
|
|
ON ps_oh.id_order=o_p.oid AND ps_oh.id_employee IN ('.$sql_p_fk_users.')
|
|
|
+
|
|
|
+ WHERE 1
|
|
|
+ AND e.fk_socpeople IS NULL
|
|
|
|
|
|
+ GROUP BY o.rowid
|
|
|
+ ORDER BY o.rowid DESC'
|
|
|
+ .($limit ?' LIMIT '.$limit :'');
|
|
|
+ pre_sql($sql);
|
|
|
+ $q = DB::o_select($sql);
|
|
|
+ var_dump($q);
|
|
|
+ while($row=$q->fetch_assoc()) {
|
|
|
+ $list[$row['o_rowid']] = array_merge($list[$row['o_rowid']], $row);
|
|
|
+ }
|
|
|
+
|
|
|
+ $sql = 'SELECT o.rowid o_rowid,
|
|
|
+ p.rowid p_rowid, p.ref p_ref, p.fk_user_author p_fk_user_author, p.fk_user_modif p_fk_user_modif, p.fk_user_valid p_fk_user_valid,
|
|
|
+ GROUP_CONCAT(DISTINCT ap.fk_user_action SEPARATOR ",") p_actioncom_fk_user, COUNT(DISTINCT ap.fk_user_action) p_actioncom_fk_user_nb,
|
|
|
+ GROUP_CONCAT(DISTINCT ep.fk_socpeople) ep_fk_user
|
|
|
+
|
|
|
+ FROM `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'commande` o
|
|
|
+ LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact` e
|
|
|
+ ON e.element_id=o.rowid AND e.fk_c_type_contact IN ('.implode(',', array_keys($contacts['commande'])).')
|
|
|
+
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_element` ee
|
|
|
ON (ee.sourcetype="commande" AND ee.fk_source=o.rowid)
|
|
|
OR (ee.targettype="commande" AND ee.fk_target=o.rowid)
|
|
@@ -233,7 +271,7 @@ if (isset($_GET['order_assoc'])) {
|
|
|
ON ep.element_id=p.rowid AND ep.fk_c_type_contact IN ('.implode(',', array_keys($contacts['propal'])).')
|
|
|
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'actioncomm` ap
|
|
|
- ON ap.fk_soc=s.rowid AND ap.elementtype="propal" AND ap.fk_element=p.rowid
|
|
|
+ ON ap.fk_soc=o.fk_soc AND ap.elementtype="propal" AND ap.fk_element=p.rowid
|
|
|
|
|
|
WHERE 1
|
|
|
AND e.fk_socpeople IS NULL
|
|
@@ -241,19 +279,18 @@ if (isset($_GET['order_assoc'])) {
|
|
|
GROUP BY o.rowid
|
|
|
ORDER BY o.rowid DESC'
|
|
|
.($limit ?' LIMIT '.$limit :'');
|
|
|
- $q = DB::o_select($sql);
|
|
|
-
|
|
|
pre_sql($sql);
|
|
|
+ $q = DB::o_select($sql);
|
|
|
var_dump($q);
|
|
|
+ while($row=$q->fetch_assoc()) {
|
|
|
+ $list[$row['o_rowid']] = array_merge($list[$row['o_rowid']], $row);
|
|
|
+ }
|
|
|
|
|
|
- echo '<p>TOTAL : '.mysqli_num_rows($q).'</p>';
|
|
|
+ echo '<p>TOTAL : '.count($list).'</p>';
|
|
|
|
|
|
$ok = 0;
|
|
|
$nb = 0;
|
|
|
- while($row=$q->fetch_assoc()) {
|
|
|
- $nb++;
|
|
|
- if ($nb>$nbmax)
|
|
|
- break;
|
|
|
+ foreach($list as $row) {
|
|
|
pre_dump($row);
|
|
|
$u = [];
|
|
|
foreach(['p_fk_user_author', 'p_fk_user_modif', 'p_fk_user_valid', 'o_fk_user_author', 'o_fk_user_modif', 'o_fk_user_valid'] as $k) if ($row[$k]>0)
|