<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="com.csc.library.util.ManageDocument"%>
<%@page import="com.csc.library.entry.*,com.csc.library.utilities.*"%>
<%@page import="com.csc.library.session.InitialInquiry"%>
<%@page import="com.csc.library.session.DbInquiry"%>
<%@page import="com.csc.library.session.*,java.util.*"%>

<%request.setCharacterEncoding("UTF-8");%>

<jsp:useBean id="INBOXLIST" class="com.csc.library.system.Task" scope="page"/>
<jsp:setProperty name="INBOXLIST" property="appname" value="TA" />

<%
INBOXLIST.setChannel(request, response);
INBOXLIST.checkProfile();
if( INBOXLIST.getUProfile() != null ){
	CheckNull chkNull = new CheckNull();
	CscCalendar today = new CscCalendar();
	today.decDate(30);
	HelpEntry screenHelp = (HelpEntry) INBOXLIST.process("HelpEntry","INBOXLIST");
	String actor_id  = screenHelp.getUProfile().get("actorid");
	
	//out.print(" t: "+actor_id);

	if(!chkNull.chkNullString(request.getParameter("__param_actor_id")).equals("")){
		actor_id = chkNull.chkNullString(request.getParameter("__param_actor_id"));
	}

	String __wf_ref_doc_t = "";
	String ref_doc = "";


			HashMap hmDocKey = new HashMap();
	//actor_id = "2110178";

	/* ดึงเอกสารหลังบ้านที่อนุมัติแล้ว */
	DbInquiry inqLeave = new InitialInquiry(screenHelp.getUProfile()).getDbInquiry("tabsent_nstda");
	inqLeave.setColumn("*");
	inqLeave.setFilter("employeeid = '" + actor_id+ "' and create_date >= '" + today.getYYYYMMDD() + "' and wf_status not in ('8','9') and approve != 'W'");
	inqLeave.refresh();

	String temp ="";

	while(inqLeave.next()){
		hmDocKey.put(inqLeave.getString("wf_ref_doc"), inqLeave.getString("wf_ref_doc"));
		__wf_ref_doc_t += inqLeave.getString("wf_ref_doc")+",";
	}

	screenHelp.getInquiry().setFilter("DOC_NO IN ("+this.getFormatFilter(__wf_ref_doc_t)+") AND " +" WF_STATUS = '4' AND (WF_ID = 8001 OR WF_ID = 8011 OR WF_ID = 8012 OR WF_ID= 8112) AND AI_START_TIME > " + today.getTimeInMillis()+" AND STEP_ID in ('2','3','4','5')");		
	screenHelp.getInquiry().setOrderBy("DOC_NO");
	screenHelp.referLangOn();
	screenHelp.setMaxLine(100);



	

%>

<%!
		private String getFormatFilter(String str){
			String result_ ="";
			String[] arr_str = str.split(",");
			for(int i=0;i<arr_str.length;i++){
				result_ += "'"+arr_str[i]+"'";
				if((i+1) != arr_str.length){
					result_ += ",";
				}
			}
			return result_;
		}

%>

<HTML>
	<HEAD>
		<TITLE>myNOTE : Business Process Management Service</TITLE>
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
		<LINK HREF="../CSS/MYNOTE.css" REL="stylesheet" TYPE="text/css">
		<SCRIPT TYPE='text/JavaScript' SRC='../JS/SCREEN.js'></SCRIPT>
		<SCRIPT TYPE='text/JavaScript' SRC='../JS/MYNOTE_SCREEN.js'></SCRIPT>
		<SCRIPT LANGUAGE="JavaScript">setLang('<%=screenHelp.getUProfile().get("lang")%>');</SCRIPT>
		<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
		<!--
			function setData(doc){
				var obj = document.getElementById("DOC#" + doc);
				if(obj !== undefined){
					var tmp = obj.value.split("#");
					
					// absentid#wf_ref_doc#type_absent#start_date#end_date#start_time#end_time#cause_absent#leave_format#leave_day#leave_hour
					setParentData('__wf__exist_absentid', tmp[0]);
					setParentData('__wf__exist_doc', tmp[1]);
					setParentData('__wf__type_absent', tmp[2]);
					setParentData('__wf__start_date', tmp[3]);
					setParentData('__wf__start_time', tmp[5]);
					setParentData('__wf__end_date', tmp[4]);
					setParentData('__wf__end_time', tmp[6]);
					setParentData('__wf__cause_absent', tmp[7]);
					setParentDataRadio('__wf__format_leave', tmp[8]);
					setParentData('__wf__leave_day', tmp[9]);
					setParentData('__wf__leave_hours', tmp[10]);

					//back up value part
					setParentData('__wf__old_type_absent', tmp[2]);
					setParentData('__wf__old_start_date', tmp[3]);
					setParentData('__wf__old_start_time', tmp[5]);
					setParentData('__wf__old_end_date', tmp[4]);
					setParentData('__wf__old_end_time', tmp[6]);
					setParentData('__wf__old_format_leave', tmp[8]);
					setParentData('__wf__old_leave_day', tmp[9]);
					setParentData('__wf__old_leave_hours', tmp[10]);
				}

				window.close();
			}

			function setParentData(oname , val){
				var obj = eval("window.opener.document.cscform." + oname) ;
				obj.value = val;
			}

			function setParentDataRadio(oname , val){
				var obj = eval("window.opener.document.cscform." + oname) ;
				
				if(val == "0"){
					obj[0].checked = true ;
					window.opener.document.cscform.__wf__leave_day.disabled = false;
				}else if(val == "1"){
					obj[3].checked = true ;
					window.opener.document.cscform.__wf__leave_hours.disabled = false;
				}else if(val == "2"){
					obj[1].checked = true ;
				}else if(val == "3"){
					obj[2].checked = true ;
				}
			}


		//-->
		</SCRIPT>
		<STYLE TYPE="text/css">
		<!--
			.style2 {color: #FFFFFF}
		-->
		</STYLE>
	</HEAD>
	<BODY BGCOLOR=#FFFFFF>
		<!-- ImageReady Slices (02.psd) -->
		<div align="center">
		<FORM NAME="cscform" METHOD="post" ACTION="INBOX.jsp">
			<INPUT TYPE="hidden" NAME="__screen" VALUE="INBOX">
			<INPUT TYPE="hidden" NAME="__cmd" VALUE="">
			<INPUT TYPE="hidden" NAME="__calendar" VALUE="">
			<INPUT TYPE="hidden" NAME="__help" VALUE="">
			<INPUT TYPE="hidden" NAME="__goPage" VALUE="">
			<INPUT TYPE="hidden" NAME="__wf_id" VALUE="">
			<INPUT TYPE="hidden" NAME="__wf_ver" VALUE="">
			<INPUT TYPE="hidden" NAME="__wf_seq_no" VALUE="">
			
			<INPUT TYPE="hidden" NAME="param_document" VALUE="">
			<INPUT TYPE="hidden" NAME="wf_command" VALUE="">
			
			<TABLE WIDTH="90%" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0">
					<DIV ALIGN="center">
			    		<DIV ALIGN="center">
					      	<TABLE WIDTH="95%" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0">
            		    		<TR>
	                		  		<TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-L.gif" WIDTH="5" HEIGHT="5"></TD>
    	              				<TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/T.gif" WIDTH="100%" HEIGHT="5"></TD>
        	          				<TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-R.gif" WIDTH="5" HEIGHT="5"></TD>
		    	            	</TR>
    		    	        	<TR>
        		    	      		<TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/L2.gif"><FONT COLOR="#FFFFFF"></FONT></TD>
            		    	  		<TD VALIGN="middle"><FONT FACE="MS Sans Serif" SIZE="1" COLOR="#FFFFFF">
    	            	  				<!-- INBOX Detail -->
                	    				<TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="1" CLASS="txtInbox">
                    	  					<TR BGCOLOR="#0099CC">
	        	    	            			<TD WIDTH="" BGCOLOR="#0099CC"><DIV ALIGN="center" CLASS="style2"><FONT COLOR="#FFFFFF"><SCRIPT LANGUAGE="JavaScript">swapLang("Date")</SCRIPT></FONT></DIV></TD>
            	        	    				<TD WIDTH="" BGCOLOR="#0099CC"><DIV ALIGN="center" CLASS="style2"><FONT COLOR="#FFFFFF"><SCRIPT LANGUAGE="JavaScript">swapLang("DocNo.")</SCRIPT></FONT></DIV></TD>
                	        					<TD WIDTH="" BGCOLOR="#0099CC"><DIV ALIGN="center" CLASS="style2"><FONT COLOR="#FFFFFF"><SCRIPT LANGUAGE="JavaScript">swapLang("Subject")</SCRIPT></FONT></DIV></TD>
    	                    					<TD WIDTH="" BGCOLOR="#0099CC"><DIV ALIGN="center" CLASS="style2"><FONT COLOR="#FFFFFF"><SCRIPT LANGUAGE="JavaScript">swapLang("Status")</SCRIPT></FONT></DIV></TD>
		                      				</TR>
		                      			<%
										int browse_page = Integer.parseInt(screenHelp.goPage); 
                      					StringBuffer doclist = new StringBuffer();
										screenHelp.process();
										//out.print(screenHelp.nextRec());
		                      			while( screenHelp.nextRec() ){
											//out.print(" doc -->  " + screenHelp.getInquiry().getString("FDOC_NO"));
											if(hmDocKey.containsKey(screenHelp.getInquiry().getString("FDOC_NO"))) {	/* แสดงเฉพาะเอกสารที่สามารถแก้ไขได้ */
												if(doclist.length() > 0) doclist.append(",");
												doclist.append("'").append(screenHelp.getInquiry().getString("FDOC_NO")).append("'");
		                      			%>
        		    	          				<TD><DIV ALIGN="center"><a href="javascript:setData('<%=screenHelp.getInquiry().getString("FDOC_NO")%>');"><%=screenHelp.getInquiry().getString("FSI_START_TIME")%></a></DIV></TD>
        		              					<TD><DIV ALIGN="center"><a href="javascript:setData('<%=screenHelp.getInquiry().getString("FDOC_NO")%>');"><%=screenHelp.getInquiry().getString("FDOC_NO")%></a></DIV></TD>
												<TD><a href="javascript:setData('<%=screenHelp.getInquiry().getString("FDOC_NO")%>');"><%=screenHelp.getInquiry().getString("SUBJECT")%></a></TD>
        		              					<TD><DIV ALIGN="center"><%=screenHelp.getInquiry().getString("FWI_STATUS")%></DIV></TD>
	    		                  			</TR>
	    		                  		<%
		                      				}
										}
	    		                  		%>
											<TR>
												<TD><DIV ALIGN="center">&nbsp;</DIV></TD>
												<TD><DIV ALIGN="center">&nbsp;</DIV></TD>
												<TD>&nbsp;</TD>
												<TD><DIV ALIGN="center">&nbsp;</DIV></TD>
											</TR>
        		            			</TABLE>
	            		      		</FONT></TD>
    	              				<TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/R2.gif"><FONT COLOR="#FFFFFF"></FONT></TD>
		        	        	</TR>
        		    		   	<TR>
                		  			<TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-L.gif" WIDTH="5" HEIGHT="5"></TD>
		                  			<TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/B.gif" WIDTH="100%" HEIGHT="5"></TD>
	    		              		<TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-R.gif" WIDTH="5" HEIGHT="5"></TD>
    	        		    	</TR>
								<!-- gen leave detail -->
								<%
									DbInquiry leaveinq = new InitialInquiry(screenHelp.getUProfile()).getDbInquiry("Tabsent_nstda");
									leaveinq.setColumn("*");
									leaveinq.setFilter("wf_ref_doc in (" + doclist + ")") ;
									leaveinq.refresh();

									while(leaveinq.next()){
								%>
										<input type="hidden" name="DOC#<%=leaveinq.getString("wf_ref_doc")%>" id="DOC#<%=leaveinq.getString("wf_ref_doc")%>" value="<%=getLeaveDetails(leaveinq.getCurrentDbRecord())%>">
								<%
									}
								%>

		        	      	</TABLE>
	    		  	
		</FORM></div>
	</BODY>
</HTML>
<%
}
%>
<%!
private String getLeaveDetails(DbRecord db){
	CheckNull chknull = new CheckNull();
	StringBuffer sb = new StringBuffer();
	try {
		sb.append(db.getString("absentid")).append("#");
		sb.append(db.getString("wf_ref_doc")).append("#");
		sb.append(db.getString("type_absent")).append("#");
		sb.append(db.getCscCalendar("start_date").getDDMMYYYY()).append("#");
		sb.append(db.getCscCalendar("end_date").getDDMMYYYY()).append("#");
		sb.append(db.getString("start_time")).append("#");
		sb.append(db.getString("end_time")).append("#");
		sb.append(db.getString("cause_absent")).append("#");
		sb.append(db.getString("leave_format")).append("#");
		sb.append(db.getInt("leave_day")).append("#");
		sb.append(db.getString("leave_hour"));
	}catch(Exception e){
		e.printStackTrace();
	}
	return sb.toString();
}
%>