
    pahSG                     F   S SK rS SK Jr  S SKrS SKrS SKrS SKrS SKr\R                  R                  \R                  R                  S5      S5      rS rS r " S S\R                  5      r " S	 S
\R                   5      r\S:X  a  \" 5       r\R)                  5         gg)    N)scrolledtext~z.jigyodan_config.jsonc                       [         R                  R                  [        5      (       a/  [	        [        SSS9 n [
        R                  " U 5      sS S S 5        $  0 $ ! , (       d  f       0 $ = f! [         a     0 $ f = f)Nrutf-8encoding)ospathexistsCONFIG_PATHopenjsonload	Exception)fs    [   C:\Users\papa\Desktop\在宅就労支援事業団\zaitakukanri_honbu\v0301\jigyodan_main.pyload_configr      so    77>>+&&k39Qyy| :9 '
 I	 :9 I  Is.   7A. A	A. 
A+&A. +A. .
A<;A<c                      [        [        SSS9 n[        R                  " XSSS9  S S S 5        g ! , (       d  f       g = f! [         a     g f = f)Nwr   r   F   )ensure_asciiindent)r   r   r   dumpr   )cfgr   s     r   save_configr      sB    +sW5IIc5; 655 s(   A 1A 
?A A 
AAc                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )SettingsDialog   c                   > [         TU ]  U5        U R                  S5        U R                  SS5        U R	                  5         UR                  5       U l        [        R                  " U 5      nUR                  SSS9  Sn[        R                  " USS9R                  USSS	S	S
9  [        R                  " USS9U l        U R                  R                  USS	S	S9  U R                  R                  SUR                  SS5      5        US-  n[        R                  " USS9R                  USSS	S	S
9  [        R                  " USSS9U l        U R                   R                  USS	S	S9  US-  n[        R                  " USS9R                  USSS	S	S
9  [        R                  " USS9U l        U R"                  R                  USS	S	S9  U R"                  R                  SUR                  SS5      5        US-  n[        R                  " USS9R                  USSS	S	S
9  [        R                  " USS9U l        U R$                  R                  USS	S	S9  U R$                  R                  SUR                  SS5      5        US-  n[        R                  " U 5      nUR                  SSSS9  [        R&                  " USU R(                  S9R                  SSS9  [        R&                  " US U R*                  S9R                  SSS9  g )!N   設定F   padxpadyr   u   ユーザー名texte   rowcolumnstickyr$   r%      )width   )r+   r,   r$   r%   user_id u   パスワード*)showr/   u   ボリューム番号	volume_nou   シリアル番号	serial_no)r   r"   xr$   r%   fillu   保存r'   commandright   sider$   u	   閉じる)super__init__title	resizablegrab_setcopyr   tkFramepackLabelgridEntryent_userinsertgetent_passent_volent_serButtonon_savedestroy)selfmasterr   frmr+   btns	__class__s         r   rA   SettingsDialog.__init__    s    

8ue$88:hhtnbr"
,-22s1SWX_`2aB/s111=Q	2 67q
,-22s1SWX_`2a3b9s111=q
2388SSV]^ef8gxx2.c!!!<Asww{B78q
/055#aPSZ[bc5dxx2.c!!!<Asww{B78qxx~		rc	2
		$Xt||<AAwUVAW
		$[$,,?DD'XYDZ    c                    U R                   R                  5       R                  5       U R                  S'   U R                  R                  5       R                  5       U R                  S'   U R
                  R                  5       R                  5       U R                  S'   U R                  R                  5       R                  5       U R                  l        [        U R                  5        U R                  5         g )Nr1   r5   r6   )rL   rN   stripr   rP   rQ   rO   rV   _temp_passwordr   rT   rU   s    r   rS   SettingsDialog.on_saveG   s    "mm//1779 $ 0 0 2 8 8 : $ 0 0 2 8 8 :%)]]%6%6%8%>%>%@"DHHr[   )r   rO   rQ   rL   rP   )__name__
__module____qualname____firstlineno__rA   rS   __static_attributes____classcell__rY   s   @r   r   r      s    %[N r[   r   c                      ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	 rSS
 jrS rS rS rS rS rS rS rS rSrU =r$ )
MainWindowQ   c                 .  > [         TU ]  5         U R                  S5        U R                  S5        SU l        S U l        SU l        SU l        S U l        SU l	        [        R                  " U 5      U l        U R                  R                  SSSS	9  [        R                  " U R                  SS
S9U l        U R                  R                  SS9  [        R                  " U R                  SSSS9U l        U R                   R                  SSS9  [        R"                  " U R                  SU R$                  S9U l        U R&                  R                  SSS9  [        R"                  " U R                  SU R(                  S9U l        U R*                  R                  SSS9  [        R"                  " U R                  SU R,                  S9U l        U R.                  R                  SSS9  [        R"                  " U R                  SU R0                  S9U l        U R2                  R                  SSS9  [        R"                  " U R                  SU R4                  S9U l        U R6                  R                  SSS9  [8        R:                  " U SSSS9U l        U R<                  R                  SSSS	9  [        R                  " U 5      U l        U R>                  R                  SSSS	9  [        R@                  " U R>                  SS 9nUR                  SSS!S"9  [        RB                  " US#S$9U l"        U RD                  R                  SSS%9  U RD                  RG                  S&U RH                  5        0 U l%        [        R@                  " U R>                  S'S 9nUR                  SS(S)S*9  SU l&        S U l'        S U l(        S+n[        R                  " US,S 9RS                  US+S-SS.S/9  [        R                  " US0S 9U l*        U RT                  RS                  US1S-SS.S/9  US1-  n[        R                  " US2S 9RS                  US+S-SS.S/9  [        R                  " US0S 9U l+        U RV                  RS                  US1S-SS.S/9  US1-  n[        R                  " US3S 9RS                  US+S-SS.S/9  [        R                  " US0S 9U l,        U RX                  RS                  US1S-SS.S/9  [        R                  " U 5      nUR                  SSS49  [        R                  " US5S6S9R                  SS9  [        R"                  " US7U RZ                  S9U l.        U R\                  R                  SS9  [8        R:                  " U SSS89U l/        U R^                  R                  SSS(S)S99  [        R                  " U 5      U l0        U R`                  R                  SSSS	9  [        Rb                  " U R`                  SS:9U l2        U Rd                  R                  SSS)S*9  U Rd                  RG                  S;U Rf                  5        [        R"                  " U R`                  S<U Rh                  SS=9U l5        U Rj                  R                  SS>S9  U Rm                  5         g )?NzJigyodan Main Application980x720z1https://jigyodan.sakura.ne.jp/zaitakukanri_honbu/r2   F
   )rm      r7   r8   )Meiryo   bold)r'   fontleft)r?      未ログインsolid)r'   reliefr/   r<   )rn   r   r>      ログインr:   r!   u   日報u   問い合せ   業務開始r)   disabledword)heightstatewrap)r   rm   u   外部リンクr&   y)r?   r$   r9      )r{   r#   z<Double-Button-1>u   業務ステータスbothT)r?   r9   expandr   u   開始時刻r   r=   r*   -r0   u   終了時刻u   業務時間)r9   r$   u!   メッセージ（チャット）)ro   r"   rq   u   更新)r|   r}   )r$   r%   r9   r   r|   z<Return>u   送信)r'   r;   r|   rn   )7r@   rA   rB   geometrybase_urltokenlast_chat_date	logged_in_poll_after_idr^   rF   rG   	top_framerH   rI   group_label	lbl_loginrR   toggle_login	btn_loginopen_settingsbtn_settingopen_reportreport_buttonsend_inquiryinquiry_buttontoggle_trainingtraining_buttonr   ScrolledTextnotice_text	mid_frame
LabelFrameListbox
links_listbindopen_selected_link
_links_maptraining_startedtraining_start_timetraining_end_timerJ   lbl_start_vallbl_end_vallbl_time_valfetch_messages_onceupdate_buttonchat_displayinput_framerK   message_entrysend_message_eventsend_messagesend_buttonset_logged_out_state)rU   links_framestatus_framer+   	chat_headrY   s        r   rA   MainWindow.__init__R   s   

