<%@ page contentType="text/html; charset=EUC_JP" import="java.sql.*,java.util.*" %>
<%
// 変数宣言
final int[][] monthDays ={
{31,29,31,30,31,30,31,31,30,31,30,31},
{31,28,31,30,31,30,31,31,30,31,30,31}};
int cYear,cMonth,cDay;
int cWeek;
int cDayCount=0;
int uru;
int todayYear, todayMonth, todayDay;
/* 今日の日付を調べる。月だけ0からスタートするので注意 */
GregorianCalendar calendar = new GregorianCalendar();
todayYear = calendar.get(Calendar.YEAR);
todayMonth = calendar.get(Calendar.MONTH) + 1;
todayDay = calendar.get(Calendar.DATE);
/* パラメータの読みこみ */
if ((request.getParameter("YEAR") == null) || (request.getParameter("YEAR").equals(""))){
cYear = 0;
}else{
cYear = Integer.parseInt(request.getParameter("YEAR"));
}
if ((request.getParameter("MONTH") == null) || (request.getParameter("MONTH").equals(""))){
cMonth = 0;
}else{
cMonth = Integer.parseInt(request.getParameter("MONTH"));
}
if ((request.getParameter("DAY") == null) || (request.getParameter("DAY").equals(""))){
cDay = 0;
}else{
cDay = Integer.parseInt(request.getParameter("DAY"));
}
/* DB接続 */
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@XXX.XX.XXX.XXX:XXXX:xxdb","XXX","XXX");
/* カレンダー情報の初期化 */
//calendar = new GregorianCalendar();
if ((cYear == 0) || (cMonth == 0) || (cDay == 0)){
cYear = todayYear;
cMonth = todayMonth;
cDay = todayDay;
}
/* 今月が何曜日から始まっているかを調べる */
/* DAY_OF_WEEK 1〜7 > 日〜土 */
GregorianCalendar thisMonth = new GregorianCalendar(cYear, cMonth - 1, 1);
cWeek = thisMonth.get(GregorianCalendar.DAY_OF_WEEK) - 1;
/* うるう年かどうかの確認 */
uru = calendar.isLeapYear(cYear)?0:1;
StringBuffer tableRows = new StringBuffer();
/*表示日の初期化*/
cDayCount = 1;
/*当月11日から翌月10日までの表示*/
for(int i = 1 ; i <= monthDays[uru][cMonth - 1]+10; i++){
/*当月の最終日まで表示させたら表示日を1日に初期化*/
if (cDayCount > monthDays[uru][cMonth - 1]){
cDayCount = 1;
}
/*曜日の初期化*/
if (cWeek == 7){
cWeek = 0;
}
if (i >=10){
tableRows.append("<tr>");
if (cWeek == 0){
/* 日曜日 */
tableRows.append("<td bgcolor=#FFCCCC>");
}else if (cWeek == 6){
/* 土曜日 */
tableRows.append("<td bgcolor=#CCFFFF>");
}else{
/* 平日 */
tableRows.append("<td bgcolor=#FFFFFF>");
}
/* スケジュール登録画面の呼び出し*/
tableRows.append("<a href=\"javascript:ImageUp(\'SyukkinnboEntory.jsp?");
tableRows.append("YEAR=");
tableRows.append(cYear);
tableRows.append("&MONTH=");
tableRows.append(cMonth);
tableRows.append("&DAY=");
tableRows.append(cDayCount);
tableRows.append("&MODE=");
tableRows.append("\');\">");
tableRows.append(cDayCount);
tableRows.append("</a>");
tableRows.append("</td>");
try{
/* 登録済スケジュールがあれば表示する */
ResultSet rs;
String quary = "";
quary += "SELECT * FROM 出勤簿データ WHERE 年 = " + cYear;
quary += " AND 月 = " + cMonth;
quary += " AND 日 = " + cDayCount;
Statement stmt = con.createStatement();
rs = stmt.executeQuery(quary);
String A;
String B;
String C;
String D;
String E;
String F;
String G;
A = "";
B = "";
C = "";
D = "";
E = "";
F = "";
G = "";
while (rs.next()){
A = rs.getString("A");
B = rs.getString("B");
C = rs.getString("C");
D = rs.getString("D");
E = rs.getString("E");
F = rs.getString("F");
G = rs.getString("G");
}
rs.close();
stmt.close();
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=left width=70>");
tableRows.append(A);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=left width=220>");
tableRows.append(B);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=right width=50>");
tableRows.append(C);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=right width=50>");
tableRows.append(D);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=right width=50>");
tableRows.append(E);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=right width=50>");
tableRows.append(F);
tableRows.append("</td>");
tableRows.append("<td bgcolor=\"#ffffff\" nowrap align=left width=160>");
tableRows.append(G);
tableRows.append("</td>");
tableRows.append("</tr>");
}catch(SQLException e){
System.out.println(e.getMessage());
}
/*tableRows.append("<br><br></td>");*/
}
cWeek++;
cDayCount++;
}
/*コネクションクローズ*/
con.close();
%>
<HTML>
<HEAD>
<script language="JavaScript"><!--
// イメージポップアップ表示
function ImageUp(url) {
window.open(url,"window1","width=500,height=500");
}
// --></script>
<STYLE TYPE="text/css">
<!--
body,tr,td,th { font-size:10pt }
small { font-size:9pt }
-->
</STYLE>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#333333" link="#0000EE" vlink="#0000EE" alink="#FF0000">
<TABLE bgcolor="#7b92ad" width="100%">
<TR>
<TD><FONT size="3" bgcolor="#7b92ad"><FONT size="4" color=#ffffff><B>出勤簿</B></FONT></FONT></TD>
</TR>
</TABLE>
<form action="" method="GET" ACTION="Syukei.jsp" target = "sum">
<input type=submit value="集計計算">
<br>
<br>
<center>
<table bgcolor=#0a2d54 border=0 cellspacing=1 cellpadding=3>
<tr>
<td align=center colspan=8 bgcolor="#7b92ad"><font color=#ffffff><%= cYear %>年<%= cMonth %>月分</font></td>
</tr>
<tr>
<td bgcolor="#bfcad7" align=center nowrap>日付</td>
<td bgcolor="#bfcad7" align=center nowrap>作番</td>
<td bgcolor="#bfcad7" align=center nowrap>顧客名</td>
<td bgcolor="#bfcad7" align=center nowrap>出時間</td>
<td bgcolor="#bfcad7" align=center nowrap>退時間</td>
<td bgcolor="#bfcad7" align=center nowrap>残業</td>
<td bgcolor="#bfcad7" align=center nowrap>深夜</td>
<td bgcolor="#bfcad7" align=center nowrap>備考</td>
</tr>
<%= tableRows %>
</table>
</form>
</center>
</BODY>
</HTML>
|