o
    Sh                     @   s`   d dl mZmZmZ d dlmZ ddlmZ ejddgddd	 Z	ejd
dgddd Z
dS )    )requestjsonifysession)get_db_connection   )api_bpz/save_span_damagePOST)methodsc            
      C   sJ  zt  } | d}td}td}td}| dg }|r%|r%|s/tdddd	fW S t }| }|D ]}|d
|||df q8|D ](}|d|||||d|d|d|d|d|d|df qI|  |	  |	  tddddfW S  t
y }	 ztdt|	ddfW  Y d }	~	S d }	~	ww )Nfilenameuser_idemailusernamedamage_listFu*   필수 데이터가 누락되었습니다.successerror  z~
                DELETE FROM span_damage
                WHERE filename = %s AND user_id = '%s' AND type = %s
                typea&  
                INSERT INTO span_damage (
                    filename, user_id, username, email, span_id, type, damage_type,
                    damage_quantity, count, unit, inspection_area, updated_at
                ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
            spanId
damageTypedamageQuantitycountunitinspectionAreaTu*   손상 데이터가 저장되었습니다.)r   message   i  )r   get_jsongetr   r   r   cursorexecutecommitclose	Exceptionstr)
datar
   r   r   r   r   conncuriteme r)   >/home/skpark/git/infrasmart_work/infrasmart/api/span_damage.pysave_span_damage   sN   



	"r+   z/get_span_damageGETc                     s   t jd} td}| r|stddddfS t }| }|d| |f | }|	  |	  g d  fd	d
|D }td|ddfS )Nr
   r   Fu-   필수 파라미터가 누락되었습니다.r   r   z
        SELECT span_id, type, damage_type, damage_quantity, count, unit, inspection_area, updated_at
        FROM span_damage
        WHERE filename = %s AND user_id = '%s'
        ORDER BY updated_at DESC
    )r   r   r   r   r   r   r   	updatedAtc                    s   g | ]	}t t |qS r)   )dictzip).0rowcolumnsr)   r*   
<listcomp>O   s    z#get_span_damage.<locals>.<listcomp>T)r   r$   r   )
r   argsr   r   r   r   r   r   fetchallr!   )r
   r   r%   r&   rowsr$   r)   r2   r*   get_span_damage:   s   
r8   N)flaskr   r   r   utils.commonr    r   router+   r8   r)   r)   r)   r*   <module>   s    
4