<%@page contentType="text/html; charset=UTF-8"%> <%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*"%> <%@page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*,com.csc.library.report.ReportUDF" %> <jsp:useBean id="PRU168_DETAIL" class="com.csc.library.system.Task" scope="page"/> <% PRU168_DETAIL.setChannel(request,response); UIManager screen = (UIManager) PRU168_DETAIL.process("SingleEntry","PRU168"); CheckNull chk = new CheckNull(); ReportUDF reportUDF = new ReportUDF(); screen.getRecord().referLangOn(); String sqnumber = chk.chkNullString(request.getParameter("__sqnumber"),""); String cmd = request.getParameter("__cmd"); if(cmd == null && !sqnumber.equals("")){ screen.getRecord().set("SQNUMBER",sqnumber); screen.getRecord().search(); } else { screen.getRecord().set("SQNUMBER",Integer.valueOf(screen.getDataLabel("SQNUMBER")) + 1); } String flag = screen.getDataLabel("flag"); if(flag.equalsIgnoreCase("")){ flag = "M"; } %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <link href="../CSS/TISCO.css" rel="stylesheet" type="text/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 type='text/javascript' src='../JS/SCREEN.js'></script> <script src="../JS/jquery-1.11.2.js" type="text/javascript"></script> <script src="../JS/jquery-ui-1.11.4.js" type="text/javascript"></script> <link href="../JS/tagEditor/css/pure-min.css" rel="stylesheet" type="text/css"/> <link href="../JS/tagEditor/css/jquery.tagit.css" rel="stylesheet" type="text/css"/> <link href="../JS/tagEditor/css/tagit.ui-zendesk.css" rel="stylesheet" type="text/css"/> <script src="../JS/tagEditor/js/tag-it.js" type="text/javascript"></script> <script type='text/javascript' src='/hr/dwr/interface/SearchDWR.js'></script> <script type='text/javascript' src='/hr/dwr/engine.js'></script> <script type='text/javascript' src='/hr/dwr/util.js'></script> <script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script> <script language="javascript"> function GoUpdate(){ GoSave(); } function GoDelete(){ edelete(); } function GoSearch(){ search(); } function goHelp(helpName,inputName){ var helpReturn; var fixCon; var page; if(inputName=="__njvsq" ) helpReturn="__njvsq:sqcode,__sqname:sqname"; else if (inputName=="__temp_formula" ){ helpReturn="__temp_formula:formulaid"; page = "PRU_FORMULAHELP.jsp"; } linkHelp_Return(helpName,helpReturn,fixCon,page); } function linkHelp_Return(help,input, fixCon, page){ with(document.cscform){ var filter = fixCon || __fixCon.value; var targetpage = page || "PRU084.jsp"; var param=targetpage+"?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+filter+"&__oldvalue=&__checkVerify=off"; win = window.open(param,"Help","left=150,top=150,width=800,height=600,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); if(window.focus){win.focus();} } } function postReturn(){ // how to use it,, An Override in your Page. with( document.cscform ){ __temp_formula.focus(); } } function searchSqname(){ var condition =""; searchDescEmp(document.cscform.__njvsq, 'mjvsequencenumber.sqname:__sqname', condition); } function searchDescEmp(id, desc, condition){ var splitDesc="",getField="",setField=""; splitDesc = desc.split(","); for(var i = 0; i < splitDesc.length; i++){ if(splitDesc[i].indexOf("@") > -1 && splitDesc[i].indexOf(":") == -1){ if(splitDesc[i].indexOf("$") > -1) { var newDesc = splitDesc[i].substring(0,splitDesc[i].indexOf("$")); getField += newDesc.replace(/@/g,"."); }else{ getField += splitDesc[i].replace(/@/g,"."); } setField += splitDesc[i]; }else{ getField += splitDesc[i].substring(0,splitDesc[i].indexOf(":")); setField += splitDesc[i].substring(splitDesc[i].indexOf(":")+1,splitDesc[i].length); } if(i+1 == splitDesc.length){ break; }else{ getField+=","; setField+=","; } } SearchDWR.searchDBXMLAll(new Array("MJVSEQUENCENUMBERHELP", getField, "mjvsequencenumber:sqcode = '"+id.value+"' "+condition, "false", "langOn"), function(data){ setField = setField.split(","); if(data.length > 0){ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],data[0][i]); } }else{ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],""); } } }); } function GoSave(){ with(document.cscform){ var check=true; var lang = '<%=screen.getUProfile().get("lang")%>'; if(__njvsq.value == "") { check=false; var label = '<%=screen.getLabel("NJVSQ")%>'; label = label.replace("<label>",""); label = label.replace("</label>",""); if(lang === 'tha'){ alert("กรุณากรอกข้อมูล "+label); } else { alert("Please input "+label); } __njvsq.focus; } if(check===true && chkFormula()){ saveRecord(); } } } function back(){ window.opener.document.cscform.submit(); window.self.close(); } </script> <script> $(function(){ searchSqname(); $('#formulatags').tagit({ placeholderText : " Formula here ", allowDuplicates : true, singleField : true, singleFieldNode : $('input[name="__formula"]') }); setSorttags(); $('#inputtags').keydown(function(event){ event.preventDefault(); }); $('input[name="__temp_formula"]').keydown(function(event){ var that = $(this); if (event.which === $.ui.keyCode.ENTER && that.val() !== '') { createFormula(that.val()); } else { event.preventDefault(); } }); $('input[name="__temp_value"]').keydown(function(event){ var that = $(this); if (event.which === $.ui.keyCode.ENTER && that.val() !== '') { var value = "VALUE#"+that.val(); createFormula(value); } else if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105) && (event.which !== $.ui.keyCode.BACKSPACE)) { alert("Please input number (0-9) ONLY!!"); event.preventDefault(); } }); var cmd = '<%=request.getParameter("__cmd")%>'; if(cmd === 'save'){ window.opener.document.cscform.submit(); } }); function addFormula(){ var temp_formula = $('input[name="__temp_formula"]').val(); if (temp_formula !== ""){ createFormula(temp_formula); } } function addValue(){ var temp_value = $('input[name="__temp_value"]').val(); if (temp_value !== ""){ temp_value = "VALUE#"+temp_value; createFormula(temp_value); } } function createFormula(value){ $('#formulatags').tagit('createTag', value); setSorttags(); } function setFormulaData(){ var formula = ""; $('.tagit-label').each(function(){ if(formula !== ""){ formula += ","; } formula += $(this).html(); }); $('input[name="__formula"]').val(formula); console.log("Formula ==> "+formula); } function chkFormula(){ setFormulaData(); var check = true; var operator = ['+','-','*','/','(',')']; var formula = $('input[name="__formula"]').val(); if(formula !== ""){ var array = formula.split(","); var formuladata = ""; var chkformula = ""; for(var i=0; i<array.length; i++){ if ($.inArray( array[i], operator ) !== -1){ if(array[i] === "("){ chkformula = ""; formuladata += array[i]; } else if(array[i] === ")"){ chkformula = "1"; formuladata += array[i]; } else if(chkformula === "1"){ chkformula = ""; formuladata += array[i]; } else { alert("Error!! '"+array[i]+"' operator don't set first\nPlease check formula."); return false; } } else { if(chkformula === ""){ chkformula = "1"; formuladata += "1"; } else { alert("Error!! '"+array[i]+"' don't have operator\nPlease check formula."); return false; } } } console.log("formuladata ==> "+formuladata); try { var value = eval(formuladata); console.log("value ==> "+value); } catch (e) { check = false; formuladata = formuladata.replace(/1/g, 'F'); alert('Error Formula ( F = Formula )\nFormula ==> "'+formuladata+'"'); } } return check; } function setSorttags(){ $( "#formulatags" ).sortable({ placeholder: "boxshadow ui-corner-all" }); $( "#formulatags" ).disableSelection(); } </script> <style> #formulatags { background-color: white; width: 85%; } .boxshadow { border: 1px dotted black; border-radius: 5px; padding: .8em 1.8em; } .plus-tags { background-color: #9999ff !important; } .minus-tags { background-color: #ff9999 !important; } .multi-tags { background-color: #ff99ff !important; } .divide-tags { background-color: #ffff66 !important; } .bracket-tags { background-color: #ccffcc !important; } .input-hidden { display: none; } .disable-select { background: #ebebe4; } .pure-button { margin: 2px 0; text-decoration: none !important; border-color: #cccccc; padding: .3em 1em; } .button-lg { margin: 5px 0; padding: .65em 1.6em; font-size: 105%; } .button-sm { font-size: 85%; } </style> </head> <body leftmargin="0" topmargin="0" onLoad="MM_preloadImages('IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif')"> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <script language="JavaScript" src="../JS/HOTKEY.js"></script> <form name="cscform" method="post"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <input type="hidden" name="__cmd" value=""/> <input type="hidden" name="__confirm" value=""/> <input type="hidden" name="__sysisedit" value=""/> <input type="hidden" name="__screen" value="PRU168_DETAIL"/> <input type="hidden" name="__notNull" value="<%=screen.getRequire()%>"/> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"/> <input type="hidden" name="__cmdchild" value=""/> <input type="hidden" name="__help" value=""/> <input type="hidden" name="__fixCon" value=""/> <input type="hidden" name="__user" value="<%=screen.getUProfile().getUserId()%>"/> <input type="hidden" name="__referPage" value=""/> <input type="hidden" name="__formula" value="<%=screen.getDataLabel("formula")%>"/> <input type="hidden" name="__flag" value="<%=flag%>"/> <div align="center"><br> <table> <tr> <td class="header" colspan="2" > PRU168_DETAIL, <script language="javascript">swapLang('Payroll Journal Voucher Template Detail');</script> </td> </tr> <tr> <td> <div align="center"> <center> <table cellpadding="0" cellspacing="0"> <tr> <td colspan="2" class="blankspace"></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("SQNUMBER")%> * </td> <td class="columnobject1"><input name="__sqnumber" type="text" readonly="true" value="<%=chk.chkNullString(request.getParameter("__sqnumber"),screen.getDataLabel("SQNUMBER"))%>" size="5"></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("NJVSQ")%> * </td> <td class="columnobject1"><%=screen.getInput("NJVSQ")%> <input name="__sqname" type="text" disabled value="" size="40"></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("FLAG")%> </td> <td class="columndata"> <%=reportUDF.getSystemCode("JVFLAGTEMPLATE", screen.getUProfile().get("lang"), flag)%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ACCTCODE")%> </td> <td class="columnobject1"><%=screen.getInput("ACCTCODE")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ACCTNAME")%> </td> <td class="columnobject1"><%=screen.getInput("ACCTNAME")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ACCTTYPE")%> </td> <td class="columnobject1"><%=screen.getInput("ACCTTYPE")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("FORMULA")%> <br>Value </td> <td class="columnobject1"> <input name="__temp_formula" type="text" size="15" value=""/> <a onmouseover="MM_swapImage('__temp_formula_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)" onmouseout="MM_swapImgRestore()" href="javascript:goHelp('MFORMULAHELP','__temp_formula');"><img name="__temp_formula_image" width="20" height="20" align="absmiddle" alt="SEARCH" src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" border="0"></a> <span onclick="addFormula();" class="ed_on pure-button button-sm">Add Formula</span><<< Press Enter or Click Add formula. <input name="__temp_value" type="text" size="15" value=""> <span onclick="addValue();" class="ed_on pure-button button-sm">Add Value</span><<< Press Enter or Click Add Value.<br> <span onclick="$('#formulatags').tagit('createTag', '+');setSorttags();return false;" class="ed_on pure-button button-sm plus-tags">+</span> <span onclick="$('#formulatags').tagit('createTag', '-');setSorttags();return false;" class="ed_on pure-button button-sm minus-tags">-</span> <span onclick="$('#formulatags').tagit('createTag', '*');setSorttags();return false;" class="ed_on pure-button button-sm multi-tags">*</span> <span onclick="$('#formulatags').tagit('createTag', '/');setSorttags();return false;" class="ed_on pure-button button-sm divide-tags">/</span> <span onclick="$('#formulatags').tagit('createTag', '(');setSorttags();return false;" class="ed_on pure-button button-sm bracket-tags">(</span> <span onclick="$('#formulatags').tagit('createTag', ')');setSorttags();return false;" class="ed_on pure-button button-sm bracket-tags">)</span> <span onclick="$('#formulatags').tagit('removeAll');return false;" class="ed_on pure-button button-sm">Clear tags</span> <ul id="formulatags"></ul> </td> </tr> <tr> <td colspan="2" class="blankspace"></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANALSOURCE")%> </td> <td class="columnobject1"><%=screen.getInput("ANALSOURCE")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANALTYPE")%> </td> <td class="columnobject1"><%=screen.getInput("ANALTYPE")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T0")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T0")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T1")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T1")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T2")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T2")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T3")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T3")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T4")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T4")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T5")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T5")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T6")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T6")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T7")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T7")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T8")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T8")%></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("ANAL_T9")%> </td> <td class="columnobject1"><%=screen.getInput("ANAL_T9")%></td> </tr> <%screen.getRecord().referLangOff();%> <tr> <td colspan="2" class="blankspace"></td> </tr> <tr> <td class="buttonline" colspan="7"><div align="center"> <button type="button" class="btn btn-primary width100" swlang code="SW013175" onClick="GoSave();">SAVE</button> <button type="button" class="btn btn-primary width100" swlang code="SW013174" onClick="back();">BACK</button> </div> </td> </tr> <tr> <td colspan="2" class="blankspace"></td> </tr> </table> </center> </div> </td> </tr> <tr> <td class="bottom" ></td> </tr> </table> </div> </form> </body> </html>