处理采购订单代发货数量修改及创建欠单,处理sf发货单下发不需要创建欠单,处理bfm发货单下发内部管理,内部管理处理不需要创建欠单
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from . import stock_picking
|
from . import stock_picking
|
||||||
from . import stock_backorder_confirmation
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
import json
|
|
||||||
import requests
|
|
||||||
from odoo import models, fields, api
|
|
||||||
|
|
||||||
from odoo.exceptions import UserError
|
|
||||||
import logging
|
|
||||||
from odoo.tools import date_utils
|
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
class StockBackorderConfirmation(models.TransientModel):
|
|
||||||
_inherit = 'stock.backorder.confirmation'
|
|
||||||
|
|
||||||
# 继承创建欠单
|
|
||||||
def process(self):
|
|
||||||
info = super(StockBackorderConfirmation, self).process()
|
|
||||||
_logger.info("创建欠单")
|
|
||||||
# 下发创建欠单到bfm
|
|
||||||
|
|
||||||
return info
|
|
||||||
|
|
||||||
# 继承取消创建欠单
|
|
||||||
def process_cancel_backorder(self):
|
|
||||||
info = super(StockBackorderConfirmation, self).process_cancel_backorder()
|
|
||||||
return info
|
|
||||||
@@ -13,6 +13,8 @@ _logger = logging.getLogger(__name__)
|
|||||||
class StockPicking(models.Model):
|
class StockPicking(models.Model):
|
||||||
_inherit = 'stock.picking'
|
_inherit = 'stock.picking'
|
||||||
|
|
||||||
|
cancel_backorder_ids = fields.Boolean(default=False, string='是否取消后置单据')
|
||||||
|
|
||||||
# 重写验证,下发发货到bfm
|
# 重写验证,下发发货到bfm
|
||||||
def button_validate(self):
|
def button_validate(self):
|
||||||
info = super(StockPicking, self).button_validate()
|
info = super(StockPicking, self).button_validate()
|
||||||
@@ -63,6 +65,7 @@ class StockPicking(models.Model):
|
|||||||
'scheduled_date': date_utils.json_default(item.scheduled_date) if item.scheduled_date else None,
|
'scheduled_date': date_utils.json_default(item.scheduled_date) if item.scheduled_date else None,
|
||||||
'date': date_utils.json_default(item.date) if item.date else None,
|
'date': date_utils.json_default(item.date) if item.date else None,
|
||||||
'date_deadline': date_utils.json_default(item.date_deadline) if item.date_deadline else None,
|
'date_deadline': date_utils.json_default(item.date_deadline) if item.date_deadline else None,
|
||||||
|
'date_done': date_utils.json_default(item.date_done) if item.date_done else None,
|
||||||
'move_ids': move_ids,
|
'move_ids': move_ids,
|
||||||
'move_line_ids': move_line_ids,
|
'move_line_ids': move_line_ids,
|
||||||
'state': item.state,
|
'state': item.state,
|
||||||
@@ -71,23 +74,26 @@ class StockPicking(models.Model):
|
|||||||
return backorder_ids
|
return backorder_ids
|
||||||
|
|
||||||
def send_to_bfm(self):
|
def send_to_bfm(self):
|
||||||
|
skip_backorder = self.env.context.get('skip_backorder')
|
||||||
# 下发发货到bfm
|
# 下发发货到bfm
|
||||||
config = self.env['res.config.settings'].get_values()
|
config = self.env['res.config.settings'].get_values()
|
||||||
move_ids, move_line_ids = self.deal_move_ids(self.move_ids, self.move_line_ids)
|
move_ids, move_line_ids = self.deal_move_ids(self.move_ids, self.move_line_ids)
|
||||||
data = {
|
data = {
|
||||||
'params': {
|
'params': {
|
||||||
'receiverName': self.receiverName,
|
'receiverName': self.receiverName,
|
||||||
|
'priority': self.priority,
|
||||||
'name': self.sale_id.default_code,
|
'name': self.sale_id.default_code,
|
||||||
'send_no': self.name,
|
'send_no': self.name,
|
||||||
'scheduled_date': date_utils.json_default(self.scheduled_date) if self.scheduled_date else None,
|
'scheduled_date': date_utils.json_default(self.scheduled_date) if self.scheduled_date else None,
|
||||||
'date': date_utils.json_default(self.date) if self.date else None,
|
'date': date_utils.json_default(self.date) if self.date else None,
|
||||||
'date_deadline': date_utils.json_default(self.date_deadline) if self.date_deadline else None,
|
'date_deadline': date_utils.json_default(self.date_deadline) if self.date_deadline else None,
|
||||||
|
'date_done': date_utils.json_default(self.date_done) if self.date_done else None,
|
||||||
'move_ids': move_ids,
|
'move_ids': move_ids,
|
||||||
'move_line_ids': move_line_ids,
|
'move_line_ids': move_line_ids,
|
||||||
'state': self.state,
|
'state': self.state,
|
||||||
'backorder_id': self.deal_send_backorder_id(self.backorder_id),
|
'backorder_id': self.deal_send_backorder_id(self.backorder_id),
|
||||||
'backorder_ids': self.deal_send_backorder_id(self.backorder_ids)
|
'backorder_ids': self.deal_send_backorder_id(self.backorder_ids),
|
||||||
|
'cancel_backorder_ids': skip_backorder,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
url1 = config['bfm_url_new'] + '/api/stock/deliver_goods'
|
url1 = config['bfm_url_new'] + '/api/stock/deliver_goods'
|
||||||
|
|||||||
Reference in New Issue
Block a user