
    h&h                     (    d dl mZmZ  G d d      Zy)    )BranchOfficeModelSupervisorModelc                   8    e Zd Zd Zd	dZd Zd Zd Zd Zd Z	y)
BranchOfficeClassc                     || _         y )N)db)selfr   s     \C:\Users\jesus\OneDrive\Desktop\escritorio\newerp\app\backend\classes\branch_office_class.py__init__zBranchOfficeClass.__init__   s	        Nc                 J   	 |dk(  r| j                   j                  t              j                  t        j                  dk(        j                  t        j
                  |k(        j                  t        j                        j                         }|S | j                   j                  t              j                  t        j                  dk(        j                  t        j                        j                         }|S # t        $ r}t        |      }d| cY d }~S d }~ww xY w)N      Error: )r   queryr   filter	status_idprincipal_supervisororder_bybranch_officeall	Exceptionstr)r	   rol_idrutbranch_office_iddataeerror_messages          r
   get_allzBranchOfficeClass.get_all   s    	-{ww}}%67F,66!;<F,AASHIH.<<=CE	  K ww}}%67F,66!;<H.<<=CE 
 K 	-FM]O,,	-s%   BC? A+C? ?	D"DD"D"c                 (   	 | j                   j                  t              j                  t        j                  dk(        j                  t        j                        j                         }|S # t        $ r}t        |      }d| cY d }~S d }~ww xY w)N   r   )
r   r   r   r   getaway_machine_idr   r   r   r   r   )r	   r   r   r   s       r
   get_with_machinez"BranchOfficeClass.get_with_machine   sx    		-77==!23F,??1DEH.<<=CE 
 K 	-FM]O,,	-s   A+A. .	B7BBBc                 .   	 | j                   j                  t              j                  t	        t        |      |k(        j                  t        j
                  dk(        j                         }|S # t        $ r}t        |      }d| cY d }~S d }~ww xY w)Nr   r   )	r   r   r   r   getattrr   firstr   r   )r	   fieldvaluer   r   r   s         r
   getzBranchOfficeClass.get&   s    	-77==!23::7CTV[;\`e;efmmn  oJ  oJ  NO  oO  P  V  V  XDK 	-FM]O,,	-s   A.A1 1	B:B	BBc                     	 t        di |}| j                  j                  |       | j                  j                          y# t        $ r}t        |      }d| cY d }~S d }~ww xY w)Nr"   r    )r   r   addcommitr   r   )r	   branchOffice_inputsr   r   r   s        r
   storezBranchOfficeClass.store.   s\    	-$;':;DGGKKGGNN 	-FM]O,,	-s   A A 	A&A!A&!A&c                 \   	 | j                   j                  t              j                  t        j                  |k(        j                         }|r6| j                   j                  |       | j                   j                          yy# t        $ r}t        |      }d| cY d }~S d }~ww xY w)Nr"   No data foundr   )
r   r   r   r   idr'   deleter.   r   r   )r	   r3   r   r   r   s        r
   r4   zBranchOfficeClass.delete8   s    
	-77==!23::;L;O;OSU;UV\\^Dt$ & 	-FM]O,,	-s   BB 	B+B& B+&B+c                 F   | j                   j                  t              j                  t        j                  |k(        j                         }|sy|j                  d      }|j                         D ]  \  }}t        |||        | j                   j                          y)Nr2   T)exclude_unsetr"   )
r   r   r   r   r3   one_or_nonedictitemssetattrr.   )r	   r3   r   existing_branch_officeexisting_branch_office_datakeyr)   s          r
   updatezBranchOfficeClass.updateE   s    !%/@!A!H!HIZI]I]acIc!d!p!p!r%"&3&8&8t&8&L#5;;= 	8JC*C7	8 	r   )NNN)
__name__
__module____qualname__r   r    r$   r*   r0   r4   r>   r,   r   r
   r   r      s%    -&
----r   r   N)app.backend.db.modelsr   r   r   r,   r   r
   <module>rC      s    DN Nr   