|
@@ -261,11 +261,44 @@ if (isset($_GET['order_assoc'])) {
|
|
|
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)
|
|
|
+ ON (ee.sourcetype="propal" AND ee.fk_target=o.rowid AND ee.targettype="commande")
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'propal` p
|
|
|
- ON (ee.targettype="propal" AND p.rowid=ee.fk_target)
|
|
|
- OR (ee.sourcetype="propal" AND p.rowid=ee.fk_source)
|
|
|
+ ON p.rowid=ee.fk_source
|
|
|
+
|
|
|
+ LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact` ep
|
|
|
+ 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=o.fk_soc AND ap.elementtype="propal" AND ap.fk_element=p.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()) {
|
|
|
+ if (empty($row['p_rowid']))
|
|
|
+ continue;
|
|
|
+ $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 AND ee.targettype="propal")
|
|
|
+ LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'propal` p
|
|
|
+ ON p.rowid=ee.fk_target
|
|
|
|
|
|
LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact` ep
|
|
|
ON ep.element_id=p.rowid AND ep.fk_c_type_contact IN ('.implode(',', array_keys($contacts['propal'])).')
|
|
@@ -283,6 +316,12 @@ if (isset($_GET['order_assoc'])) {
|
|
|
$q = DB::o_select($sql);
|
|
|
var_dump($q);
|
|
|
while($row=$q->fetch_assoc()) {
|
|
|
+ if (empty($row['p_rowid']))
|
|
|
+ continue;
|
|
|
+ foreach(['p_actioncom_fk_user', 'p_actioncom_fk_user_nb', 'ep_fk_user'] as $i) {
|
|
|
+ if (empty($row[$i]))
|
|
|
+ unset($row[$i]);
|
|
|
+ }
|
|
|
$list[$row['o_rowid']] = array_merge($list[$row['o_rowid']], $row);
|
|
|
}
|
|
|
|
|
@@ -293,7 +332,7 @@ if (isset($_GET['order_assoc'])) {
|
|
|
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)
|
|
|
+ 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 (isset($row[$k]) && $row[$k]>0)
|
|
|
$u[] = $row[$k];
|
|
|
foreach(['p_actioncom_fk_user', 'o_actioncom_fk_user'] as $k) {
|
|
|
if (!empty($row[$k])) {
|