/* 
    IntraPMS Project
    로그인에 성공한 사용자에게 사용자의 문서 정보를 보여주는 서블릿

    
*/

import java.io.*;
import java.lang.*;
import java.text.*;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.etri.groupware.*;
import com.etri.groupware.authentication.* ;
import com.etri.groupware.bbs.*;
//import com.etri.groupware.mail.*;
import com.etri.groupware.eda.*;

//import javax.mail.*;
//import javax.mail.internet.*;

public class ShowStartPageServlet extends HttpServlet
{
	GroupwareControllerInterface groupwareController=null;
	BBSControllerInterface bbsController = null;
	EDAControllerInterface edaController = null;
	ResultStatus bbsResultStatus = null;
	Properties pro=null;	
	String mailResult1 = null ;
	String mailResult2 = null ;

	public void init ( ServletConfig config ) throws ServletException 
	{
		super.init ( config ) ;
				
		//그룹웨어 컨트롤러를 생성한다.
		//먼저 프라퍼티를 생성한다.
		pro = new Properties();
		
		//DB매너저 구현 클래스 이름 설정
		pro.put("OrganizationDBManagerClassName", "PandaSoftOrganizationDBManager");
		pro.put("BBSDBManagerClassName", "PandaSoftBBSDBManager");
		pro.put("EDADBManagerClassName", "PandaSoftEDADBManager");
		//pro.put("MailDBManagerClassName", "PandaSoftMailDBManger");
		
		try
		{
			groupwareController = GroupwareController.init( pro );
			// 그룹웨어 컨트롤러 생성을 마쳤습니다.
			
			bbsController = groupwareController.createBBSController();
			// 게시판 컨트롤러 생성도 무사히 마쳤습니다.
			
			edaController = groupwareController.createEDAController();
			// 전자결재 컨트롤러 생성도 무사히 마쳤습니다.

		}
		catch(Exception e)
		{}

	}
	
	public void destroy ( ) {
		System.out.println ( "Groupware UserAuthenticationServlet destroy () Call..........." ) ;
		super.destroy();
		DBConnectionManager.instance.release();	
	}

