工艺外协代码
This commit is contained in:
@@ -900,40 +900,40 @@ class MrpProduction(models.Model):
|
||||
for workorder in production.workorder_ids:
|
||||
workorder.duration_expected = workorder._get_duration_expected()
|
||||
|
||||
# def _create_subcontract_purchase_request(self, purchase_request_line):
|
||||
# sorted_list = sorted(purchase_request_line, key=itemgetter('name'))
|
||||
# grouped_purchase_request_line = {
|
||||
# k: list(g)
|
||||
# for k, g in groupby(sorted_list, key=itemgetter('name'))
|
||||
# }
|
||||
# for name, request_line in grouped_purchase_request_line.items():
|
||||
# request_line_sorted_list = sorted(request_line, key=itemgetter('product_id'))
|
||||
# grouped_purchase_request_line_sorted_list = {
|
||||
# k: list(g)
|
||||
# for k, g in groupby(request_line_sorted_list, key=itemgetter('product_id'))
|
||||
# }
|
||||
# purchase_request_model = self.env["purchase.request"]
|
||||
# origin = ", ".join({item['production_name'] for item in request_line_sorted_list if item.get('production_name')})
|
||||
# pr = purchase_request_model.create({
|
||||
# "origin": origin,
|
||||
# "company_id": self.company_id.id,
|
||||
# "picking_type_id": self.env.ref('stock.picking_type_in').id,
|
||||
# "group_id": request_line[0].get('group_id'),
|
||||
# "requested_by": self.env.context.get("uid", self.env.uid),
|
||||
# "assigned_to": False,
|
||||
# "bom_id": self[0].bom_id.id,
|
||||
# "is_subcontract":True,
|
||||
# })
|
||||
# self[0].bom_id.bom_line_ids.product_id.route_ids = [(4,self.env.ref(
|
||||
# 'sf_stock.stock_route_process_outsourcing').id)]
|
||||
# for product_id, request_line_list in grouped_purchase_request_line_sorted_list.items():
|
||||
# cur_request_line = request_line_list[0]
|
||||
# cur_request_line['product_qty'] = len(request_line_list)
|
||||
# cur_request_line['request_id'] = pr.id
|
||||
# cur_request_line['origin'] = ", ".join({item['production_name'] for item in request_line_list if item.get('production_name')})
|
||||
# cur_request_line.pop('group_id', None)
|
||||
# cur_request_line.pop('production_name', None)
|
||||
# self.env["purchase.request.line"].create(cur_request_line)
|
||||
def _create_subcontract_purchase_request(self, purchase_request_line):
|
||||
sorted_list = sorted(purchase_request_line, key=itemgetter('name'))
|
||||
grouped_purchase_request_line = {
|
||||
k: list(g)
|
||||
for k, g in groupby(sorted_list, key=itemgetter('name'))
|
||||
}
|
||||
for name, request_line in grouped_purchase_request_line.items():
|
||||
request_line_sorted_list = sorted(request_line, key=itemgetter('product_id'))
|
||||
grouped_purchase_request_line_sorted_list = {
|
||||
k: list(g)
|
||||
for k, g in groupby(request_line_sorted_list, key=itemgetter('product_id'))
|
||||
}
|
||||
purchase_request_model = self.env["purchase.request"]
|
||||
origin = ", ".join({item['production_name'] for item in request_line_sorted_list if item.get('production_name')})
|
||||
pr = purchase_request_model.create({
|
||||
"origin": origin,
|
||||
"company_id": self.company_id.id,
|
||||
"picking_type_id": self.env.ref('stock.picking_type_in').id,
|
||||
"group_id": request_line[0].get('group_id'),
|
||||
"requested_by": self.env.context.get("uid", self.env.uid),
|
||||
"assigned_to": False,
|
||||
"bom_id": self[0].bom_id.id,
|
||||
"is_subcontract":True,
|
||||
})
|
||||
self[0].bom_id.bom_line_ids.product_id.route_ids = [(4,self.env.ref(
|
||||
'sf_stock.stock_route_process_outsourcing').id)]
|
||||
for product_id, request_line_list in grouped_purchase_request_line_sorted_list.items():
|
||||
cur_request_line = request_line_list[0]
|
||||
cur_request_line['product_qty'] = len(request_line_list)
|
||||
cur_request_line['request_id'] = pr.id
|
||||
cur_request_line['origin'] = ", ".join({item['production_name'] for item in request_line_list if item.get('production_name')})
|
||||
cur_request_line.pop('group_id', None)
|
||||
cur_request_line.pop('production_name', None)
|
||||
self.env["purchase.request.line"].create(cur_request_line)
|
||||
|
||||
# 外协出入库单处理
|
||||
def get_subcontract_pick_purchase(self):
|
||||
@@ -961,14 +961,14 @@ class MrpProduction(models.Model):
|
||||
if not sorted_workorders:
|
||||
return
|
||||
for workorders in reversed(sorted_workorders):
|
||||
self.env['stock.picking'].create_outcontract_picking(workorders, production, sorted_workorders)
|
||||
self.env['purchase.order'].get_purchase_order(workorders, production, product_id_to_production_names)
|
||||
# purchase_request_line = purchase_request_line + self.env['purchase.order'].get_purchase_request(
|
||||
# workorders, production)
|
||||
# all_workorders += workorders
|
||||
# self._create_subcontract_purchase_request(purchase_request_line)
|
||||
# for workorder in all_workorders:
|
||||
# workorder._compute_pr_mp_count()
|
||||
# self.env['stock.picking'].create_outcontract_picking(workorders, production, sorted_workorders)
|
||||
# self.env['purchase.order'].get_purchase_order(workorders, production, product_id_to_production_names)
|
||||
purchase_request_line = purchase_request_line + self.env['purchase.order'].get_purchase_request(
|
||||
workorders, production)
|
||||
all_workorders += workorders
|
||||
self._create_subcontract_purchase_request(purchase_request_line)
|
||||
for workorder in all_workorders:
|
||||
workorder._compute_pr_mp_count()
|
||||
# 工单排序
|
||||
def _reset_work_order_sequence1(self, k):
|
||||
for rec in self:
|
||||
|
||||
Reference in New Issue
Block a user