o
    Uh                     @   sJ   d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 G dd dZ
dS )    )func)DisplayRackingUnitCreateDisplayRackingUnitResponce)DisplayRackingUnitBaseTblDisplayRackingUnit)CustomResponsec                   @   s>   e Zd Zdd ZdefddZdefddZdefd	d
ZdS )DisplayRackingUnitServicec                 C   s   || _ || _d S )N)dbtoken)selfr	   r
    r   A/var/www/html/RetailAPI/app/api/display_racking_create/service.py__init__   s   
z"DisplayRackingUnitService.__init__requestc              	      sp   |j |j }t|j|j|j|j|j ||jd}t|| j	}| j	
  | j	| tj|dd}tdd|dS )N)group_idstore_format_typetype_display_racking_unitnumber_of_unitscost_per_unittotalremarksT)from_attributes1zDisplay Racking Unitstatusmessagedata)r   r   r   r   r   r   r   r   creater	   commitrefreshr   model_validater   )r   r   r   	rack_datarack_recordresponser   r   r   create_display_racking_unit   s    

z5DisplayRackingUnitService.create_display_racking_unitr   c                    sB   | j ttj|k }|stdddS tddt|dS )Nz-1zNo Civil Data Found)r   r   r   zCivil data fetched successfullyr   )	r	   queryr   filterr   firstr   r   r    )r   r   civil_recordr   r   r   get_racking_by_group_id   s
   z1DisplayRackingUnitService.get_racking_by_group_idc                 C   sD   | j tjttjdtj	|k
tj }dd |D S )Nsubtotalc                 S   s   g | ]\}}||p
d dqS )g        )r   r*   r   ).0r   r*   r   r   r   
<listcomp>.   s    zJDisplayRackingUnitService.get_subtotal_by_store_format.<locals>.<listcomp>)r	   r%   r   r   r   sumr   labelr&   r   group_byall)r   r   resultsr   r   r   get_subtotal_by_store_format#   s   
z6DisplayRackingUnitService.get_subtotal_by_store_formatN)	__name__
__module____qualname__r   r   r$   intr)   r2   r   r   r   r   r      s
    r   N)
sqlalchemyr   &app.api.display_racking_create.schemasr   r   $app.models.main.display_racking_unitr   r   app.utils.schemas_utilsr   r   r   r   r   r   <module>   s
    