Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vue_django_test
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周田
vue_django_test
Commits
1c011d0c
Commit
1c011d0c
authored
Aug 21, 2023
by
周田
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修复 切换协议版本的小问题
parent
8731d629
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
36 deletions
+17
-36
services.py
protocol_version_manage/services.py
+17
-36
xdc.sqlite
xdc.sqlite
+0
-0
No files found.
protocol_version_manage/services.py
View file @
1c011d0c
...
@@ -78,43 +78,24 @@ def update_device_protocol_and_cmds(protocol_name: str, version: str) -> Respons
...
@@ -78,43 +78,24 @@ def update_device_protocol_and_cmds(protocol_name: str, version: str) -> Respons
current_version_protocol_serializer
=
AllProtocolDefinAndVersionSerializer
(
current_version_protocols
,
many
=
True
)
current_version_protocol_serializer
=
AllProtocolDefinAndVersionSerializer
(
current_version_protocols
,
many
=
True
)
cmd_fields_serializer
=
AllDevCmdDefineAndVersionSerializer
(
cmd_fields
,
many
=
True
)
cmd_fields_serializer
=
AllDevCmdDefineAndVersionSerializer
(
cmd_fields
,
many
=
True
)
# 更新 device 所使用的协议表数据
for
protocol
in
current_version_protocol_serializer
.
data
:
obj
,
_
=
TableDevCmdNamePoll
.
objects
.
update_or_create
(
protocol_name
=
protocol
[
'protocol_name'
],
cmd_name
=
protocol
[
'cmd_name'
],
defaults
=
{
'protocol_name'
:
protocol
[
'protocol_name'
],
'cmd_name'
:
protocol
[
'cmd_name'
],
'cmd_type'
:
protocol
[
'cmd_type'
],
'encode'
:
protocol
[
'encode'
],
'timing_cmd_cycle_period'
:
protocol
[
'timing_cmd_cycle_period'
],
'cmd_explain'
:
protocol
[
'cmd_explain'
]
}
)
if
obj
is
None
:
return
Response
(
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
# 更新 device 所使用的命令表数据
# 更新 device 所使用的命令表数据
for
cmd_field
in
cmd_fields_serializer
.
data
:
try
:
obj
,
_
=
TableAllDevCmdDefine
.
objects
.
update_or_create
(
TableAllDevCmdDefine
.
objects
.
filter
(
cmd_name__in
=
[
cmd
.
cmd_name
cmd_name
=
cmd_field
[
'cmd_name'
],
for
cmd
in
TableDevCmdNamePoll
.
objects
.
filter
(
protocol_name
=
protocol_name
)
.
all
()])
.
delete
()
fieldname
=
cmd_field
[
'fieldname'
],
TableAllDevCmdDefine
.
objects
.
bulk_create
([
TableAllDevCmdDefine
(
defaults
=
{
**
{
k
:
v
for
k
,
v
in
cmd_field
.
items
()
if
k
not
in
[
'id'
,
'version'
]})
'cmd_name'
:
cmd_field
[
'cmd_name'
],
for
cmd_field
in
cmd_fields_serializer
.
data
])
'cmd_type'
:
cmd_field
[
'cmd_type'
],
except
Exception
as
e
:
'fieldindex'
:
cmd_field
[
'fieldindex'
],
print
(
e
)
'fieldname'
:
cmd_field
[
'fieldname'
],
return
Response
(
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
'fieldsize'
:
cmd_field
[
'fieldsize'
],
# 更新 device 所使用的协议表数据
'value'
:
cmd_field
[
'value'
],
try
:
'minvalue'
:
cmd_field
[
'minvalue'
],
TableDevCmdNamePoll
.
objects
.
filter
(
protocol_name
=
protocol_name
)
.
delete
()
'maxvalue'
:
cmd_field
[
'maxvalue'
],
TableDevCmdNamePoll
.
objects
.
bulk_create
([
TableDevCmdNamePoll
(
'datatype'
:
cmd_field
[
'datatype'
],
**
{
k
:
v
for
k
,
v
in
protocol
.
items
()
if
k
not
in
[
'id'
,
'version'
]})
'lua_script_in'
:
cmd_field
[
'lua_script_in'
],
for
protocol
in
current_version_protocol_serializer
.
data
])
'lua_script_out'
:
cmd_field
[
'lua_script_out'
]
except
Exception
as
e
:
}
print
(
e
)
)
if
obj
is
None
:
return
Response
(
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
return
Response
(
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
# 返回数据
# 返回数据
...
...
xdc.sqlite
View file @
1c011d0c
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment