feat: disabling accounting for deals and groups
This commit is contained in:
		@@ -352,7 +352,14 @@ class DealService(BaseService):
 | 
			
		||||
 | 
			
		||||
    async def update_general_info(self, request: DealUpdateGeneralInfoRequest) -> DealUpdateGeneralInfoResponse:
 | 
			
		||||
        try:
 | 
			
		||||
            deal: Deal = await self.session.scalar(select(Deal).where(Deal.id == request.deal_id))
 | 
			
		||||
            deal: Deal = await self.session.scalar(
 | 
			
		||||
                select(Deal)
 | 
			
		||||
                .options(
 | 
			
		||||
                    selectinload(Deal.group)
 | 
			
		||||
                    .selectinload(DealGroup.deals)
 | 
			
		||||
                )
 | 
			
		||||
                .where(Deal.id == request.deal_id)
 | 
			
		||||
            )
 | 
			
		||||
            if not deal:
 | 
			
		||||
                raise HTTPException(status_code=404, detail="Сделка не найдена")
 | 
			
		||||
            deal.name = request.data.name
 | 
			
		||||
@@ -362,6 +369,12 @@ class DealService(BaseService):
 | 
			
		||||
            deal.delivery_date = request.data.delivery_date
 | 
			
		||||
            deal.receiving_slot_date = request.data.receiving_slot_date
 | 
			
		||||
 | 
			
		||||
            if deal.group:
 | 
			
		||||
                for deal in deal.group.deals:
 | 
			
		||||
                    deal.is_accounted = request.data.is_accounted
 | 
			
		||||
            else:
 | 
			
		||||
                deal.is_accounted = request.data.is_accounted
 | 
			
		||||
 | 
			
		||||
            # Updating shipping warehouse
 | 
			
		||||
            shipping_warehouse_service = ShippingWarehouseService(self.session)
 | 
			
		||||
            shipping_warehouse = await shipping_warehouse_service.get_by_name(request.data.shipping_warehouse)
 | 
			
		||||
 
 | 
			
		||||
@@ -112,7 +112,7 @@ class ProfitStatisticsService(BaseService):
 | 
			
		||||
            .join(DealService, Deal.id == DealService.deal_id)
 | 
			
		||||
            .join(Service, DealService.service_id == Service.id)
 | 
			
		||||
            .join(sub_filtered_status_history, Deal.id == sub_filtered_status_history.c.deal_id)
 | 
			
		||||
            .where(Deal.is_deleted == False)
 | 
			
		||||
            .where(and_(Deal.is_deleted == False, Deal.is_accounted == True))
 | 
			
		||||
            .group_by(Deal.id, "date")
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
@@ -154,7 +154,7 @@ class ProfitStatisticsService(BaseService):
 | 
			
		||||
                )
 | 
			
		||||
            )
 | 
			
		||||
            .join(Service, DealProductService.service_id == Service.id)
 | 
			
		||||
            .where(Deal.is_deleted == False)
 | 
			
		||||
            .where(and_(Deal.is_deleted == False, Deal.is_accounted == True))
 | 
			
		||||
            .group_by(Deal.id)
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user