./i K
 "  $'<88DNNBXY6* $..7HQX`bcv64>>PTPaPabv699T^^(DL^L^_78  YYt~~HdN^N^_W6: ii^UYUfUfg  gF ;!yynVZVjVjk!!wV!< (44T!:\bc2G#> $'<mmDNN9JKf7=**[;!!,0$2I2IJ}}T^^:QRvF4@ %#' !%
N388SSV]^ef8gXXl=C#AANq
N388SSV]^ef8g88Ls;#a!!Lq
N388SSV]^ef8gHH\<3q11M HHTN	Cb)
!DKabggmsgtYYyxIaIabW- )55d*SYZBW6$O 88D>2G#>XXd&6&6jIV#dC
D,C,CD99T%5%5HdN_N_gqr73 	!!#r[   c                 .    [        5       n[        X5        g N)r   r   )rU   r   s     r   r   MainWindow.open_settings   s    mt!r[   c                 h    U R                   (       d  U R                  5         g U R                  5         g r   )r   loginlogoutr_   s    r   r   MainWindow.toggle_login   s    ~~JJLKKMr[   c                 h   [        5       nUR                  S5      =(       d    SR                  5       nUR                  S5      =(       d    SR                  5       nUR                  S5      =(       d    SR                  5       nU R                  =(       d    SR                  5       nU(       a  U(       a  U(       a  U(       d  U R	                  S5        g  U R
                  S-   nUUUUS.n[        R                  " XgS9nUR                  5         UR                  5       n	[        U	[        5      (       a  [        U	R                  S	5      [        5      (       a  [        U	S	   5      S
:X  a  U	S	   U l        SU l        U R                   R#                  SS9  U R$                  R#                  SS9  U R'                  5         U R(                  R#                  SS9  U R*                  R#                  SS9  U R-                  5         U R	                  S5        g [        U	[        5      (       a  U	R                  SS5      OSn
U R	                  SU
 35        g ! [        R.                  R0                   a  nU R	                  SU 35         S nAg S nAf[        R2                   a    U R	                  S5         g f = f)Nr1   r2   r5   r6   u<   設定からログイン情報を入力してください。ztraining_login.php)r1   user_passwordr5   r6   datares    Tu   ログイン中r&   u   ログアウトnormalr   u*   [システム] ログインしました。erroru$   ログインに失敗しました。u   [エラー] u&   [エラー] ログイン通信失敗: u$   [エラー] 応答が不正です。)r   rN   r]   r^   display_messager   requestspostraise_for_statusr   
