Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
f16fec9f
提交
f16fec9f
authored
9月 23, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、大包上新增字段:提货时间,提货人【放在理货时间,理货人上方】;
2、大包理货状态新增:已提货(放在未理货后面); 3、提单详情右上角新增已提货大包的按钮,显示数量,跳转显示有提货时间,提货人的大包信息; 4、PDA扫码记录,类型新增:提货; 5、PDA交货时,提示:该提单未到交货时间,有风险产生倒叙,请间隔规定时间后再扫码;此处判断需加上查找提货记录;
上级
78ac9772
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
107 行增加
和
15 行删除
+107
-15
zh_CN.po
ccs_base/i18n/zh_CN.po
+29
-0
cc_bill_loading.py
ccs_base/models/cc_bill_loading.py
+29
-1
cc_big_package_view.xml
ccs_base/views/cc_big_package_view.xml
+6
-0
cc_bl_view.xml
ccs_base/views/cc_bl_view.xml
+7
-0
order_controller.py
ccs_connect_tiktok/controllers/order_controller.py
+5
-4
cc_bill_loading.py
ccs_connect_tiktok/models/cc_bill_loading.py
+25
-10
pda_scan_record.py
ccs_connect_tiktok/models/pda_scan_record.py
+6
-0
没有找到文件。
ccs_base/i18n/zh_CN.po
浏览文件 @
f16fec9f
...
@@ -900,6 +900,35 @@ msgstr "清关重量"
...
@@ -900,6 +900,35 @@ msgstr "清关重量"
msgid "Checked goods"
msgid "Checked goods"
msgstr "已理货"
msgstr "已理货"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__pickup_user_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__pickup_user_id
msgid "Pickup User"
msgstr "提货人"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__pickup_time
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__pickup_time
msgid "Pickup Time"
msgstr "提货时间"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__picked_up
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_history_big_package__tally_state__picked_up
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
msgid "Picked Up"
msgstr "已提货"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__picked_up_big_package_qty
msgid "Picked Up Big Package Qty"
msgstr "已提货大包数量"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_show_big_package_picked_up
msgid "Picked Up Big Package"
msgstr "已提货大包"
#. module: ccs_base
#. module: ccs_base
#. odoo-python
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
...
...
ccs_base/models/cc_bill_loading.py
浏览文件 @
f16fec9f
...
@@ -55,11 +55,16 @@ class CcBigPackage(models.Model):
...
@@ -55,11 +55,16 @@ class CcBigPackage(models.Model):
# 增加is_cancel字段, 用于标识大包是否取消, 来自提单的is_cancel字段
# 增加is_cancel字段, 用于标识大包是否取消, 来自提单的is_cancel字段
is_cancel
=
fields
.
Boolean
(
string
=
'Is Cancel'
,
related
=
'bl_id.is_cancel'
,
store
=
True
)
is_cancel
=
fields
.
Boolean
(
string
=
'Is Cancel'
,
related
=
'bl_id.is_cancel'
,
store
=
True
)
# 提货相关字段
pickup_user_id
=
fields
.
Many2one
(
'res.users'
,
'Pickup User'
,
index
=
True
)
# 提货人
pickup_time
=
fields
.
Datetime
(
'Pickup Time'
)
# 提货时间
tally_state
=
fields
.
Selection
([
tally_state
=
fields
.
Selection
([
(
'unprocessed_goods'
,
'Unprocessed goods'
),
(
'unprocessed_goods'
,
'Unprocessed goods'
),
(
'picked_up'
,
'Picked Up'
),
(
'checked_goods'
,
'Checked goods'
),
(
'checked_goods'
,
'Checked goods'
),
(
'handover_completed'
,
'Handover Completed'
)
(
'handover_completed'
,
'Handover Completed'
)
],
default
=
'unprocessed_goods'
,
string
=
'Tally Status'
,
index
=
True
)
# 理货状态 未理货/已理货/尾程交接
],
default
=
'unprocessed_goods'
,
string
=
'Tally Status'
,
index
=
True
)
# 理货状态 未理货/已
提货/已
理货/尾程交接
tally_user_id
=
fields
.
Many2one
(
'res.users'
,
'Tally User'
,
index
=
True
)
# 理货人
tally_user_id
=
fields
.
Many2one
(
'res.users'
,
'Tally User'
,
index
=
True
)
# 理货人
tally_time
=
fields
.
Datetime
(
'Tally Time'
)
# 理货时间
tally_time
=
fields
.
Datetime
(
'Tally Time'
)
# 理货时间
delivery_user_id
=
fields
.
Many2one
(
'res.users'
,
string
=
'Delivery User'
,
index
=
True
)
# 尾程交货人
delivery_user_id
=
fields
.
Many2one
(
'res.users'
,
string
=
'Delivery User'
,
index
=
True
)
# 尾程交货人
...
@@ -583,6 +588,16 @@ class CcBL(models.Model):
...
@@ -583,6 +588,16 @@ class CcBL(models.Model):
raise
ValidationError
(
raise
ValidationError
(
_
(
'Transfer B/L No. cannot be the same as B/L No. or Transfer B/L No.'
))
# 转单号不能与提单号或转单号重复
_
(
'Transfer B/L No. cannot be the same as B/L No. or Transfer B/L No.'
))
# 转单号不能与提单号或转单号重复
@api.depends
(
'big_package_ids'
,
'big_package_ids.tally_state'
,
'big_package_ids.is_cancel'
)
def
cal_picked_up_big_package_qty
(
self
):
"""
已提货的大包数量
"""
for
item
in
self
:
item
.
picked_up_big_package_qty
=
len
(
item
.
big_package_ids
.
filtered
(
lambda
package
:
package
.
tally_state
==
'picked_up'
and
not
package
.
is_cancel
))
@api.depends
(
'big_package_ids'
,
'big_package_ids.tally_state'
,
'big_package_ids.is_cancel'
)
@api.depends
(
'big_package_ids'
,
'big_package_ids.tally_state'
,
'big_package_ids.is_cancel'
)
def
cal_tally_big_package_qty
(
self
):
def
cal_tally_big_package_qty
(
self
):
"""
"""
...
@@ -631,6 +646,9 @@ class CcBL(models.Model):
...
@@ -631,6 +646,9 @@ class CcBL(models.Model):
# 大包数量
# 大包数量
big_package_qty
=
fields
.
Integer
(
string
=
'Big Package Qty'
)
big_package_qty
=
fields
.
Integer
(
string
=
'Big Package Qty'
)
# 已提货大包数量
picked_up_big_package_qty
=
fields
.
Integer
(
string
=
'Picked Up Big Package Qty'
,
compute
=
'cal_picked_up_big_package_qty'
,
store
=
True
)
# 理货大包数量
# 理货大包数量
tally_big_package_qty
=
fields
.
Integer
(
string
=
'Tally Big Package Qty'
,
compute
=
'cal_tally_big_package_qty'
,
tally_big_package_qty
=
fields
.
Integer
(
string
=
'Tally Big Package Qty'
,
compute
=
'cal_tally_big_package_qty'
,
store
=
True
)
store
=
True
)
...
@@ -865,6 +883,16 @@ class CcBL(models.Model):
...
@@ -865,6 +883,16 @@ class CcBL(models.Model):
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'is_cancel'
,
'='
,
False
),
(
'tally_state'
,
'='
,
'checked_goods'
)],
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'is_cancel'
,
'='
,
False
),
(
'tally_state'
,
'='
,
'checked_goods'
)],
}
}
def
action_show_big_package_picked_up
(
self
):
# 返回一个action,显示已提货的大包
return
{
'name'
:
_
(
'Picked Up Big Package'
),
'type'
:
'ir.actions.act_window'
,
'res_model'
:
'cc.big.package'
,
'view_mode'
:
'tree,form'
,
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'is_cancel'
,
'='
,
False
),
(
'tally_state'
,
'='
,
'picked_up'
)],
}
def
action_show_big_package_delivered
(
self
):
def
action_show_big_package_delivered
(
self
):
# 返回一个action,显示已交货的大包
# 返回一个action,显示已交货的大包
return
{
return
{
...
...
ccs_base/views/cc_big_package_view.xml
浏览文件 @
f16fec9f
...
@@ -15,6 +15,8 @@
...
@@ -15,6 +15,8 @@
<field
name=
"next_provider_name"
/>
<field
name=
"next_provider_name"
/>
<field
name=
"pallet_number"
/>
<field
name=
"pallet_number"
/>
<field
name=
"pallet_usage_date"
/>
<field
name=
"pallet_usage_date"
/>
<field
name=
"pickup_user_id"
optional=
"show"
/>
<field
name=
"pickup_time"
optional=
"show"
/>
<field
name=
"tally_state"
optional=
"show"
/>
<field
name=
"tally_state"
optional=
"show"
/>
<field
name=
"tally_user_id"
optional=
"show"
/>
<field
name=
"tally_user_id"
optional=
"show"
/>
<field
name=
"tally_time"
optional=
"show"
/>
<field
name=
"tally_time"
optional=
"show"
/>
...
@@ -70,6 +72,8 @@
...
@@ -70,6 +72,8 @@
<field
name=
"pallet_usage_date"
readonly=
"1"
/>
<field
name=
"pallet_usage_date"
readonly=
"1"
/>
<field
name=
"exception_info_ids"
readonly=
"1"
widget=
"many2many_tags"
/>
<field
name=
"exception_info_ids"
readonly=
"1"
widget=
"many2many_tags"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"pickup_user_id"
readonly=
"1"
options=
"{'no_create':True}"
/>
<field
name=
"pickup_time"
readonly=
"1"
/>
<field
name=
"tally_state"
readonly=
"1"
/>
<field
name=
"tally_state"
readonly=
"1"
/>
<field
name=
"tally_user_id"
readonly=
"1"
options=
"{'no_create':True}"
/>
<field
name=
"tally_user_id"
readonly=
"1"
options=
"{'no_create':True}"
/>
<field
name=
"tally_time"
readonly=
"1"
/>
<field
name=
"tally_time"
readonly=
"1"
/>
...
@@ -136,6 +140,8 @@
...
@@ -136,6 +140,8 @@
<separator/>
<separator/>
<filter
string=
"Unprocessed goods"
name=
"filter_unprocessed_goods"
<filter
string=
"Unprocessed goods"
name=
"filter_unprocessed_goods"
domain=
"[('tally_state', '=', 'unprocessed_goods')]"
/>
domain=
"[('tally_state', '=', 'unprocessed_goods')]"
/>
<filter
string=
"Picked Up"
name=
"filter_picked_up"
domain=
"[('tally_state', '=', 'picked_up')]"
/>
<filter
string=
"Checked goods"
name=
"filter_checked_goods"
<filter
string=
"Checked goods"
name=
"filter_checked_goods"
domain=
"[('tally_state', '=', 'checked_goods')]"
/>
domain=
"[('tally_state', '=', 'checked_goods')]"
/>
<filter
string=
"Handover Completed"
name=
"filter_handover_completed"
<filter
string=
"Handover Completed"
name=
"filter_handover_completed"
...
...
ccs_base/views/cc_bl_view.xml
浏览文件 @
f16fec9f
...
@@ -93,6 +93,13 @@
...
@@ -93,6 +93,13 @@
<span
class=
"o_stat_text"
>
Tally Big Packages
</span>
<span
class=
"o_stat_text"
>
Tally Big Packages
</span>
</div>
</div>
</button>
</button>
<button
name=
"action_show_big_package_picked_up"
type=
"object"
class=
"oe_stat_button"
icon=
"fa-cube"
>
<div
class=
"o_stat_info"
>
<field
name=
"picked_up_big_package_qty"
class=
"o_stat_value"
/>
<span
class=
"o_stat_text"
>
Picked Up Big Packages
</span>
</div>
</button>
<button
name=
"action_show_big_package_delivered"
type=
"object"
<button
name=
"action_show_big_package_delivered"
type=
"object"
class=
"oe_stat_button"
icon=
"fa-cube"
>
class=
"oe_stat_button"
icon=
"fa-cube"
>
<div
class=
"o_stat_info"
>
<div
class=
"o_stat_info"
>
...
...
ccs_connect_tiktok/controllers/order_controller.py
浏览文件 @
f16fec9f
...
@@ -95,18 +95,19 @@ class OrderController(http.Controller):
...
@@ -95,18 +95,19 @@ class OrderController(http.Controller):
"""
"""
kwargs
=
json
.
loads
(
request
.
httprequest
.
data
)
kwargs
=
json
.
loads
(
request
.
httprequest
.
data
)
pda_lang
=
kwargs
.
get
(
'pda_lang'
)
or
'zh'
pda_lang
=
kwargs
.
get
(
'pda_lang'
)
or
'zh'
action_type
=
kwargs
.
get
(
'action_type'
)
or
'tally'
# tally / handover
action_type
=
kwargs
.
get
(
'action_type'
)
or
'tally'
# tally / handover
/pickup
res
=
{
'state'
:
201
,
'message'
:
''
}
res
=
{
'state'
:
201
,
'message'
:
''
}
try
:
try
:
logging
.
info
(
'bl_info kwargs:
%
s'
%
kwargs
)
logging
.
info
(
'bl_info kwargs:
%
s'
%
kwargs
)
if
kwargs
.
get
(
'bl_no'
):
if
kwargs
.
get
(
'bl_no'
):
bl_no
=
kwargs
[
'bl_no'
]
bl_no
=
kwargs
[
'bl_no'
]
# bl_obj = request.env['cc.bl'].sudo().search([('bl_no', '=', bl_no)]) # 提单
state_arr
=
[
'draft'
,
'ccing'
]
state_arr
=
[
'draft'
,
'ccing'
]
bl_obj
=
request
.
env
[
'cc.bl'
]
.
sudo
()
.
deal_bl_no_and_transfer_bl_no
(
bl_obj
=
request
.
env
[
'cc.bl'
]
.
sudo
()
.
deal_bl_no_and_transfer_bl_no
(
bl_no
)
# 提单号去掉杠和空格,并转换为小写,优先匹配提单号,匹配不到则匹配转单号
bl_no
)
# 提单号去掉杠和空格,并转换为小写,优先匹配提单号,匹配不到则匹配转单号
if
bl_obj
:
if
bl_obj
:
# 1.按提单交货时,创建批次,填写的提单号传给后台查找对应的提单号,在匹配查找前,先查找是否pda扫码记录,若有类型该提单,类型为理货的,且操作时间-当前时间小于等于配置的参数(交货操作晚于提货操作X分钟),则提示:该提单未到交货时间,有风险产生倒叙,请间隔规定时间后再扫码;
# 1.按提单交货时,创建批次,填写的提单号传给后台查找对应的提单号,在匹配查找前,先查找是否pda扫码记录,
# 若有类型该提单,类型为理货的,且操作时间-当前时间小于等于配置的参数(交货操作晚于提货操作X分钟),则提示:该提单未到交货时间,有风险产生倒叙,请间隔规定时间后再扫码;
#2025-09-23 新增PDA交货时,提示:该提单未到交货时间,有风险产生倒叙,请间隔规定时间后再扫码;此处判断需加上查找提货记录;
if
action_type
==
'handover'
:
if
action_type
==
'handover'
:
# 检查是否存在时间倒序风险
# 检查是否存在时间倒序风险
time_check_result
=
self
.
_check_delivery_time_risk
(
bl_obj
,
pda_lang
)
time_check_result
=
self
.
_check_delivery_time_risk
(
bl_obj
,
pda_lang
)
...
@@ -709,7 +710,7 @@ class OrderController(http.Controller):
...
@@ -709,7 +710,7 @@ class OrderController(http.Controller):
# 查找该提单的PDA扫码记录,类型为理货的
# 查找该提单的PDA扫码记录,类型为理货的
pda_records
=
request
.
env
[
'pda.scan.record'
]
.
sudo
()
.
search
([
pda_records
=
request
.
env
[
'pda.scan.record'
]
.
sudo
()
.
search
([
(
'bl_id'
,
'='
,
bl_obj
.
id
),
(
'bl_id'
,
'='
,
bl_obj
.
id
),
(
'record_type'
,
'
='
,
'tally'
),
# 理
货类型
(
'record_type'
,
'
in'
,
[
'tally'
,
'pickup'
]),
# 理货类型/提
货类型
(
'state'
,
'='
,
'success'
)
# 成功状态
(
'state'
,
'='
,
'success'
)
# 成功状态
],
order
=
'operation_time desc'
,
limit
=
1
)
],
order
=
'operation_time desc'
,
limit
=
1
)
...
...
ccs_connect_tiktok/models/cc_bill_loading.py
浏览文件 @
f16fec9f
...
@@ -1417,11 +1417,16 @@ class CcBigPackage(models.Model):
...
@@ -1417,11 +1417,16 @@ class CcBigPackage(models.Model):
def
search_big_package_info
(
self
,
pda_lang
=
False
,
type
=
'tally'
):
def
search_big_package_info
(
self
,
pda_lang
=
False
,
type
=
'tally'
):
"""
"""
查询大包信息
查询大包信息
type 为 pickup 时,返回提货信息
"""
"""
unprocessed_goods_msg_dic
=
{
unprocessed_goods_msg_dic
=
{
'en'
:
'Unprocessed goods'
,
'en'
:
'Unprocessed goods'
,
'zh'
:
'未理货'
'zh'
:
'未理货'
}
}
picked_up_msg_dic
=
{
'en'
:
'Picked Up'
,
'zh'
:
'已提货'
}
checked_goods_msg_dic
=
{
checked_goods_msg_dic
=
{
'en'
:
'Checked goods'
,
'en'
:
'Checked goods'
,
'zh'
:
'已理货'
'zh'
:
'已理货'
...
@@ -1431,21 +1436,21 @@ class CcBigPackage(models.Model):
...
@@ -1431,21 +1436,21 @@ class CcBigPackage(models.Model):
'zh'
:
'尾程交接'
'zh'
:
'尾程交接'
}
}
state_arr
=
{
'unprocessed_goods'
:
unprocessed_goods_msg_dic
[
pda_lang
],
state_arr
=
{
'unprocessed_goods'
:
unprocessed_goods_msg_dic
[
pda_lang
],
'picked_up'
:
picked_up_msg_dic
[
pda_lang
],
'checked_goods'
:
checked_goods_msg_dic
[
pda_lang
],
'checked_goods'
:
checked_goods_msg_dic
[
pda_lang
],
'handover_completed'
:
handover_completed_msg_dic
[
pda_lang
]}
# 未理货/已理货/尾程交接
'handover_completed'
:
handover_completed_msg_dic
[
pda_lang
]}
# 未理货/已
提货/已
理货/尾程交接
# 根据下一阶段服务商名称获取尾程服务商的记录
# 根据下一阶段服务商名称获取尾程服务商的记录
provider_obj
=
self
.
env
[
'cc.last.mile.provider'
]
.
match_provider
(
self
.
next_provider_name
)
provider_obj
=
self
.
env
[
'cc.last.mile.provider'
]
.
match_provider
(
self
.
next_provider_name
)
vals
=
{
vals
=
{
'tally_state_label'
:
state_arr
[
self
.
tally_state
]
or
''
,
# 理货状态显示名称
'tally_state_label'
:
state_arr
[
self
.
tally_state
]
or
''
,
# 理货状态显示名称
'tally_state'
:
self
.
tally_state
or
''
,
# 理货状态系统KEY
'tally_state'
:
self
.
tally_state
or
''
,
# 理货状态系统KEY
'tally_user_id'
:
(
self
.
tally_user_id
.
id
or
0
)
if
type
==
'tally'
else
(
self
.
delivery_user_id
.
id
or
0
),
'tally_user_id'
:
(
self
.
tally_user_id
.
id
or
0
)
if
type
==
'tally'
else
((
self
.
delivery_user_id
.
id
or
0
)
if
type
==
'handover'
else
(
self
.
pickup_user_id
.
id
or
0
)),
# 理货人id/交货人id
# 理货人id/交货人id/提货人id
'tally_user_name'
:
(
self
.
tally_user_id
.
name
or
''
)
if
type
==
'tally'
else
(
'tally_user_name'
:
(
self
.
tally_user_id
.
name
or
''
)
if
type
==
'tally'
else
((
self
.
delivery_user_id
.
name
or
''
),
self
.
delivery_user_id
.
name
or
''
)
if
type
==
'handover'
else
(
self
.
pickup_user_id
.
name
or
''
)),
# 理货人名称/交货人名称
# 理货人名称/交货人名称/提货人名称
'tally_time'
:
(
self
.
tally_time
or
''
)
if
type
==
'tally'
else
(
self
.
delivery_time
or
''
),
'tally_time'
:
(
self
.
tally_time
or
''
)
if
type
==
'tally'
else
((
self
.
delivery_time
or
''
)
if
type
==
'handover'
else
(
self
.
pickup_time
or
''
)),
# self.env['common.common'].sudo().get_format_time(str(self.tally_time)) if self.tally_time else '',
# 理货时间/交货时间/提货时间
# 理货时间/交货时间
'big_package_no'
:
self
.
big_package_no
or
''
,
# 大包号
'big_package_no'
:
self
.
big_package_no
or
''
,
# 大包号
'next_service_provider_name'
:
self
.
next_provider_name
or
''
,
# 下一个服务商名称
'next_service_provider_name'
:
self
.
next_provider_name
or
''
,
# 下一个服务商名称
'next_service_provider_tape_color'
:
(
provider_obj
.
tape_color_value
or
''
)
if
provider_obj
else
''
,
'next_service_provider_tape_color'
:
(
provider_obj
.
tape_color_value
or
''
)
if
provider_obj
else
''
,
...
@@ -1457,7 +1462,7 @@ class CcBigPackage(models.Model):
...
@@ -1457,7 +1462,7 @@ class CcBigPackage(models.Model):
def
update_big_package_info
(
self
,
**
kwargs
):
def
update_big_package_info
(
self
,
**
kwargs
):
"""
"""
理货 tally/尾程交接 handover
理货 tally/尾程交接 handover
/提货 pickup
"""
"""
action_type
=
kwargs
.
get
(
'action_type'
)
action_type
=
kwargs
.
get
(
'action_type'
)
...
@@ -1468,6 +1473,9 @@ class CcBigPackage(models.Model):
...
@@ -1468,6 +1473,9 @@ class CcBigPackage(models.Model):
elif
action_type
==
'handover'
and
item
.
tally_state
!=
'handover_completed'
:
elif
action_type
==
'handover'
and
item
.
tally_state
!=
'handover_completed'
:
# 更新交接信息
# 更新交接信息
self
.
_update_info
(
item
,
kwargs
,
'handover'
)
self
.
_update_info
(
item
,
kwargs
,
'handover'
)
elif
action_type
==
'pickup'
and
item
.
tally_state
==
'picked_up'
:
# 更新提货信息
self
.
_update_info
(
item
,
kwargs
,
'pickup'
)
def
_update_info
(
self
,
item
,
kwargs
,
action_type
):
def
_update_info
(
self
,
item
,
kwargs
,
action_type
):
"""
"""
...
@@ -1480,6 +1488,13 @@ class CcBigPackage(models.Model):
...
@@ -1480,6 +1488,13 @@ class CcBigPackage(models.Model):
item
.
tally_user_id
=
kwargs
[
'tally_user_id'
]
item
.
tally_user_id
=
kwargs
[
'tally_user_id'
]
if
kwargs
.
get
(
'tally_time'
):
if
kwargs
.
get
(
'tally_time'
):
item
.
tally_time
=
datetime
.
strptime
(
kwargs
[
'tally_time'
],
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
item
.
tally_time
=
datetime
.
strptime
(
kwargs
[
'tally_time'
],
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
elif
action_type
==
'pickup'
:
if
kwargs
.
get
(
'tally_state'
):
item
.
tally_state
=
kwargs
[
'tally_state'
]
if
kwargs
.
get
(
'tally_user_id'
):
item
.
pickup_user_id
=
kwargs
[
'tally_user_id'
]
if
kwargs
.
get
(
'tally_time'
):
item
.
pickup_time
=
datetime
.
strptime
(
kwargs
[
'tally_time'
],
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
elif
action_type
==
'handover'
:
elif
action_type
==
'handover'
:
if
kwargs
.
get
(
'tally_state'
):
if
kwargs
.
get
(
'tally_state'
):
item
.
tally_state
=
kwargs
[
'tally_state'
]
item
.
tally_state
=
kwargs
[
'tally_state'
]
...
...
ccs_connect_tiktok/models/pda_scan_record.py
浏览文件 @
f16fec9f
...
@@ -16,6 +16,8 @@ class PDAScanRecord(models.Model):
...
@@ -16,6 +16,8 @@ class PDAScanRecord(models.Model):
if
self
.
operation
:
if
self
.
operation
:
if
'tally'
in
self
.
operation
:
if
'tally'
in
self
.
operation
:
self
.
record_type
=
'tally'
self
.
record_type
=
'tally'
elif
'pickup'
in
self
.
operation
:
self
.
record_type
=
'pickup'
elif
'handover'
in
self
.
operation
:
elif
'handover'
in
self
.
operation
:
self
.
record_type
=
'handover'
self
.
record_type
=
'handover'
...
@@ -25,12 +27,16 @@ class PDAScanRecord(models.Model):
...
@@ -25,12 +27,16 @@ class PDAScanRecord(models.Model):
(
'bill_tally'
,
_
(
'Bill Tally'
)),
# 按提单理货
(
'bill_tally'
,
_
(
'Bill Tally'
)),
# 按提单理货
(
'tail_tally'
,
_
(
'Tail Tally'
)),
# 按尾程理货
(
'tail_tally'
,
_
(
'Tail Tally'
)),
# 按尾程理货
(
'pallet_tally'
,
_
(
'Pallet Tally'
)),
# 按托盘理货
(
'pallet_tally'
,
_
(
'Pallet Tally'
)),
# 按托盘理货
(
'bill_pickup'
,
_
(
'Bill Pickup'
)),
# 按提单提货
(
'tail_pickup'
,
_
(
'Tail Pickup'
)),
# 按尾程提货
(
'pallet_pickup'
,
_
(
'Pallet Pickup'
)),
# 按托盘提货
(
'bill_handover'
,
_
(
'Bill Handover'
)),
# 按提单交货
(
'bill_handover'
,
_
(
'Bill Handover'
)),
# 按提单交货
(
'tail_handover'
,
_
(
'Tail Handover'
)),
# 按尾程交货
(
'tail_handover'
,
_
(
'Tail Handover'
)),
# 按尾程交货
(
'pallet_handover'
,
_
(
'Pallet Handover'
))
# 按托盘交货
(
'pallet_handover'
,
_
(
'Pallet Handover'
))
# 按托盘交货
],
string
=
_
(
'Operation'
),
required
=
True
)
# 操作
],
string
=
_
(
'Operation'
),
required
=
True
)
# 操作
record_type
=
fields
.
Selection
([
record_type
=
fields
.
Selection
([
(
'tally'
,
_
(
'Tally'
)),
# 理货
(
'tally'
,
_
(
'Tally'
)),
# 理货
(
'pickup'
,
_
(
'Pickup'
)),
# 提货
(
'handover'
,
_
(
'Handover'
))
# 交货
(
'handover'
,
_
(
'Handover'
))
# 交货
],
string
=
_
(
'Type'
),
required
=
True
)
# 类型
],
string
=
_
(
'Type'
),
required
=
True
)
# 类型
bill_number
=
fields
.
Char
(
string
=
_
(
'Bill Number'
))
# 提单号
bill_number
=
fields
.
Char
(
string
=
_
(
'Bill Number'
))
# 提单号
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论