# -*- coding: utf-8 -*- import json import logging import os from datetime import date, timedelta from odoo import http from odoo.http import request class Sf_Mrs_Connect(http.Controller): @http.route('/api/cnc_processing/create', type='json', auth='none', methods=['GET', 'POST'], csrf=False, cors="*") def get_cnc_processing_create(self, **kw): """ 获取mrs下发的编程单 :param kw: :return: """ logging.info('get_cnc_processing_create:%s' % kw) try: datas = request.httprequest.data ret = json.loads(datas) ret = json.loads(ret['result']) for obj in ret: cnc = request.env['sf.cnc.processing'].with_user(request.env.ref("base.user_admin")).CNCprocessing_create(obj) logging.info('cnc:%s' % cnc) # 从ftp拉取对应的文件 model_code = cnc.workorder_id.product_id.barcode processing_panel = cnc.workorder_id.processing_panel server_dir = cnc.with_user(request.env.ref("base.user_admin")).download_file_tmp(model_code, processing_panel) cnc_file_path = os.path.join(server_dir, cnc.program_name + '.NC') cnc.with_user(request.env.ref("base.user_admin")).write_file(cnc_file_path, cnc) except Exception as e: logging.info('get_cnc_processing_create error:%s' % e)