Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化制造功能

This commit is contained in:
mgw
2024-08-28 17:42:38 +08:00
2 changed files with 25 additions and 39 deletions

View File

@@ -770,9 +770,13 @@ class MrpProduction(models.Model):
'date_from': date_planned_start, 'date_from': date_planned_start,
'date_to': date_planned_end, 'date_to': date_planned_end,
}) })
# work.write({'date_planned_start': date_planned_start, 'date_planned_finished': date_planned_end})
work.date_planned_start = date_planned_start work.date_planned_start = date_planned_start
work.date_planned_finished = date_planned_end work.date_planned_finished = date_planned_end
# work.write({'date_planned_start': date_planned_start, 'date_planned_finished': date_planned_end}) routing_workcenter = self.env['mrp.routing.workcenter'].sudo().search(
[('name', '=', work.routing_type)])
work.write({'date_planned_start': date_planned_start, 'date_planned_finished': date_planned_end,'duration_expected':routing_workcenter.time_cycle})
# 修改标记已完成方法 # 修改标记已完成方法
def button_mark_done1(self): def button_mark_done1(self):

View File

@@ -51,44 +51,26 @@ class Sf_Mrs_Connect(http.Controller):
production.product_id.model_processing_panel = ret['processing_panel'] production.product_id.model_processing_panel = ret['processing_panel']
production._create_workorder(ret) production._create_workorder(ret)
productions.process_range_time() productions.process_range_time()
# else: else:
# for panel in ret['processing_panel'].split(','): for panel in ret['processing_panel'].split(','):
# # 查询状态为进行中且工序类型为CNC加工的工单 # 查询状态为进行中且工序类型为CNC加工的工单
# cnc_workorder = production.workorder_ids.filtered( cnc_workorder_has = production.workorder_ids.filtered(
# lambda ac: ac.routing_type == 'CNC加工' and ac.state not in ['progress', 'done', lambda ach: ach.routing_type == 'CNC加工' and ach.state not in ['progress', 'done',
# 'cancel'] and ac.processing_panel == panel) 'rework',
# if cnc_workorder: 'cancel'] and ach.processing_panel == panel)
# if cnc_workorder.cnc_ids: if cnc_workorder_has:
# cnc_workorder.cmm_ids.sudo().unlink() if cnc_workorder_has.cnc_ids:
# cnc_workorder.cnc_ids.sudo().unlink() cnc_workorder_has.cmm_ids.sudo().unlink()
# request.env['sf.cam.work.order.program.knife.plan'].sudo().unlink_cam_plan( cnc_workorder_has.cnc_ids.sudo().unlink()
# production) request.env['sf.cam.work.order.program.knife.plan'].sudo().unlink_cam_plan(
# # program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test', production)
# # panel) cnc_workorder_has.write(
# program_path_tmp_panel = os.path.join('/tmp', ret['folder_name'], 'return', panel) {'cnc_ids': cnc_workorder_has.cnc_ids.sudo()._json_cnc_processing(panel, ret),
# logging.info('program_path_tmp_panel:%s' % program_path_tmp_panel) 'cmm_ids': cnc_workorder_has.cmm_ids.sudo()._json_cmm_program(panel, ret)})
# files_panel = os.listdir(program_path_tmp_panel)
# if files_panel:
# for file in files_panel:
# file_extension = os.path.splitext(file)[1]
# logging.info('file_extension:%s' % file_extension)
# if file_extension.lower() == '.pdf':
# panel_file_path = os.path.join(program_path_tmp_panel, file)
# logging.info('panel_file_path:%s' % panel_file_path)
# cnc_workorder.write(
# {'cnc_ids': cnc_workorder.cnc_ids.sudo()._json_cnc_processing(panel, ret),
# 'cmm_ids': cnc_workorder.cmm_ids.sudo()._json_cmm_program(panel, ret),
# 'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
# pre_workorder = production.workorder_ids.filtered(
# lambda ap: ap.routing_type == '装夹预调' and ap.state not in ['done',
# 'cancel'] and ap.processing_panel == panel)
# if pre_workorder:
# pre_workorder.write(
# {'processing_drawing': base64.b64encode(open(panel_file_path, 'rb').read())})
for panel in ret['processing_panel'].split(','): for panel in ret['processing_panel'].split(','):
# 查询状态为进行中且工序类型为CNC加工的工单 # 查询状态为进行中且工序类型为CNC加工的工单
cnc_workorder = productions.workorder_ids.filtered( cnc_workorder = productions.workorder_ids.filtered(
lambda ac: ac.routing_type == 'CNC加工' and ac.state not in ['progress', 'done', lambda ac: ac.routing_type == 'CNC加工' and ac.state not in ['progress', 'done', 'rework'
'cancel'] and ac.processing_panel == panel) 'cancel'] and ac.processing_panel == panel)
if cnc_workorder: if cnc_workorder:
# program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test', # program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test',
@@ -105,7 +87,7 @@ class Sf_Mrs_Connect(http.Controller):
logging.info('panel_file_path:%s' % panel_file_path) logging.info('panel_file_path:%s' % panel_file_path)
cnc_workorder.write({'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())}) cnc_workorder.write({'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
pre_workorder = productions.workorder_ids.filtered( pre_workorder = productions.workorder_ids.filtered(
lambda ap: ap.routing_type == '装夹预调' and ap.state not in ['done', lambda ap: ap.routing_type == '装夹预调' and ap.state not in ['done', 'rework'
'cancel'] and ap.processing_panel == panel) 'cancel'] and ap.processing_panel == panel)
if pre_workorder: if pre_workorder:
pre_workorder.write( pre_workorder.write(