1 package ch.ige.edossier.transfer.server.dao;
2
3 import java.sql.*;
4 import java.util.ArrayList;
5 import java.util.List;
6 import java.util.Iterator;
7 import ch.ige.edossier.transfer.vo.EreignisVO;
8 import ch.ige.edossier.util.DBHelper;
9
10
19 public class EreignisDAO
20 {
21 public EreignisDAO()
22 {
23 }
24
25
30 public List selectAllData() throws Exception
31 {
32 SchutitDAO schutitDAO = new SchutitDAO();
33 MaDAO maDAO = new MaDAO();
34 BfakturDAO bfakturDAO = new BfakturDAO();
35 EreignisVO ereignisVO = null;
36
37 List list = this.selectInterceptions();
38
39 for( int i = 0; i < list.size(); i++ )
40 {
41 ereignisVO = ( EreignisVO )list.get( i );
42
43 ereignisVO.maVO = maDAO.select( ereignisVO.maNr );
44 ereignisVO.schutitVO = schutitDAO.select( ereignisVO.schutitKey );
45 ereignisVO.schutitVO.farbAnspr = schutitDAO.selectColorClaim( ereignisVO.schutitKey );
46 ereignisVO.schutitVO.imageVO = schutitDAO.selectImage( ereignisVO.schutitKey );
47 ereignisVO.schutitVO.alRegAdrVO = schutitDAO.selectRegAdrSchutit( ereignisVO.schutitKey );
48 ereignisVO.schutitVO.alPrioritaetVO = schutitDAO.selectPrioritaet( ereignisVO.schutitKey );
49 ereignisVO.schutitVO.alMarart = schutitDAO.selectMarart( ereignisVO.schutitKey );
50 ereignisVO.bfakturVO = bfakturDAO.select( ereignisVO.schutitKey,
51 ereignisVO.ereigIdat,
52 ereignisVO.artNr );
53 ereignisVO.bfakturVO.titel = bfakturDAO.selectTitel( ereignisVO.bfakturVO.bfaktId );
54 ereignisVO.bfakturVO.printJobFile = bfakturDAO.selectPdf( ereignisVO.bfakturVO.bfaktId );
55 }
56
57 replaceP2D2Tags( list ); return list;
59 }
60
61
62
73 public List selectInterceptions() throws SQLException
74 {
75 Connection con = null;
76 PreparedStatement ps = null;
77 ResultSet rs = null;
78 EreignisVO ereignisVO = null;
79 List list = new ArrayList();
80
81 try
82 {
83 con = DBHelper.getInstance().getConnection();
84 ps = con.prepareStatement(
85 "SELECT schutit_key, ereig_idat, ma_nr, art_nr, fristabl_dat " +
86 "FROM ereignis " +
87 "WHERE fristabl_dat >= date('today') " + "AND art_nr BETWEEN 43110 AND 43670 AND art_nr != 43230 " + "AND ereig_stat_nr = 0 " + "AND abschl_dat = '' " + "AND reg_stat = 0 " );
93 rs = ps.executeQuery();
94
95 while( rs.next() )
96 {
97 ereignisVO = new EreignisVO();
98 ereignisVO.schutitKey = rs.getInt( "schutit_key" );
99 ereignisVO.ereigIdat = rs.getInt( "ereig_idat" );
100 ereignisVO.maNr = rs.getInt( "ma_nr" );
101 ereignisVO.artNr = rs.getString( "art_nr" );
102 ereignisVO.fristablDat = rs.getDate( "fristabl_dat" );
103
104 list.add( ereignisVO );
105 }
106
107 return list;
108 }
109 finally
110 {
111 DBHelper.getInstance().close( con, ps );
112 }
113 }
114
115
119 private void replaceP2D2Tags( List list )
120 {
121 String replaceText = "";
122 Iterator iter = list.iterator();
123 while( iter.hasNext() )
124 {
125 EreignisVO ereignisVO = ( EreignisVO )iter.next();
126
127 replaceText = ereignisVO.bfakturVO.titel;
128 replaceText = replaceText.replaceAll( "%%\\$\\$Schutit", ereignisVO.schutitVO.schutitNr );
129 replaceText = replaceText.replaceAll( "%%\\$\\$Text", ereignisVO.bfakturVO.varText );
130 replaceText = replaceText.replaceAll( "%%\\$\\$Inhaber", ereignisVO.bfakturVO.inhaber );
131 ereignisVO.bfakturVO.titel = replaceText;
132 }
133 }
134 }
135