
    _qh                     L    d dl mZ d dlmZmZ d dlmZ d dlmZ  G d d      Z	y)    )Session)DteModelCollectionModel)CashierClass)funcc                       e Zd ZdefdZd Zy)CustomerCollectionClassdbc                     || _         y )N)r
   )selfr
   s     Y/var/www/intrajisbackend.com/public_html/app/backend/classes/customer_collection_class.py__init__z CustomerCollectionClass.__init__   s	        c                 "   |j                   j                  d      }t        |d         }t        |d         }|dd|d}|j                   dz   }| j                  j	                  t
        j                  t        j                  t
        j                        j                  d      t        j                  t
        j                        j                  d            j                  t
        j                   |k(        j                  t
        j                  d	k(        j                  t
        j                        j!                         }|D ]  }|j                  }t        |j"                        }	t%        | j                        j'                  |      }
|
d k7  rg| j                  j	                  t(              j                  t(        j                  |k(  t(        j*                  |
j                  k(  t(        j,                  |k(        j                         }|dkD  rL| j                  j	                  t(              j                  t(        j                  |k(  t(        j*                  |
j                  k(  t(        j,                  |k(        j/                         }|r5| j                  j1                  |       | j                  j3                          t)               }||_        |
j                  |_        |	|_        |j6                  |_        ||_        ||_        | j                  j;                  |       | j                  j3                          | j                  j=                  |       t)               }||_        |
j                  |_        |	|_        |j6                  |_        ||_        ||_        | j                  j;                  |       | j                  j3                          | j                  j=                  |       t?        d
| d        y )N-r      04d02dz-01total_amounttotal_tickets   z/Subscriber cashier not found for branch office z. Skipping collection creation.) periodsplitintr
   queryr   branch_office_idr   sumsubtotallabelcountidfilter	status_idgroup_byallr   r   get_subscriber_cashierr   
cashier_id
added_datefirstdeletecommitsubscribersr   updated_dateaddrefreshprint)r   	form_datar   yearmonthdateresultsresultr   r   subscriber_cashiercheck_existencedelete_collection
collections                 r   storezCustomerCollectionClass.store
   s   !!'',6!9~F1I:QuSk*%' GGMM))**+11.A

8;;'--o>
 VHOOv-.VH&&!+,Xh//0SU 	  /	{F%66v223L!-dgg!6!M!MN^!_!T)"&''--"@"G"G#448HH#..2D2G2GG#..$6# %'	   #Q&(,o(F(M(M'88<LL'226H6K6KK'22d:) eg	 & )'89(!0!2J2BJ/,>,A,AJ)-9J*/5/C/CJ,,0J).2J+GGKK
+GGNN$GGOOJ/!0!2J2BJ/,>,A,AJ)-9J*/5/C/CJ,,0J).2J+GGKK
+GGNN$GGOOJ/GHXGYYxyz_/	{r   N)__name__
__module____qualname__r   r   r;    r   r   r	   r	      s    7 B{r   r	   N)
sqlalchemy.ormr   app.backend.db.modelsr   r   !app.backend.classes.cashier_classr   
sqlalchemyr   r	   r?   r   r   <module>rD      s    " ; : F{ F{r   