refactor: groupby using keys instead of int index
This commit is contained in:
parent
3ddad6891a
commit
277b51b404
@ -4,7 +4,6 @@
|
|||||||
import json
|
import json
|
||||||
from collections import OrderedDict, defaultdict
|
from collections import OrderedDict, defaultdict
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
from operator import itemgetter
|
|
||||||
from typing import Dict, List, Set
|
from typing import Dict, List, Set
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
@ -507,11 +506,13 @@ def create_delivery_note(source_name, target_doc=None):
|
|||||||
for location in pick_list.locations:
|
for location in pick_list.locations:
|
||||||
if location.sales_order:
|
if location.sales_order:
|
||||||
sales_orders.append(
|
sales_orders.append(
|
||||||
[frappe.db.get_value("Sales Order", location.sales_order, "customer"), location.sales_order]
|
frappe.db.get_value(
|
||||||
|
"Sales Order", location.sales_order, ["customer", "name as sales_order"], as_dict=True
|
||||||
|
)
|
||||||
)
|
)
|
||||||
# Group sales orders by customer
|
|
||||||
for key, keydata in groupby(sales_orders, key=itemgetter(0)):
|
for customer, rows in groupby(sales_orders, key=lambda so: so["customer"]):
|
||||||
sales_dict[key] = set([d[1] for d in keydata])
|
sales_dict[customer] = {row.sales_order for row in rows}
|
||||||
|
|
||||||
if sales_dict:
|
if sales_dict:
|
||||||
delivery_note = create_dn_with_so(sales_dict, pick_list)
|
delivery_note = create_dn_with_so(sales_dict, pick_list)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user