1、添加拆解的仓库管理地点;2、优化功能刀具拆解库存管理;3、代码迁移

This commit is contained in:
yuxianghui
2024-07-02 17:32:27 +08:00
parent 025ad213d6
commit cbc8a41984
4 changed files with 166 additions and 115 deletions

View File

@@ -622,9 +622,9 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
# 封装功能刀具数据,用于创建功能刀具记录
desc_2 = self.get_desc_2(stock_lot, functional_tool_assembly)
# 创建功能刀具组装入库单
self.env['stock.picking'].create_stocking_picking(stock_lot, functional_tool_assembly, self)
self.env['stock.picking'].create_tool_stocking_picking(stock_lot, functional_tool_assembly, self)
# 创建刀具物料出库单
self.env['stock.picking'].create_stocking_picking1(self)
self.env['stock.picking'].create_tool_stocking_picking1(self)
# ============================创建功能刀具列表、安全库存记录===============================
# 创建功能刀具列表记录
@@ -770,7 +770,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
class StockPicking(models.Model):
_inherit = 'stock.picking'
def create_stocking_picking(self, stock_lot, functional_tool_assembly, obj):
def create_tool_stocking_picking(self, stock_lot, functional_tool_assembly, obj):
"""
创建功能刀具组装入库单
"""
@@ -821,7 +821,7 @@ class StockPicking(models.Model):
num = "%03d" % m
return name + str(num)
def create_stocking_picking1(self, obj):
def create_tool_stocking_picking1(self, obj):
"""
创建刀具物料出库单
"""
@@ -874,10 +874,10 @@ class StockPicking(models.Model):
order="id desc"
)
if not stock_id:
num = "%03d" % 1
num = "%05d" % 1
else:
m = int(stock_id.name[-3:]) + 1
num = "%03d" % m
num = "%05d" % m
return name + str(num)
@@ -950,53 +950,3 @@ class ProductProduct(models.Model):
m = int(stock_lot_id.name[-3:]) + 1
num = "%03d" % m
return '%s-%s' % (code, num)
class StockLot(models.Model):
_inherit = 'stock.lot'
def create_stock_quant(self, location_inventory_id, stock_location_id, functional_tool_assembly_id, name, obj,
tool_groups_id):
"""
对功能刀具组装过程的功能刀具和刀具物料进行库存移动,以及创建移动历史
"""
# 创建库存移动记录
stock_move_id = self.env['stock.move'].sudo().create({
'name': name,
'product_id': self.product_id.id,
'location_id': location_inventory_id.id,
'location_dest_id': stock_location_id.id,
'product_uom_qty': 1.00,
'state': 'done'
})
# 创建移动历史记录
stock_move_line_id = self.env['stock.move.line'].sudo().create({
'product_id': self.product_id.id,
'functional_tool_name_id': functional_tool_assembly_id,
'lot_id': self.id,
'move_id': stock_move_id.id,
'install_tool_time': fields.Datetime.now(),
'qty_done': 1.0,
'state': 'done',
'functional_tool_type_id': False if not obj else obj.functional_tool_type_id.id,
'diameter': None if not obj else obj.after_assembly_functional_tool_diameter,
'knife_tip_r_angle': None if not obj else obj.after_assembly_knife_tip_r_angle,
'code': '' if not obj else obj.code,
'rfid': '' if not obj else obj.rfid,
'functional_tool_name': '' if not obj else obj.after_assembly_functional_tool_name,
'tool_groups_id': False if not tool_groups_id else tool_groups_id.id
})
return stock_move_id, stock_move_line_id
# class StockQuant(models.Model):
# _inherit = 'stock.quant'
#
# @api.model_create_multi
# def create(self, vals_list):
# records = super(StockQuant, self).create(vals_list)
# for record in records:
# if record.lot_id.product_id.categ_id.name == '刀具':
# record.lot_id.enroll_tool_material_stock()
# return records