Compare commits
No commits in common. "be9f5634d02770ec3a9f99ea589094d367e9a4f3" and "19e4a8276b2f86ed28faf8ead8ed965582e844d1" have entirely different histories.
be9f5634d0
...
19e4a8276b
@ -1,111 +1,21 @@
|
|||||||
async def getNoinvitationcode(ns={}):
|
async def getNoinvitationcode(ns):
|
||||||
"""展示所有没有销售的客户"""
|
"""展示所有没有销售的客户"""
|
||||||
try:
|
db = DBPools()
|
||||||
db = DBPools()
|
async with db.sqlorContext('kboss') as sor:
|
||||||
async with db.sqlorContext('kboss') as sor:
|
orgs = await sor.R('organization', {"org_type": '0'})
|
||||||
# 获取组织信息
|
ns['del_flg'] = '0'
|
||||||
orgs = await sor.R('organization', {"org_type": '0'})
|
ns['sort'] = 'create_at desc'
|
||||||
if not orgs:
|
ns['parentid'] = orgs[0]['id']
|
||||||
return {'status': False, 'message': '未找到组织信息'}
|
datalist = []
|
||||||
|
prc = await sor.R('customer', {'del_flg': '0'})
|
||||||
# 获取目标组织ID,优先使用ns中的orgid,否则使用第一个组织的ID
|
for i in prc:
|
||||||
target_org_id = ns.get('orgid') or orgs[0]['id']
|
if not i['salemanid']:
|
||||||
|
customer_id_parentid_li = await sor.R('organization', {'id': i['customerid']})
|
||||||
# 获取分页参数
|
customer_id_parentid = customer_id_parentid_li[0]['parentid']
|
||||||
page = int(ns.get('page', 1)) # 当前页码,默认为1
|
if customer_id_parentid == ns.get('orgid'):
|
||||||
page_size = int(ns.get('size', 10)) # 每页数量,默认为10
|
datalist.append(customer_id_parentid_li[0])
|
||||||
offset = (page - 1) * page_size # 计算偏移量
|
data = {'rows':datalist}
|
||||||
|
return {'status': True, 'data': data}
|
||||||
# 获取筛选条件
|
|
||||||
orgname = ns.get('orgname', '').strip() # 组织名称
|
|
||||||
contactor_phone = ns.get('contactor_phone', '').strip() # 联系人电话
|
|
||||||
|
|
||||||
# 构建WHERE条件
|
|
||||||
where_conditions = [
|
|
||||||
"(c.salemanid IS NULL OR c.salemanid = '')",
|
|
||||||
"o.parentid = '%s'",
|
|
||||||
"c.del_flg = '0'",
|
|
||||||
"o.del_flg = '0'"
|
|
||||||
]
|
|
||||||
params = [target_org_id]
|
|
||||||
|
|
||||||
# 添加组织名称模糊查询条件
|
|
||||||
if orgname:
|
|
||||||
where_conditions.append("o.orgname LIKE '%s'")
|
|
||||||
params.append(f"%%{orgname}%%")
|
|
||||||
|
|
||||||
# 添加联系人电话条件
|
|
||||||
if contactor_phone:
|
|
||||||
where_conditions.append("o.contactor_phone LIKE '%s'")
|
|
||||||
params.append(f"%%{contactor_phone}%%")
|
|
||||||
|
|
||||||
where_clause = " AND ".join(where_conditions)
|
|
||||||
|
|
||||||
# 构建查询总数的SQL
|
|
||||||
count_sql = f"""
|
|
||||||
SELECT COUNT(*) as total
|
|
||||||
FROM customer c
|
|
||||||
JOIN organization o ON c.customerid = o.id
|
|
||||||
WHERE {where_clause}
|
|
||||||
"""
|
|
||||||
count_sql = count_sql % tuple(params)
|
|
||||||
# 执行总数查询
|
|
||||||
count_result = await sor.sqlExe(count_sql,{})
|
|
||||||
total = count_result[0]['total'] if count_result else 0
|
|
||||||
|
|
||||||
# 构建查询数据的SQL(添加分页)
|
|
||||||
data_sql = f"""
|
|
||||||
SELECT o.*
|
|
||||||
FROM customer c
|
|
||||||
JOIN organization o ON c.customerid = o.id
|
|
||||||
WHERE {where_clause}
|
|
||||||
ORDER BY o.create_at DESC
|
|
||||||
LIMIT %s OFFSET %s
|
|
||||||
"""
|
|
||||||
|
|
||||||
# 添加分页参数
|
|
||||||
params.extend([page_size, offset])
|
|
||||||
|
|
||||||
data_sql = data_sql % tuple(params)
|
|
||||||
|
|
||||||
# 执行数据查询
|
|
||||||
result = await sor.sqlExe(data_sql, {})
|
|
||||||
|
|
||||||
# 返回结果,包含分页信息
|
|
||||||
return {
|
|
||||||
'status': True,
|
|
||||||
'data': {
|
|
||||||
'rows': result
|
|
||||||
},
|
|
||||||
'pagination': {
|
|
||||||
'page': page,
|
|
||||||
'size': page_size,
|
|
||||||
'total': total
|
|
||||||
}
|
|
||||||
}
|
|
||||||
except Exception as e:
|
|
||||||
# 记录错误日志(可根据实际情况添加日志记录)
|
|
||||||
return {'status': False, 'message': f'查询失败: {str(e)}'}
|
|
||||||
|
|
||||||
|
|
||||||
# async def getNoinvitationcode(ns):
|
|
||||||
# """展示所有没有销售的客户"""
|
|
||||||
# db = DBPools()
|
|
||||||
# async with db.sqlorContext('kboss') as sor:
|
|
||||||
# orgs = await sor.R('organization', {"org_type": '0'})
|
|
||||||
# ns['del_flg'] = '0'
|
|
||||||
# ns['sort'] = 'create_at desc'
|
|
||||||
# ns['parentid'] = orgs[0]['id']
|
|
||||||
# datalist = []
|
|
||||||
# prc = await sor.R('customer', {'del_flg': '0'})
|
|
||||||
# for i in prc:
|
|
||||||
# if not i['salemanid']:
|
|
||||||
# customer_id_parentid_li = await sor.R('organization', {'id': i['customerid']})
|
|
||||||
# customer_id_parentid = customer_id_parentid_li[0]['parentid']
|
|
||||||
# if customer_id_parentid == ns.get('orgid'):
|
|
||||||
# datalist.append(customer_id_parentid_li[0])
|
|
||||||
# data = {'rows':datalist}
|
|
||||||
# return {'status': True, 'data': data}
|
|
||||||
|
|
||||||
ret = await getNoinvitationcode(params_kw)
|
ret = await getNoinvitationcode(params_kw)
|
||||||
return ret
|
return ret
|
||||||
Loading…
x
Reference in New Issue
Block a user