25 lines
915 B
Python
25 lines
915 B
Python
import uuid
|
|
|
|
from app.config import TaskEnv
|
|
from app.models.financial_pre_payment import PrePaymentModel
|
|
from core.repositories.base import BaseRepository
|
|
from core.service.mongo_db import use_collection
|
|
|
|
|
|
class PrePaymentRepository(BaseRepository):
|
|
def __init__(self):
|
|
super().__init__(collection=TaskEnv.CLN_FINANCIAL_PRE_PAYMENT, model=PrePaymentModel)
|
|
|
|
|
|
async def sum_amount(self,project_id:uuid.UUID):
|
|
sum = await use_collection(TaskEnv.CLN_FINANCIAL_PRE_PAYMENT).aggregate([
|
|
{'$match': {'project_id': project_id}},
|
|
{'$group': {'_id': None, 'sum': { '$sum': "$amount"}}}
|
|
]).to_list(None)
|
|
if sum:
|
|
return sum[0]['sum']
|
|
return None
|
|
|
|
async def get_list(self,project_id:uuid.UUID):
|
|
get_list = await use_collection(TaskEnv.CLN_FINANCIAL_PRE_PAYMENT).find({'project_id': project_id}).to_list(None)
|
|
return get_list |