123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488 |
- # coding=utf-8
- import json
- import traceback
- from django.db import transaction,IntegrityError
- from django.db.models import ProtectedError,Q,Sum
- from django.conf import settings
- from apps.order.models import GoodsDeliver, GoodsDeliverReturn, GoodsDeliver, SaleOrder
- from apps.goods.models import GoodsGodownEntry
- from apps.plan.models import SalePlan,ProductionPlan
- from apps.purchase.models import PurchasePlan, PurchaseOrder, PurchasePayment, PurchaseOrderDetail, GodownEntry, \
- GodownEntryReturn, PurchaseUser, PurchasePlanDetail, PurchasePrice, PurchasePay
- from apps.material.models import Deliver
- from apps.warehouse.models import Inventory, Warehouse, WarehouseStock
- from apps.supplier.models import Supplier
- from apps.base import Formater
- def get_unchecks(user,department_ids,user_ids):
- data = []
- unchecks_total_count = 0
- warehouses_ids = Warehouse.getManagerWarehouses(user)
- if user.has_perm('plan.view_sale_plan'):
- sale_plan = SalePlan.objects.filter(Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) |
- Q(create_user=user))
- sale_plan = sale_plan.filter(status=settings.DEFAULT).count()
- if sale_plan > 0:
- item = {'stack': 'SalePlanList', 'count': sale_plan, 'name': u'销售计划'}
- unchecks_total_count += sale_plan
- data.append(item)
- if user.has_perm('order.view_sale_order'):
- sale_order = SaleOrder.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- sale_order = sale_order.filter(status=settings.DEFAULT).count()
- if sale_order > 0:
- item = {'stack': 'SaleOrderList', 'count': sale_order, 'name': u'销售订单'}
- unchecks_total_count += sale_order
- data.append(item)
- if user.has_perm('purchase.view_purchase_plan'):
- purchase_plan = PurchasePlan.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- purchase_plan = purchase_plan.filter(status=settings.DEFAULT).count()
- if purchase_plan > 0:
- item = {'stack': 'PurchasePlanList', 'count': purchase_plan, 'name': u'采购计划'}
- unchecks_total_count += purchase_plan
- data.append(item)
- if user.has_perm('purchase.view_purchase_order'):
- purchase_order = PurchaseOrder.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- purchase_order = purchase_order.filter(status=settings.DEFAULT).count()
- if purchase_order > 0:
- item = {'stack': 'PurchaseOrderList', 'count': purchase_order, 'name': u'合同管理'}
- unchecks_total_count += purchase_order
- data.append(item)
- if user.has_perm('purchase.view_purchase_payment'):
- purchase_payment = PurchasePayment.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- purchase_payment = purchase_payment.filter(status=settings.DEFAULT).count()
- if purchase_payment > 0:
- item = {'stack': 'PurchasePaymentList', 'count': purchase_payment, 'name': u'付款管理'}
- unchecks_total_count += purchase_payment
- data.append(item)
- if user.has_perm('purchase.view_purchase_invoice'):
- purchase_invoice = PurchaseOrderDetail.objects.filter(Q(main__create_user_id__in=user_ids) |
- Q(main__department_id__in=department_ids) |
- Q(main__create_user=user))
- purchase_invoice = purchase_invoice.filter(check_status=settings.DEFAULT).count()
- if purchase_invoice > 0:
- item = {'stack': 'PurchaseInvoiceList', 'count': purchase_invoice, 'name': u'发票管理'}
- unchecks_total_count += purchase_invoice
- data.append(item)
- if user.has_perm('plan.view_production_plan'):
- production_plan = ProductionPlan.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- production_plan = production_plan.filter(status=settings.DEFAULT).count()
- if production_plan > 0:
- item = {'stack': 'ProductionPlanList', 'count': production_plan, 'name': u'生产计划'}
- unchecks_total_count += production_plan
- data.append(item)
- if user.has_perm('purchase.view_material_godown_entry'):
- material_godown_entry = GodownEntry.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- material_godown_entry = material_godown_entry.filter(warehouse_id__in=warehouses_ids,
- product_type=GodownEntry.MATERIAL,status=settings.DEFAULT).count()
- if material_godown_entry > 0:
- item = {'stack': 'MaterialGodowentryList', 'count': material_godown_entry, 'name': u'原料入库'}
- unchecks_total_count += material_godown_entry
- data.append(item)
- if user.has_perm('material.view_material_deliver'):
- material_deliver = Deliver.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- material_deliver = material_deliver.filter(warehouse_id__in=warehouses_ids,
- product_type=Deliver.MATERIAL,status=settings.DEFAULT).count()
- if material_deliver > 0:
- item = {'stack': 'MaterialDeliverList', 'count': material_deliver, 'name': u'原料出库'}
- unchecks_total_count += material_deliver
- data.append(item)
- if user.has_perm('purchase.view_material_godown_entry_return'):
- material_godown_entry_return = GodownEntryReturn.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- material_godown_entry_return = material_godown_entry_return.filter(warehouse_id__in=warehouses_ids,
- type=GodownEntryReturn.MATERIAL,status=settings.DEFAULT).count()
- if material_godown_entry_return > 0:
- item = {'stack': 'MaterialReturnList', 'count': material_godown_entry_return, 'name': u'原料退货'}
- unchecks_total_count += material_godown_entry_return
- data.append(item)
- if user.has_perm('warehouse.view_material_inventory'):
- material_inventory = Inventory.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- material_inventory = material_inventory.filter(warehouse_id__in=warehouses_ids,
- product_type=Inventory.MATERIAL,check_status=settings.DEFAULT).count()
- if material_inventory > 0:
- item = {'stack': 'MaterialInventoryList', 'count': material_inventory, 'name': u'原料盘存'}
- unchecks_total_count += material_inventory
- data.append(item)
- if user.has_perm('purchase.view_consumable_godown_entry'):
- consumable_godown_entry = GodownEntry.objects.filter(
- Q(create_user_id__in=user_ids) | Q(department_id__in=department_ids) | Q(create_user=user))
- consumable_godown_entry = consumable_godown_entry.filter(warehouse_id__in=warehouses_ids,
- product_type=GodownEntry.CONSUMABLE,status=settings.DEFAULT).count()
- if consumable_godown_entry > 0:
- item = {'stack': 'ConsumableGodowentryList', 'count': consumable_godown_entry, 'name': u'耗材入库'}
- unchecks_total_count += consumable_godown_entry
- data.append(item)
- if user.has_perm('material.view_consumable_deliver'):
- consumable_deliver = Deliver.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- consumable_deliver = consumable_deliver.filter(warehouse_id__in=warehouses_ids,
- product_type=Deliver.CONSUMABLE,status=settings.DEFAULT).count()
- if consumable_deliver > 0:
- item = {'stack': 'ConsumableDeliverList', 'count': consumable_deliver, 'name': u'耗材出库'}
- unchecks_total_count += consumable_deliver
- data.append(item)
- if user.has_perm('purchase.view_consumable_godown_entry_return'):
- consumable_godown_entry_return = GodownEntryReturn.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- consumable_godown_entry_return = consumable_godown_entry_return.filter(warehouse_id__in=warehouses_ids,
- type=GodownEntryReturn.CONSUMABLE,status=settings.DEFAULT).count()
- if consumable_godown_entry_return > 0:
- item = {'stack': 'ConsumableReturnList', 'count': consumable_godown_entry_return, 'name': u'耗材退货'}
- unchecks_total_count += consumable_godown_entry_return
- data.append(item)
- if user.has_perm('warehouse.view_consumable_inventory'):
- consumable_inventory = Inventory.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- consumable_inventory = consumable_inventory.filter(warehouse_id__in=warehouses_ids,
- product_type=Inventory.CONSUMABLE,check_status=settings.DEFAULT).count()
- if consumable_inventory > 0:
- item = {'stack': 'ConsumableInventoryList', 'count': consumable_inventory, 'name': u'耗材盘存'}
- unchecks_total_count += consumable_inventory
- data.append(item)
- if user.has_perm('goods.view_goods_godown_entry'):
- goods_godown_entry = GoodsGodownEntry.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- goods_godown_entry = goods_godown_entry.filter(warehouse_id__in=warehouses_ids,status=settings.DEFAULT).count()
- if goods_godown_entry > 0:
- item = {'stack': 'GoodsGodowentryList', 'count': goods_godown_entry, 'name': u'成品入库'}
- unchecks_total_count += goods_godown_entry
- data.append(item)
- if user.has_perm('order.view_goods_deliver'):
- goods_deliver = GoodsDeliver.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- goods_deliver = goods_deliver.filter(warehouse_id__in=warehouses_ids,status=settings.DEFAULT).count()
- if goods_deliver > 0:
- item = {'stack': 'GoodsDeliverList', 'count': goods_deliver, 'name': u'成品出库'}
- unchecks_total_count += goods_deliver
- data.append(item)
- if user.has_perm('goods.view_goods_inventory'):
- goods_inventory = Inventory.objects.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- goods_inventory = goods_inventory.filter(warehouse_id__in=warehouses_ids,product_type=Inventory.GOODS,check_status=settings.DEFAULT).count()
- if goods_inventory > 0:
- item = {'stack': 'GoodsInventoryList', 'count': goods_inventory, 'name': u'成品盘存'}
- unchecks_total_count += goods_inventory
- data.append(item)
- return data,unchecks_total_count
- def get_material_data(user, user_ids, department_ids, warehouses_ids):
- data = []
- if user.has_perm('purchase.view_material_godown_entry'):
- godownentrys = GodownEntry.objects.filter(warehouse_id__in=warehouses_ids, product_type=GodownEntry.MATERIAL,
- status=settings.DEFAULT)
- godownentrys = godownentrys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = godownentrys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'MaterialGodowentryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '入库管理'}
- data.append(item)
- if user.has_perm('material.view_material_deliver'):
- delivers = Deliver.objects.filter(product_type=Deliver.MATERIAL, warehouse_id__in=warehouses_ids,
- status=settings.DEFAULT)
- delivers = delivers.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = delivers.aggregate(total_count=Sum('total_count'), total_cost=Sum('total_cost'))
- item = {'stack': 'MaterialDeliverList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_cost']),
- 'name': '出库管理'}
- data.append(item)
- if user.has_perm('purchase.view_material_godown_entry_return'):
- returns = GodownEntryReturn.objects.filter(type=GodownEntryReturn.MATERIAL, warehouse_id__in=warehouses_ids,
- status=settings.DEFAULT)
- returns = returns.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = returns.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'MaterialReturnList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '退货管理'}
- data.append(item)
- if user.has_perm('warehouse.view_material_inventory'):
- inventorys = Inventory.objects.filter(product_type=Inventory.MATERIAL, warehouse_id__in=warehouses_ids,
- check_status=settings.DEFAULT)
- inventorys = inventorys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = inventorys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'MaterialInventoryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '盘存管理'}
- data.append(item)
- if user.has_perm('warehouse.view_material_stock'):
- rows, total, stock_count, warehouse_amount = WarehouseStock.objects.fetch_stock(user, '', '', '', '',
- '', 0, '', 1, 1, 20, '', '')
- item = {'stack': 'MaterialWarehouseStockList',
- 'count': stock_count,
- 'amount': warehouse_amount,
- 'name': '库存查询'}
- data.append(item)
- return data
- def get_consumable_data(user,user_ids, department_ids, warehouses_ids):
- data = []
- if user.has_perm('purchase.view_consumable_godown_entry'):
- godownentrys = GodownEntry.objects.filter(warehouse_id__in=warehouses_ids, product_type=GodownEntry.CONSUMABLE,
- status=settings.DEFAULT)
- godownentrys = godownentrys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = godownentrys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'ConsumableGodowentryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '入库管理'}
- data.append(item)
- if user.has_perm('material.view_consumable_deliver'):
- delivers = Deliver.objects.filter(product_type=Deliver.CONSUMABLE, warehouse_id__in=warehouses_ids,
- status=settings.DEFAULT)
- delivers = delivers.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = delivers.aggregate(total_count=Sum('total_count'), total_cost=Sum('total_cost'))
- item = {'stack': 'ConsumableDeliverList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_cost']),
- 'name': '出库管理'}
- data.append(item)
- if user.has_perm('purchase.view_consumable_godown_entry_return'):
- returns = GodownEntryReturn.objects.filter(type=GodownEntryReturn.CONSUMABLE, warehouse_id__in=warehouses_ids,
- status=settings.DEFAULT)
- returns = returns.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = returns.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'ConsumableReturnList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '退货管理'}
- data.append(item)
- if user.has_perm('warehouse.view_consumable_inventory'):
- inventorys = Inventory.objects.filter(product_type=Inventory.CONSUMABLE, warehouse_id__in=warehouses_ids,
- check_status=settings.DEFAULT)
- inventorys = inventorys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = inventorys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'ConsumableInventoryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '盘存管理'}
- data.append(item)
- if user.has_perm('warehouse.view_consumable_stock'):
- rows, total, stock_count, warehouse_amount = WarehouseStock.objects.fetch_stock(user, '', '', '', '',
- '', 1, '', 1, 1, 20, '', '')
- item = {'stack': 'ConsumableWarehouseStockList',
- 'count': stock_count,
- 'amount': warehouse_amount,
- 'name': '库存查询'}
- data.append(item)
- return data
- def get_goods_data(user, user_ids, department_ids, warehouses_ids):
- data = []
- if user.has_perm('goods.view_goods_godown_entry'):
- godownentrys = GoodsGodownEntry.objects.filter(warehouse_id__in=warehouses_ids, status=settings.DEFAULT)
- godownentrys = godownentrys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = godownentrys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'GoodsGodowentryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '入库管理'}
- data.append(item)
- if user.has_perm('order.view_goods_deliver'):
- delivers = GoodsDeliver.objects.filter(warehouse_id__in=warehouses_ids, status=settings.DEFAULT)
- delivers = delivers.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = delivers.aggregate(total_count=Sum('total_count'), total_cost=Sum('total_cost'))
- item = {'stack': 'GoodsDeliverList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_cost']),
- 'name': '出库管理'}
- data.append(item)
- if user.has_perm('goods.view_goods_inventory'):
- inventorys = Inventory.objects.filter(product_type=Inventory.GOODS, warehouse_id__in=warehouses_ids,
- check_status=settings.DEFAULT)
- inventorys = inventorys.filter(
- Q(department_id__in=department_ids) | Q(create_user_id__in=user_ids) | Q(create_user=user))
- total_row = inventorys.aggregate(total_count=Sum('total_count'), total_amount=Sum('total_amount'))
- item = {'stack': 'GoodsInventoryList',
- 'count': Formater.formatCountShow(total_row['total_count']),
- 'amount': Formater.formatAmountShow(total_row['total_amount']),
- 'name': '盘存管理'}
- data.append(item)
- if user.has_perm('warehouse.view_goods_stock'):
- rows, total, stock_count, warehouse_amount = WarehouseStock.objects.fetch_stock(user, '', '', '', '',
- '', 2, '', 1, 1, 20, '', '')
- item = {'stack': 'GoodsWarehouseStockList',
- 'count': stock_count,
- 'amount': warehouse_amount,
- 'name': '库存查询'}
- data.append(item)
- return data
- def get_plan_data(id):
- purchaseplan = PurchasePlan.getById(id)
- purchase_users = []
- rows = PurchaseUser.objects.filter(purchase=purchaseplan)
- purchase_users.extend([s[0] for s in rows.values_list('purchase_user__name')])
- purchase_user_text = ','.join(purchase_users)
- main_data = {
- 'id': purchaseplan.id,
- 'no': purchaseplan.no,
- 'name': purchaseplan.name,
- 'total_count': Formater.formatCountShow(purchaseplan.total_count),
- 'demend_user_text': purchaseplan.demend_user and purchaseplan.demend_user.name or '',
- 'create_user_text': purchaseplan.create_user and purchaseplan.create_user.name or '',
- 'create_time': Formater.formatStrTime(purchaseplan.create_time),
- 'status':purchaseplan.status,
- 'status_text': settings.CHECK_STATUS_CHOICES[purchaseplan.status][1],
- 'check_user_text': purchaseplan.check_user and purchaseplan.check_user.name or '',
- 'check_time': Formater.formatStrTime(purchaseplan.check_time),
- 'purchase_user_text': purchase_user_text,
- 'notes': purchaseplan.notes,
- # 'check_user2': purchaseplan.check_user2 and purchaseplan.check_user2.name or '',
- # 'check_time2': Formater.formatStrTime(purchaseplan.check_time2),
- # 'check_user3': purchaseplan.check_user3 and purchaseplan.check_user3.name or '',
- # 'check_time3': Formater.formatStrTime(purchaseplan.check_time3),
- }
- data = {
- 'main_data': main_data,
- 'plan_details': [],
- }
- purchasedetails = PurchasePlanDetail.objects.filter(purchase=purchaseplan)
- for purchasedetail in purchasedetails:
- count = purchasedetail.purchase_count - purchasedetail.product.stock_count
- if count < 0:
- count = 0
- item = {
- 'id': purchasedetail.id,
- 'name': purchasedetail.product.name,
- 'model': purchasedetail.product.model,
- 'unit': purchasedetail.product.unit,
- 'product_time': Formater.formatStrDate(purchasedetail.product_time),
- 'quality_request': purchasedetail.quality_request_text or '',
- 'count': Formater.formatCountShow(count),
- 'stock_count': Formater.formatCountShow(purchasedetail.product.stock_count),
- 'purchase_count': Formater.formatCountShow(purchasedetail.purchase_count),
- 'purchase_price_item': []
- }
- purchaseprices = PurchasePrice.objects.filter(purchase_detail=purchasedetail, report=True)
- for purchaseprice in purchaseprices:
- price_item = {
- 'id': purchaseprice.id,
- 'purchase_user_text': purchaseprice.purchase_user and purchaseprice.purchase_user.name or '',
- 'supplier_text': purchaseprice.supplier and purchaseprice.supplier.name or '',
- 'price': Formater.formatPriceShow(purchaseprice.price),
- 'notes': purchaseprice.notes,
- 'detail_id': purchasedetail.id,
- }
- item['purchase_price_item'].append(price_item)
- data['plan_details'].append(item)
- return data
- def get_payment_data(id):
- company = PurchasePayment.getById(id).department.getCompany()
- payment = PurchasePayment.getById(id)
- rows = PurchaseOrderDetail.objects.filter(main_id=payment.order_id)
- order_id = None
- main_data = {
- 'no': payment.no,
- 'order_no': payment.order.no,
- 'supplier_name': payment.order.supplier and payment.order.supplier.name or '',
- 'supplier_account': payment.order.supplier and payment.order.supplier.account or '',
- 'amount':Formater.formatAmountShow(payment.amount),
- 'status':payment.status,
- 'status_text':settings.CHECK_STATUS_CHOICES[payment.status][1],
- 'apply_amount':Formater.formatAmountShow(payment.apply_amount),
- 'actual_amount':Formater.formatAmountShow(payment.actual_amount),
- 'create_time': Formater.formatStrTime(payment.create_time),
- 'create_user_text': payment.create_user and payment.create_user.name or '',
- 'check_time': Formater.formatStrTime(payment.check_time),
- 'check_user_text': payment.check_user and payment.check_user.name or '',
- 'notes': payment.notes,
- 'review_user_text': payment.review_user and payment.review_user.name or '',
- 'review_time': Formater.formatStrTime(payment.review_time),
- 'ratify_user_text': payment.ratify_user and payment.ratify_user.name or '',
- 'ratify_time': Formater.formatStrTime(payment.ratify_time),
- }
- data = {
- 'items_data': [],
- 'payment_data': [],
- 'main_data': main_data
- }
- for row in rows:
- item = {
- 'id': row.id,
- 'name': row.product.name,
- 'model': row.product.model,
- 'order_no': row.main.no,
- 'amount': Formater.formatAmountShow(row.amount),
- }
- data['items_data'].append(item)
- item_rows = PurchasePay.objects.filter(main_id=payment.id)
- for row in item_rows:
- item = {
- 'id': row.id,
- 'payment_type': row.payment_type and row.payment_type.name or '',
- 'payment_time': Formater.formatStrTime(row.payment_time),
- 'actual_amount': Formater.formatAmountShow(row.actual_amount),
- 'payment_user': row.payment_user and row.payment_user.name or '',
- 'notes': row.notes,
- }
- data['payment_data'].append(item)
- return data
|