From 567ea84b00ee27ce860faaa54005a5309f70d12d Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Mon, 17 Feb 2025 15:37:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=BA=E5=B7=A5=E7=BC=96?= =?UTF-8?q?=E7=A8=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 40 ++++-- sf_manufacturing/views/sale_order_views.xml | 6 +- sf_manufacturing/wizard/sale_order_cancel.py | 130 ++++++++++++++----- sf_quality/models/quality.py | 4 +- 4 files changed, 131 insertions(+), 49 deletions(-) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index d49fe4f2..1af65426 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -235,7 +235,7 @@ class MrpProduction(models.Model): programming_no = fields.Char('编程单号') work_state = fields.Char('业务状态') programming_state = fields.Selection( - [('编程中', '编程中'), ('已编程', '已编程'), ('已编程未下发', '已编程未下发'), ('已下发', '已下发')], + [('编程中', '编程中'), ('已编程', '已编程'), ('已编程未下发', '已编程未下发'), ('已下发', '已下发'), ('已取消', '已取消')], string='编程状态', tracking=True) glb_file = fields.Binary("glb模型文件") @@ -646,6 +646,28 @@ class MrpProduction(models.Model): logging.info('update_programming_state error:%s' % e) raise UserError("更新编程单状态失败,请联系管理员") + # 修改编程单状态 + def _change_programming_state(self): + try: + res = {"programming_no": self.programming_no, "state": "已取消"} + logging.info('res=%s:' % res) + configsettings = self.env['res.config.settings'].get_values() + config_header = Common.get_headers(self, configsettings['token'], configsettings['sf_secret_key']) + url = '/api/intelligent_programming/set_state' + config_url = configsettings['sf_url'] + url + ret = requests.post(config_url, json=res, data=None, headers=config_header) + ret = ret.json() + result = json.loads(ret['result']) + logging.info('change_programming_state-ret:%s' % result) + if result['status'] == 1: + self.write({'programming_state': '已取消'}) + else: + raise UserError(ret['message']) + except Exception as e: + logging.info('change_programming_state error:%s' % e) + raise UserError("修改编程单状态失败,请联系管理员") + + # cnc程序获取 def fetchCNC(self, production_names): cnc = self.env['mrp.production'].search([('id', '=', self.id)]) @@ -701,14 +723,14 @@ class MrpProduction(models.Model): config_url = configsettings['sf_url'] + url res['token'] = configsettings['token'] # res_str = json.dumps(res) - # ret = requests.post(config_url, json={}, data=res, headers=config_header) - # ret = ret.json() - # logging.info('fetchCNC-ret:%s' % ret) - # if ret['status'] == 1: - # self.write( - # {'programming_no': ret['programming_no'], 'programming_state': '编程中', 'work_state': '编程中'}) - # else: - # raise UserError(ret['message']) + ret = requests.post(config_url, json={}, data=res, headers=config_header) + ret = ret.json() + logging.info('fetchCNC-ret:%s' % ret) + if ret['status'] == 1: + self.write( + {'programming_no': ret['programming_no'], 'programming_state': '编程中', 'work_state': '编程中'}) + else: + raise UserError(ret['message']) except Exception as e: logging.info('fetchCNC error:%s' % e) raise UserError("cnc程序获取编程单失败,请联系管理员") diff --git a/sf_manufacturing/views/sale_order_views.xml b/sf_manufacturing/views/sale_order_views.xml index e17c1546..353739c1 100644 --- a/sf_manufacturing/views/sale_order_views.xml +++ b/sf_manufacturing/views/sale_order_views.xml @@ -26,7 +26,7 @@ - {'invisible': [('state', 'not in', ['draft', 'supply method', 'sale', 'processing'])]} + {'invisible': [('state', 'not in', ['draft', 'supply method'])]} 警告:取消操作将不可逆,是否确定要取消该单据? @@ -36,9 +36,9 @@