|
@@ -21,6 +21,8 @@ while($row = $q->fetch_assoc()) {
|
|
|
$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;
|
|
|
+
|
|
|
$sql_d_fk_commerciaux = implode(',', $comm_map_pd);
|
|
|
$sql_p_fk_commerciaux = implode(',', $comm_map_dp);
|
|
|
$sql_d_fk_users = implode(',', $map_pd);
|
|
@@ -75,7 +77,6 @@ if (isset($_GET['propal_assoc'])) {
|
|
|
var_dump($q);
|
|
|
|
|
|
echo '<p>TOTAL : '.mysqli_num_rows($q).'</p>';
|
|
|
- $nbmax = isset($_GET['nbmax']) && is_numeric($_GET['nbmax']) && $_GET['nbmax']==(int)$_GET['nbmax'] && $_GET['nbmax']>=1000 ?$_GET['nbmax'] :5000;
|
|
|
|
|
|
$ok = 0;
|
|
|
$nb = 0;
|
|
@@ -149,7 +150,6 @@ if (isset($_GET['propal_assoc'])) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // Afficher choix pour spécification à la main
|
|
|
else {
|
|
|
// On regarde les commerciaux associés au client
|
|
|
if (!empty($row['fk_users'])) {
|
|
@@ -169,8 +169,11 @@ if (isset($_GET['propal_assoc'])) {
|
|
|
if (isset($_GET['go']))
|
|
|
DB::d_update($sql);
|
|
|
}
|
|
|
- foreach($u2_save as $userid) {
|
|
|
- echo '<p>Associer => <a href="?t=customer&propal_assoc&map['.$row['p_rowid'].']='.$userid.'">#'.$userid.' - '.$users[$userid]['firstname'].'</a></p>';
|
|
|
+ // Afficher choix pour spécification à la main
|
|
|
+ else {
|
|
|
+ foreach($u2_save as $userid) {
|
|
|
+ echo '<p>Associer => <a href="?t=customer&propal_assoc&map['.$row['p_rowid'].']='.$userid.'">#'.$userid.' - '.$users[$userid]['firstname'].'</a></p>';
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -195,7 +198,8 @@ if (isset($_GET['order_assoc'])) {
|
|
|
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 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
|
|
|
INNER JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'societe` s
|
|
@@ -222,6 +226,9 @@ if (isset($_GET['order_assoc'])) {
|
|
|
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)
|
|
|
+
|
|
|
+ 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=s.rowid AND ap.elementtype="propal" AND ap.fk_element=p.rowid
|
|
@@ -229,14 +236,14 @@ if (isset($_GET['order_assoc'])) {
|
|
|
WHERE 1
|
|
|
AND e.fk_socpeople IS NULL
|
|
|
|
|
|
- GROUP BY o.rowid';
|
|
|
+ GROUP BY o.rowid
|
|
|
+ ORDER BY o.rowid DESC';
|
|
|
$q = DB::o_select($sql);
|
|
|
|
|
|
pre_sql($sql);
|
|
|
var_dump($q);
|
|
|
|
|
|
echo '<p>TOTAL : '.mysqli_num_rows($q).'</p>';
|
|
|
- $nbmax = 5000;
|
|
|
|
|
|
$ok = 0;
|
|
|
$nb = 0;
|
|
@@ -270,8 +277,19 @@ if (isset($_GET['order_assoc'])) {
|
|
|
}
|
|
|
$u2_save = $u2;
|
|
|
pre_dump($u2);
|
|
|
- // Si un seul commercial sur le devis, on l'assigne
|
|
|
- if (count($u2) == 1) {
|
|
|
+ // Si un seul commercial affecté proprement sur le devis, on l'assigne
|
|
|
+ if (!empty($row['ep_fk_user']) && count($ep_fk_users=explode(',', $row['ep_fk_user']))==1) {
|
|
|
+ $userid = $row['ep_fk_user'];
|
|
|
+ $sql = 'INSERT INTO `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact`
|
|
|
+ (datecreate, statut, element_id, fk_c_type_contact, fk_socpeople)
|
|
|
+ VALUES
|
|
|
+ (NOW(), 4, '.$row['o_rowid'].', '.$contact['commande'].', '.$userid.')';
|
|
|
+ pre_sql($sql);
|
|
|
+ if (isset($_GET['go']))
|
|
|
+ DB::d_update($sql);
|
|
|
+ }
|
|
|
+ // Si un seul commercial qui a travaillé sur le devis, on l'assigne
|
|
|
+ elseif (count($u2) == 1) {
|
|
|
foreach($u2 as $userid) {
|
|
|
$sql = 'INSERT INTO `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact`
|
|
|
(datecreate, statut, element_id, fk_c_type_contact, fk_socpeople)
|
|
@@ -301,7 +319,31 @@ if (isset($_GET['order_assoc'])) {
|
|
|
}
|
|
|
// Pas de commercial spécifique => on prend le premier patron
|
|
|
elseif (count($u2) == 0) {
|
|
|
- foreach($u2_save as $userid) {
|
|
|
+ if (isset($_GET['force_boss_assign'])) {
|
|
|
+ foreach($u2_save as $userid) {
|
|
|
+ $sql = 'INSERT INTO `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact`
|
|
|
+ (datecreate, statut, element_id, fk_c_type_contact, fk_socpeople)
|
|
|
+ VALUES
|
|
|
+ (NOW(), 4, '.$row['o_rowid'].', '.$contact['commande'].', '.$userid.')';
|
|
|
+ pre_sql($sql);
|
|
|
+ if (isset($_GET['go']))
|
|
|
+ DB::d_update($sql);
|
|
|
+ // On prend le permier
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ // On regarde les commerciaux associés au client
|
|
|
+ if (!empty($row['fk_users'])) {
|
|
|
+ $fk_users = explode(',', $row['fk_users']);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $fk_users = [];
|
|
|
+ }
|
|
|
+ // Si on a un seul commercial associé au tiers et qu'il est dans la liste des potentiels, on l'assigne
|
|
|
+ if (count($fk_users)==1 && in_array($fk_users[0], $u2_save)) {
|
|
|
+ $userid = $fk_users[0];
|
|
|
$sql = 'INSERT INTO `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'element_contact`
|
|
|
(datecreate, statut, element_id, fk_c_type_contact, fk_socpeople)
|
|
|
VALUES
|
|
@@ -309,14 +351,12 @@ if (isset($_GET['order_assoc'])) {
|
|
|
pre_sql($sql);
|
|
|
if (isset($_GET['go']))
|
|
|
DB::d_update($sql);
|
|
|
- // On prend le permier
|
|
|
- break;
|
|
|
}
|
|
|
- }
|
|
|
- // Afficher choix pour spécification à la main
|
|
|
- else {
|
|
|
- foreach($u2_save as $userid) {
|
|
|
- echo '<p>Associer => <a href="?t=customer&order_assoc&map['.$row['o_rowid'].']='.$userid.'">#'.$userid.' - '.$users[$userid]['firstname'].'</a></p>';
|
|
|
+ // Afficher choix pour spécification à la main
|
|
|
+ else {
|
|
|
+ foreach($u2_save as $userid) {
|
|
|
+ echo '<p>Associer => <a href="?t=customer&propal_assoc&map['.$row['p_rowid'].']='.$userid.'">#'.$userid.' - '.$users[$userid]['firstname'].'</a></p>';
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|