优化采购:一个制造订单对应一个采购单

This commit is contained in:
jinling.yang
2024-11-28 09:59:01 +08:00
parent ecf683e663
commit c22b91f9d9
9 changed files with 71 additions and 61 deletions

View File

@@ -283,7 +283,8 @@ class StockRule(models.Model):
sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)])
# 如果订单为空,则获取来源制造订单的销售单
if not sale_order:
mrp_production = self.env['mrp.production'].sudo().search([('name', '=', production.origin)], limit=1)
mrp_production = self.env['mrp.production'].sudo().search([('name', '=', production.origin)],
limit=1)
if mrp_production:
sale_order = self.env['sale.order'].sudo().search([('name', '=', mrp_production.origin)])
else:
@@ -670,10 +671,14 @@ class StockPicking(models.Model):
# 创建 外协出库入单
def create_outcontract_picking(self, sorted_workorders_arr, item):
domain = [('origin', '=', item.name), ('name', 'ilike', 'OCOUT')]
if len(sorted_workorders_arr) > 1:
sorted_workorders_arr = sorted_workorders_arr[0]
stock_picking = self.env['stock.picking'].search([('origin', '=', item.name), ('name', 'ilike', 'OCOUT')])
if not stock_picking or sorted_workorders_arr:
else:
domain += [
('surface_technics_parameters_id', '=', sorted_workorders_arr[0].surface_technics_parameters_id.id)]
stock_picking = self.env['stock.picking'].search(domain)
if not stock_picking:
for sorted_workorders in sorted_workorders_arr:
# pick_ids = []
if not sorted_workorders.picking_ids: