|
@@ -335,49 +335,18 @@ func (this *Customer) GetDeptCustomerList(dept_id, ent_id int, name, alloc, staf
|
|
|
}
|
|
|
}
|
|
|
searchValues = append(searchValues, (pageIndex-1)*pageSize, pageSize)
|
|
|
- log.Println(`SELECT GROUP_CONCAT(c.name) as staff_names,a.industry,a.createtime,a.name as customer_name,a.id as customer_id,
|
|
|
- (SELECT b.time FROM entniche_project ep INNER JOIN entniche_project_track b ON ep.id = b.project_id WHERE ep.customer_id = a.id ORDER BY b.time desc LIMIT 0,1 ) AS updatetime from
|
|
|
- (select a.name,a.id,a.createtime,a.area,a.industry FROM entniche_customer a
|
|
|
- INNER JOIN (SELECT
|
|
|
- id
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- t1.id,
|
|
|
- t1.NAME,
|
|
|
- IF( find_in_set( pid, @pids ) > 0, @pids := concat( @pids, ",", id ), 0 ) AS ischild
|
|
|
- FROM(
|
|
|
- SELECT id, pid, NAME
|
|
|
- FROM
|
|
|
- entniche_department t
|
|
|
- ORDER BY pid, id ) t1,
|
|
|
- (SELECT @pids := ?) t2 ) t3
|
|
|
- where ischild != 0
|
|
|
- or id=?
|
|
|
- ) b on (a.dept_id=b.id)
|
|
|
- WHERE `+searchSql+` order by updatetime desc limit 100000) as a
|
|
|
- LEFT JOIN entniche_user_customer b on (a.id=b.customer_id)
|
|
|
- LEFT JOIN entniche_user c on (b.user_id=c.id)
|
|
|
- GROUP BY a.id `+allocSql+` order by updatetime desc, a.createtime desc limit ?,?`, searchValues)
|
|
|
customersql = `SELECT GROUP_CONCAT(c.name) as staff_names,a.industry,a.createtime,a.name as customer_name,a.id as customer_id,
|
|
|
(SELECT b.time FROM entniche_project ep INNER JOIN entniche_project_track b ON ep.id = b.project_id WHERE ep.customer_id = a.id ORDER BY b.time desc LIMIT 0,1 ) AS updatetime from
|
|
|
(select a.name,a.id,a.createtime,a.area,a.industry FROM entniche_customer a
|
|
|
- INNER JOIN (SELECT
|
|
|
- id
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- t1.id,
|
|
|
- t1.NAME,
|
|
|
- IF( find_in_set( pid, @pids ) > 0, @pids := concat( @pids, ",", id ), 0 ) AS ischild
|
|
|
- FROM(
|
|
|
- SELECT id, pid, NAME
|
|
|
- FROM
|
|
|
- entniche_department t
|
|
|
- ORDER BY pid, id ) t1,
|
|
|
- (SELECT @pids := ?) t2 ) t3
|
|
|
- where ischild != 0
|
|
|
- or id=?
|
|
|
+ INNER JOIN (
|
|
|
+ SELECT DISTINCT
|
|
|
+ c.id
|
|
|
+ FROM
|
|
|
+ entniche_department_parent a
|
|
|
+ INNER JOIN entniche_department_user b ON (
|
|
|
+ b.dept_id = ?
|
|
|
+ OR ( a.pid = ? AND a.id = b.dept_id ))
|
|
|
+ INNER JOIN entniche_user c ON ( c.ent_id = ? AND b.user_id = c.id )
|
|
|
) b on (a.dept_id=b.id)
|
|
|
WHERE ` + searchSql + ` order by updatetime desc limit 100000) as a
|
|
|
LEFT JOIN entniche_user_customer b on (a.id=b.customer_id)
|
|
@@ -387,51 +356,19 @@ func (this *Customer) GetDeptCustomerList(dept_id, ent_id int, name, alloc, staf
|
|
|
countValue = searchValues[:len(searchValues)-2]
|
|
|
} else {
|
|
|
searchValues = append(searchValues, (pageIndex-1)*pageSize, pageSize)
|
|
|
- log.Println(`SELECT GROUP_CONCAT(c.name) as staff_names,a.industry,a.createtime,a.name as customer_name,a.id as customer_id,
|
|
|
- (SELECT b.time FROM entniche_project_track b WHERE b.customer_id = a.id ORDER BY b.time desc LIMIT 0,1 ) AS updatetime
|
|
|
- from
|
|
|
- (select a.name,a.id,a.createtime,a.area,a.industry FROM entniche_customer a
|
|
|
- INNER JOIN (SELECT
|
|
|
- id
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- t1.id,
|
|
|
- t1.NAME,
|
|
|
- IF( find_in_set( pid, @pids ) > 0, @pids := concat( @pids, ",", id ), 0 ) AS ischild
|
|
|
- FROM(
|
|
|
- SELECT id, pid, NAME
|
|
|
- FROM
|
|
|
- entniche_department t
|
|
|
- ORDER BY pid, id ) t1,
|
|
|
- (SELECT @pids := ?) t2 ) t3
|
|
|
- where ischild != 0
|
|
|
- or id=?
|
|
|
- ) b on (a.dept_id=b.id)
|
|
|
- WHERE `+searchSql+` order by updatetime desc limit ?,?) as a
|
|
|
- LEFT JOIN entniche_user_customer b on (a.id=b.customer_id)
|
|
|
- LEFT JOIN entniche_user c on (b.user_id=c.id)
|
|
|
- GROUP BY a.id order by updatetime desc, a.createtime desc`, searchValues)
|
|
|
customersql = `SELECT GROUP_CONCAT(c.name) as staff_names,a.industry,a.createtime,a.name as customer_name,a.id as customer_id,
|
|
|
(SELECT b.time FROM entniche_project_track b WHERE b.customer_id = a.id ORDER BY b.time desc LIMIT 0,1 ) AS updatetime
|
|
|
from
|
|
|
(select a.name,a.id,a.createtime,a.area,a.industry FROM entniche_customer a
|
|
|
- INNER JOIN (SELECT
|
|
|
- id
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- t1.id,
|
|
|
- t1.NAME,
|
|
|
- IF( find_in_set( pid, @pids ) > 0, @pids := concat( @pids, ",", id ), 0 ) AS ischild
|
|
|
- FROM(
|
|
|
- SELECT id, pid, NAME
|
|
|
- FROM
|
|
|
- entniche_department t
|
|
|
- ORDER BY pid, id ) t1,
|
|
|
- (SELECT @pids := ?) t2 ) t3
|
|
|
- where ischild != 0
|
|
|
- or id=?
|
|
|
+ INNER JOIN (
|
|
|
+ SELECT DISTINCT
|
|
|
+ c.id
|
|
|
+ FROM
|
|
|
+ entniche_department_parent a
|
|
|
+ INNER JOIN entniche_department_user b ON (
|
|
|
+ b.dept_id = ?
|
|
|
+ OR ( a.pid = ? AND a.id = b.dept_id ))
|
|
|
+ INNER JOIN entniche_user c ON ( c.ent_id = ? AND b.user_id = c.id )
|
|
|
) b on (a.dept_id=b.id)
|
|
|
WHERE ` + searchSql + ` order by updatetime desc limit ?,?) as a
|
|
|
LEFT JOIN entniche_user_customer b on (a.id=b.customer_id)
|