isinstancedictstrlenr   r   r   configr   
load_firstr   r   start_polling
exceptionsRequestExceptionJSONDecodeError)rU   r   r1   r5   r6   passwordurlr   r   jserrr(   s               r   r   MainWindow.login   s3   m779%+224WW[)/R668	WW[)/R668	''-2446hiy  !_`	I--"66C"!)&&	D --/C  "B"d##
266%=#(F(F3rRWy>]_K_Y
!%%%+<%=%%+<%=!"")))9  ''h'7""$$$%QRQ[\^`dQeQebffW&LM  lR$$|C5%9:""33 	O  #I!!MNN## 	I  !GH	Is%   D;I =I J1-J(J10J1c                 &    U R                   (       a0  U R                  S-   n[        R                  " USU R                   0S9  S U l         SU l        U R                  R                  SS9  U R                  R                  SS9  U R                  R                  SS9  U R                  R                  S	S
9  U R                  R                  S[        R                  5        U R                  R                  SS
9  U R                  R                  S[        R                  5        U R                  R!                  5         SU l        U R%                  5         U R&                  R                  SS
9  U R(                  R                  SS
9  SU l        U R,                  R                  SS9  U R.                  R                  SS9  U R0                  R                  SS9  U R2                  R                  SS9  U R5                  S5        g ! [         a     GNf = f)Nztraining_logout.phpvaluer   Frt   r&   rw   r2   r   r   1.0ry   r   rx   r   u-   [システム] ログアウトしました。)r   r   r   r   r   r   r   r   r   r   r   deleterF   ENDr   r   clearr   stop_pollingr   r   r   r   r   r   r   r   rU   r   s     r   r   MainWindow.logout   s   	zzmm&;;c$**(=> 
#45>2R(h/rvv.j1q"&&) !!
!3j1 %###8!!s!+S)  c *LM+  		s   AH 
HHc                     S U l         SU l        U R                  R                  SS9  U R                  R                  SS9  U R
                  R                  SS9  U R                  R                  SS9  g )NFrt   r&   rw   ry   r   )r   r   r   r   r   r   r   r_   s    r   r   MainWindow.set_logged_out_state   si    
#45>2!!
!3j1r[   c                    U R                   (       d  g  U R                  S-   nSU R                   0n[        R                  " XS9nUR	                  5         UR                  5       nUR                  S5      n[        U[        5      (       a  U R                  R                  US9  UR                  S5      nUb  U R                  R                  SS9  U R                  R                  S	[        R                  5        U R                  R                  [        R                  [        U5      5        U R                  R                  S
S9  U R                   R                  S[        R                  5        U R"                  R%                  5         UR                  S5      n[        U[&        5      (       a  [)        U5       H  u  p[        U	[*        5      (       a  U	R                  S5      OS n
[        U	[*        5      (       a  U	R                  S5      OS nU
(       d  M^  U(       d  Mg  U R                   R                  [        R                  U
5        XR"                  U'   M     g g ! [        R,                  R.                   a  nU R1                  SU 35         S nAg S nAf[
        R2                   a    U R1                  S5         g f = f)Nz	first.phpr   r   groupr&   noticer   r   r   ry   r   link	link_namelink_urlu   エラー（初期表示）: u5   エラー: 初期データの応答が不正です。)r   r   r   r   r   r   rN   r   r   r   r   r   r   rF   r   rM   r   r   r   list	enumerater   r   r   r   r   )rU   r   r   r   r   r   r   linksidxitemnameurl2r(   s                r   r   MainWindow.load_first  s   zz	Z--+-CTZZ(D--/C  "BFF7OE%%%  ''U'3VVH%F!  ''h'7  ''rvv6  ''F<  ''j'9OO""1bff-OO!!#FF6NE%&&!*5!1IC4>tT4J4J488K0PTD3=dD3I3I488J/tDt..rvvt</3, "2 ' ""33 	F  #@!DEE## 	Z  !XY	Zs*   HI! I! #<I! !K?J(KKc                     U R                   (       d  U R                  S5        g U R                  SU R                    3-   n[        R                  " U5        g )N*   [注意] ログインしてください。zreport_edit.php?t=)r   r   r   
webbrowserr   r   s     r   r   MainWindow.open_report%  sA    zz  !MNmm 24::,??r[   c                    U R                   R                  5       nU(       d  g US   nU R                  R                  U5      nU(       aA  [        R
                  " U5        U R                   R                  S[        R                  5        g g )Nr   )	r   curselectionr   rN   r   r   selection_clearrF   r   )rU   eventselr   r   s        r   r   MainWindow.open_selected_link,  sc    oo**,!foo!!#&OOC OO++Arvv6 r[   c                 n   U R                   (       d  U R                  S5        g  U R                  S-   nSU R                   0n[        R                  " XS9nUR                  5         U R                  S5        g ! [        R                  R                   a  nU R                  SU 35         S nAg S nAff = f)Nr   ztraining_inquiry.phpr   r   u3   [システム] 問い合せを送信しました。u   エラー（問い合せ）: )r   r   r   r   r   r   r   r   )rU   r   r   r   r(   s        r   r   MainWindow.send_inquiry6  s    zz  !MN	F--"88CTZZ(D--/C  "  !VW""33 	F  #@!DEE	Fs   AA8 8B4B//B4c                    U R                   (       d  U R                  S5        g  U R                  (       d  U R                  S-   nSU R                   0n[        R
                  " XS9nUR                  5         SU l        [        R                  R                  5       U l	        U R                  R                  U R                  R                  S5      S9  U R                  R                  SS9  U R                  R                  S	S9  U R                  R                  S	S9  g U R                  S
-   nSU R                   0n[        R
                  " XS9nUR                  5         SU l        [        R                  R                  5       U l        U R                  R                  U R                   R                  S5      S9  U R                  R                  SS9  U R                  (       ad  U R                   (       aR  U R                   U R                  -
  n[#        UR%                  5       S-  5      nU R                  R                  U S3S9  g g g ! [        R&                  R(                   a  nU R                  SU 35         S nAg S nAff = f)Nr   ztraining_start.phpr   r   Tz%Y-%m-%d %H:%M:%Sr&   u   業務終了r   ztraining_end.phpFrx   <   u    分u   エラー（業務）: )r   r   r   r   r   r   r   datetimenowr   r   r   strftimer   r   r   r   inttotal_secondsr   r   )rU   r   r   r   deltaminsr(   s          r   r   MainWindow.toggle_trainingC  s"   zz  !MN	@((mm&::,mmC3$$&(,%+3+<+<+@+@+B(""))t/G/G/P/PQd/e)f$$+++@  ''S'1!!((c(2mm&88,mmC3$$&(-%)1):):)>)>)@&  ''T-C-C-L-LM`-a'b$$+++@++0F0F 22T5M5MMEu224:;D%%,,TF$-,@ 1G+ ""33 	@  #:1#!>??	@s   C9I D)I J)JJc                 $    U R                  5         g r   )r   )rU   r   s     r   r   MainWindow.send_message_eventc  s    r[   c                    U R                   R                  5       nU(       d  g U R                   R                  S[        R                  5        U R
                  (       d  U R                  S5        g  U R                  S-   nU R
                  U R                  US.n[        R                  " X#S9nUR                  5         U R                  5         g ! [        R                  R                   a  nU R                  SU 35         S nAg S nAff = f)Nr   r   ztraining_insert.php)r   value2value3r   u   エラー（送信）: )r   rN   r   rF   r   r   r   r   r   r   r   r   r   r   r   )rU   messager   r   r   r(   s         r   r   MainWindow.send_messagef  s    $$((*!!!RVV,zz  !MN	@--"77C--!D
 --/C  "$$&""33 	@  #:1#!>??	@s   1AC D-DDc                 2   U R                   (       d  g  U R                  S-   nU R                   U R                  S.n[        R                  " XS9nUR                  5         UR                  5       n[        U[        5      (       a  U H  nUR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      n	Sn
U(       a  X S	3-  n
OU(       a  X S	3-  n
U(       a  X S
3-  n
U	(       a  X -  n
U
(       a  U R                  U
5        U(       d  M  Xl        M     g g ! [        R                  R                   a  nU R                  SU 35         S nAg S nAf[        R                   a    U R                  S5         g f = f)Nztraining_update.php)r   r  r   	user_name
admin_nameinsert_date	chat_textr2   >
u   エラー（受信）: u8   エラー: サーバーからの応答が不正です。)r   r   r   r   r   r   r   r   r   rN   r   r   r   r   )rU   r   r   r   response_datar   r  r  r  r  display_textr(   s               r   r   MainWindow.fetch_messages_once{  sh   zz	]--"77C!ZZ43F3FGD--/C  "HHJM-..)D $ 5I!%,!7J"&((="9K $ 5I#%L $+Q7#$,a(88"$-r(:: $+6#,,\:"{.9+# * /& ""33 	@  #:1#!>??## 	]  ![\	]s$   DD4 (
D4 4FE++(FFc                 D   ^ ^ T R                  5         UU 4S jmT" 5         g )Nc                  T   > TR                  5         TR                  ST 5      Tl        g )Ni  )r   afterr   )_pollrU   s   r   r  'MainWindow.start_polling.<locals>._poll  s"    $$&"&**T5"9Dr[   )r   )rU   r  s   `@r   r   MainWindow.start_polling  s    	: 	r[   c                     U R                   b$   U R                  U R                   5        S U l         g g ! [         a     Nf = fr   )r   after_cancelr   r_   s    r   r   MainWindow.stop_polling  sJ    *!!$"5"56 #'D +  s   3 
A A c                    U R                   R                  SS9  U R                   R                  [        R                  US-   5        U R                   R                  [        R                  5        U R                   R                  SS9  g )Nr   r   r  ry   )r   r   rM   rF   r   yview)rU   r	  s     r   r   MainWindow.display_message  sf      x 0  48'  z 2r[   )r   r   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )ra   rb   rc   rd   rA   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   re   rf   rg   s   @r   ri   ri   Q   sj    Z$x"$ILN82ZB7F@@@*]B'3 3r[   ri   __main__)tkinterrF   r   r   r   r   r   r
   r   join
expanduserr   r   r   Toplevelr   Tkri   ra   appmainloop r[   r   <module>r*     s           	 ggll277--c24KL/R[[ /d^3 ^3B z
,CLLN r[   