处理采购订单代发货数量修改及创建欠单,处理sf发货单下发不需要创建欠单,处理bfm发货单下发内部管理,内部管理处理不需要创建欠单

This commit is contained in:
hujiaying
2024-09-03 19:14:48 +08:00
parent fc1cdf4d0e
commit 589035d42b
3 changed files with 9 additions and 31 deletions

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from . import stock_picking
from . import stock_backorder_confirmation
from . import stock_picking

View File

@@ -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

View File

@@ -13,6 +13,8 @@ _logger = logging.getLogger(__name__)
class StockPicking(models.Model):
_inherit = 'stock.picking'
cancel_backorder_ids = fields.Boolean(default=False, string='是否取消后置单据')
# 重写验证下发发货到bfm
def button_validate(self):
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,
'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_done': date_utils.json_default(item.date_done) if item.date_done else None,
'move_ids': move_ids,
'move_line_ids': move_line_ids,
'state': item.state,
@@ -71,23 +74,26 @@ class StockPicking(models.Model):
return backorder_ids
def send_to_bfm(self):
skip_backorder = self.env.context.get('skip_backorder')
# 下发发货到bfm
config = self.env['res.config.settings'].get_values()
move_ids, move_line_ids = self.deal_move_ids(self.move_ids, self.move_line_ids)
data = {
'params': {
'receiverName': self.receiverName,
'priority': self.priority,
'name': self.sale_id.default_code,
'send_no': self.name,
'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_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_line_ids': move_line_ids,
'state': self.state,
'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'