<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="com.csc.library.entry.*,com.csc.library.system.*,com.csc.library.utilities.*,com.csc.library.session.*,com.csc.library.database.*"%>
<jsp:useBean id="PRU174" class="com.csc.library.system.Task" scope="page" />
<jsp:useBean id="CSCQUQUE" class="com.csc.library.system.Task" scope="page" />

<%
PRU174.setChannel(request ,response);
ProcessEntry screen= (ProcessEntry) PRU174.process("ProcessEntry","Process");
screen.process();

CSCQUQUE.setChannel(request, response);
HelpEntry screenque = (HelpEntry) CSCQUQUE.process("HelpEntry","CSC_QUQUEHELP");
CheckNull chk = new CheckNull();

String tname = "สร้าง E-PaySlip Config";
String ename = "Generate E-PaySlip Config";

screenque.getInquiry().setFilter("COMPANYID = '"+screenque.getUProfile().get("companyid")+"' AND TNAME ='"+tname+"' AND ENAME = '"+ename+"'");
screenque.getInquiry().setOrderBy("start_time DESC");
screenque.getInquiry().refresh();
%>

<html ng-app="myHR">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<link type="text/css" rel="stylesheet" href="../CSS/TISCO.css"/>
		<link href="../CSS/bootstrap.css" rel="stylesheet"  type="text/css">
		<link href="../CSS/bootstrap_csc_backend.css" rel="stylesheet"  type="text/css">
		<script type="text/javascript" src="../JS/jquery-2.1.3.min.js"></script>
		<script type='text/javascript' src="../JS/bootstrap.js"></script>
		<script language="JavaScript" src="../JS/SCREEN.js"></script>
		<script src="../JS/angular-1.3.15/angular.js" type="text/javascript"></script>
		<script src="../JS/ANGULAR/SCREEN_ANGULAR.js" type="text/javascript"></script>
		<script src="../JS/jquery-2.1.3.min.js" type="text/javascript"></script>
		<script language="javascript">setLang("<%=screen.getUProfile().get("lang")%>");</script>
		<script language="javascript">getTitleName();</script>
		<script language="javascript">

		function process() {
			with(document.cscform){
				bCon=confirm("Start E-PaySlip Process?");
				if (bCon==true)	{
					setDataProcess();
					__cmd .value = "save";
					submit();
				}
			}
		}

		function goHelpGendate(helpName,inputName,listName){
			with(document.cscform){
				var dbplus = "<%=screen.getUProfile().getDbType()%>" === "MSSQL" ? "%2B" : "||";	// %2B = +
				var dbadd = dbplus + "':'" + dbplus;
				var helpReturn = inputName+"id";
				var current = "END_DATE"+dbadd+"PAY_DATE in (select DISTINCT GENDATE"+dbadd+"PAY_DATE from tpytran0 where salatype='"+inputName+"')";
				var history = "END_DATE"+dbadd+"PAY_DATE in (select DISTINCT GENDATE"+dbadd+"PAY_DATE from tpy_his0 where salatype='"+inputName+"')";
				var selected = "";
				$("select[name="+inputName+"List]").find("option").each(function(){
					selected = chkComma(selected) + "'" + $(this).val() + "'";
				});
				if(selected !== ""){
					selected = " and END_DATE"+dbadd+"PAY_DATE not in ("+selected+")";
				}
				var fixCon = "codeid='"+inputName+"' and ("+current+" or "+history+")"+selected;
				var param = "PRU174_HELP.jsp?__helpName="+helpName+"&__helpReturn="+helpReturn
				+"&__pageCall="+__screen.value+"&__fixCon="+fixCon+"&__checkVerify=off"
				+"&__listName="+listName;
				window.open(param,"Help","left=150,top=150,width=670,height=500,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}
		}

		function listDblClick(objmyList){
			for(i=objmyList.length;i > 0;i--){
				if(objmyList.options[i-1].selected==true){
					bCon=confirm(MyCode[84]+" "+objmyList.options[i-1].text+" ?");
					if (bCon==true){
						objmyList.options[i-1]  = null;
					}
				}
			}
		}

		function setDataProcess(){
			var jsObjJSON = {};
			var jsonArray = [];
			var jsonStr = "";

			$(".salatype").each(function(){
				if($(this).prop("checked")){
					var salatype = $(this).val();
					var gendateandpaydate = "";
					$("select[name="+salatype+"List]").find("option").each(function(){
						gendateandpaydate = chkComma(gendateandpaydate) + $(this).val();
					});
					jsonArray.push({"salatype":salatype,"gendateandpaydate":gendateandpaydate});
				}
			});

			jsObjJSON = { json : jsonArray };
			jsonStr = JSON.stringify( jsObjJSON );
			console.log(jsonStr);
			$('input[name="__condition$jsonstring"]').val(jsonStr);
		}

		function chkComma(str){
			if(str !== ""){
				str += ",";
			}
			return str;
		}

		</script>

	</head>
	<body leftmargin="0" topmargin="0" >

		<div align="center">
			<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
			<script language="javascript">initToolTips();</script>

			<form name="cscform" method="post" action="PRU174.jsp">
				<input type="hidden" name="__cmd" value=""/>
				<input type="hidden" name="__screen" value="PRU174"/>
				<input type="hidden" name="__help" value=""/>
				<input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"/>
				<input type="hidden" name="__notNull" value=""/>
				<input type="hidden" name="__fixCon" value=""/>
				<input type="hidden" name="__referPage" value=""/>
				<input type="hidden" name="__process" value=""/>
				<input type="hidden" name="__tname" value="<%=tname%>"/>
				<input type="hidden" name="__ename" value="<%=ename%>"/>
				<input type="hidden" name="__ptype" value=""/>
				<input type="hidden" name="__prclass" value="GenerateEPaySlipConfig"/>
				<input type="hidden" name="__condition$jsonstring" value=""/>
				<%=screen.getTagConfirm()%>
				<br/>
				<table>
					<tr>
						<td class="header" colspan="2" >PRU174, <%=screen.getUProfile().get("lang").equalsIgnoreCase("THA") ? "E-PaySlip Process" : "E-PaySlip Process"%>&nbsp;</td>
					</tr>
					<tr>
						<td>
							<table cellspacing="0" cellpadding="0">
								<tr>
									<td class="blankspace"></td>
								</tr>
								<tr>
									<td align="center">
										<table width="100%">
											<%
											int round = 1;
											int max_column = 2;
											int width = 100 / max_column;
											StringBuilder sblabel = new StringBuilder();
											StringBuilder sbinput = new StringBuilder();
											DbInquiry inq_salatype0 = new InitialInquiry(screen.getUProfile()).getDbInquiry("msalatype0");
											inq_salatype0.setColumn("*");
											inq_salatype0.setOrderBy("codeid");
											inq_salatype0.refresh();
											inq_salatype0.referLangOn();
											while(inq_salatype0.next()){
												String codeid = inq_salatype0.getString("codeid");
												String tdesc = inq_salatype0.getString("tdesc");

												sblabel.append("<td width=\""+width+"%\" align=\"left\" style=\"padding-left:35px\">");
												sblabel.append("<input type=\"checkbox\" class=\"salatype\" value=\""+codeid+"\">&nbsp;");
												sblabel.append(codeid+"&nbsp;:&nbsp;"+tdesc+"&nbsp;&nbsp;");
												sblabel.append("<input type=\"button\" name=\"__"+codeid+"id\" value=\"click\" onClick=\"javascript:goHelpGendate('MSALATYPE1HELP','"+codeid+"','"+codeid+"List')\"/>");
												sblabel.append("</td>");

												sbinput.append("<td align=\"center\">");
												sbinput.append("<select name=\""+codeid+"List\" id=\""+codeid+"List\" size=\"20\" multiple class=\"large\" style=\"width:250; height:100\" onDblClick=\"listDblClick(this);\"></select>");
												sbinput.append("</td>");

												if(round >= max_column || inq_salatype0.recCount() == 1){
													out.println("<tr>"+sblabel.toString()+"</tr>");
													out.println("<tr>"+sbinput.toString()+"</tr>");
													out.println("<tr><td colspan=\""+max_column+"\" class=\"blankspace\"></td></tr>");
													round = 1;
													sblabel = new StringBuilder();
													sbinput = new StringBuilder();
												} else {
													round++;
												}
											}
											%>
										</table>
									</td>
								</tr>

								<tr>
									<td  class="buttonline" colspan="7"><div align="center">
										<button type="button" class="btn btn-primary width100" swlang code="SW013173" onClick="process();">PROCESS</button>
									</div>
									</td>
								</tr>
								<tr>
									<td class="blankspace"></td>
								</tr>
								<%
								if(screenque.nextRec()){
									CscCalendar start_time = new CscCalendar(screenque.getDataLabel("START_TIME"));
									CscCalendar end_time = new CscCalendar(screenque.getDataLabel("END_TIME"));
									String status = screenque.getDataLabel("PROCESS_STATUS");
									String showstatus = "";
									if(status.equalsIgnoreCase("C")){
										showstatus = "Cancle";
									} else if(status.equalsIgnoreCase("D")){
										showstatus = "Delete";
									} else if(status.equalsIgnoreCase("F")){
										showstatus = "Finished";
									} else if(status.equalsIgnoreCase("R")){
										showstatus = "Running";
									} else if(status.equalsIgnoreCase("S")){
										showstatus = "Sleep";
									} else if(status.equalsIgnoreCase("W") || status.equalsIgnoreCase("T")){
										showstatus = "Waiting";
									} else if(status.equalsIgnoreCase("E")){
										showstatus = "Error";
									} else if(status.equalsIgnoreCase("K")){
										showstatus = "Kill process by system";
									}
									%>
									<tr style="display:none;">
										<td>
											<table cellpadding="0" cellspacing="0">
												<tr>
													<td align="center" class="row3"><%=screenque.getLabel("PARENTID")%></td>
													<td align="center" class="row3"><span swlang code="SW000306">Start Date</span></td>
													<td align="center" class="row3"><span swlang code="SW000296">Start Time</span></td>
													<td align="center" class="row3"><span swlang code="SW000276">End Date</span></td>
													<td align="center" class="row3"><span swlang code="SW000297">End Time</span></td>
													<td align="center" class="row3"><%=screenque.getLabel("PROCESS_STATUS")%></td>
												</tr>
												<tr>
													<td align="center"><%=screenque.getDataLabel("PARENTID")%></td>
													<td align="center"><%=start_time.getDDMMYYYY()%></td>
													<td align="center"><%=start_time.getHHMMSS()%></td>
													<td align="center"><%if(!status.equalsIgnoreCase("R"))out.println(end_time.getDDMMYYYY());%></td>
													<td align="center"><%if(!status.equalsIgnoreCase("R"))out.println(end_time.getHHMMSS());%></td>
													<td align="center"><%=showstatus%></td>
												</tr>
											</table>
										</td>
									</tr>
									<%
								}
								%>
								<tr>
									<td class="blankspace"></td>
								</tr>
							</table>
						</td>
					</tr>
					<tr >
						<td class="bottom" ></td>
					</tr>
				</table>
				<script language="JavaScript">checkConfirm();</script>
			</form>
		</div>
	</body>
</html>