diff --git a/jikimo_purchase_tier_validation/models/models.py b/jikimo_purchase_tier_validation/models/models.py index bcc18bb6..e5a80f7b 100644 --- a/jikimo_purchase_tier_validation/models/models.py +++ b/jikimo_purchase_tier_validation/models/models.py @@ -72,8 +72,30 @@ class jikimo_purchase_tier_validation(models.Model): message_type='notification', subtype_xmlid='mail.mt_note' ) + res = super(jikimo_purchase_tier_validation, self).request_validation() + self.state = 'to approve' + return res - return super(jikimo_purchase_tier_validation, self).request_validation() + def restart_validation(self): + res = super(jikimo_purchase_tier_validation, self).restart_validation() + self.state = 'draft' + return res + + def _validate_tier(self, tiers=False): + res = super(jikimo_purchase_tier_validation, self)._validate_tier(tiers) + self.state = 'approved' + return res + + def _rejected_tier(self, tiers=False): + res = super(jikimo_purchase_tier_validation, self)._rejected_tier(tiers) + self.state = 'draft' + return res + + @api.model + def _get_under_validation_exceptions(self): + res = super(jikimo_purchase_tier_validation, self)._get_under_validation_exceptions() + res.append("state") + return res # 上传合同文件 def upload_contract_file(self): diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index d6de3408..8b34feb8 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -129,7 +129,7 @@ class ResMrpWorkOrder(models.Model): Y10_axis = fields.Float(default=0) Z10_axis = fields.Float(default=0) X_deviation_angle = fields.Integer(string="X轴偏差度", default=0) - test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], default='合格', + test_results = fields.Selection([("合格", "合格"), ("返工", "返工")], default='合格', string="检测结果", tracking=True) cnc_ids = fields.One2many("sf.cnc.processing", 'workorder_id', string="CNC加工程序") cmm_ids = fields.One2many("sf.cmm.program", 'workorder_id', string="CMM程序") diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 1a11530d..745b5974 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -654,7 +654,10 @@ class StockPicking(models.Model): if self.location_id.name == '成品存货区' and self.location_dest_id.name == '客户': sale_id = self.env['sale.order'].sudo().search( [('name', '=', self.origin)]) - if sale_id and res: + stock_picking_list = self.env['stock.picking'].sudo().search( + [('id', 'in', sale_id.picking_ids.ids)]) + stock_picking = stock_picking_list.filtered(lambda p: p.state not in ("done", "cancel")) + if sale_id and not stock_picking: sale_id.write({'state': 'delivered'}) return res @@ -678,7 +681,7 @@ class StockPicking(models.Model): # 从sorted_workorders中找到上一工单的move if len(sorted_workorders) > 1: move_dest_id = \ - sorted_workorders[sorted_workorders.index(workorder) + 1].move_subcontract_workorder_ids[1].id + sorted_workorders[sorted_workorders.index(workorder) + 1].move_subcontract_workorder_ids[1].id new_picking = True outcontract_picking_type_in = self.env.ref( 'sf_manufacturing.outcontract_picking_in').id, diff --git a/sf_quality/models/quality_cnc_test.py b/sf_quality/models/quality_cnc_test.py index 9c73715d..9810b0e0 100644 --- a/sf_quality/models/quality_cnc_test.py +++ b/sf_quality/models/quality_cnc_test.py @@ -25,7 +25,7 @@ class SfQualityCncTest(models.Model): ('pass', '合格'), ('fail', '不合格')], string='判定结果') number = fields.Integer('数量', default=1) - test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], string="检测结果") + test_results = fields.Selection([("合格", "合格"), ("返工", "返工")], string="检测结果") reason = fields.Selection( [("programming", "编程"), ("cutter", "刀具"), ("clamping", "装夹"), ("operate computer", "操机"), ("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因") diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index 24f689d4..95999611 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -356,12 +356,16 @@ class RePurchaseOrder(models.Model): 'product_qty': 1, 'product_uom': server_template.uom_id.id })) + # 获取服务商品最后一个供应商的采购员 + purchase_user_id = server_template.seller_ids[-1].partner_id.purchase_user_id purchase_order = self.env['purchase.order'].sudo().create({ 'partner_id': server_template.seller_ids[0].partner_id.id, 'origin': production.name, 'state': 'draft', 'purchase_type': 'consignment', - 'order_line': server_product_process}) + 'order_line': server_product_process, + 'user_id': purchase_user_id.id + }) pp.purchase_id = [(6, 0, [purchase_order.id])] # self.env.cr.commit()