Accept Merge Request #1093: (release/release_1.8 -> master)

Merge Request: 功能刀具、工件状态优化

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/1093?initial=true
This commit is contained in:
马广威
2024-06-24 21:38:15 +08:00
committed by Coding
3 changed files with 44 additions and 40 deletions

View File

@@ -555,9 +555,9 @@
<field name="model">sf.tool.inventory</field> <field name="model">sf.tool.inventory</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="功能刀具清单" create="1" edit="1" delete="0" editable="bottom"> <tree string="功能刀具清单" create="1" edit="1" delete="0" editable="bottom">
<field name="name"/> <field name="name" attrs="{'readonly': [('id', '!=', False)]}"/>
<field name="functional_cutting_tool_model_id"/> <field name="functional_cutting_tool_model_id"/>
<field name="tool_groups_id"/> <field name="tool_groups_id" required="1" attrs="{'readonly': [('id', '!=', False)]}"/>
<field name="work_material"/> <field name="work_material"/>
<field name="life_span"/> <field name="life_span"/>
<field name="prefix" optional="hide"/> <field name="prefix" optional="hide"/>

View File

@@ -460,25 +460,27 @@ class Manufacturing_Connect(http.Controller):
if f'RfidCode{i}' in ret: if f'RfidCode{i}' in ret:
rfid_code = ret[f'RfidCode{i}'] rfid_code = ret[f'RfidCode{i}']
logging.info('RfidCode:%s' % rfid_code) logging.info('RfidCode:%s' % rfid_code)
domain = [ if rfid_code is not None:
('rfid_code', '=', rfid_code), domain = [
('routing_type', '=', 'CNC加工') ('rfid_code', '=', rfid_code),
] ('routing_type', '=', 'CNC加工')
workorder = request.env['mrp.workorder'].sudo().search(domain, order='id asc') ]
if workorder: workorder = request.env['mrp.workorder'].sudo().search(domain, order='id asc')
for order in workorder: if workorder:
if order.production_id.production_line_state == '待上产线': for order in workorder:
logging.info( if order.production_id.production_line_state == '待上产线':
'制造订单产线状态:%s' % order.production_id.production_line_state) logging.info(
order.production_id.write({'production_line_state': '已上产线'}) '制造订单产线状态:%s' % order.production_id.production_line_state)
workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search([ order.production_id.write({'production_line_state': '已上产线'})
('rfid_code', '=', rfid_code), ('type', '=', '上产线'), workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search(
('production_id', '=', order.production_id.id)]) [
if workpiece_delivery.status == '待下发': ('rfid_code', '=', rfid_code), ('type', '=', '上产线'),
workpiece_delivery.write({'is_manual_work': True}) ('production_id', '=', order.production_id.id)])
else: if workpiece_delivery.status == '待下发':
res = {'Succeed': False, 'ErrorCode': 204, workpiece_delivery.write({'is_manual_work': True})
'Error': 'DeviceId为%s没有对应的已配送工件数据' % ret['DeviceId']} else:
res = {'Succeed': False, 'ErrorCode': 204,
'Error': 'DeviceId为%s没有对应的已配送工件数据' % ret['DeviceId']}
else: else:
res = {'Succeed': False, 'ErrorCode': 203, 'Error': '未传IsComplete字段'} res = {'Succeed': False, 'ErrorCode': 203, 'Error': '未传IsComplete字段'}
else: else:
@@ -515,24 +517,26 @@ class Manufacturing_Connect(http.Controller):
if f'RfidCode{i}' in ret: if f'RfidCode{i}' in ret:
rfid_code = ret[f'RfidCode{i}'] rfid_code = ret[f'RfidCode{i}']
logging.info('RfidCode:%s' % rfid_code) logging.info('RfidCode:%s' % rfid_code)
domain = [ if rfid_code is not None:
('rfid_code', '=', rfid_code), domain = [
('routing_type', '=', 'CNC加工') ('rfid_code', '=', rfid_code),
] ('routing_type', '=', 'CNC加工')
workorder = request.env['mrp.workorder'].sudo().search(domain, order='id asc') ]
if workorder: workorder = request.env['mrp.workorder'].sudo().search(domain, order='id asc')
for order in workorder: if workorder:
if order.production_id.production_line_state == '已上产线': for order in workorder:
logging.info( if order.production_id.production_line_state == '已上产线':
'制造订单产线状态:%s' % order.production_id.production_line_state) logging.info(
order.production_id.write({'production_line_state': '已下产线'}) '制造订单产线状态:%s' % order.production_id.production_line_state)
workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search([ order.production_id.write({'production_line_state': '已下产线'})
('rfid_code', '=', rfid_code), ('type', '=', '下产线'), workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search(
('production_id', '=', order.production_id.id)]) [
delivery_Arr.append(workpiece_delivery.id) ('rfid_code', '=', rfid_code), ('type', '=', '下产线'),
else: ('production_id', '=', order.production_id.id)])
res = {'Succeed': False, 'ErrorCode': 204, delivery_Arr.append(workpiece_delivery.id)
'Error': 'DeviceId为%s没有对应的已配送工件数据' % ret['DeviceId']} else:
res = {'Succeed': False, 'ErrorCode': 204,
'Error': 'DeviceId为%s没有对应的已配送工件数据' % ret['DeviceId']}
if delivery_Arr: if delivery_Arr:
logging.info('delivery_Arr:%s' % delivery_Arr) logging.info('delivery_Arr:%s' % delivery_Arr)
delivery_workpiece = request.env['sf.workpiece.delivery'].sudo().search( delivery_workpiece = request.env['sf.workpiece.delivery'].sudo().search(

View File

@@ -1028,7 +1028,7 @@ class ProductProduct(models.Model):
'product_id': self.id, 'product_id': self.id,
'lot_id': lot_id.id, 'lot_id': lot_id.id,
'move_id': stock_move_id.id, 'move_id': stock_move_id.id,
'destination_location_id': shelf_location_id.id, 'destination_location_id': shelf_location_id.id if shelf_location_id else False,
'install_tool_time': fields.Datetime.now(), 'install_tool_time': fields.Datetime.now(),
'qty_done': 1.0, 'qty_done': 1.0,
'state': 'done', 'state': 'done',