Accept Merge Request #2203: (feature/齐套检查与下达生产 -> develop)
Merge Request: 打印列表程序单数据修改 Created By: @管欢 Reviewed By: @胡尧 Approved By: @胡尧 Accepted By: @管欢 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2203
This commit is contained in:
@@ -278,9 +278,15 @@ class SfProductionDemandPlan(models.Model):
|
|||||||
if record.sale_order_id and record.sale_order_id.mrp_production_ids:
|
if record.sale_order_id and record.sale_order_id.mrp_production_ids:
|
||||||
manufacturing_orders = record.sale_order_id.mrp_production_ids.filtered(
|
manufacturing_orders = record.sale_order_id.mrp_production_ids.filtered(
|
||||||
lambda mo: mo.product_id == record.product_id)
|
lambda mo: mo.product_id == record.product_id)
|
||||||
|
|
||||||
if manufacturing_orders and manufacturing_orders.move_raw_ids:
|
if manufacturing_orders and manufacturing_orders.move_raw_ids:
|
||||||
|
# 获取完成的制造订单
|
||||||
|
done_manufacturing = manufacturing_orders.filtered(lambda mo: mo.state == 'done')
|
||||||
|
product_qty = sum(done_manufacturing.mapped('product_qty'))
|
||||||
|
# 需求数量-完成数量
|
||||||
|
product_uom_qty = record.product_uom_qty - product_qty
|
||||||
total_reserved_availability = sum(manufacturing_orders.mapped('move_raw_ids.reserved_availability'))
|
total_reserved_availability = sum(manufacturing_orders.mapped('move_raw_ids.reserved_availability'))
|
||||||
if float_compare(total_reserved_availability, record.product_uom_qty,
|
if float_compare(total_reserved_availability, product_uom_qty,
|
||||||
precision_rounding=record.product_id.uom_id.rounding) >= 0:
|
precision_rounding=record.product_id.uom_id.rounding) >= 0:
|
||||||
record.material_check = '1' # 已齐套
|
record.material_check = '1' # 已齐套
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<field name="name">sf.production.demand.plan.tree</field>
|
<field name="name">sf.production.demand.plan.tree</field>
|
||||||
<field name="model">sf.production.demand.plan</field>
|
<field name="model">sf.production.demand.plan</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="需求计划" default_order="sequence desc,create_date desc" editable="bottom"
|
<tree string="需求计划" default_order="sequence desc,id desc" editable="bottom"
|
||||||
class="demand_plan_tree">
|
class="demand_plan_tree">
|
||||||
<header>
|
<header>
|
||||||
<button string="打印" name="button_action_print" type="object"
|
<button string="打印" name="button_action_print" type="object"
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ class SfDemandPlanPrintWizard(models.TransientModel):
|
|||||||
], string='状态', default='not_start')
|
], string='状态', default='not_start')
|
||||||
machining_drawings = fields.Binary('2D加工图纸', related='product_id.machining_drawings', store=True)
|
machining_drawings = fields.Binary('2D加工图纸', related='product_id.machining_drawings', store=True)
|
||||||
|
|
||||||
workorder_id = fields.Many2one('mrp.workorder', string='工单')
|
|
||||||
cnc_worksheet = fields.Binary('程序单')
|
cnc_worksheet = fields.Binary('程序单')
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
@@ -43,7 +42,7 @@ class SfDemandPlanPrintWizard(models.TransientModel):
|
|||||||
if pdf_data:
|
if pdf_data:
|
||||||
try:
|
try:
|
||||||
# 执行打印
|
# 执行打印
|
||||||
self.env['jikimo.printing'].sudo().print_pdf(pdf_data)
|
# self.env['jikimo.printing'].sudo().print_pdf(pdf_data)
|
||||||
record.status = 'success'
|
record.status = 'success'
|
||||||
t_part, c_part = record.demand_plan_id.print_count.split('C')
|
t_part, c_part = record.demand_plan_id.print_count.split('C')
|
||||||
t_num = int(t_part[1:])
|
t_num = int(t_part[1:])
|
||||||
@@ -77,7 +76,7 @@ class MrpWorkorder(models.Model):
|
|||||||
for record in self:
|
for record in self:
|
||||||
if 'cnc_worksheet' in vals:
|
if 'cnc_worksheet' in vals:
|
||||||
demand_plan_print = self.env['sf.demand.plan.print.wizard'].sudo().search(
|
demand_plan_print = self.env['sf.demand.plan.print.wizard'].sudo().search(
|
||||||
[('workorder_id', '=', record.id)])
|
[('model_id', '=', record.model_id), ('type', '=', '2')])
|
||||||
if demand_plan_print:
|
if demand_plan_print:
|
||||||
self.env['sf.demand.plan.print.wizard'].sudo().write(
|
self.env['sf.demand.plan.print.wizard'].sudo().write(
|
||||||
{'cnc_worksheet': record.cnc_worksheet, 'filename_url': record.cnc_worksheet_name})
|
{'cnc_worksheet': record.cnc_worksheet, 'filename_url': record.cnc_worksheet_name})
|
||||||
@@ -89,7 +88,6 @@ class MrpWorkorder(models.Model):
|
|||||||
'demand_plan_id': demand_plan.id,
|
'demand_plan_id': demand_plan.id,
|
||||||
'model_id': demand_plan.model_id,
|
'model_id': demand_plan.model_id,
|
||||||
'type': '2',
|
'type': '2',
|
||||||
'workorder_id': record.id,
|
|
||||||
'cnc_worksheet': record.cnc_worksheet,
|
'cnc_worksheet': record.cnc_worksheet,
|
||||||
'filename_url': record.cnc_worksheet_name
|
'filename_url': record.cnc_worksheet_name
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user