增加状态返回接口,增加调用京东接口

This commit is contained in:
mgw
2023-02-09 08:50:48 +08:00
parent cba007b374
commit 38f67d98f8
6 changed files with 174 additions and 23 deletions

View File

@@ -7,6 +7,7 @@ import requests
_logger = logging.getLogger(__name__)
class StatusChange(models.Model):
_inherit = 'sale.order'
@@ -40,16 +41,16 @@ class StatusChange(models.Model):
self.action_done()
process_start_time = str(datetime.now())
json1 = {
'params': {
'model_name': 'jikimo.process.order',
'field_name': 'name',
# 'default_code': 'PO-2022-1214-0022',
'default_code': self.default_code,
# 'default_code': self.name,
'state': '加工中',
'process_start_time': process_start_time,
},
}
'params': {
'model_name': 'jikimo.process.order',
'field_name': 'name',
# 'default_code': 'PO-2022-1214-0022',
'default_code': self.default_code,
# 'default_code': self.name,
'state': '加工中',
'process_start_time': process_start_time,
},
}
url1 = 'https://bfm.cs.jikimo.com/api/get/state/get_order'
requests.post(url1, json=json1, data=None)
logging.info('接口已经执行=============')
@@ -108,3 +109,73 @@ class StatusChange(models.Model):
else:
return self._action_cancel()
class FinishStatusChange(models.Model):
_inherit = 'stock.picking'
# default_code = fields.Char(string='内部编码')
def button_validate(self):
# Clean-up the context key at validation to avoid forcing the creation of immediate
# transfers.
ctx = dict(self.env.context)
ctx.pop('default_immediate_transfer', None)
self = self.with_context(ctx)
# Sanity checks.
if not self.env.context.get('skip_sanity_check', False):
self._sanity_check()
self.message_subscribe([self.env.user.partner_id.id])
# Run the pre-validation wizards. Processing a pre-validation wizard should work on the
# moves and/or the context and never call `_action_done`.
if not self.env.context.get('button_validate_picking_ids'):
self = self.with_context(button_validate_picking_ids=self.ids)
res = self._pre_action_done_hook()
if res is not True:
return res
# Call `_action_done`.
pickings_not_to_backorder = self.filtered(lambda p: p.picking_type_id.create_backorder == 'never')
if self.env.context.get('picking_ids_not_to_backorder'):
pickings_not_to_backorder |= self.browse(self.env.context['picking_ids_not_to_backorder']).filtered(
lambda p: p.picking_type_id.create_backorder != 'always'
)
pickings_to_backorder = self - pickings_not_to_backorder
pickings_not_to_backorder.with_context(cancel_backorder=True)._action_done()
pickings_to_backorder.with_context(cancel_backorder=False)._action_done()
if self.user_has_groups('stock.group_reception_report') \
and self.picking_type_id.auto_show_reception_report:
lines = self.move_ids.filtered(lambda m: m.product_id.type == 'product' and m.state != 'cancel' and m.quantity_done and not m.move_dest_ids)
if lines:
# don't show reception report if all already assigned/nothing to assign
wh_location_ids = self.env['stock.location']._search([('id', 'child_of', self.picking_type_id.warehouse_id.view_location_id.id), ('usage', '!=', 'supplier')])
if self.env['stock.move'].search([
('state', 'in', ['confirmed', 'partially_available', 'waiting', 'assigned']),
('product_qty', '>', 0),
('location_id', 'in', wh_location_ids),
('move_orig_ids', '=', False),
('picking_id', 'not in', self.ids),
('product_id', 'in', lines.product_id.ids)], limit=1):
action = self.action_view_reception_report()
action['context'] = {'default_picking_ids': self.ids}
return action
out_start_time = str(datetime.now())
json2 = {
'params': {
'model_name': 'jikimo.process.order',
'field_name': 'name',
# 'default_code': 'PO-2022-1214-0022',
'default_code': self.default_code,
# 'default_code': self.name,
'state': '已交付',
# 'process_start_time': out_start_time,
},
}
url1 = 'https://bfm.cs.jikimo.com/api/get/state/get_order'
requests.post(url1, json=json2, data=None)
logging.info('接口已经执行=============')
return True