annotate src/db.cpp @ 3:1a64119ab257

Equipment Regist print-target by Drag & Drop.
author pyon@macmini
date Tue, 27 Aug 2013 18:50:00 +0900
parents c066fde99517
children fdba695b99f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
1 // Filename : db.cpp
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
2 // Last Change: 23-Aug-2013.
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
3 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
4
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
5 #include "db.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
6 #include "wx/wxsqlite3.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
7
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
8 //********** HHS-DB **********//
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
9 /* 被保番で被保険者情報を取得 */
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
10 wxString GetHhsInfoByHhsNo( wxString hhsno )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
11 {
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
12 wxString name, addr;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
13
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
14 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
15 wxSQLite3Database hhsdb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
16 hhsdb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
17
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
18 wxSQLite3Statement stmt = hhsdb.PrepareStatement( "SELECT name, addr FROM hhs_master WHERE hhsno = ?" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
19 stmt.Bind( 1, hhsno );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
20 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
21 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
22 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
23 name = q.GetString(0);
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
24 addr = q.GetString(1);
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
25 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
26 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
27 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
28 hhsdb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
29
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
30 if ( name.IsEmpty() ) {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
31 return wxEmptyString;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
32 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
33 else {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
34 return name + wxT("_") + addr;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
35 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
36 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
37
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
38 // 氏名カナで被保険者情報を検索
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
39 wxArrayString GetHhsInfoByKana( wxString kana, bool fuzzy )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
40 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
41 wxArrayString data;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
42
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
43 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
44 wxSQLite3Database hhsdb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
45 hhsdb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
46
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
47 wxString sql = wxT( "SELECT hhsno, kana, name, birth, addr FROM hhs_master WHERE kana = ? ORDER BY kana, birth;" );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
48 //if ( fuzzy ) ;//*****
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
49
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
50 wxSQLite3Statement stmt = hhsdb.PrepareStatement( sql );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
51 stmt.Bind( 1, kana );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
52 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
53
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
54 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
55 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
56 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
57 str = q.GetString(0);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
58 for ( int i=1; i<5; i++ ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
59 str += "_" + q.GetString(i);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
60 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
61 data.Add( str );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
62 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
63 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
64 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
65 hhsdb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
66
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
67 return data;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
68 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
69
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
70 //********** CCN-DB **********//
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
71 /* 被保険者番号からファイルパスを取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
72 wxArrayString GetPathByHhsNo( wxString hhsno )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
73 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
74 wxArrayString path;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
75
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
76 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
77 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
78 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
79
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
80 wxString sql = wxT( "SELECT path FROM path WHERE hhsno = ? ORDER BY path DESC;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
81 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
82 stmt.Bind( 1, hhsno );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
83 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
84
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
85 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
86 while ( q.NextRow() ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
87 path.Add( q.GetString(0) );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
88 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
89 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
90 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
91 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
92
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
93 return path;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
94 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
95
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
96 /* 被保険者が審査会にかかったかどうか */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
97 bool IsHhsJudged( wxString hhsno )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
98 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
99 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
100 wxSQLite3Database ccndb;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
101 ccndb.Open( gszFile );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
102
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
103 wxString sql = wxT( "SELECT path FROM path WHERE hhsno = ?;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
104 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
105 stmt.Bind( 1, hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
106 wxSQLite3ResultSet q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
107
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
108 bool ret = true;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
109 if ( q.IsNull(0) ) ret = false;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
110
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
111 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
112 ccndb.Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
113
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
114 return ret;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
115 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
116
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
117 /* 合議体開催日を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
118 wxArrayString GetCcnDate( void )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
119 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
120 wxArrayString date_cnt;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
121
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
122 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
123 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
124 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
125
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
126 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT date, count(*) FROM ccn GROUP BY date ORDER BY date desc" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
127 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
128
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
129 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
130 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
131 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
132 str = q.GetString(0) + "_" + q.GetString(1);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
133 date_cnt.Add( str );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
134 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
135 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
136 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
137 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
138
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
139 return date_cnt;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
140 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
141
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
142 /* 日付から審査会を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
143 wxArrayString GetCcnByDate( wxString date )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
144 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
145 wxArrayString data;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
146
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
147 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
148 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
149 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
150
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
151 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT hhsno, path, date FROM path WHERE date = ? ORDER BY path" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
152 stmt.Bind( 1, date );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
153 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
154
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
155 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
156 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
157 while ( q.NextRow() ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
158 str = q.GetString(0) + "_" + q.GetString(1) + "_" + q.GetString(2);
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
159 data.Add( str );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
160 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
161 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
162 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
163 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
164
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
165 return data;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
166 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
167
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
168 /* 合議体から被保険者番号を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
169 wxArrayString GetHhsNoByCcn( wxString ccn, wxString date )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
170 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
171 wxArrayString hhsno;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
172
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
173 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
174 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
175 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
176
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
177 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT hhsno FROM ccn WHERE ccn = ? AND date = ? ORDER BY hhsno" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
178 stmt.Bind( 1, ccn );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
179 stmt.Bind( 2, date );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
180 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
181
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
182 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
183 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
184 hhsno.Add( q.GetString(0) );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
185 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
186 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
187 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
188 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
189
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
190 return hhsno;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
191 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
192
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
193 /* インデックスを更新 */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
194 void UpdateIndex( wxString datedir, wxString date )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
195 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
196 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
197 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
198 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
199
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
200 wxSQLite3Statement stmt = ccndb.PrepareStatement( "DELETE FROM path WHERE date = ?;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
201 stmt.Bind( 1, date );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
202 stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
203 stmt.Finalize();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
204
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
205 wxString ccndir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
206 wxDir dated( datedir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
207 if ( !dated.IsOpened() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
208 return;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
209 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
210
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
211 wxRegEx reSinsei( wxT("^00000") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
212 bool cont = dated.GetFirst( &ccndir, wxEmptyString, wxDIR_DIRS );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
213
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
214 wxProgressDialog pd( wxT("進行状況"), wxT("処理開始..."), 240, NULL, wxPD_APP_MODAL|wxPD_REMAINING_TIME|wxPD_AUTO_HIDE );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
215 pd.SetSize( wxSize( 320, 140 ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
216 int count = 0;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
217
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
218 while ( cont ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
219
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
220 wxDir ccnd( datedir + wxFILE_SEP_PATH + ccndir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
221 if ( !ccnd.IsOpened() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
222 wxString hhsdir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
223 bool c = ccnd.GetFirst( &hhsdir, wxEmptyString, wxDIR_DIRS );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
224
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
225 while ( c ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
226 if ( ! reSinsei.Matches( hhsdir ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
227
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
228 wxString path = datedir + wxFILE_SEP_PATH + ccndir + wxFILE_SEP_PATH + hhsdir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
229
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
230 stmt = ccndb.PrepareStatement( "INSERT INTO path VALUES( ?, ?, ?, datetime( 'now', 'localtime' ) );" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
231 stmt.Bind( 1, hhsdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
232 stmt.Bind( 2, path );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
233 stmt.Bind( 3, date );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
234 stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
235 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
236 pd.Update( count++, hhsdir + wxT("@") + ccndir + wxT("を処理しました.") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
237 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
238 c = ccnd.GetNext( &hhsdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
239 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
240
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
241 cont = dated.GetNext( &ccndir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
242 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
243 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
244 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
245
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
246 /* DB整合性チェック */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
247 wxArrayString CheckDBs( void )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
248 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
249 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
250 wxSQLite3Database ccndb;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
251 ccndb.Open( gszFile );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
252
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
253 wxString sql = wxT("ATTACH 'db/hhs.db' AS hhs");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
254 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
255 wxSQLite3ResultSet q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
256
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
257 sql = wxT("SELECT hhsno FROM path EXCEPT SELECT hhsno FROM hhs.hhs_master");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
258 stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
259 q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
260
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
261 wxArrayString result;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
262 while ( q.NextRow() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
263 result.Add( q.GetString(0) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
264 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
265
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
266 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
267 ccndb.Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
268
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
269 return result;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
270 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
271