	/*----------------------------------------------------------------- */
	/**
	 [메소드이름]: doGet<br>
	 [기능]: 로그인에 성공한 사용자에게 사용자의 문서 정보를 보여준다.<br>
	 [파라미터]: HttpServletRequest req , HttpServletResponse res<br>
	 [호출자] : 사용자<br>
	 */
	/*--------------------------------------------------------------- */		
	public void doGet ( 
						HttpServletRequest	request , 
						HttpServletResponse	response
																				) throws ServletException, IOException {
		PrintWriter out ;
			
		// ContentType을 text/html로 set한다.
		response.setContentType("text/html;charset=euc-kr") ;
														
		// response의 Writer를 얻는다.
		out = new PrintWriter ( new OutputStreamWriter ( response.getOutputStream ( ) , "EUC-KR" ) ) ;
		
		/////////////////////////////////////////////
		// 세션 확인 부분 - 인증되지 않은 사용자의 경우 Login.html 로 되돌려 보낸다.
		String id = null ;
		String team = null ;
		String department = null ;
		String LoginStatus = null ;
		String password = null ;
		String kind = null ;
		String name = null ;
		
		HttpSession session = request.getSession ( true );
		LoginStatus =  (String)session.getValue("Authentication");
		
		if( (LoginStatus == null) || ( !(LoginStatus.equals("true")) ) ){
			session.invalidate();
			response.sendRedirect("../Login.html");
		} else {
			id = (String)session.getValue("Id");
			team = (String)session.getValue("Team");
			department = (String)session.getValue("Department");
			password = (String)session.getValue("Password");
			kind = (String)session.getValue("Kind");
			name = (String)session.getValue("Name");
		}
		/////////////////////////////////////////////

		//////////////////////////////////
		System.out.println ( "시작 화면 보여주기 서블릿의 response에 대한 프린트라이터가 생성되었습니다." ) ;

		out.println ( "<html>" ) ;
		out.println ( "<head>" ) ;
		out.println ( "<title>PandaSoft GroupWare 문서별 정보</title>" ) ;
		out.println ( "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ks_c_5601-1987\">" ) ;
		out.println ( "<meta name=GENERATOR content=Counter.cgi>" ) ;
		out.println ( "</head>" ) ;
		out.println ( "<body bgcolor=white topmargin=0 leftmargin=0 MARGINHEIGHT=0 MARGINWIDTH=0><form>" ) ;
		out.println ( "<SCRIPT LANGUAGE='JavaScript'>" ) ;
		out.println ( "<!--" ) ;
		out.println ( "	top.document.title = 'PandaSoft 인트라넷 그룹웨어 시스템';" ) ;
		out.println ( "//-->" ) ;
		out.println ( "" ) ;
		out.println ( "function MakeArray(n)  {" ) ;
		out.println ( "     this.length = n" ) ;
		out.println ( "     return this" ) ;
		out.println ( "}" ) ;
		
		out.println ( "monthNames = new MakeArray(12)" ) ;
		out.println ( "monthNames[1] = \"1월\"" ) ;
		out.println ( "monthNames[2] = \"2월\"" ) ;
		out.println ( "monthNames[3] = \"3월\"" ) ;
		out.println ( "monthNames[4] = \"4월\"" ) ;
		out.println ( "monthNames[5] = \"5월\"" ) ;
		out.println ( "monthNames[6] = \"6월\"" ) ;
		out.println ( "monthNames[7] = \"7월\"" ) ;
		out.println ( "monthNames[8] = \"8월\"" ) ;
		out.println ( "monthNames[9] = \"9월\"" ) ;
		out.println ( "monthNames[10] = \"10월\"" ) ;
		out.println ( "monthNames[11] = \"11월\"" ) ;
		out.println ( "monthNames[12] = \"12월\"" ) ;
		
		out.println ( "dayNames = new MakeArray(7)" ) ;
		out.println ( "dayNames[1] = \"일요일\"" ) ;
		out.println ( "dayNames[2] = \"월요일\"" ) ;
		out.println ( "dayNames[3] = \"화요일\"" ) ;
		out.println ( "dayNames[4] = \"수요일\"" ) ;
		out.println ( "dayNames[5] = \"목요일\"" ) ;
		out.println ( "dayNames[6] = \"금요일\"" ) ;
		out.println ( "dayNames[7] = \"토요일\"" ) ;
		
		out.println ( "function customDateString(oneDate)  {" ) ;
		out.println ( "     var theDay = dayNames[oneDate.getDay() + 1]" ) ;
		out.println ( "     var theMonth = monthNames[oneDate.getMonth() + 1]" ) ;
		out.println ( "     var theYear = oneDate.getYear() +1900" ) ;
		out.println ( "     return theYear + \"년 \" + theMonth + \" \" + oneDate.getDate() + \"일 \" + theDay" ) ;
		out.println ( "}" ) ;
		
		out.println ( "</SCRIPT>" ) ;
		out.println ( "<table width=100% border=0 cellpadding=0 cellspacing=0>" ) ;
		out.println ( "<tr><td height=10 ></td></tr>" ) ;
		out.println ( "</table>" ) ;
		out.println ( "<br><br>" ) ;
		out.println ( "<center>" ) ;
		out.println ( "<table width=415 border=0 cellpadding=0 cellspacing=0>" ) ;
		out.println ( "<tr><td colspan=3><img src=/image/main_bagTitle.gif></td></tr>" ) ;
		out.println ( "<tr><td width=21><img src=/image/intro_left.GIF></td>" ) ;
		out.println ( "    <td width=371 align=center><img src=/image/main_현재의문서정보.gif></td>" ) ;
		out.println ( "    <td width=23 align=right><img src=/image/intro_right.GIF></td>" ) ;
		out.println ( "</tr>" ) ;
		out.println ( "<tr><td colspan=3 height=75 align=center valign=center>" ) ;
		out.println ( "<font size=2 face=돋움>현재시간 : " ) ;
		out.println ( "<SCRIPT language=\"JavaScript\">" ) ;
		out.println ( "document.write(customDateString(new Date()))" ) ;
		out.println ( "</SCRIPT>" ) ;
		out.println ( "-" ) ;
		out.println ( "<script language=\"vbscript\">" ) ;
		out.println ( "document.write time()" ) ;
		out.println ( "</script></font><br>" ) ;
		
		// 사용자인지 관리자인지 결정한 것을 출력하고 이름도 출력한다.
		out.println ( "<font size=3 face=돋움><b>" ) ;
		if ( kind.equals("1") ) {
			out.println ( "관리자 : " + name ) ;
		} else {
			out.println ( "사용자 : " + name ) ;
		}
		out.println ( "</b></font><br>" ) ;
		out.println ( "</td></tr>" ) ;
		out.println ( "</table>" ) ;
		out.println ( "<table width=415 border=0 cellpadding=0 cellspacing=0>" ) ;
		
		// 게시판과 링크 되는 곳으로 새 게시물을 알아서 알려준다.
		// 새 게시물이 있는 지 알아 낸다.
		String bbsResult1 = null ;
		String bbsResult2 = null ;
		try {

			OptionProperty option=null;		// 개인의 option property
			
			//해당 id에 맞는 option property를 가져와서 넘긴다.
			//그런데 어떤 게시판인지를 지정해줘야 합니다.					
			option = bbsController.getPersonalOption( id );
			
			if ( option == null ) {
				bbsResult1 = name + "님의 게시판 Option이 설정되어 있지" ;
				bbsResult2 = "않습니다. 게시판 Option을 설정하여 주십시요." ;				
			} else {				
				// 사용자의 부서게시판, 팀게시판, 동아리 게시판의 새로운 게시물수 체크, 
				String companyBoard ="", departmentBoard ="",  teamBoard = "", clubBoard = "";			
				String[][][] bbsTree= bbsController.getBBStree ( ) ;			
				String[] club= bbsController.getClub( id );
				
				for ( int o=0 ; !(bbsTree[o][0][0].equals("null")) ; o++ ) {
					for ( int p=1 ; !(bbsTree[o][p][0].equals("null") ) ; p++) {
						for ( int q=1; !(bbsTree[o][p][q].equals("null" ) ) ; q++) {
							if ( "회사".equals( bbsTree[o][0][0] ) && p==1) {	
								// 회사 전체 게시판   === > 전사원
								companyBoard = companyBoard + bbsTree[o][p][q] + ";";
							} else if ( department.equals( bbsTree[o][0][0] ) ) {
								if ( bbsTree[o][p][0].equals("팀")  ) {	
									// 부서 게시판... 
									departmentBoard = departmentBoard + bbsTree[o][p][q] + ";";
								} else if(bbsTree[o][p][0].equals( team ) || team.equals( "null") ) {
									// 팀 게시판...
									teamBoard = teamBoard + bbsTree[o][p][q] + ";";
								}					
							} else if ( bbsTree[o][0][0].equals("동아리") && p==1) {
								// 동아리 게시판							
								if ( club != null ) {
									String clubName = bbsTree[o][p][q].substring(4);
									for (int no=0; no < club.length; no++) {												
										if ( clubName.equals( club[no] ) ) 
											clubBoard = clubBoard + bbsTree[o][p][q] + ";";
									}								
								}		// 동아리가 있을때			
												
							 }	
							 
						}		// q = > end
					}		// p => end
				}		// o => end	
				
				int companyStateNo=0, departmentStateNo=0,  teamStateNo=0, clubStateNo = 0;
				int companyKeyNo=0, departmentKeyNo=0, teamKeyNo=0, clubKeyNo = 0;
				
				// 회사게시판
				for ( int i=0; i < companyBoard.length() ; ) {
					int no = companyBoard.indexOf(";", i);
					String boardName = companyBoard.substring( i, no );
					Item[] list = bbsController.listItem( boardName, option );
					
					// 새게시물이 몇개있는지.. => 미개봉 게시물...
					if ( list.length > 1) {
						for ( int j=1; j < list.length ; j++) {
							BBSResultStatus bbsResult = bbsController.checkDocumentOpen( id, list[j].getNumber() );
							if ( bbsResult.getResultStatus() != 0 )
								companyStateNo = companyStateNo + 1;
						}
					}
					
					// 키워드 검색 게시물이 몇개 있는지... 				
					if ( option.getTitle().equals("null") && option.getAuthor().equals("null") && option.getContent().equals("null") ) {
						bbsResult1 = "회사 : 검색 기능이 지정되지 않았습니다." ;				
					} else {
						String keywordTitle = null, keywordAuthor = null, keywordContent = null;
						if ( !option.getTitle().equals("null") )		keywordTitle = option.getTitle();
						if ( !option.getAuthor().equals("null") )		keywordAuthor = option.getAuthor();
						if ( !option.getContent().equals("null") )		keywordContent = option.getContent();
						
						com.etri.groupware.bbs.SearchProperty keyword = 	new SearchProperty( keywordTitle, keywordAuthor, keywordContent );
						Item[] keywordList = bbsController.searchItems( boardName, keyword, option);	
						
						companyKeyNo = companyKeyNo + keywordList.length - 1;		
					}
					i = ++no;
				}
	
				// 부서게시판
				for ( int i=0; i < departmentBoard.length() ; ) {
					int no = departmentBoard.indexOf(";", i);
					//if ( no == -1 )						break;
					String boardName = departmentBoard.substring( i, no );
					Item[] list = bbsController.listItem( boardName, option );
					
					// 새게시물이 몇개있는지.. => 미개봉 게시물...
					if ( list.length > 1) {
						for ( int j=1; j < list.length ; j++) {
							BBSResultStatus bbsResult = bbsController.checkDocumentOpen( id, list[j].getNumber() );
							if ( bbsResult.getResultStatus() != 0 )
								departmentStateNo = departmentStateNo + 1;
						}
					}
					
					// 키워드 검색 게시물이 몇개 있는지... 
					if ( option.getTitle().equals("null") && option.getAuthor().equals("null") && option.getContent().equals("null") ) {
						bbsResult1 = "부서 : 검색 기능이 지정되지 않았습니다." ;				
					} else {
						String keywordTitle = null, keywordAuthor = null, keywordContent = null;
						if ( !option.getTitle().equals("null") )		keywordTitle = option.getTitle();
						if ( !option.getAuthor().equals("null") )		keywordAuthor = option.getAuthor();
						if ( !option.getContent().equals("null") )		keywordContent = option.getContent();
						
						SearchProperty keyword = 	new SearchProperty( keywordTitle, keywordAuthor, keywordContent );
						Item[] keywordList = bbsController.searchItems( boardName, keyword, option);	
						
						departmentKeyNo = departmentKeyNo + keywordList.length - 1;		
					}	
					i = ++no;
				}
	
				
				// 팀게시판에 새게시물이 몇개 있는지
				for ( int i=0; i < teamBoard.length() ; ) {
					int no = teamBoard.indexOf(";", i);
					String boardName = teamBoard.substring( i, no );
					Item[] list = bbsController.listItem( boardName, option );
					
					// 새게시물이 몇개있는지.. => 미개봉 게시물...
					if ( list.length > 1) {
						for ( int j=1; j < list.length ; j++) {
							BBSResultStatus bbsResult = bbsController.checkDocumentOpen( id, list[j].getNumber() );
							if ( bbsResult.getResultStatus() != 0 )
								teamStateNo = teamStateNo + 1;
						}
					}
					
					// 키워드 검색 게시물이 몇개 있는지... 				
					if ( option.getTitle().equals("null") && option.getAuthor().equals("null") && option.getContent().equals("null") ) {
						bbsResult1 = "팀 : 검색 기능이 지정되지 않았습니다." ;				
					} else {
						String keywordTitle = null, keywordAuthor = null, keywordContent = null;
						if ( !option.getTitle().equals("null") )		keywordTitle = option.getTitle();
						if ( !option.getAuthor().equals("null") )		keywordAuthor = option.getAuthor();
						if ( !option.getContent().equals("null") )		keywordContent = option.getContent();
						
						SearchProperty keyword = 	new SearchProperty( keywordTitle, keywordAuthor, keywordContent );
						Item[] keywordList = bbsController.searchItems( boardName, keyword, option);	
						
						teamKeyNo = teamKeyNo + keywordList.length - 1;		
					}	
					i = ++no;
				}
				
				// 동아리 게시판에 새게시물이 몇개있는지... 
				for ( int i=0; i < clubBoard.length() ; ) {
					int no = clubBoard.indexOf(";", i);
					String boardName = clubBoard.substring( i, no );
					Item[] list = bbsController.listItem( boardName, option );
					
					// 새게시물이 몇개있는지.. => 미개봉 게시물...
					if ( list.length > 1 ) {
						for ( int j=1; j < list.length ; j++) {
							BBSResultStatus bbsResult = bbsController.checkDocumentOpen( id, list[j].getNumber() );
							if ( bbsResult.getResultStatus() != 0 )
								clubStateNo = clubStateNo + 1;
						}
					}
					
					// 키워드 검색 게시물이 몇개 있는지... 				
					if ( option.getTitle().equals("null") && option.getAuthor().equals("null") && option.getContent().equals("null") ) {
						bbsResult2 = "검색 기능이 지정되지 않았습니다." ;				
					} else {
						String keywordTitle = null, keywordAuthor = null, keywordContent = null;
						if ( !option.getTitle().equals("null") )		keywordTitle = option.getTitle();
						if ( !option.getAuthor().equals("null") )		keywordAuthor = option.getAuthor();
						if ( !option.getContent().equals("null") )		keywordContent = option.getContent();
						
						SearchProperty keyword = 	new SearchProperty( keywordTitle, keywordAuthor, keywordContent );
						Item[] keywordList = bbsController.searchItems( boardName, keyword, option);	
						
						clubKeyNo = clubKeyNo + keywordList.length - 1;		
					}	
					i = ++no;
				}
				
				// 전체 합계
				int totalStateNo = companyStateNo + departmentStateNo + teamStateNo + clubStateNo;
				int totalKeyNo = companyKeyNo + departmentKeyNo + teamKeyNo + clubKeyNo;
	
				if ( totalStateNo > 0 ) 	{
					bbsResult1 =  "새로 등록된 게시물이 총 "+ totalStateNo +" 개 입니다." ;
					//out.println( "<b> 새로등록된 게시물이 총 "+ totalStateNo +" 개</b><br><br>");
					//out.println(" 회사 게시판 " + companyStateNo + " 개 등록 <br><br>");
					//out.println(" 부서 게시판 " + departmentStateNo + " 개 등록 <br><br>");
					//out.println("   팀  게시판 " + teamStateNo + " 개 등록 <br><br>");
					//out.println(" 동아리  게시판 " + clubStateNo + " 개 등록 <br><br>");
				} else {
					bbsResult1 = "새로 등록된 게시물이 없습니다." ;
					//out.println("<b>새로등록된 게시물이 없습니다.</b><br><br>");				
				}
	
				if ( option.getTitle().equals("null") && option.getAuthor().equals("null") && option.getContent().equals("null") ) {
					bbsResult2 =  "키워드 검색이 설정되어 있지 않습니다." ;
				} else if ( totalKeyNo > 0) {
					bbsResult2 =  "Option의 키워드로 검색된 게시물이 총 "+ totalKeyNo +" 개 입니다." ;
					//out.println( "<b> Option의 키워드로 검색된 게시물이 총 "+ totalKeyNo +" 개 </b><br><br>");
					//out.println(" 회사  게시판 " + companyKeyNo + " 개 등록 <br><br>");
					//out.println(" 부서  게시판  " + departmentKeyNo + " 개 등록 <br><br>");
					//out.println("   팀   게시판 " + teamKeyNo + " 개 등록 <br><br>");	
					//out.println(" 동아리  게시판 " + clubKeyNo + " 개 등록 <br><br>");
				} else {
					bbsResult2 =  "Option의 키워드로 검색된 게시물이 없습니다." ;
					//out.println( "<b>검색된 게시물이 없습니다.</b><br><br>");
				}
			} 
		} catch (Exception e) {
			out.println("====> BBSFirstServlet");
			out.println( e.toString() );
		}

		out.println ( "<!--게시판-->" ) ;
		out.println ( "<tr><td rowspan=3 align=left valign=top><a href=\"/servlet/BBSFirstServlet\" onclick=\"parent.frames['contents'].location='/servlet/BBSTreeServlet'\" onMouseOver=\"document.forms[0].bbs.src='/image/circle_게시판_con.gif'\" onMouseOut=\"document.forms[0].bbs.src='/image/circle_게시판.gif'\"><img name=bbs src=/image/circle_게시판.gif border=0></a></td>" ) ;
		out.println ( "    <td align=right><a href=\"/servlet/BBSFirstServlet\" onclick=\"parent.frames['contents'].location='/servlet/BBSTreeServlet'\"><img src=/image/main_게시판.gif border=0></a></td></tr>" ) ;
		out.println ( "<tr><td align=right valign=top><img src=/image/bar.GIF></td></tr>" ) ;
		out.println ( "<tr><td><p><font size=3>" ) ;
		// 새로운 게시물을 설명하는 곳으로 예로는 "게시중인 문서는 8건 입니다." 이라고 쓰면 된다.
		out.println ( bbsResult1 + "<br>" + bbsResult2 ) ;
		out.println ( "</font></td>" ) ;
		out.println ( "</tr>" ) ;
		
		out.println ( "<tr><td colspan=2 height=30></td></tr>" ) ;
		
		
		// 전자 우편 즉 메일과 링크가 되는 곳이다.
		// 전자 우편에 관한 정보를 알아 낸다.
		/*
		ResourceBundle env = ResourceBundle.getBundle("MailEnvironments");	
		// 바꾸어야 함 
		String mailServerHost = null;
		mailServerHost = env.getString("mailserver.ip");
		String title = "INBOX";

		Message[] m;
		
		try {
					
				Properties props = new Properties();
				props.put("ReceiveMailServerIP", mailServerHost);
				props.put("SendMailServerIP", env.getString("sendmailserver.ip") );
					
				MailControllerInterface mci = MailController.init(props);
				mci.connectMailServer(mailServerHost, id, password);			
  				m= mci.receiveMail(title);	
        				makeHTMLFile(out, m);
    				mci.disconnectMailServer();				
    		
		} catch(Exception e)  {
				out.println("<H3>Mail Server log in Failure </H3>");
				out.println( e );
				System.out.println(e);
				e.printStackTrace();
		}
   		
		out.println ( "<!--전자우편-->" ) ;
		out.println ( "<tr><td rowspan=3 align=left valign=center><a href=\"/servlet/MailInitPageServlet\" onclick=\"parent.frames['contents'].location='/Mailleft.html'\"  onMouseOver=\"document.forms[0].mail.src='/image/circle_전자우편_con.gif'\" onMouseOut=\"document.forms[0].mail.src='/image/circle_전자우편.gif'\"><img name=mail src=/image/circle_전자우편.GIF border=0></a></td>" ) ;
		out.println ( "    <td align=right><a href=\"/servlet/MailInitPageServlet\" onclick=\"parent.frames['contents'].location='/Mailleft.html'\"><img src=/image/main_전자우편.GIF border=0></a></td></tr>" ) ;
		out.println ( "<tr><td align=right><img src=/image/bar.GIF></td></tr>" ) ;
		out.println ( "<tr><td><font size=3>" ) ;
		// 문서에 관한 내용으로 예로는 "받은 문서는 없습니다." 라고 쓴다.
		out.println ( mailResult1 +  "<br>" + mailResult2 ) ;
		out.println ( "</font></td>" ) ;
		out.println ( "</tr>" ) ;
		
		out.println ( "<tr><td colspan=2 height=30></td></tr>" ) ;
		*/
		
		String edaResult1 = null ;
		String edaResult2 = null ;
		String edaResult3 = null ;		
		// 전자 결재와 링크가 되는 곳이다.
		// 전자 결재의 내용을 알아 내자....
		try { 
			ApprovalDocument[] documents;

			documents = edaController.getStartPanel( name + "(" + id + ")" );

			if( documents.length > 0 ){
				List ingBox = new ArrayList();
				List completeBox = new ArrayList();
				List rejectBox = new ArrayList();
				for( int i = 0 ; i < documents.length ; i ++ ){
					String listID = documents[i].getlistID();
					if( listID.equals( Lists.INGBOX ))
						ingBox.add ( documents[i] );
					else if ( listID.equals( Lists.COMPLETEBOX ) )
						completeBox.add ( documents[i] );
					else if ( listID.equals( Lists.REJECTBOX ) )
						rejectBox.add ( documents[i] );
				}
				
				if( ingBox.size() > 0 ){
					edaResult1 = "결재 해야 될 문서가 " + ingBox.size() + "개 있습니다." ;
					 						
				    	String docIDS = ((ApprovalDocument)ingBox.get(0)).getdocID();
				    	for( int i = 1 ; i < ingBox.size() ; i++ ) {
				    		docIDS = docIDS + "," + ((ApprovalDocument)ingBox.get(i)).getdocID();
				    	}
			    						    		
			    		for ( int i = 0 ; i < ingBox.size() ; i ++ ){
			    			ApprovalDocument document = (ApprovalDocument)ingBox.get(i);
					}
					
			    	} else edaResult1 = "결재 해야 될 문서가 없습니다." ;
			    	
				if( completeBox.size() > 0 ){
					edaResult2 = "새로 결재된 결재 문서가 " + completeBox.size() + "개 있습니다." ;
					 						
				    	String docIDS = ((ApprovalDocument)completeBox.get(0)).getdocID();
				    	for( int i = 1 ; i < completeBox.size() ; i++ ) {
				    		docIDS = docIDS + "," + ((ApprovalDocument)completeBox.get(i)).getdocID();
				    	}			    		
			    		for ( int i = 0 ; i < completeBox.size() ; i ++ ){
			    			ApprovalDocument document = (ApprovalDocument)completeBox.get(i);
			    		}			    						 	
			    	} else edaResult2 = "새로 결재된 결재 문서가 없습니다." ;
			    	 
				if( rejectBox.size() > 0 ){
					edaResult3 = "새로 반려된 결재 문서가 " + rejectBox.size() + "개 있습니다." ;
				    	
				    	String docIDS = ((ApprovalDocument)rejectBox.get(0)).getdocID();
				    	for( int i = 1 ; i < rejectBox.size() ; i++ ) {
				    		docIDS = docIDS + "," + ((ApprovalDocument)rejectBox.get(i)).getdocID();
				    	}			    		
			    		for ( int i = 0 ; i < rejectBox.size() ; i ++ ){
			    			ApprovalDocument document = (ApprovalDocument)rejectBox.get(i);
					}
			    	} else edaResult3 = "새로 반려된 결재 문서가 없습니다." ; 
			}
			else { 
				edaResult1 = "새로 작업된 문서가 없습니다." ;
				edaResult2 = "" ;
				edaResult3 = "" ;
			}
		} catch( Exception e) {
			out.println("<body bgcolor=\"#f5f5f5\" text=\"black\""+ "link=\"blue\" vlink=\"purple\" alink=\"red\">");
			out.println("<p align=\"center\"><font size=\"4\" color=\"gray\">"+ "<b>전자 결재 초기메뉴</b></font></p>");
			out.println("<p align=\"center\"><hr width=600><br>");
			out.println("<p align=\"center\">문서함을 검색하는 중 에러가 발생했습니다.<br>");
			out.println("<p align=\"center\">" + e.toString() +"<br>");
		}
		out.println ( "<!--기안/결재-->" ) ;
		out.println ( "<tr><td rowspan=3 align=left valign=center><a href=\"/servlet/EDAStartPanelServlet\" onclick=\"parent.frames['contents'].location='/EDAMainMenu.html'\" onMouseOver=\"document.forms[0].eda.src='/image/circle_기안결재_con.gif'\" onMouseOut=\"document.forms[0].eda.src='/image/circle_기안결재.gif'\"><img name=eda src=/image/circle_기안결재.GIF border=0></a></td>" ) ;
		out.println ( "    <td align=right><a href=\"/servlet/EDAStartPanelServlet\" onclick=\"parent.frames['contents'].location='/EDAMainMenu.html'\"><img src=/image/main_기안결재.GIF border=0></a></td></tr>" ) ;
		out.println ( "<tr><td align=right><img src=/image/bar.GIF></td></tr>" ) ;
		out.println ( "<tr><td><font size=3>" ) ;
		// 받은 문서에 관한 문장을 보여 준다. 예로는 "받은 문서는 0건 입니다." 라고 쓴다.
		 out.println ( edaResult1 + "<br>" + edaResult2 + "<br>" + edaResult3 ) ;
		
		out.println ( "</font></td>" ) ;
		out.println ( "</tr>" ) ;
				
		out.println ( "</table>" ) ;
		out.println ( "</center>" ) ;
		
		out.println ( "</form></body>" ) ;
		out.println ( "</html>" ) ;
			
		out.close ( ) ;
	}
	
