Accept Merge Request #204: (feature/采购刀具产品优化序列号生成规则 -> develop)

Merge Request: 采购刀具产品入库优化序列号生成规则

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/204?initial=true
This commit is contained in:
杨金灵
2023-06-16 17:13:09 +08:00
2 changed files with 18 additions and 2 deletions

View File

@@ -56,7 +56,7 @@ class ResProductTemplate(models.Model):
('刀杆', '刀杆'),
('刀盘', '刀盘'),
('刀柄', '刀柄'),
('夹头', '夹头')], string='刀具')
('夹头', '夹头')], string='刀具物料')
# 关联整体式刀具型号
integral_cutting_tool_type_id = fields.Many2one('sf.integral.cutting.tool', '整体式刀具型号')
# 关联刀片型号

View File

@@ -2,6 +2,7 @@
from collections import defaultdict, namedtuple
from odoo.addons.stock.models.stock_rule import ProcurementException
from re import findall as regex_findall
from datetime import datetime
from re import split as regex_split
from odoo import SUPERUSER_ID, _, api, fields, models
from odoo.tools import float_compare
@@ -228,6 +229,20 @@ class ProductionLot(models.Model):
if last_serial:
return self.env['stock.lot'].generate_lot_names1(product.name, last_serial.name, 2)[
1]
now = datetime.now().strftime("%Y-%m-%d")
# formatted_date = now.strftime("%Y-%m-%d")
if product.integral_cutting_tool_type_id:
return "%s-%s-%03d" % (product.integral_cutting_tool_type_id.code, now, 1)
if product.blade_type_id:
return "%s-%s-%03d" % (product.blade_type_id.code, now, 1)
if product.cutter_bar_type_id:
return "%s-%s-%03d" % (product.cutter_bar_type_id.code, now, 1)
if product.cutter_pad_type_id:
return "%s-%s-%03d" % (product.cutter_pad_type_id.code, now, 1)
if product.handle_type_id:
return "%s-%s-%03d" % (product.handle_type_id.code, now, 1)
if product.chuck_type_id:
return "%s-%s-%03d" % (product.chuck_type_id.code, now, 1)
return "%s-%03d" % (product.name, 1)
@@ -261,7 +276,8 @@ class StockPicking(models.Model):
lambda p: p.state == 'pending' and p.is_subcontract is True)
if workorder_subcontract:
raise UserError(
_('该出库单里源单据内的单号为%s的工单还未开始,不能进行验证操作!' % workorder_subcontract[0].name))
_('该出库单里源单据内的单号为%s的工单还未开始,不能进行验证操作!' % workorder_subcontract[
0].name))
# 入库单验证
if self.workorder_in_id:
workorder_out = self.workorder_in_id.filtered(lambda p: p.state == 'progress' and p.is_subcontract is True)