增加排程单取消
This commit is contained in:
@@ -94,6 +94,12 @@ class SFSaleOrderCancelWizard(models.TransientModel):
|
|||||||
if mo_quality_checks:
|
if mo_quality_checks:
|
||||||
mo_quality_checks.write({'quality_state': 'cancel'})
|
mo_quality_checks.write({'quality_state': 'cancel'})
|
||||||
|
|
||||||
|
# 取消制造订单的排程单
|
||||||
|
mo_plan_orders = self.env['sf.production.plan'].search([
|
||||||
|
('origin', '=', order.name)])
|
||||||
|
if mo_plan_orders:
|
||||||
|
mo_plan_orders.write({'state': 'cancel'})
|
||||||
|
|
||||||
# 取消制造订单的子制造订单
|
# 取消制造订单的子制造订单
|
||||||
child_mo_ids = self.env['mrp.production'].search([
|
child_mo_ids = self.env['mrp.production'].search([
|
||||||
('origin', '=', mo.name)
|
('origin', '=', mo.name)
|
||||||
@@ -182,6 +188,12 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
|||||||
'progress': '加工中',
|
'progress': '加工中',
|
||||||
'assigned': '就绪'
|
'assigned': '就绪'
|
||||||
}
|
}
|
||||||
|
plan_map_dict = {
|
||||||
|
'draft': '待排程',
|
||||||
|
'done': '已排程',
|
||||||
|
'processing': '加工中',
|
||||||
|
'finished': '已完成',
|
||||||
|
'cancel': '已取消'}
|
||||||
|
|
||||||
module_name_dict = {
|
module_name_dict = {
|
||||||
'purchase': '采购',
|
'purchase': '采购',
|
||||||
@@ -288,6 +300,31 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
|||||||
}
|
}
|
||||||
lines.append(self.create(vals))
|
lines.append(self.create(vals))
|
||||||
|
|
||||||
|
# 检查所有的排程单
|
||||||
|
sf_plan_orders = self.env['sf.production.plan'].search([
|
||||||
|
('origin', '=', order.name)])
|
||||||
|
if sf_plan_orders:
|
||||||
|
p1 = 0
|
||||||
|
for plan_order in sf_plan_orders:
|
||||||
|
if not plan_order.product_id.default_code:
|
||||||
|
continue
|
||||||
|
p1 += 1
|
||||||
|
vals = {
|
||||||
|
'wizard_id': wizard_id,
|
||||||
|
'sequence': sequence,
|
||||||
|
'category': '排程',
|
||||||
|
'doc_name': '排程单',
|
||||||
|
'operation_type': '',
|
||||||
|
'doc_number': plan_order.name,
|
||||||
|
'line_number': p1,
|
||||||
|
'product_name': f'[{plan_order.product_id.default_code}] {plan_order.product_id.name}',
|
||||||
|
'quantity': 1,
|
||||||
|
'doc_state': plan_map_dict.get(plan_order.state, plan_order.state),
|
||||||
|
'cancel_reason': '已有异动' if plan_order.state not in ['draft', 'cancel'] else ''
|
||||||
|
}
|
||||||
|
lines.append(self.create(vals))
|
||||||
|
sequence += 1
|
||||||
|
|
||||||
# 检查组件的制造单
|
# 检查组件的制造单
|
||||||
# component_mos = self.env['mrp.production'].search([
|
# component_mos = self.env['mrp.production'].search([
|
||||||
# ('origin', '=', mo.name)])
|
# ('origin', '=', mo.name)])
|
||||||
|
|||||||
Reference in New Issue
Block a user