提交 54e8d1b3 authored 作者: zhang wei's avatar zhang wei

fix:获取经销商发货数据

上级 984dac7b
......@@ -7599,3 +7599,77 @@ def bonusPoints_list(request):
return render(request, 'obj/list_points.html', data)
def user_stk_query(request,user_id):
us = User.objects.get(id=int(user_id))
dt = datetime.datetime.now().strftime('%Y-%m-%d')
dt_fr = request.GET.get('date_fr', dt)
dt_to = request.GET.get('date_to', dt)
cid = us.company_id
cur = connection.cursor()
cs = Company.objects.get(id=int(cid))
aid=cs.ancestor_id
tb_stk = "stkdetails.c" + str(aid)
sWhere = "company_id=" + str(cid) + " and vtype_id = 2 and (dt between '"+dt_fr+"' and '"+dt_to+"')"
s=f"""
select A.batch_id ,to_char(b.tm,'yyyy-mm-dd HH24:MI:SS'),
(select name from inventory_voucher where id =a.vtype_id),
b.code,
(select name from product_product where id=a.product_id),
(select name from company_company where id = b.company_id),
(select name from company_company where id = b.company_to_id),
(select username from company_user where id = b.user_id),
x,h,p
from(
SELECT
batch_id,
product_id,
vtype_id,
SUM ( x ) x,
SUM ( h ) h,
SUM ( P ) P
FROM
(
SELECT
batch_id,
product_id,
vtype_id,
label_pkg,
CASE
WHEN label_pkg = 3 THEN
1 ELSE 0
END x,
CASE
WHEN label_pkg = 2 THEN
1 ELSE 0
END h,
CASE
WHEN label_pkg = 1 THEN
1 ELSE 0
END P
FROM
{tb_stk} WHERE {sWhere}) d
GROUP BY
batch_id,
product_id,
vtype_id
) A
LEFT JOIN logistics.inventory_batch b ON A.batch_id = b.id
order by batch_id
"""
cur.execute(s)
data = {'data':''}
for r in cur.fetchall():
data['data'] = {
'tm':r[1], # 时间
'code':r[2], # 单据类别
'product':r[4], # 产品名称
'username':r[5], # 操作方
'company_to_id':r[6], # 客户名称
'x':r[8], # 箱
'h':r[9], # 盒
'p':r[10], # 瓶
}
return JsonResponse(data)
......@@ -1227,6 +1227,8 @@ urlpatterns = [
url(r'^company/bonusPoints/edit_list/(?P<cid>\d+)/$', company_views.bonusPoints_edit_list),
url(r'^company/bonusPoints_list/$', company_views.bonusPoints_list),
url(r'^company/bonusPoints/list/(?P<user_id>\d+)/$', company_views.user_stk_query),
]
if settings.DEBUG:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论