From 782e26698840db1d4d56706d8aefcc66499093cc Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Mon, 29 Apr 2024 11:36:29 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_manufacturing/views/mrp_workorder_view.xml | 43 ++++++++++++-------
1 file changed, 28 insertions(+), 15 deletions(-)
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index 0611e1e3..b3164055 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -43,7 +43,7 @@
{'invisible':
['|',("user_permissions","=",False),("name","=","获取CNC加工程序")]}
- 停工
+
1
@@ -111,23 +111,36 @@
+
+
+
+
+
+
+
+
+
+
+ attrs="{'invisible': ['|', '|', '|', ('production_state','in', ('draft', 'done', 'cancel')), ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'cancel')), ('is_user_working', '!=', False)]}"/>
+ attrs="{'invisible': ['|', '|', ('production_state', 'in', ('draft', 'done', 'cancel')), ('working_state', '=', 'blocked'), ('is_user_working', '=', False)]}"/>
-
-
+ attrs="{'invisible': ['|', '|', ('production_state', 'in', ('draft', 'done', 'cancel')), ('working_state', '=', 'blocked'), ('is_user_working', '=', False)]}"/>
+
+
+
+
+
+
+
+
+
+
+
+
From 3a22c817dfbda7a5e516a4eaba6fa19b69986d20 Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Mon, 29 Apr 2024 12:15:54 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E5=AE=9E=E9=99=85=E5=BC=80=E5=A7=8B=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_manufacturing/models/mrp_workorder.py | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index dd7dbd3c..12d7505b 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -409,6 +409,7 @@ class ResMrpWorkOrder(models.Model):
work.compensation_value_y = eval(self.material_center_point)[1]
work.process_state = '待加工'
self.sudo().production_id.state = 'pending_processing'
+ self.date_finished = datetime.now()
workorder.button_finish()
except Exception as e:
@@ -700,6 +701,12 @@ class ResMrpWorkOrder(models.Model):
def button_start(self):
if self.routing_type == '装夹预调' and self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name:
self.pro_code = self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name
+
+ if self.routing_type == '解除装夹':
+ '''
+ 记录开始时间
+ '''
+ self.date_start = datetime.now()
# 外协出库单,从“正在等待”变为“就绪”状态
if self.is_subcontract is True:
picking_out = self.env['stock.picking'].search([('id', '=', self.picking_out_id.id)])
@@ -771,6 +778,13 @@ class ResMrpWorkOrder(models.Model):
if not self.rfid_code:
raise UserError("请扫RFID码进行绑定")
self.workpiece_delivery_ids[0].write({'status': '待下发'})
+
+ if self.routing_type == '解除装夹':
+ '''
+ 记录结束时间
+ '''
+ self.date_finished = datetime.now()
+
if self.picking_out_id:
picking_out = self.env['stock.picking'].search([('id', '=', self.picking_out_id.id)])
if picking_out.workorder_out_id:
@@ -1021,6 +1035,7 @@ class SfWorkOrderBarcodes(models.Model):
item.write({'rfid_code': barcode})
logging.info("Rfid绑定成功!!!")
self.process_state = '待检测'
+ self.date_start = datetime.now()
else:
raise UserError('该托盘信息不存在!!!')
# stock_move_line = self.env['stock.move.line'].search([('lot_name', '=', barcode)])