
    Sh                        S SK JrJrJrJr  S SKJr  S SKJrJ	r	J
r
  S SKJr  S SKJrJrJrJrJrJrJrJr  S SKJr  \" 5       r\R3                  S\S9\" \R4                  5      4S	\S
\R6                  4S jj5       r\R;                  S\	\   S9\" SSS9\" SSS9\" \R4                  5      4S\S\\   S
\R6                  4S jj5       r\R;                  S\S9\" \R4                  5      4S\S
\R6                  4S jj5       r \R;                  S\S9\" \R4                  5      4S\S
\R6                  4S jj5       r!\RE                  S\S9\" \R4                  5      4S\S\S
\R6                  4S jj5       r#\RI                  S\S9\" \R4                  5      4S\S
\R6                  4S jj5       r%\R;                  S\S9\" SSS9\" S S SS9\" SS S S!S"9\" SS#S9SSSSSS\" S$S%S9S&\" \R4                  5      4S\S'\&S(\&S\\   S)\\   S*\\   S+\\   S,\\   S-\\   S.\\   S/\\   S0\\&   S
\R6                  4S1 jj5       r'\R3                  S25      \" \R4                  5      4S3\S
\R6                  4S4 jj5       r(\R3                  S5\S9\" \R4                  5      4S3\S
\R6                  4S6 jj5       r)\R3                  S7\S9\" \R4                  5      4S8\S
\R6                  4S9 jj5       r*g):    )	APIRouterDependsHTTPExceptionQuery)database)OptionalListDict)datetime)ScheduleScheduleCreateScheduleUpdate	SchedulesScheduleAssignmentRequestScheduleSelectItem!ScheduleTravelStatusUpdateRequestScheduleWithTasksCreate)	schedules/)response_modelscheduledbc                 D    [        S5        [        R                  " X5      $ )N=create_schedulecreate_schedulecreate_schedule1010101010101010)printschedule_servicecreate_schedule_service)r   r   s     OC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\routers\platform\schedules.pycreate_scheduler   
   s    	
IJ33HAA    z/search.z
Account ID)descriptionNz Search keyword for schedule_name
account_idqc                 .    [         R                  " U UUS9$ )N)r"   search_queryr   )r   search_schedules_select_service)r"   r#   r   s      r   search_schedules_for_selectr'      s      ;; r    z/{schedule_id}schedule_idc                 T    [         R                  " X5      nU(       d
  [        SSS9eU$ N  Schedule not foundstatus_codedetail)r   get_schedule_servicer   )r(   r   r   s      r   get_accountr1      s(    44[EH4HIIOr    z/list/{account_id}c                 .    [         R                  " X5      $ )Nr   list_schedules_service)r"   r   s     r   list_schedulesr5   #   s    22:BBr    schedule_updatec                 V    [         R                  " XU5      nU(       d
  [        SSS9eU$ r*   )r   update_schedule_servicer   )r(   r6   r   updateds       r   update_scheduler:   '   s+    66{UWXG4HIINr    c                 T    [         R                  " X5      nU(       d
  [        SSS9eU$ r*   )r   delete_schedule_servicer   )r(   r   deleteds      r   delete_scheduler>   .   s(    66{GG4HIINr    zPagination start)ger!   
   d   zMax number of items to return)gtler!   zOptional search keywordcreated_datezField to sort by   skiplimitstatusstart_date_fromstart_date_tocustomer_idworkforce_idfleet_idsort_byorder_byc                 B    [         R                  " U UUUUUUUUU	U
UUS9$ )N)r"   rF   rG   r%   rH   rI   rJ   rK   rL   rM   rN   rO   r   r3   )r"   rF   rG   r#   rH   rI   rJ   rK   rL   rM   rN   rO   r   s                r   list_schedules_with_queryrQ   5   s>      22'#! r    z/assignrequestc                    #    [         R                  " U R                  U R                  U R                  US9nU(       d
  [        SSS9eSS0$ 7f)N)r(   r"   rL   r   r+   zSchedule or Workforce not foundr-   messagezSchedule assigned successfully)r   assign_schedule_servicer(   r"   rL   r   )rR   r   successs      r   assign_schedulerW   U   sR     66''%%))	G 4UVV788s   AAz/update-travel-statusc                 |    [         R                  " U R                  U R                  US9nU(       d
  [	        SSS9eU$ )N)r(   travel_statusr   r+   r,   r-   )r   update_travel_status_servicer(   rY   r   )rR   r   r9   s      r   update_travel_statusr[   c   sA    
 ;;''++G
 4HIINr    z/create-with-taskspayloadc                 D    [        S5        [        R                  " X5      $ )N151515151515151515151551ssss)r   r   "create_schedule_with_tasks_service)r\   r   s     r   create_schedule_with_tasksr`   q   s    	
()>>wKKr    )+fastapir   r   r   r   app.dbr   typingr   r	   r
   r    app.v1.models.platform.schedulesr   r   r   r   r   r   r   r   app.v1.services.platformr   r   routerpostget_mongo_dbMongoDBr   getstrr'   r1   r5   putr:   deleter>   intrQ   rW   r[   r`    r    r   <module>rp      s   < <  ' '  I  I  I B	S*ELXMbMbEc Bn B(2B2B B +B
 Id+=&>?C\:T/QR"8#8#89		}	 		 @	 X69@AVAV9W S h&6&6  7  ;;B8CXCX;Y Cs C(8(8 C <C X6^efnf{f{^|  ~ 8K[K[  7 9=DXEZEZ=[  (*:*:  : C	*C\:aA+=>raC5TUT/HI %)#'!%"&"">?QR"8#8#89
  }	
 SM c] C= # 3- sm c] sm 	 +> YU\]e]r]rUs 9#< 9(BRBR 9 9 $X> #8#8#89. ? !(;X_`h`u`uXv L(? LXEUEU L <Lr    