From d2899fe38e85f1b2fbbba201245ef93e8ece52ba Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Mon, 20 Nov 2023 10:48:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=90=8E=E7=9A=84=E4=BB=A3=E7=A0=81=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E6=95=88=E6=9E=9C=EF=BC=8C=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=AE=A1=E6=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_machine_connect/models/ftp_client.py | 24 ++++----- sf_machine_connect/models/ftp_operate.py | 1 - .../models/res_config_setting.py | 1 - .../static/src/js/barcode_button.js | 53 +++++++++---------- .../static/src/js/barcode_handler_field.js | 15 ++---- sf_machine_connect/wizard/__init__.py | 2 +- sf_machine_connect/wizard/action_up.py | 3 +- .../static/src/js/kanban_change.js | 12 ++--- sf_plan/models/custom_plan.py | 6 ++- sf_plan_management/__manifest__.py | 3 +- 10 files changed, 51 insertions(+), 69 deletions(-) diff --git a/sf_machine_connect/models/ftp_client.py b/sf_machine_connect/models/ftp_client.py index cc4d60e2..d1295217 100644 --- a/sf_machine_connect/models/ftp_client.py +++ b/sf_machine_connect/models/ftp_client.py @@ -1,22 +1,21 @@ # -*- coding: utf-8 -*- -import base64 -import logging import os -import json -import hashlib import time -import requests -from datetime import datetime, timedelta -from odoo.http import request -from odoo import fields, models, api, _ -from odoo.exceptions import ValidationError -from odoo.exceptions import UserError -from odoo.addons.sf_machine_connect.models import py2opcua, ftp_operate - +import json +import base64 import shutil +import logging +import hashlib from io import BytesIO from zipfile import ZipFile +from datetime import datetime, timedelta +import requests +from odoo.http import request +from odoo import fields, models, api, _ +from odoo.exceptions import UserError from odoo.exceptions import MissingError +from odoo.exceptions import ValidationError +from odoo.addons.sf_machine_connect.models import py2opcua, ftp_operate _logger = logging.getLogger(__name__) @@ -514,7 +513,6 @@ class WorkCenterBarcode(models.Model): print('111111111111111111111') workorder_obj_target = self.env['mrp.workorder'].sudo().search([('tray_code', '=', barcode)]) workorder_obj_current = self.env['mrp.workorder'].sudo().search([('id', '=', kwargs['current_id'])]) - # workorder_cnc = self.env['mrp.workorder'].sudo().search(['&', ('production_id', '=', workorder_obj.production_id.id), ('name', '=', 'CNC加工')]) workorder_cnc = self.env['mrp.workorder'].sudo().search( ['&', ('production_id', '=', workorder_obj_target.production_id.id), ('name', '=', workorder_obj_current.name)]) diff --git a/sf_machine_connect/models/ftp_operate.py b/sf_machine_connect/models/ftp_operate.py index 277851ff..a94824f2 100644 --- a/sf_machine_connect/models/ftp_operate.py +++ b/sf_machine_connect/models/ftp_operate.py @@ -49,7 +49,6 @@ class FtpController: self.port = port self.username = username self.password = password - # _logger.info("===================ftppppp==================%s,%s,%s,%s" % self.host, self.port, self.username, self.password) # 测试 print("==============================================") print(self.username, self.port, self.host, self.password) diff --git a/sf_machine_connect/models/res_config_setting.py b/sf_machine_connect/models/res_config_setting.py index bab85379..c8257bf8 100644 --- a/sf_machine_connect/models/res_config_setting.py +++ b/sf_machine_connect/models/res_config_setting.py @@ -33,4 +33,3 @@ class ResBFMConfigSettings(models.TransientModel): super(ResBFMConfigSettings, self).set_values() ir_config = self.env['ir.config_parameter'].sudo() ir_config.set_param("bfm_url", self.bfm_url or "") - diff --git a/sf_machine_connect/static/src/js/barcode_button.js b/sf_machine_connect/static/src/js/barcode_button.js index c6554598..a050b35a 100644 --- a/sf_machine_connect/static/src/js/barcode_button.js +++ b/sf_machine_connect/static/src/js/barcode_button.js @@ -1,29 +1,23 @@ /** @odoo-module **/ import { browser } from "@web/core/browser/browser"; -import { Dialog } from "@web/core/dialog/dialog"; -import { _lt } from "@web/core/l10n/translation"; -import { useChildRef, useOwnedDialogs, useService } from "@web/core/utils/hooks"; -import { sprintf } from "@web/core/utils/strings"; -import { isMobileOS } from "@web/core/browser/feature_detection"; import * as BarcodeScanner from "@web/webclient/barcode/barcode_scanner"; -const { useRef } = owl; -const {xml, Component} = owl; +const { Component } = owl; import { standardFieldProps } from "@web/views/fields/standard_field_props"; import {registry} from "@web/core/registry"; import {useInputField} from "@web/views/fields/input_field_hook"; export class CodeField extends Component { setup() { - console.log('CodeField created') - console.log('this',this) - console.log('this.props',this.props) - console.log('this.props.record',this.props.value) + // console.log('CodeField created') + // console.log('this',this) + // console.log('this.props',this.props) + // console.log('this.props.record',this.props.value) useInputField({ getValue: () => this.props.value, refName: "scan_code", }); - console.log('我是setup1') + // console.log('我是setup1') super.setup(); this.orm = this.env.services.orm; this.record = this.props.record; @@ -45,12 +39,12 @@ export class CodeField extends Component { async search(barcode) { // alert('我是search') const domain = [["code", "=", barcode]]; - console.log(domain) + // console.log(domain) const fields = ["id", "code", "name", "state"]; - console.log(fields) + // console.log(fields) const results = await this.orm.call("sf.tray", "search_read", [domain, fields]); const values = await this.orm.call("sf.tray", "search_read", [domain]); - console.log(results) + // console.log(results) return results.map((result) => { return { id: result.id, @@ -63,16 +57,16 @@ export class CodeField extends Component { } async onBarcodeScanned(barcode) { const results = await this.search(barcode); - console.log(results) + // console.log(results) const records = results.filter((r) => !!r.id); - console.log(records) + // console.log(records) if (records.length === 1) { if (records[0].state === '空闲') { - console.log('currentModel',this) - console.log('this.record.data',this.record.data) - console.log('this.record.data.id', this.record.data.id) + // console.log('currentModel',this) + // console.log('this.record.data',this.record.data) + // console.log('this.record.data.id', this.record.data.id) const workorder = await this.orm.call('mrp.workorder', 'read', [this.record.data.id]); - console.log('workorder', workorder[0]) + // console.log('workorder', workorder[0]) const updatedRecord = await this.orm.call("sf.tray", "write", [ [records[0].id], { @@ -81,31 +75,32 @@ export class CodeField extends Component { production_id: workorder[0].product_id[0], // workorder_id: workorder.id, }]); - console.log(workorder[0].routing_type); - console.log(workorder[0].production_id); + // console.log(workorder[0].routing_type); + // console.log(workorder[0].production_id); // const productionIDS = await this.orm.call('mrp.production', 'search', [[['id', '=', workorder[0].production_id[0]]]]); const productionIDS = await this.orm.call('mrp.workorder', 'search', [[["production_id", "=", workorder[0].production_id[0]]]]); - console.log('prooooooo', productionIDS); - console.log('values', records[0].values[0]); + // console.log('prooooooo', productionIDS); + // console.log('values', records[0].values[0]); productionIDS.forEach(async (data) => { // 处理每一个数据 - console.log(data); + // console.log(data); const updatetrayRecord = await this.orm.call("mrp.workorder", "write", [ [data], { tray_id: records[0].values[0].id, // tray_id: false, }]); - console.log(updatetrayRecord) + // console.log(updatetrayRecord) }); this.props.update(records[0].code); $('.o_form_button_save').click(); } else { if (records[0].state === '占用') { - console.log('此托盘已占用,请检查') + // console.log('此托盘已占用,请检查') alert('此托盘已占用,请检查') } else { - console.log('此托盘已损坏,请登记') + // console.log('此托盘已损坏,请登记') + alert('此托盘已损坏,请登记') } } diff --git a/sf_machine_connect/static/src/js/barcode_handler_field.js b/sf_machine_connect/static/src/js/barcode_handler_field.js index 020cc5d4..6d24d4c6 100644 --- a/sf_machine_connect/static/src/js/barcode_handler_field.js +++ b/sf_machine_connect/static/src/js/barcode_handler_field.js @@ -8,10 +8,7 @@ const { Component, xml } = owl; export class BarcodeHandlerField extends Component { setup() { - console.log('99999999111'); this.actionService = useService("action") - console.log(this.actionService) - const barcode = useService("barcode"); // this.rpc = useService("rpc"); // useBus(barcode.bus, "barcode_scanned", this.onBarcodeScanned.bind(this)); @@ -20,9 +17,6 @@ export class BarcodeHandlerField extends Component { async _rpc(params) { // const { data } = await this.env.services.rpc('/web/dataset/call_kw', params); const response = await this.env.services.rpc('/web/dataset/call_kw', params); - console.log('response', response); - console.log('response.result', response.result); - // return response const responseObject = JSON.parse(response) return responseObject; @@ -33,8 +27,6 @@ export class BarcodeHandlerField extends Component { this.props.update(barcode); // const actionService = useService("action"); // const productId = 12345 - console.log('111222222222211111'); - // 根据条形码获取相关数据,例如产品ID const response = await this._rpc({ model: 'mrp.workorder', @@ -42,11 +34,10 @@ export class BarcodeHandlerField extends Component { args: [barcode], kwargs:{}, }); - // console.log(productId.result) if (response.result) { - const action = response.result; - console.log(action) - console.log('11111111111111111111111111111111111'); + // const action = response.result; + // console.log(action) + // console.log('11111111111111111111111111111111111'); // 通过产品ID执行操作并跳转到表单视图 // await this.actionService.doAction({ // // type: 'ir.actions.act_window', diff --git a/sf_machine_connect/wizard/__init__.py b/sf_machine_connect/wizard/__init__.py index 5faba653..e84f085d 100644 --- a/sf_machine_connect/wizard/__init__.py +++ b/sf_machine_connect/wizard/__init__.py @@ -1 +1 @@ -from . import action_up \ No newline at end of file +from . import action_up diff --git a/sf_machine_connect/wizard/action_up.py b/sf_machine_connect/wizard/action_up.py index ef4f860c..ffcb88ad 100644 --- a/sf_machine_connect/wizard/action_up.py +++ b/sf_machine_connect/wizard/action_up.py @@ -5,9 +5,8 @@ import os import json import hashlib import time -import requests from datetime import datetime - +import requests from odoo import fields, models, api, _ from odoo.exceptions import ValidationError from odoo.exceptions import UserError diff --git a/sf_manufacturing/static/src/js/kanban_change.js b/sf_manufacturing/static/src/js/kanban_change.js index 2ef6cb4b..1f25caf4 100644 --- a/sf_manufacturing/static/src/js/kanban_change.js +++ b/sf_manufacturing/static/src/js/kanban_change.js @@ -16,12 +16,12 @@ class CustomKanbanController extends KanbanController { console.log('99999999111'); this.workOrders = await this.getAllWorkOrders(); this.workOrdersNew = this.workOrders; - console.log('lines222222222', this.workOrders); - - console.log(typeof this.workOrders); - console.log(Array.isArray(this.workOrders)); - - console.log(this.workOrders.every(order => typeof order === 'object' && order.id !== undefined)); + // console.log('lines222222222', this.workOrders); + // + // console.log(typeof this.workOrders); + // console.log(Array.isArray(this.workOrders)); + // + // console.log(this.workOrders.every(order => typeof order === 'object' && order.id !== undefined)); diff --git a/sf_plan/models/custom_plan.py b/sf_plan/models/custom_plan.py index 7eb3e7a3..df1903c4 100644 --- a/sf_plan/models/custom_plan.py +++ b/sf_plan/models/custom_plan.py @@ -42,7 +42,8 @@ class sf_production_plan(models.Model): actual_end_time = fields.Datetime(string='实际结束时间') shift = fields.Char(string='班次') - # 序号、坯料编号、坯料名称、材质、数量、长度、宽度、厚度、直径、计划开始时间、计划结束时间、状态(已产出与待产出)、操作、创建人、创建时间、客户名称、订单号、行号、长度、宽度、厚度、直径、交货数量、交货日期 + # 序号、坯料编号、坯料名称、材质、数量、长度、宽度、厚度、直径、计划开始时间、计划结束时间、状态(已产出与待产出)、操作、创建人、创建时间、 + # 客户名称、订单号、行号、长度、宽度、厚度、直径、交货数量、交货日期 # sequence = fields.Integer(string='序号', required=True, copy=False, readonly=True, index=True, # default=lambda self: self.env['ir.sequence'].sudo().next_by_code('sf.pl.plan')) sequence = fields.Integer(string='序号', copy=False, readonly=True, index=True) @@ -160,7 +161,8 @@ class sf_production_plan(models.Model): 'name': '排程甘特图', 'type': 'ir.actions.act_window', 'res_model': 'sf.production.plan', # 要跳转的模型名称 - 'view_mode': 'gantt,tree,form', # 要显示的视图类型,可以是'form', 'tree', 'kanban', 'graph', 'calendar', 'pivot'等 + # 要显示的视图类型,可以是'form', 'tree', 'kanban', 'graph', 'calendar', 'pivot'等 + 'view_mode': 'gantt,tree,form', 'target': 'current', # 跳转的目标窗口,可以是'current'或'new' } diff --git a/sf_plan_management/__manifest__.py b/sf_plan_management/__manifest__.py index 66f1b72d..138399e9 100644 --- a/sf_plan_management/__manifest__.py +++ b/sf_plan_management/__manifest__.py @@ -24,10 +24,9 @@ 'web.assets_qweb': [ ], - 'web.assets_backend':[ + 'web.assets_backend': [ ] - }, 'license': 'LGPL-3', 'installable': True,