统一处理质检单
This commit is contained in:
@@ -209,28 +209,51 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
||||
lines.append(self.create(vals))
|
||||
sequence += 1
|
||||
|
||||
# 成品质检单
|
||||
fin_quality_checks = self.env['quality.check'].search([
|
||||
('picking_id', '=', picking.id)
|
||||
])
|
||||
if fin_quality_checks:
|
||||
b1 = 0
|
||||
for fin_qc in fin_quality_checks:
|
||||
b1 += 1
|
||||
vals = {
|
||||
'wizard_id': wizard_id,
|
||||
'sequence': sequence,
|
||||
'category': '制造',
|
||||
'doc_name': '质检单',
|
||||
'operation_type': '',
|
||||
'doc_number': fin_qc.name,
|
||||
'line_number': b1,
|
||||
'product_name': f'[{fin_qc.product_id.default_code}] {fin_qc.product_id.name}',
|
||||
'quantity': 1,
|
||||
'doc_state': map_dict.get(fin_qc.quality_state, fin_qc.quality_state),
|
||||
'cancel_reason': '已有异动' if fin_qc.quality_state not in ['none', 'cancel', 'waiting'] else ''
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
# # 成品质检单
|
||||
# fin_quality_checks = self.env['quality.check'].search([
|
||||
# ('picking_id', '=', picking.id)
|
||||
# ])
|
||||
# if fin_quality_checks:
|
||||
# b1 = 0
|
||||
# for fin_qc in fin_quality_checks:
|
||||
# b1 += 1
|
||||
# vals = {
|
||||
# 'wizard_id': wizard_id,
|
||||
# 'sequence': sequence,
|
||||
# 'category': '制造',
|
||||
# 'doc_name': '质检单',
|
||||
# 'operation_type': '',
|
||||
# 'doc_number': fin_qc.name,
|
||||
# 'line_number': b1,
|
||||
# 'product_name': f'[{fin_qc.product_id.default_code}] {fin_qc.product_id.name}',
|
||||
# 'quantity': 1,
|
||||
# 'doc_state': map_dict.get(fin_qc.quality_state, fin_qc.quality_state),
|
||||
# 'cancel_reason': '已有异动' if fin_qc.quality_state not in ['none', 'cancel', 'waiting'] else ''
|
||||
# }
|
||||
# lines.append(self.create(vals))
|
||||
|
||||
# 检查所有的质检单
|
||||
quality_checks = self.env['quality.check'].search([
|
||||
('product_id.name', 'like', f'%{order.name}%')])
|
||||
if quality_checks:
|
||||
b1 = 0
|
||||
for quality_check in quality_checks:
|
||||
b1 += 1
|
||||
vals = {
|
||||
'wizard_id': wizard_id,
|
||||
'sequence': sequence,
|
||||
'category': '质量',
|
||||
'doc_name': '质检单',
|
||||
'operation_type': '',
|
||||
'doc_number': quality_check.name,
|
||||
'line_number': 1,
|
||||
'product_name': f'[{quality_check.product_id.default_code}] {quality_check.product_id.name}',
|
||||
'quantity': quality_check.qty_line,
|
||||
'doc_state': map_dict.get(quality_check.quality_state, quality_check.quality_state),
|
||||
'cancel_reason': '已有异动' if quality_check.quality_state not in ['none', 'cancel', 'waiting'] else ''
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
|
||||
|
||||
# 检查销售订单直接关联的采购单
|
||||
purchase_orders = self.env['purchase.order'].search([
|
||||
@@ -270,12 +293,12 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
||||
vals = {
|
||||
'wizard_id': wizard_id,
|
||||
'sequence': sequence,
|
||||
'category': '客供料收货',
|
||||
'category': '库存',
|
||||
'doc_name': '库存移动',
|
||||
'doc_number': pkd.name,
|
||||
'line_number': x3,
|
||||
'operation_type': pkd.picking_type_id.name,
|
||||
'product_name': move.product_id.name if move.product_id else '',
|
||||
'product_name': f'[{move.product_id.default_code}] {move.product_id.name}',
|
||||
'quantity': move.product_uom_qty,
|
||||
'doc_state': map_dict.get(pkd.state, pkd.state),
|
||||
'cancel_reason': '已有异动' if pkd.state not in ['waiting', 'cancel', 'confirmed'] else ''
|
||||
@@ -542,29 +565,29 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
|
||||
# 检查制造订单的质检单
|
||||
quality_checks = self.env['quality.check'].search([
|
||||
('production_id', '=', mo.id)
|
||||
])
|
||||
if quality_checks:
|
||||
i = 0
|
||||
for check in quality_checks:
|
||||
i += 1
|
||||
vals = {
|
||||
'wizard_id': wizard_id,
|
||||
'sequence': sequence,
|
||||
'category': '制造',
|
||||
'doc_name': '质检单',
|
||||
'operation_type': '',
|
||||
'doc_number': check.name,
|
||||
'line_number': i,
|
||||
'product_name': f'[{check.product_id.default_code}] {check.product_id.name}',
|
||||
'quantity': 1,
|
||||
'doc_state': map_dict.get(check.quality_state, check.quality_state),
|
||||
'cancel_reason': '已有异动' if check.quality_state not in ['none', 'cancel', 'waiting'] else ''
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
sequence += 1
|
||||
# # 检查制造订单的质检单
|
||||
# quality_checks = self.env['quality.check'].search([
|
||||
# ('production_id', '=', mo.id)
|
||||
# ])
|
||||
# if quality_checks:
|
||||
# i = 0
|
||||
# for check in quality_checks:
|
||||
# i += 1
|
||||
# vals = {
|
||||
# 'wizard_id': wizard_id,
|
||||
# 'sequence': sequence,
|
||||
# 'category': '制造',
|
||||
# 'doc_name': '质检单',
|
||||
# 'operation_type': '',
|
||||
# 'doc_number': check.name,
|
||||
# 'line_number': i,
|
||||
# 'product_name': f'[{check.product_id.default_code}] {check.product_id.name}',
|
||||
# 'quantity': 1,
|
||||
# 'doc_state': map_dict.get(check.quality_state, check.quality_state),
|
||||
# 'cancel_reason': '已有异动' if check.quality_state not in ['none', 'cancel', 'waiting'] else ''
|
||||
# }
|
||||
# lines.append(self.create(vals))
|
||||
# sequence += 1
|
||||
|
||||
# 检查制造订单的编程单
|
||||
cloud_programming = mo._cron_get_programming_state()
|
||||
|
||||
Reference in New Issue
Block a user