무소의 뿔처럼
(투표검수조회)과정평가형 정산기 실기 _지역구의원투표 프로그램 본문
제 1투표장 정보만을 출력
생년월일 생년월일 항목의 데이터는 YYYY년MM월DD일생 형식으로 출력되도록 처리한다.
DB에서 데이터를 뽑으면 좋겠지만.. 너무 복잡함.. java로 처리해 버렸다.
이러면 점수 깎이는지는 모른다.. 정보 얻을 수 있는 곳이 없
sql data | '99010110001' |
출력상태 | 1999년01월01일 |
jno = rs.getString("jno");
jno1 = jno.substring(0, 2);
jno2 = jno.substring(2, 4);
jno3 = jno.substring(4, 6);
int jno1int = Integer.parseInt(jno1);
if ( 40 <= jno1int || jno1int >= 99){
jnoYear = "19"+jno1;
}else {
jnoYear = "20"+jno1;
}
나이 나이 계산은 만으로 계산한다.
캘린터 클래스에서 현재 년도 정보 가져옴.
sql data | '99010110001' |
출력상태 | 만 23세 (2022기준) |
Calendar cal = Calendar.getInstance();
int Y = Integer.parseInt(jno1);
int calY = cal.get(Calendar.YEAR);
int year = calY - (1900+Y);
성별
sql data | '99010110001' |
출력상태 | 남 |
jno4 = jno.substring(6,7);
gender = jno4.equals("1")? "남" : "여";
시간 투표시간 항목은 hh:mm 형식으로 출력
sql data | 0930 |
출력상태 | 09:30 |
jtime = rs.getString("jtime");
time1 = jtime.substring(0, 2);
time2 = jtime.substring(2, 4);
...
<td>
<%=time1 %>:<%=time2 %>
</td>
유권자확인 Y - 확인 N - 미확인
jconfirm = rs.getString("jconfirm");
confirm = jconfirm.equals("Y")?"확인":"미확인";
전체 투표검수조회
더보기
<%@page import="java.util.Calendar"%>
<%@page import="vote.dbcon"%>
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String jno="";
String jno1="";
String jno2="";
String jno3="";
String jno4="";
String jnoYear="";
String gender="";
String jname="";
String mno="";
String jtime="";
String time1="";
String time2="";
String jconfirm="";
String confirm="";
try{
con = dbcon.getConnection();
stmt = con.createStatement();
String sql="select * from tbl_vote_202005 where jarea = '제1투표장'";
rs = stmt.executeQuery(sql);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="header.jsp"></jsp:include>
<section class="Section">
<h3 class="sectionH3"> 투표검수조회</h3>
<table class="Table">
<tr>
<td>성명</td>
<td>생년월일</td>
<td>나이</td>
<td>성별</td>
<td>후보번호</td>
<td>투표시간</td>
<td>유권자확인</td>
</tr>
<tr>
<%
while(rs.next()){
jno = rs.getString("jno");
jno1 = jno.substring(0, 2);
jno2 = jno.substring(2, 4);
jno3 = jno.substring(4, 6);
int jno1int = Integer.parseInt(jno1);
if ( 40 <= jno1int || jno1int >= 99){
jnoYear = "19"+jno1;
}else {
jnoYear = "20"+jno1;
}
Calendar cal = Calendar.getInstance();
int Y = Integer.parseInt(jno1);
int calY = cal.get(Calendar.YEAR);
int year = calY - (1900+Y);
jno4 = jno.substring(6,7);
gender = jno4.equals("1")? "남" : "여";
jname = rs.getString("jname");
mno = rs.getString("mno");
jtime = rs.getString("jtime");
time1 = jtime.substring(0, 2);
time2 = jtime.substring(2, 4);
jconfirm = rs.getString("jconfirm");
confirm = jconfirm.equals("Y")?"확인":"미확인";
%>
<td><%=jname %></td>
<td><%=jnoYear %>년<%=jno2 %>월<%=jno3 %>일생</td>
<td>만 <%=year %>세</td>
<td> <%=gender %></td>
<td><%=mno %></td>
<td><%=time1 %>:<%=time2 %></td>
<td><%=confirm %></td>
</tr>
<%} %>
</table>
</section>
<%
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(con != null) con.close();
}catch(Exception e){
e.printStackTrace();
}
%>
<jsp:include page="footer.jsp"></jsp:include>
</body>
</html>
sql로만 data 가공 (예전에 연습했을때 구글링)
더보기
select jname,
'19'||substr(jno,1,2)||
'년'||substr(jno,3,2)||
'월'||substr(jno,5,2)||
'일생' jno,
'만'||
( to_number(to_char(sysdate,'yyyy'))
-
to_number('19'||substr(jno,1,2)))
||'세' jage,
case substr(jno,7,1)
when '1' then '남'
else '여'
end jgender,
mno,
substr(lpad(jtime,4,'0'),1,2)||
':'||
substr(lpad(jtime,4,'0'),3,2) jtime,
case jconfirm
when 'Y' then '확인'
else '미확인'
end jconfirm
from tbl_vote_202005
where jarea='제1투표장';
'과정평가_정산기_기록 > 지역구의원투표 프로그램' 카테고리의 다른 글
(후보자등수)과정평가형 정산기 실기 _지역구의원투표 프로그램 (0) | 2022.02.19 |
---|---|
(투표하기)과정평가형 정산기 실기 _지역구의원투표 프로그램 (0) | 2022.02.19 |
(조회)과정평가형 정산기 실기 _지역구의원투표 프로그램 (0) | 2022.02.19 |
Comments