	/*----------------------------------------------------------------- */
	/**
	 [메소드이름]: makeHTMLFile<br>
	 [기능]: 메일 서버에서 새로 온 메일이 있는지 확인한다.<br>
	 [파라미터]: HttpServletRequest req , HttpServletResponse res<br>
	 [호출자] : this<br>
	 */
	/*--------------------------------------------------------------- */		
	/*void makeHTMLFile(PrintWriter out, Message[] m) throws Exception{
	    	
	    	Message[] rm = null;
	     	Message[] usm = null;
	     	
	     	if ( m != null ) {
	     		rm = MailClassificator.getRecentMail(m);
	     	}
	     	
	 	int recentMailNum = 0;
	 	   	
	 	if ( rm != null ) {
	 		recentMailNum = rm.length;
	 	}
	 	   	
	 	if ( m != null ) {
	    		usm = MailClassificator.getUnseenMail(m);
	 	}
	 	   	
	    	int unseenMailNum = 0;
	    	
	    	if ( usm != null ) {
	    		unseenMailNum = usm.length;
	    	}
	 
		 if ( recentMailNum > 0 ) {
		 	mailResult1 = "새로온 편지가 "+ recentMailNum +" 통 있습니다."  ;
		 }
		 else {
		 	mailResult1 = "새로온 편지가 없습니다." ;	 	
		 }
		 
		 if ( unseenMailNum > 0 ) {
		 	mailResult2 = "읽지 않은 편지가 " +  unseenMailNum +" 통 있습니다." ;
		 }
		 else {
		 	mailResult2 = "읽지 않은 편지가 없습니다." ;
		 }
	}
	*/
}