Commit adee026f by 夏超

[fix] 上推领料单数据修改

parent 08bd0761
......@@ -93,10 +93,9 @@ class InheritRokeWorkstationPicking(RokeWorkstationPicking):
src_location_id = kwargs.get('src_location_id', False)
picking_user_id = kwargs.get('picking_user_id', False)
line_data = kwargs.get('line_data', [])
res = super(InheritRokeWorkstationPicking, self).dws_picking_create()
if res.get("code", 1) == 1:
return res
task_id_dict = []
task_id_list = []
task_id_dict = {}
for v in line_data:
product = http.request.env["roke.product"].sudo().search([("id", "=", v.get("material_id", 0))])
task_id = http.request.env["roke.production.task"].sudo().search([("id", "=", v.get("task_id", 0))])
......@@ -106,6 +105,55 @@ class InheritRokeWorkstationPicking(RokeWorkstationPicking):
"qty": v.get("qty", 0),
"demand_qty": v.get("demand_qty", 0)
})
picking_type_id = http.request.env.ref(
'roke_mes_stock.stock_picking_type_production_out',
raise_if_not_found=False
)
default_dest_location_id = picking_type_id.dest_location_id.id
if v.get("qty", 0) <= 0:
continue
info = (0, 0, {
"src_location_id": src_location_id,
"dest_location_id": default_dest_location_id,
"product_id": product.id,
"qty": v.get("qty", 0),
"pt_demand_id": False
})
if task_id.id not in task_id_dict.keys():
task_id_dict[task_id.id] = [info]
else:
task_id_dict[task_id.id].append(info)
picking_model = http.request.env["roke.mes.stock.picking"]
for task_id, picking_line_vals in task_id_dict.items():
task_obj = http.request.env["roke.production.task"].sudo().search([("id", "=", task_id)])
picking_type_id = http.request.env.ref(
'roke_mes_stock.stock_picking_type_production_out',
raise_if_not_found=False
)
default_dest_location_id = picking_type_id.dest_location_id.id
picking_val = {
"state": "草稿",
"picking_date": picking_date,
"picking_user_id": picking_user_id,
"delivery_time": delivery_time,
"picking_type_id": picking_type_id.id,
"origin": task_obj.code,
"partner_id": task_obj.customer_id.id,
"src_location_id": src_location_id,
"dest_location_id": default_dest_location_id,
"move_line_ids": picking_line_vals
}
picking_obj = picking_model.create(picking_val)
if task_obj:
new_picking_ids = task_obj.bom_picking_ids.ids + picking_obj.ids
task_obj.write({"bom_picking_ids": [(6, 0, new_picking_ids)]})
system_id = self.env.ref("roke_workstation_sync_ps.roke_workstation_sync_ps_integrate_system")
sync_address = system_id.sync_address
sync_port = system_id.sync_port
......@@ -137,4 +185,4 @@ class InheritRokeWorkstationPicking(RokeWorkstationPicking):
finally:
cur.close()
conn.close()
return res
return {"code": 0, "message": "创建领料单完成", "data": None}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment