Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
ypt_mgw_local
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
苏星豪
ypt_mgw_local
Commits
5da56f7d
提交
5da56f7d
authored
7月 31, 2023
作者:
蒋代伟
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
解除箱垛绑定关系
上级
00678e47
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
199 行增加
和
0 行删除
+199
-0
urls.py
datacenter/urls.py
+5
-0
views.py
inventory/views.py
+194
-0
没有找到文件。
datacenter/urls.py
浏览文件 @
5da56f7d
...
...
@@ -1317,6 +1317,11 @@ urlpatterns = [
#2023 07-14 经销商查询标签信息
url
(
r'^inventory/agent/label/query/(?P<ancestor_id>\d+)/$'
,
inventory_views
.
agent_label_query
),
#url(r'^inventory/batch/summary/',inventory_views.batch_summary),
url
(
r'^inventory/stack/demolition/(?P<company_id>\d+)/$'
,
inventory_views
.
demolition_stack
)
]
if
settings
.
DEBUG
:
...
...
inventory/views.py
浏览文件 @
5da56f7d
...
...
@@ -15646,3 +15646,197 @@ def agent_label_query(request,ancestor_id):
else
:
data
[
'e'
]
=
'暂无权限查询'
return
JsonResponse
(
data
)
'''
@login_required
def batch_summary(request):
data=[]
ancestor_id = request.user.ancestor_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)
if request.user.company.id == 19257:
dt_fr = request.GET.get(
'date_fr', (datetime.datetime.now() + datetime.timedelta(days=-7)).strftime('
%
Y-
%
m-
%
d'))
dt_max = max(dt_fr, dt_to)
dt_min = min(dt_fr, dt_to)
data = []
clmns = ['经销商', '产品', '未入库量' ]
cur = connection.cursor()
s = ""
cur.execute(s)
rs = cur.fetchall()
for r in rs :
qty = int(r[4] -r[5])
data.append([r[1],r[3],qty])
return render(request,'inventory/summary.html',data)
def batch_summary_details(request):
data={"e":''}
return JsonResponse(data)
'''
@csrf_exempt
def
demolition_stack
(
request
,
company_id
):
data
=
{
"e"
:
''
}
k
=
sK
e
=
time_key_check
(
request
,
k
)
if
e
:
data
[
'e'
]
=
e
return
JsonResponse
(
data
)
r
=
json
.
loads
(
request
.
body
)
c
=
Company
.
objects
.
get
(
id
=
company_id
)
codes
=
r
[
'codes'
]
cur
=
connection
.
cursor
()
a
=
[]
cur
.
execute
(
"create temp table codes("
+
\
"label_code character varying(32),"
+
\
"tb character varying(20),"
+
\
"product_id integer,"
+
\
"stack_id integer,"
+
\
"code character varying(32),"
+
\
"label_id bigint,"
+
\
"label_pk_id bigint,"
+
\
"label_pkg smallint,"
+
\
"err character varying(100),"
+
\
"label_code0 character varying(32),"
+
\
"from_agent_id integer)"
)
for
code
in
codes
:
# 物流终端发货CODES
# codes: [{code: 123456789012, err_code: 1, e: "错误信息1"}]
a
.
append
(
"('"
+
code
+
"','"
+
code
[:
4
]
+
"')"
)
sSql
=
"insert into codes (label_code,tb) values "
if
a
:
cur
.
execute
(
sSql
+
","
.
join
(
a
))
stacks
=
[]
# 保存原始标签号码
cur
.
execute
(
"update codes set label_code0=label_code"
)
# 暂时不考虑跨段动态绑定以及防伪码
# 处理标签替换
s
=
"update codes o set code=coalesce"
+
\
"((select code0 from label.lbl_replace_details where code=o.label_code order by batch_id desc limit 1),o.label_code)"
cur
.
execute
(
s
)
# 有些AB样标使用了跨段表里的号段
s
=
"select "
+
\
"(select code_a FROM label.lbl_abcode where code_b=label_code or code_a=label_code),"
+
\
"tb='t'||left((select code_a FROM label.lbl_abcode where code_b=label_code or code_a=label_code),4) "
+
\
"from codes "
+
\
"where (select id from label.lbl_abcode where code_a=label_code or code_b=label_code limit 1)>0"
cur
.
execute
(
s
)
r
=
cur
.
fetchone
()
s
=
"update codes set code="
+
\
"(select code_a FROM label.lbl_abcode where code_b=label_code or code_a=label_code),"
+
\
"tb='t'||left((select code_a FROM label.lbl_abcode where code_b=label_code or code_a=label_code),4) "
+
\
"where (select id from label.lbl_abcode where code_a=label_code or code_b=label_code limit 1)>0"
cur
.
execute
(
s
)
cur
.
execute
(
"update codes set tb='t'||left(code,4) where length(tb)=4"
)
cur
.
execute
(
"select tb from codes group by tb"
)
rs
=
cur
.
fetchall
()
for
r
in
rs
:
# cur.execute("select to_regclass('label." + r[0] + "')")
cur
.
execute
(
"select count(*) from information_schema.tables where table_schema='label' "
+
\
"and table_type='BASE TABLE' and table_name='"
+
r
[
0
]
+
"'"
)
r0
=
cur
.
fetchone
()
if
r0
[
0
]:
s
=
"update codes set "
+
\
"label_id=b.id,"
+
\
"label_pkg=b.package_id,"
+
\
"label_pk_id=coalesce(b.parent_id,b.id) "
+
\
"from "
+
\
"(SELECT label_code,code from codes where tb='"
+
r
[
0
]
+
"') a "
+
\
"left outer join "
+
\
"(select id,code,parent_id,package_id,is_pk from label."
+
r
[
0
]
+
") b "
+
\
"on a.code=b.code "
+
\
"where tb='"
+
r
[
0
]
+
"' and codes.code=a.code"
cur
.
execute
(
s
)
# 没有标签id的,看是不是企业第三方标签
s
=
"update codes set "
+
\
"label_id=b.id,"
+
\
"label_pkg=b.package_id,"
+
\
"label_pk_id=coalesce(b.parent_id,b.id) "
+
\
"from "
+
\
"(SELECT label_code,code from codes where label_id is null) a "
+
\
"left outer join "
+
\
"(select id,code,parent_id,package_id,is_pk from label.thirdparty where cid="
+
str
(
c
.
ancestor_id
)
+
") b "
+
\
"on a.code=b.code "
+
\
"where codes.code=a.code and label_id is null"
cur
.
execute
(
s
)
s
=
"update codes a set stack_id = (select stack_id from logistics.inventory_stackdetails WHERE label_pk_id = a.label_pk_id limit 1) "
cur
.
execute
(
s
)
cur
.
execute
(
"select * from codes"
)
print
(
'i--->'
,
'label_code,tb,product_id,stack_id,code,label_id,label_pk_id,label_pkg,err,label_code0,from_agent_id'
)
for
i
in
cur
.
fetchall
():
print
(
'i--->'
,
i
)
# s = "select b.id from (select label_pk_id,stack_id from codes where label_pk_id is not null and stack_id is not null and label_pkg=3)a " +\
# " left outer join (select id,label_pk_id,stack_id from logistics.inventory_stackdetails where " +\
# " company_id = "+str(company_id)+")b on a.stack_id = b.stack_id and a.label_pk_id = b.label_pk_id " \
#
# cur.execute(s)
# for i in cur.fetchall():
# print('s--->', i)
values
=
[]
label_pk_id
=
[]
error_label
=
[]
s
=
"select stack_id,label_code,label_pk_id,label_id,label_pkg from codes where label_pk_id is null or stack_id is null or label_pkg !=3"
cur
.
execute
(
s
)
r
=
cur
.
fetchall
()
if
r
:
for
i
in
r
:
error_label
.
append
(
i
[
1
])
in_sert
=
"insert into inventory_stacklog (stack_id,label_code,label_pk_id,label_id,package_id,company_id,dt,tm,remark) values "
s
=
"select stack_id,label_code,label_pk_id,label_id,label_pkg from codes where label_pk_id is not null and stack_id is not null and label_pkg=3"
cur
.
execute
(
s
)
res
=
cur
.
fetchall
()
if
res
:
for
r
in
res
:
label_pk_id
.
append
(
str
(
r
[
0
]))
values
.
append
(
"("
+
str
(
r
[
0
])
+
",'"
+
r
[
1
]
+
"',"
+
str
(
r
[
2
])
+
","
+
str
(
r
[
3
])
+
","
+
str
(
r
[
4
])
+
","
+
str
(
company_id
)
+
",now(),now(),'解除绑定')"
)
try
:
del_s
=
"delete from logistics.inventory_stackdetails where label_pk_id in ("
+
(
","
)
.
join
(
label_pk_id
)
+
")"
#print(del_s)
cur
.
execute
(
del_s
)
in_s
=
in_sert
+
(
","
)
.
join
(
values
)
#print(in_s)
cur
.
execute
(
in_s
)
except
:
data
[
'e'
]
=
'处理错误'
if
error_label
:
data
[
'e'
]
=
(
","
)
.
join
(
error_label
)
+
'处理失败'
return
JsonResponse
(
data
)
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论