统一处理质检单

This commit is contained in:
mgw
2025-02-27 13:54:28 +08:00
parent 75bbbaa027
commit ed17444f21

View File

@@ -209,29 +209,52 @@ 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:
# # 成品质检单
# 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 fin_qc in fin_quality_checks:
for quality_check in quality_checks:
b1 += 1
vals = {
'wizard_id': wizard_id,
'sequence': sequence,
'category': '制造',
'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 ''
'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([
('origin', 'like', f'%{order.name}%')
@@ -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()