From e3d58c2a9e2a0be6b89ca3f44202b73adab4a625 Mon Sep 17 00:00:00 2001
From: "JIKIMO-YXH\\xianghui" <3437689193@qq.com>
Date: Thu, 26 Oct 2023 17:39:33 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E4=BA=A7=E5=88=9D?=
=?UTF-8?q?=E5=A7=8B=E5=8C=96=E7=94=9F=E6=88=90=E5=8A=9F=E8=83=BD=E5=88=80?=
=?UTF-8?q?=E5=85=B7=EF=BC=8C=E8=A7=A3=E5=86=B3=E4=BD=9C=E4=B8=9A=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E6=97=A0=E6=B3=95=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E5=88=80=E5=85=B7=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B2?=
=?UTF-8?q?=E3=80=81=E4=BC=98=E5=8C=96=E5=8F=96=E6=B6=88=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E5=88=80=E5=85=B7=E7=BB=84=E8=A3=85=E5=8A=9F=E8=83=BD=EF=BC=9B?=
=?UTF-8?q?3=E3=80=81=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E5=88=80?=
=?UTF-8?q?=E5=85=B7=E7=BB=84=E8=A3=85=E7=A1=AE=E5=AE=9A=E5=90=8E=E7=94=9F?=
=?UTF-8?q?=E6=88=90=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7=E5=BA=8F=E5=88=97?=
=?UTF-8?q?=E5=8F=B7=EF=BC=8C=E7=94=9F=E6=88=90=E5=88=80=E5=85=B7=E7=BB=84?=
=?UTF-8?q?=E8=A3=85=E5=85=A5=E5=BA=93=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_dlm/data/product_data.xml | 7 +--
sf_manufacturing/data/stock_data.xml | 2 -
sf_tool_management/models/base.py | 12 ++--
sf_tool_management/views/tool_base_views.xml | 33 +----------
sf_tool_management/wizard/wizard.py | 62 ++++++++++++++++++++
5 files changed, 72 insertions(+), 44 deletions(-)
diff --git a/sf_dlm/data/product_data.xml b/sf_dlm/data/product_data.xml
index 15cfc8b5..528c6ec2 100644
--- a/sf_dlm/data/product_data.xml
+++ b/sf_dlm/data/product_data.xml
@@ -35,10 +35,8 @@
功能刀具
-
- 功能刀具模板
-
+ 功能刀具
@@ -49,9 +47,8 @@
- true
+ false
serial
- false
diff --git a/sf_manufacturing/data/stock_data.xml b/sf_manufacturing/data/stock_data.xml
index 15ad1a55..4e1841e2 100644
--- a/sf_manufacturing/data/stock_data.xml
+++ b/sf_manufacturing/data/stock_data.xml
@@ -59,8 +59,6 @@
刀具组装入库
internal
true
-
-
ZR
diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py
index a55f4f17..ff3f1bed 100644
--- a/sf_tool_management/models/base.py
+++ b/sf_tool_management/models/base.py
@@ -895,27 +895,27 @@ class FunctionalToolAssembly(models.Model):
('assemble_status', '=', '1')
]).write({
'cutting_tool_integral_model_id': None,
- 'integral_code': None,
+ 'integral_code_id': None,
'integral_name': None,
'sf_tool_brand_id_1': None,
'cutting_tool_blade_model_id': None,
- 'blade_code': None,
+ 'blade_code_id': None,
'blade_name': None,
'sf_tool_brand_id_2': None,
'cutting_tool_cutterbar_model_id': None,
- 'bar_code': None,
+ 'bar_code_id': None,
'bar_name': None,
'sf_tool_brand_id_3': None,
'cutting_tool_cutterpad_model_id': None,
- 'pad_code': None,
+ 'pad_code_id': None,
'pad_name': None,
'sf_tool_brand_id_4': None,
'cutting_tool_cutterhandle_model_id': None,
- 'handle_code': None,
+ 'handle_code_id': None,
'handle_name': None,
'sf_tool_brand_id_5': None,
'cutting_tool_cutterhead_model_id': None,
- 'chuck_code': None,
+ 'chuck_code_id': None,
'chuck_name': None,
'sf_tool_brand_id_6': None,
'coarse_middle_thin': None,
diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml
index 0e9f7386..077cb027 100644
--- a/sf_tool_management/views/tool_base_views.xml
+++ b/sf_tool_management/views/tool_base_views.xml
@@ -1127,7 +1127,7 @@
-
+
@@ -1165,7 +1165,7 @@
-
+
@@ -1208,35 +1208,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py
index c9dd4eb9..7218bd1f 100644
--- a/sf_tool_management/wizard/wizard.py
+++ b/sf_tool_management/wizard/wizard.py
@@ -392,9 +392,71 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
self.env['sf.functional.cutting.tool.entity'].search([('code', '=', self.code)]).write(desc_2)
# 修改功能刀具组装信息
functional_tool_assembly.write(desc_1)
+
+ # 创建组装入库单
+ # 创建功能刀具批次/序列号记录
+ stock_lot = self.create_assemble_warehouse_receipt()
+ # 创建刀具组装入库单
+ self.create_stocking_picking(stock_lot)
+
# 关闭弹出窗口
return {'type': 'ir.actions.act_window_close'}
+ def create_stocking_picking(self, stock_lot):
+ """
+ 创建刀具组装入库单
+ """
+ # 获取名称为刀具组装入库的作业类型
+ picking_type_id = self.env['stock.picking.type'].sudo().search([('name', '=', '刀具组装入库')])
+ # 创建刀具组装入库单
+ picking_id = self.env['stock.picking'].create({
+ 'picking_type_id': picking_type_id.id
+ })
+ # 创建作业详情对象记录,并绑定到刀具组装入库单
+ self.env['stock.move.line'].create({
+ 'picking_id': picking_id.id,
+ 'product_id': stock_lot.product_id.id,
+ 'lot_id': stock_lot.id
+ })
+ # 将刀具组装入库单的状态更改为就绪
+ picking_id.action_confirm()
+
+ def create_assemble_warehouse_receipt(self):
+ """
+ 创建功能刀具批次/序列号记录
+ """
+ product_id = self.env['product.product'].search([('name', '=', '功能刀具')])
+
+ stock_lot = self.env['stock.lot'].create({
+ 'name': self.get_stock_lot_name(),
+ 'product_id': product_id.id,
+ 'product_qty': 1.00,
+ 'company_id': self.env.company.id
+ })
+
+ return stock_lot
+
+ def get_stock_lot_name(self):
+ """
+ 生成功能刀具序列号
+ """
+ code = 'JKM-T-' + str(self.code) + '-' + str(self.functional_tool_diameter) + '-'
+ new_time = fields.Date.today()
+ code += str(new_time) + '-'
+ stock_lot_id = self.env['stock.lot'].sudo().search(
+ [('name', 'like', new_time), ('product_id.name', '=', '功能刀具')],
+ limit=1,
+ order="id desc"
+ )
+ print(stock_lot_id)
+ if not stock_lot_id:
+ num = "%03d" % 1
+ else:
+ m = int(stock_lot_id.name[-3:]) + 1
+ num = "%03d" % m
+ print(num)
+ return code + str(num)
+
class DeliveryOfCargoFromStorage(models.TransientModel):
_name = 'sf.delivery.of.cargo.from.storage'