annotate src/db.cpp @ 16:1ba97995f642

Get/Put DB files to shared-directory.
author pyon@macmini
date Thu, 19 Jun 2014 18:46:11 +0900
parents bbd65edf71d4
children a2ad87cad48b
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
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
2 // Last Change: 23-May-2014.
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
3 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
4
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
5 #include <wx/tokenzr.h>
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
6 #include "db.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
7 #include "wx/wxsqlite3.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
8
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
9 //********** HHS-DB **********//
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
10 /* 被保険者台帳を更新 */
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
11 void UpdateHhs( wxArrayString info )
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
12 {
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
13 long n = info.GetCount();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
14
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
15 wxProgressDialog pd( wxT("進行状況"), wxT("処理開始..."), n, NULL, wxPD_APP_MODAL|wxPD_REMAINING_TIME|wxPD_AUTO_HIDE );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
16 pd.SetSize( wxSize( 320, 140 ) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
17
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
18 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
19 wxRemoveFile( gszFile );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
20
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
21 wxSQLite3Database hhsdb;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
22 hhsdb.Open( gszFile );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
23 hhsdb.Begin();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
24
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
25 wxString sql = wxT( "PRAGMA foregin_keys=OFF" );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
26 wxSQLite3Statement stmt = hhsdb.PrepareStatement( sql );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
27 wxSQLite3ResultSet q = stmt.ExecuteQuery();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
28
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
29 sql = wxT( "CREATE TABLE 'hhs_master' ( hhsno text PRIMARY KEY, birth text, name text, kana text, addr text, sex text )" );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
30 stmt = hhsdb.PrepareStatement( sql );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
31 q = stmt.ExecuteQuery();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
32
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
33 wxString hhsno, birth, name, kana, addr, sex;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
34 for ( long i = 0; i < n; i++ ) {
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
35
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
36 info[i].Replace( wxT("\""), wxEmptyString, true );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
37
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
38 wxStringTokenizer token( info[i], wxT(",") );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
39 hhsno = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
40 birth = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
41 name = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
42 kana = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
43 addr = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
44 sex = token.GetNextToken();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
45
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
46 stmt = hhsdb.PrepareStatement( "INSERT INTO hhs_master VALUES( ?, ?, ?, ?, ?, ? );" );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
47 stmt.Bind( 1, hhsno );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
48 stmt.Bind( 2, birth );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
49 stmt.Bind( 3, name );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
50 stmt.Bind( 4, kana );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
51 stmt.Bind( 5, addr );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
52 stmt.Bind( 6, sex );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
53 stmt.ExecuteQuery();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
54 stmt.Finalize();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
55
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
56 if ( i % 1000 == 0 ) {
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
57 pd.Update( i, wxString::Format( wxT("%d / %d done."), i, n ) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
58 }
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
59 }
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
60
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
61 hhsdb.Commit();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
62 hhsdb.Close();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
63 }
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 11
diff changeset
64
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
65 /* 被保番で被保険者情報を取得 */
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
66 wxString GetHhsInfoByHhsNo( wxString hhsno )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
67 {
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
68 wxString name, addr;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
69
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
70 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
71 wxSQLite3Database hhsdb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
72 hhsdb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
73
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
74 wxSQLite3Statement stmt = hhsdb.PrepareStatement( "SELECT name, addr FROM hhs_master WHERE hhsno = ?" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
75 stmt.Bind( 1, hhsno );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
76 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
77 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
78 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
79 name = q.GetString(0);
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
80 addr = q.GetString(1);
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
81 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
82 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
83 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
84 hhsdb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
85
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
86 if ( name.IsEmpty() ) {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
87 return wxEmptyString;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
88 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
89 else {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
90 return name + wxT("_") + addr;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
91 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
92 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
93
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
94 // 被保険者番号リストから氏名を取得
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
95 wxArrayString GetHhsInfoByHhsNoList( wxArrayString hhsno )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
96 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
97 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
98 wxSQLite3Database hhsdb;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
99 hhsdb.Open( gszFile );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
100
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
101 wxString sql = wxT( "SELECT name FROM hhs_master WHERE hhsno = ?;" );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
102 wxSQLite3Statement stmt;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
103 wxSQLite3ResultSet q;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
104
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
105 wxArrayString result;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
106 for ( unsigned int i = 0; i < hhsno.GetCount(); i++ ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
107 wxString str = hhsno[i];
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
108 str.Append( wxT("_") );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
109
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
110 stmt = hhsdb.PrepareStatement( sql );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
111 stmt.Bind( 1, hhsno[i] );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
112 q = stmt.ExecuteQuery();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
113 if ( !q.IsNull(0) ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
114 while ( q.NextRow() ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
115 str.Append( q.GetString(0) );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
116 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
117 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
118
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
119 result.Add( str );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
120 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
121 stmt.Finalize();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
122 hhsdb.Close();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
123
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
124 return result;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
125 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
126
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
127 // 氏名カナで被保険者情報を検索
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
128 wxArrayString GetHhsInfoByKana( wxString kana, bool fuzzy )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
129 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
130 wxArrayString data;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
131
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
132 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
133 wxSQLite3Database hhsdb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
134 hhsdb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
135
6
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
136 wxString sql = wxT( "SELECT hhsno, kana, name, birth, addr FROM hhs_master " );
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
137 if ( fuzzy ) {
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
138 kana = wxT("%") + kana + wxT("%");
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
139 sql += wxT( "WHERE kana LIKE ? ORDER BY kana, birth;" );
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
140 }
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
141 else {
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
142 sql += wxT( "WHERE kana = ? ORDER BY kana, birth;" );
76db82822e73 Implement kana fuzzy search.
pyon@macmini
parents: 4
diff changeset
143 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
144
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
145 wxSQLite3Statement stmt = hhsdb.PrepareStatement( sql );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
146 stmt.Bind( 1, kana );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
147 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
148
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
149 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
150 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
151 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
152 str = q.GetString(0);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
153 for ( int i=1; i<5; i++ ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
154 str += "_" + q.GetString(i);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
155 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
156 data.Add( str );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
157 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
158 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
159 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
160 hhsdb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
161
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
162 return data;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
163 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
164
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
165 //********** CCN-DB **********//
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
166 /* 被保険者番号からファイルパスを取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
167 wxArrayString GetPathByHhsNo( wxString hhsno )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
168 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
169 wxArrayString path;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
170
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
171 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
172 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
173 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
174
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
175 wxString sql = wxT( "SELECT path FROM path WHERE hhsno = ? ORDER BY path DESC;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
176 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
177 stmt.Bind( 1, hhsno );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
178 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
179
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
180 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
181 while ( q.NextRow() ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
182 path.Add( q.GetString(0) );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
183 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
184 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
185 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
186 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
187
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
188 return path;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
189 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
190
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
191 // 審査会情報のある被保険者を取得
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
192 wxArrayString GetJudgedHhsNo( void )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
193 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
194 wxArrayString hhsno;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
195
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
196 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
197 wxSQLite3Database ccndb;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
198 ccndb.Open( gszFile );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
199
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
200 //wxString sql = wxT( "SELECT DISTINCT hhsno FROM path;" );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
201 wxString sql = wxT( "SELECT hhsno FROM path ORDER BY path DESC LIMIT 200;" );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
202 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
203 wxSQLite3ResultSet q = stmt.ExecuteQuery();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
204
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
205 if ( !q.IsNull(0) ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
206 while ( q.NextRow() ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
207 hhsno.Add( q.GetString(0) );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
208 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
209 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
210 stmt.Finalize();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
211 ccndb.Close();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
212
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
213 return hhsno;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
214 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
215
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
216 /* 被保険者が審査会にかかったかどうか */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
217 bool IsHhsJudged( wxString hhsno )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
218 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
219 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
220 wxSQLite3Database ccndb;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
221 ccndb.Open( gszFile );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
222
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
223 wxString sql = wxT( "SELECT path FROM path WHERE hhsno = ?;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
224 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
225 stmt.Bind( 1, hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
226 wxSQLite3ResultSet q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
227
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
228 bool ret = true;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
229 if ( q.IsNull(0) ) ret = false;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
230
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
231 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
232 ccndb.Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
233
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
234 return ret;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
235 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
236
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
237 /* 合議体開催日を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
238 wxArrayString GetCcnDate( void )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
239 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
240 wxArrayString date_cnt;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
241
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
242 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
243 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
244 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
245
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
246 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
247 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
248
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
249 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
250 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
251 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
252 str = q.GetString(0) + "_" + q.GetString(1);
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
253 date_cnt.Add( str );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
254 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
255 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
256 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
257 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
258
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
259 return date_cnt;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
260 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
261
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
262 /* 日付から審査会を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
263 wxArrayString GetCcnByDate( wxString date )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
264 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
265 wxArrayString data;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
266
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
267 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
268 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
269 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
270
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
271 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT hhsno, path, date FROM path WHERE date = ? ORDER BY path" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
272 stmt.Bind( 1, date );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
273 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
274
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
275 wxString str;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
276 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
277 while ( q.NextRow() ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
278 str = q.GetString(0) + "_" + q.GetString(1) + "_" + q.GetString(2);
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
279 data.Add( str );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
280 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
281 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
282 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
283 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
284
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
285 return data;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
286 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
287
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
288 /* 範囲日時のパスを取得 */
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
289 wxArrayString GetPathes( wxString from, wxString to )
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
290 {
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
291 wxArrayString path;
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
292
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
293 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
294 wxSQLite3Database ccndb;
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
295 ccndb.Open( gszFile );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
296
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
297 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT path FROM path WHERE date >= ? AND date <= ?" );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
298 stmt.Bind( 1, from );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
299 stmt.Bind( 2, to );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
300 wxSQLite3ResultSet q = stmt.ExecuteQuery();
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
301
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
302 if ( !q.IsNull(0) ) {
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
303 while ( q.NextRow() ) {
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
304 path.Add( q.GetString(0) );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
305 }
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
306 }
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
307 stmt.Finalize();
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
308 ccndb.Close();
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
309
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
310 return path;
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
311 }
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 9
diff changeset
312
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
313 /* 合議体から被保険者番号を取得 */
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
314 wxArrayString GetHhsNoByCcn( wxString ccn, wxString date )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
315 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
316 wxArrayString hhsno;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
317
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
318 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
319 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
320 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
321
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
322 wxSQLite3Statement stmt = ccndb.PrepareStatement( "SELECT hhsno FROM ccn WHERE ccn = ? AND date = ? ORDER BY hhsno" );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
323 stmt.Bind( 1, ccn );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
324 stmt.Bind( 2, date );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
325 wxSQLite3ResultSet q = stmt.ExecuteQuery();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
326
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
327 if ( !q.IsNull(0) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
328 while ( q.NextRow() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
329 hhsno.Add( q.GetString(0) );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
330 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
331 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
332 stmt.Finalize();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
333 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
334
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
335 return hhsno;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
336 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
337
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
338 /* インデックスを更新 */
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
339 void UpdateIndex( wxString datadir, wxString date )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
340 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
341 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
342 wxSQLite3Database ccndb;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
343 ccndb.Open( gszFile );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
344
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
345 wxSQLite3Statement stmt = ccndb.PrepareStatement( "DELETE FROM path WHERE date = ?;" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
346 stmt.Bind( 1, date );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
347 stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
348 stmt.Finalize();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
349
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
350 wxString ccndir;
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
351 wxDir dated( datadir );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
352 if ( !dated.IsOpened() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
353 return;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
354 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
355
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
356 wxRegEx reSinsei( wxT("^00000") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
357 bool cont = dated.GetFirst( &ccndir, wxEmptyString, wxDIR_DIRS );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
358
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
359 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
360 pd.SetSize( wxSize( 320, 140 ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
361 int count = 0;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
362
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
363 while ( cont ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
364
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
365 wxDir ccnd( datadir + wxFILE_SEP_PATH + ccndir );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
366 if ( !ccnd.IsOpened() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
367 wxString hhsdir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
368 bool c = ccnd.GetFirst( &hhsdir, wxEmptyString, wxDIR_DIRS );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
369
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
370 while ( c ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
371 if ( ! reSinsei.Matches( hhsdir ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
372
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
373 wxString path = datadir + wxFILE_SEP_PATH + ccndir + wxFILE_SEP_PATH + hhsdir;
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
374
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
375 stmt = ccndb.PrepareStatement( "INSERT INTO path VALUES( ?, ?, ?, datetime( 'now', 'localtime' ) );" );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
376 stmt.Bind( 1, hhsdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
377 stmt.Bind( 2, path );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
378 stmt.Bind( 3, date );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
379 stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
380 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
381 pd.Update( count++, hhsdir + wxT("@") + ccndir + wxT("を処理しました.") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
382 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
383 c = ccnd.GetNext( &hhsdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
384 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
385
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
386 cont = dated.GetNext( &ccndir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
387 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
388 ccndb.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
389 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
390
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
391 //********** HHS-DB & CCN-DB **********//
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
392 /* DBの更新日時を取得 */
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
393 wxArrayString GetLastUpdate( void )
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
394 {
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
395 wxArrayString date;
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
396 wxString dbFile;
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
397 wxDateTime t;
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
398
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
399 dbFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
400 wxFileName ccn( dbFile );
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
401 t = ccn.GetModificationTime();
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
402 date.Add( t.FormatISODate() );
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
403
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
404 dbFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("hhs.db");
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
405 wxFileName hhs( dbFile );
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
406 t = hhs.GetModificationTime();
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
407 date.Add( t.FormatISODate() );
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
408
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
409 return date;
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
410 }
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
411
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
412 /* DB整合性チェック */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
413 wxArrayString CheckDBs( void )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
414 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
415 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
416 wxSQLite3Database ccndb;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
417 ccndb.Open( gszFile );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
418
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
419 wxString sql = wxT("ATTACH 'db/hhs.db' AS hhs");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
420 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
421 wxSQLite3ResultSet q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
422
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
423 sql = wxT("SELECT hhsno FROM path EXCEPT SELECT hhsno FROM hhs.hhs_master");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
424 stmt = ccndb.PrepareStatement( sql );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
425 q = stmt.ExecuteQuery();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
426
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
427 wxArrayString result;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
428 while ( q.NextRow() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
429 result.Add( q.GetString(0) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
430 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
431
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
432 stmt.Finalize();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
433 ccndb.Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
434
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
435 return result;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
436 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
437
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
438 // 被保険者番号リストから氏名と最新ファイルパスを取得
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
439 wxArrayString GetHhsInfoAndPathByHhsNoList( wxArrayString hhsno )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
440 {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
441 wxString gszFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("db") + wxFILE_SEP_PATH + wxT("ccn.db");
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
442 wxSQLite3Database ccndb;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
443 ccndb.Open( gszFile );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
444
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
445 wxString sql = wxT( "ATTACH 'db/hhs.db' AS hhs;" );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
446 wxSQLite3Statement stmt = ccndb.PrepareStatement( sql );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
447 wxSQLite3ResultSet q = stmt.ExecuteQuery();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
448
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
449 wxArrayString result;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
450 for ( int i = 0; i < hhsno.GetCount(); i++ ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
451 wxString str = hhsno[i];
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
452 str.Append( wxT("_") );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
453
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
454 sql = wxT( "SELECT name FROM hhs.hhs_master WHERE hhsno = ?;" );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
455 stmt = ccndb.PrepareStatement( sql );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
456 stmt.Bind( 1, hhsno[i] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
457 q = stmt.ExecuteQuery();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
458 if ( !q.IsNull(0) ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
459 while ( q.NextRow() ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
460 str.Append( q.GetString(0) );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
461 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
462 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
463 str.Append( wxT("_") );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
464
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
465 sql = wxT( "SELECT path FROM path WHERE hhsno = ? ORDER BY path DESC LIMIT 1;" );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
466 stmt = ccndb.PrepareStatement( sql );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
467 stmt.Bind( 1, hhsno[i] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
468 q = stmt.ExecuteQuery();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
469 if ( !q.IsNull(0) ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
470 while ( q.NextRow() ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
471 str.Append( q.GetString(0) );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
472 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
473 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
474
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
475 result.Add( str );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
476 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
477 stmt.Finalize();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
478 ccndb.Close();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
479
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
480 return result;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 2
diff changeset
481 }
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 6
diff changeset
482