annotate src/ccnframe.cpp @ 21:eb3f5c7c990f

small changes.
author pyon@macmini
date Mon, 25 Jul 2011 05:20:55 +0900
parents 710be7b6a873
children 05f76f9f9186
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
1 // Filename : ccnframe.cpp
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
2 // Last Change: 23-Jul-2011.
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
3 //
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
4
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
5 #include "common.h"
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
6 #include "main.h"
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
7 #include "ccnframe.h"
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
8 #include "wx/wxsqlite3.h"
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
9
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
10 FrameCcn::FrameCcn( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
11 : wxFrame( parent, id, title, pos, size, style )
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
12 {
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
13 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
14 m_Panel = new wxPanel( this );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
15
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
16 wxBoxSizer* bSizer;
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
17 bSizer = new wxBoxSizer( wxHORIZONTAL );
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
18
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
19 // DB表示
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
20 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 2, 5, 0, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
21 fgSizer->AddGrowableRow(1);
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
22
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
23 m_staticText1 = new wxStaticText( m_Panel, wxID_ANY, wxT("開催年月日"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
24 fgSizer->Add( m_staticText1, 0, wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
25
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
26 fgSizer->Add( 0, 0, 1, wxEXPAND, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
27
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
28 m_staticText2 = new wxStaticText( m_Panel, wxID_ANY, wxT("合議体"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
29 fgSizer->Add( m_staticText2, 0, wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
30
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
31 fgSizer->Add( 0, 0, 1, wxEXPAND, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
32
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
33 m_staticText3 = new wxStaticText( m_Panel, wxID_ANY, wxT("被保険者"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
34 fgSizer->Add( m_staticText3, 0, wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
35
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
36 m_listCtrlYmd = new wxListCtrl( m_Panel, ID_YMD, wxDefaultPosition, wxSize( 220, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
37 fgSizer->Add( m_listCtrlYmd, 1, wxALL|wxEXPAND, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
38
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
39 m_staticText4 = new wxStaticText( m_Panel, wxID_ANY, wxT("→"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
40 fgSizer->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
41
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
42 m_listCtrlCcn = new wxListCtrl( m_Panel, ID_CCN, wxDefaultPosition, wxSize( 220, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
43 fgSizer->Add( m_listCtrlCcn, 1, wxALL|wxEXPAND, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
44
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
45 m_staticText5 = new wxStaticText( m_Panel, wxID_ANY, wxT("→"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
46 fgSizer->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
47
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
48 m_listCtrlHhs = new wxListCtrl( m_Panel, ID_HHS, wxDefaultPosition, wxSize( 220, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
49 fgSizer->Add( m_listCtrlHhs, 1, wxALL|wxEXPAND, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
50
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
51 bSizer->Add( fgSizer, 1, wxEXPAND|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
52
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
53 // Index作成
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
54 wxGridBagSizer* gbSizer = new wxGridBagSizer( 0, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
55 gbSizer->SetFlexibleDirection( wxVERTICAL );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
56 gbSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
57 gbSizer->AddGrowableRow(3);
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
58
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
59 m_btnPrevThu = new wxButton( m_Panel, ID_PRVTHU, wxT("<< 前木"), wxDefaultPosition, wxDefaultSize, 0 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
60 gbSizer->Add( m_btnPrevThu, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
61
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
62 m_btnNextThu = new wxButton( m_Panel, ID_NXTTHU, wxT("次木 >>"), wxDefaultPosition, wxDefaultSize, 0 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
63 gbSizer->Add( m_btnNextThu, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
64
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
65 m_datePicker = new wxDatePickerCtrl( m_Panel, ID_DTPICKER, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxDP_DROPDOWN|wxDP_SHOWCENTURY );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
66 gbSizer->Add( m_datePicker, wxGBPosition( 1, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
67
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
68 m_btnMkIdX = new wxButton( m_Panel, ID_MKIDX, wxT("作成"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
69 gbSizer->Add( m_btnMkIdX, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
70
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
71 m_btnClose = new wxButton( m_Panel, ID_CLOSE, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
72 gbSizer->Add( m_btnClose, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_BOTTOM|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
73
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
74 bSizer->Add( gbSizer, 0, wxEXPAND|wxALL, 5 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
75
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
76 m_Panel->SetSizer( bSizer );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
77 m_Panel->Layout();
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
78
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
79 this->SetSize( 1000, 400 );
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
80 this->Centre( wxBOTH );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
81 InitListCtrl();
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
82 }
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
83
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
84 // Destructor
17
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
85 FrameCcn::~FrameCcn()
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
86 {
17e78fc76e1f Start editing Ccn-Frame.
pyon@macmini
parents:
diff changeset
87 }
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
88
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
89 // Event Table
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
90 BEGIN_EVENT_TABLE( FrameCcn, wxFrame )
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
91 EVT_LIST_ITEM_SELECTED( ID_YMD, FrameCcn::OnSelectYmd )
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
92 EVT_LIST_ITEM_SELECTED( ID_CCN, FrameCcn::OnSelectCcn )
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
93 EVT_BUTTON( ID_PRVTHU, FrameCcn::OnPrevThu )
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
94 EVT_BUTTON( ID_NXTTHU, FrameCcn::OnNextThu )
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
95 EVT_BUTTON( ID_MKIDX, FrameCcn::OnMkIndex )
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
96 EVT_BUTTON( ID_CLOSE, FrameCcn::OnClose )
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
97 END_EVENT_TABLE()
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
98
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
99 // Event Handlers
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
100 void FrameCcn::OnSelectYmd(wxListEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
101 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
102 m_listCtrlCcn->DeleteAllItems();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
103
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
104 wxString gszFile = wxGetCwd() + wxT("/db/ccn.db");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
105 wxSQLite3Database ccndb;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
106 ccndb.Open( gszFile );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
107
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
108 wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT path FROM path WHERE hhsno = ?");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
109 stmt.Bind( 1, wxT("0300012345") );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
110 wxSQLite3ResultSet q = stmt.ExecuteQuery();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
111 if ( q.IsNull(0) ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
112 return;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
113 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
114 long r=0;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
115 while ( q.NextRow() ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
116 wxString ccn = q.GetString(0);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
117 //wxString cnt = q.GetString(1);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
118 m_listCtrlCcn->InsertItem( r, ccn );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
119 //m_listCtrlCcn->SetItem( r, 1, cnt, -1 );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
120 r++;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
121 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
122 stmt.Finalize();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
123 ccndb.Close();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
124 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
125
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
126 void FrameCcn::OnSelectCcn(wxListEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
127 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
128 m_listCtrlHhs->DeleteAllItems();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
129
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
130 wxString gszFile = wxGetCwd() + wxT("/db/ccn.db");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
131 wxSQLite3Database ccndb;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
132 ccndb.Open( gszFile );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
133
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
134 wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT ymd, MAX(time) FROM ccn GROUP BY ymd ORDER BY ymd DESC, time DESC");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
135 wxSQLite3ResultSet q = stmt.ExecuteQuery();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
136 long r=0;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
137 while ( q.NextRow() ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
138 wxString ymd = q.GetString(0);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
139 wxString time = q.GetString(1);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
140 m_listCtrlHhs->InsertItem( r, wxEmptyString );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
141 m_listCtrlHhs->SetItemText( r, ymd );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
142 r++;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
143 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
144
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
145 stmt.Finalize();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
146 ccndb.Close();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
147 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
148
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
149 // 前木
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
150 void FrameCcn::OnPrevThu(wxCommandEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
151 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
152 wxDateTime dt = m_datePicker->GetValue();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
153 wxDateSpan ds( 0, 0, 0, 1 );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
154 dt -= ds;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
155 dt.SetToPrevWeekDay( wxDateTime::Thu );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
156 m_datePicker->SetValue( dt );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
157
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
158 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
159 // 次木
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
160 void FrameCcn::OnNextThu(wxCommandEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
161 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
162 wxDateTime dt = m_datePicker->GetValue();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
163 wxDateSpan ds( 0, 0, 0, 1 );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
164 dt += ds;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
165 dt.SetToNextWeekDay( wxDateTime::Thu );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
166 m_datePicker->SetValue( dt );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
167 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
168
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
169 /* インデックス作成 */
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
170 void FrameCcn::OnMkIndex(wxCommandEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
171 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
172 wxDateTime dt = m_datePicker->GetValue();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
173 wxString month = dt.Format(wxT("%m"));
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
174 wxString year = dt.Format(wxT("%Y"));
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
175 if ( month.IsSameAs(wxT("01")) || month.IsSameAs(wxT("02")) || month.IsSameAs(wxT("03")) ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
176 long y;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
177 year.ToLong( &y, 10 );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
178 y--;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
179 year = wxString::Format(wxT("%d"),y);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
180 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
181 wxString pathroot = wxGetApp().rootdir + wxFILE_SEP_PATH + year + dt.Format(wxT("\\%Y%m%d"));
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
182 wxDir rootd(pathroot);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
183 if ( !wxDir::Exists(pathroot) ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
184 wxMessageBox( wxT("フォルダが存在しません.")+pathroot );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
185 return;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
186 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
187
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
188 wxProgressDialog pd( wxT("進行状況"), wxT("処理開始..."), 200, this, wxPD_APP_MODAL|wxPD_REMAINING_TIME|wxPD_AUTO_HIDE );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
189 pd.SetSize( wxSize(320,140) );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
190 int count=0;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
191
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
192 wxString ccndir;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
193 bool cont = rootd.GetFirst( &ccndir, wxT("*.*"), wxDIR_DIRS );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
194 while ( cont ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
195 wxString gszFile = wxGetCwd() + wxT("/db/ccn.db");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
196 wxSQLite3Database ccndb;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
197 ccndb.Open( gszFile );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
198
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
199 wxSQLite3Statement stmt = ccndb.PrepareStatement("INSERT OR REPLACE INTO ccn VALUES( ?, datetime('now','localtime') )");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
200 stmt.Bind( 1, dt.Format(wxT("%Y-%m-%d")) );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
201 stmt.ExecuteQuery();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
202
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
203 stmt.Finalize();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
204
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
205 wxDir ccnd( pathroot + wxFILE_SEP_PATH + ccndir );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
206 if ( !ccnd.IsOpened() ) return;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
207 wxString hhsdir;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
208 bool c = ccnd.GetFirst( &hhsdir, wxT("*.*"), wxDIR_DIRS );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
209 wxRegEx reHhs(wxT("^0[1238][0-9]{8}$")); // 被保番チェック
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
210 while ( c ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
211 if ( reHhs.Matches(hhsdir) ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
212 wxString path = pathroot + wxFILE_SEP_PATH + ccndir + wxFILE_SEP_PATH + hhsdir;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
213
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
214 stmt = ccndb.PrepareStatement("INSERT OR REPLACE INTO path VALUES( ?, ? )");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
215 stmt.Bind( 1, hhsdir );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
216 stmt.Bind( 2, path );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
217 stmt.ExecuteQuery();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
218
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
219 stmt.Finalize();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
220 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
221 c = ccnd.GetNext(&hhsdir);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
222 pd.Update( count++, hhsdir+wxT("@")+ccndir+wxT("を処理しました.") );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
223 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
224 ccndb.Close();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
225
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
226 cont = rootd.GetNext(&ccndir);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
227 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
228 wxMessageBox(wxT("インデックス作成が終了しました."));
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
229 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
230
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
231 // 閉じる
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
232 void FrameCcn::OnClose(wxCommandEvent& WXUNUSED(event))
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
233 {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
234 this->Close();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
235 }
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
236
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
237 // Functions
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
238 void FrameCcn::InitListCtrl()
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
239 {
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
240 wxListItem itemCol;
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
241 itemCol.SetText( wxT("年-月-日") );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
242 m_listCtrlYmd->InsertColumn( 0, itemCol );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
243 m_listCtrlYmd->SetColumnWidth( 0, 100 );
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
244 itemCol.SetText( wxT("更新時刻") );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
245 m_listCtrlYmd->InsertColumn( 1, itemCol );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
246 m_listCtrlYmd->SetColumnWidth( 1, 200 );
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
247
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
248 itemCol.SetText( wxT("合議体名") );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
249 m_listCtrlCcn->InsertColumn( 0, itemCol );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
250 m_listCtrlCcn->SetColumnWidth( 0, 100 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
251 itemCol.SetText( wxT("件数") );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
252 m_listCtrlCcn->InsertColumn( 1, itemCol );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
253 m_listCtrlCcn->SetColumnWidth( 1, 100 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
254
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
255 itemCol.SetText( wxT("被保険者番号") );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
256 m_listCtrlHhs->InsertColumn( 0, itemCol );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
257 m_listCtrlHhs->SetColumnWidth( 0, 100 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
258 itemCol.SetText( wxT("氏名") );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
259 m_listCtrlHhs->InsertColumn( 1, itemCol );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
260 m_listCtrlHhs->SetColumnWidth( 1, 100 );
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
261
21
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
262 // read from db
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
263 m_listCtrlCcn->DeleteAllItems();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
264
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
265 wxString gszFile = wxGetCwd() + wxT("/db/ccn.db");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
266 wxSQLite3Database ccndb;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
267 ccndb.Open( gszFile );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
268
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
269 wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT ymd, MAX(time) FROM ccn GROUP BY ymd ORDER BY ymd DESC, time DESC");
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
270 wxSQLite3ResultSet q = stmt.ExecuteQuery();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
271 long r=0;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
272 while ( q.NextRow() ) {
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
273 wxString ymd = q.GetString(0);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
274 wxString time = q.GetString(1);
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
275 m_listCtrlYmd->InsertItem( r, ymd );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
276 m_listCtrlYmd->SetItem( r, 1, time, -1 );
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
277 r++;
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
278 }
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
279
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
280 stmt.Finalize();
eb3f5c7c990f small changes.
pyon@macmini
parents: 19
diff changeset
281 ccndb.Close();
19
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
282 }
710be7b6a873 arranged FrameCnn's controls.
pyon@macmini
parents: 17
diff changeset
283