<%@page contentType="text/html; charset=UTF-8"%> <%@page import="com.csc.library.entry.*, com.csc.library.utilities.CheckNull,com.csc.library.session.*"%> <%@page import="com.csc.library.report.ReportUDF,com.csc.library.utilities.*"%> <%@page import="java.util.Vector,java.text.*,java.util.HashMap,com.csc.library.databean.MyDataList,com.csc.library.databean.Simtapstran_rec"%> <%@page import="com.csc.library.download.FileDownloadUtils2"%> <% request.setCharacterEncoding("UTF-8"); %> <jsp:useBean id="APP_PAT" class="com.csc.library.system.Task" scope="page"/> <jsp:useBean id="APS_EMV704HELP" class="com.csc.library.system.Task" scope="page"/> <jsp:setProperty name="APP_PAT" property="appname" value="empview" /> <jsp:setProperty name="APS_EMV704HELP" property="appname" value="empview" /> <% CheckNull chk=new CheckNull(); APP_PAT.setChannel(request,response); UIManager screen = (UIManager) APP_PAT.process("SingleEntry","APP_PA"); int search = (chk.chkNullString(request.getParameter("__cmd")).equals(""))?0:1; String apsid = "PAT"; CscCalendar car = new CscCalendar(); CscCalendar st_date = new CscCalendar(); CscCalendar en_date = new CscCalendar(); DbInquiry ty = new InitialInquiry(screen.getUProfile()).getDbInquiry("TAPSTRAN0"); ty.setColumn("*"); ty.setFilter("APSID='"+apsid+"' AND ACTIVE_STATUS='1' "); ty.refresh(); ty.referLangOn(); String desc=""; String apsyear=""; if(ty.next()){ desc = ty.getString("tdesc"); st_date = new CscCalendar(ty.getString("apsperiodstart")); en_date = new CscCalendar(ty.getString("apsperiodend")); apsyear = ty.getString("apsyear"); } if(chk.chkNullString(request.getParameter("__cmd")).equals("")){ screen.getRecord().set("apsid",apsid); screen.getRecord().set("apsassessor",chk.chkNullString(request.getParameter("apsassessor"),screen.getUProfile().get("employeeid"))); screen.getRecord().set("apsassessy",chk.chkNullString(request.getParameter("apsassessy"),screen.getUProfile().get("employeeid"))); screen.getRecord().set("companyid",screen.getUProfile().get("companyid")); screen.getRecord().set("apsyear",apsyear); screen.getRecord().set("sequence","1"); search = screen.getRecord().search(); } String apsassessor = chk.chkNullString(request.getParameter("apsassessor")); String apsassessy = chk.chkNullString(request.getParameter("apsassessy"),screen.getUProfile().get("employeeid")); String isRead = chk.chkNullString(request.getParameter("isread")); String ass_Level = chk.chkNullString(request.getParameter("ass_level"),"0"); String bPage = chk.chkNullString(request.getParameter("bpage")); String name = ""; String position = ""; String empid = apsassessy; String apsapprove1 = screen.getDataLabel("APSAPPROVE1"); String state = chk.chkNullString(screen.getDataLabel("apsstate"),"0"); //if(screen.getDataLabel("apsstatus").equals("A")){ //out.println("isRead : " + isRead + " ass_Level " + ass_Level + " bPage " + bPage); String elementname = ""; String list_elementname = ""; String req_elementname = ""; String cmd = chk.chkNullString(request.getParameter("__cmd")); int asrnecessary_num = 0; //---------------------------------Chk State && ผู้ประเมิน --------------------------------- DbInquiry taps = new InitialInquiry(screen.getUProfile()).getDbInquiry("TAPSSTATE"); taps.setColumn("*"); taps.setFilter("APSPEID in (select APSPEID from TAPSPERIOD where APSID = '"+apsid+"') and STATEID = '"+state+"'"); taps.refresh(); taps.next(); String tapfields = taps.getString("APSASSESSOR"); String statechk = ""; if(screen.getUProfile().get("employeeid").equals(screen.getDataLabel(tapfields))){ statechk = "true"; }else{ statechk = "false"; } //---------------------------------Chk Period --------------------------------- String today = car.getYYYYMMDD(); taps.setFilter("APSPEID in (select APSPEID from TAPSPERIOD where APSID = '"+apsid+"') and STATEID = '"+state+"' and '"+today+"' between DATESTART and DATEEND"); taps.refresh(); taps.next(); String periodchk = ""; if(taps.recCount()==1){ periodchk = "true"; }else{ periodchk = "false"; } //out.print("Today == "+today+"</br>periodchk == "+periodchk+"</br>statechk == "+statechk+"</br>state == "+state); String periodbybu2 = ""; if(state.equals("5")){ periodbybu2 = screen.getDataLabel("PERIODBYBU2"); } %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Appraisal</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style> .color-wh{ color:white !important; } </style> </head> <body> <div class="bg-com"></div> <script type='text/javascript' src='/hr/dwr/interface/SearchDWR.js'></script> <jsp:include page="EMV_HEADMENU.jsp" flush="true" /> <script> function goHelp(helpName,inputName){ with(document.cscform){ __helpName.value = helpName; var helpReturn=""; var fcon=__fixCon.value; if(inputName.indexOf("$kpid")>-1){ var answerdesc = inputName.replace("$kpid","$answerdesc"); var rate5 = inputName.replace("$kpid","$rate5"); var rate4 = inputName.replace("$kpid","$rate4"); var rate3 = inputName.replace("$kpid","$rate3"); var rate2 = inputName.replace("$kpid","$rate2"); var rate1 = inputName.replace("$kpid","$rate1"); var weight = inputName.replace("$kpid","$asrweight"); helpReturn = inputName+":kpid,"+answerdesc+":kpidesc,"+rate5+":rate5,"+rate4+":rate4,"+rate3+":rate3,"+rate2+":rate2,"+rate1+":rate1,"+weight+":weight"; fcon = "bu3='"+__bu3id.value+"' and bu4='"+__bu4id.value+"' and kpitype='B' "; }else if(inputName="__kpiid"){ helpReturn = inputName+":kpiid"; fcon = "bu3='"+__bu3id.value+"' and bu4='"+__bu4id.value+"' and kpitype='B' "; } if(fcon==""){ linkHelp_Return(helpName,helpReturn); }else{ helpPageCon(helpName,helpReturn,fcon); } } } function postReturn(){ with(document.cscform){ if(__helpName.value == "MKPIS0HELP"){ searchMkpis(__kpiid.value); } sumtotalscore(); } } function searchMkpis(kpiid){ SearchDWR.searchDBXMLAll(new Array("MKPIS1HELP","mkpis1.kpiid,mkpis1.kpidesc,mkpis1.rate5,mkpis1.rate4,mkpis1.rate3,mkpis1.rate2,mkpis1.rate1,mkpis1.weight" ,"MKPIS1:kpiid='"+kpiid+"' ","false","langon",""),{ callback:function(data){ if(data.length>0){ clearKPIs(data.length); for(var i=0 ; i<data.length ; i++){ var num = ""+(i+1) ; if(i<10){ num = "0"+(i+1); } var elementname = "__tas$PAT03$PAT0301"+num; with(document.cscform){ eval(elementname+"$answerdesc").value = data[i][1]; eval(elementname+"$rate5").value = data[i][2]; eval(elementname+"$rate4").value = data[i][3]; eval(elementname+"$rate3").value = data[i][4]; eval(elementname+"$rate2").value = data[i][5]; eval(elementname+"$rate1").value = data[i][6]; eval(elementname+"$asrweight").value = data[i][7]; } } sumtotalscore(); } } }); } function clearKPIs(len){ for(var i=1 ; i<=20 ; i++){ displayNone('group3Row'); } for(var i=0 ; i<len || i<10 ; i++){ displayRow('group3Row'); } } function delKPIs(elementname){ with(document.cscform){ eval(elementname+"$kpid").value = ""; eval(elementname+"$answerdesc").value = ""; eval(elementname+"$rate5").value = ""; eval(elementname+"$rate4").value = ""; eval(elementname+"$rate3").value = ""; eval(elementname+"$rate2").value = ""; eval(elementname+"$rate1").value = ""; eval(elementname+"$asrweight").value = "0.00"; eval(elementname+"$asranswer1").value = ""; eval(elementname+"$asranswer2").value = ""; eval(elementname+"$asranswer").value = "0"; eval(elementname+"$asrsumscore").value = "0.00"; eval(elementname+"$choice").value = "0.00"; } sumtotalscore(); } function toolTip(){} function formatFloat(value){ var val = value; if(val.indexOf(".")>=0){ var tmp = val.split("."); if(tmp[1].length==0){ val = tmp[0]+".00"; }else if(tmp[1].length==1){ val = tmp[0]+"."+tmp[1]+"0"; }else if(tmp[1].length>2){ val = tmp[0]+"."+tmp[1].substring(0,2); } }else{ val = val+".00"; } return val; } function checkNumFloat(obj,min,max){ if (obj.value != "") { obj.value = parseFloat(obj.value)+""; // แปลงจาก 01234.xx เป็น 1234.xx checkInputComma(obj); // ถ้าพิม xxx ก็ให้เป็น xxx.00 if (min >= 0 && max > 0) { callMaxMin(obj,min,max); // ตรวจดูว่าค่าที่กรอกเกินค่าสูงสุด หรือต่ำกว่าค่าต่ำสุดหรือไม่ } insertComma(obj); //123456 ==> 123,456 }else{ //เพิ่ม obj.value = "0.00"; } } /* for set def vale*/ function setValueElementID(id, value){ if(document.getElementById(id)!=null){ document.getElementById(id).value = formatFloat(value+""); //alert(id+" :: "+document.getElementById(id).value); } } function getValueElementID(id){ var value = "0.00"; if(document.getElementById(id)!=null){ value = document.getElementById(id).value; } return value; } /* set get */ //asrscore function setValueAsrscore(elename, value){ var id = elename+"$asrscore"; setValueElementID(id, value); } function setValueAsrmaxscore(elename, value){ var id = elename+"$asrmaxscore"; setValueElementID(id, value); } //sumscoremax function setValueAsrsumscoremax(elename, value){ var id = elename+"$asrsumscoremax"; setValueElementID(id, value); } //answer function setValueAsranswer(elename, value){ var id = elename+"$asranswer"; if(document.getElementById(id)!=null){ //alert("find : " + id + " value :: " + value); document.getElementById(id).value = value; } } function getValueAsranswer(elename){ var value = ""; var id = elename+"$asranswer"; if(document.getElementById(id)!=null){ value = document.getElementById(id).value; } return value; } //answerdesc function setValueAnswerdesc(elename, value){ var id = elename+"$answerdesc"; if(document.getElementById(id)!=null){ document.getElementById(id).value = value; } } //sumscore function setValueAsrsumscore(elename, value){ var id = elename+"$asrsumscore"; var total = parseFloat(getValueAsrweight(elename))*parseFloat(value); if(document.getElementById(id)!=null){ document.getElementById(id).value = formatFloat(total+""); } } //sumval //weigth function getValueAsrweight(elename){ var value = "0.00"; var id = elename+"$asrweight"; if(document.getElementById(id)!=null){ value = document.getElementById(id).value; } return value; } //choice function setCheckChoice(elename,awid,chk){ var id = elename+"$"+awid; if(document.getElementById(id)!=null){ document.getElementById(id).checked = chk; } } function getValueChoice(elename,awid){ var value = ""; var id = elename+"$"+awid; if(document.getElementById(id)!=null){ value = document.getElementById(id).value; } return value; } function setValueApssumscore(value){ document.cscform.__apssumscore.value = formatFloat(value+""); var v1 = formatFloat(value+""); var v_total = formatFloat(document.cscform.__sumweigth.value); var percen = v1*100/v_total; // document.cscform.__apsscore1.value= percen.toFixed(2); } /*** /* for choice radio & checkbox*/ function chkAnsCheckbox_Radio(chkbox,max,elename){ if(!isMaxAnsCheckbox(chkbox,max)){ var obj = document.getElementsByName(chkbox.name); var sumscore = 0.00; var anwid = ""; var id = ""; if(typeof obj!="undefined"){ for(i=0;i<obj.length;i++){ if(obj[i].checked){ sumscore = (parseFloat(sumscore)+parseFloat(obj[i].value)); id = obj[i].id; anwid += (anwid!="")?","+id.replace(elename+"$",""):id.replace(elename+"$",""); } } } setValueAsrscore(elename, chkbox.value); setValueAsrsumscore(elename, sumscore); setValueAsranswer(elename, anwid); var tmp_elename = elename; var sub_elename = tmp_elename.split("$"); //alert(sub_elename); if(sub_elename.length >= 2){ calValueSumval(sub_elename[1]); } calValueApssumscore(); }else{ alert("can't checked this ans."); chkbox.checked = false; } } function checkGrade(frm){ var obj = document.getElementById("avgchoice$"+frm); if(obj!=null){ with(document.cscform){ if(parseFloat(obj.value)>=4.5){ apsgrade.value = 5; __apsgrade.value = '5'; }else if(parseFloat(obj.value)>=3.5){ apsgrade.value = 4; __apsgrade.value = '4'; }else if(parseFloat(obj.value)>=2.5){ apsgrade.value = 3; __apsgrade.value = '3'; }else if(parseFloat(obj.value)>=1.5){ apsgrade.value = 2; __apsgrade.value = '2'; }else { apsgrade.value = 1; __apsgrade.value = '1'; } } } } function checkTotalGrade(frm){ var obj = document.getElementById("avgchoice$"+frm); if(obj!=null){ with(document.cscform){ if(typeof apsgrade_avg!="undefined"){ var total = parseFloat(parseInt(obj.value)+parseInt(__referscore.value))/2; score_avg.value = total; for(i=0;i<apsgrade_avg.length;i++){ apsgrade_avg[i].disabled = false; } if(parseFloat(total)>=4.5){ apsgrade_avg[4].click(); }else if(parseFloat(total)>=3.5){ apsgrade_avg[3].click(); }else if(parseFloat(total)>=2.5){ apsgrade_avg[2].click(); }else if(parseFloat(total)>=1.5){ apsgrade_avg[1].click(); }else { apsgrade_avg[0].click(); } for(i=0;i<apsgrade_avg.length;i++){ apsgrade_avg[i].disabled = true; } } } } } function chkAnsList(obj,elename){ with(document.cscform){ // alert(obj+" :: "+elename); var asranswer = obj.name.replace("$choice","$asranswer"); // alert(asranswer); eval(asranswer).value = obj.value; } } function checkTotalGradeAll(){ var obj = document.getElementsByName("avgchoice"); if(typeof obj!="undefined"){ if(typeof obj.length!="undefined"){ for(i=0;i<obj.length;i++){ var frmid = obj[i].id.split("$")[1]; calSumNo(frmid); checkTotalGrade(frmid); } }else{ var frmid = obj.id.split("$")[1]; calSumNo(frmid); checkTotalGrade(frmid); } } } function calSumNo(frm){ var obj = document.getElementById("list_elementname$"+frm); if(obj!=null){ var no = 0; var total = 0; var tmp = obj.value.split(","); for(i=0;i<tmp.length;i++){ if(tmp[i]!=""){ no++; } } var count = 0; var multi = 0; obj = document.getElementById("list_choice$"+frm); if(obj!=null){ var choice = obj.value.split(","); for(c=0;c<choice.length;c++){ count = 0; multi = 0; for(i=0;i<tmp.length;i++){ obj = document.getElementById(tmp[i]+"$"+choice[c]); if(obj!=null && obj.checked){ count++; } } obj = document.getElementById("sumchoice$"+frm+"$"+choice[c]); if(obj!=null){ obj.value = count; } obj = document.getElementById("multiplechoice$"+frm+"$"+choice[c]); if(obj!=null){ multi = obj.value; } obj = document.getElementById("sumvalchoice$"+frm+"$"+choice[c]); if(obj!=null){ obj.value = parseInt(count)*parseInt(multi); total = parseInt(total)+parseInt(obj.value); } } obj = document.getElementById("avgchoice$"+frm); if(obj!=null){ obj.value = this.formatFloat((parseFloat(total)/parseFloat(no))+""); } } } } function isMaxAnsCheckbox(chkbox,max){ if(chkbox.checked){ var obj = document.getElementsByName(chkbox.name); var count = 0; if(typeof obj!="undefined"){ for(i=0;i<obj.length;i++){ if(obj[i].checked){ ++count; } } } return (max<count); } return false; } function restoreCheckChoice(elename){ var tmp_data = getValueAsranswer(elename); var sub_data = tmp_data.split(","); for(i=0;i<sub_data.length;i++){ setCheckChoice(elename,sub_data[i],true); } } /* for textbox asrscore*/ function calOnAsrcore(chkbox,elename){ setValueAsrsumscore(elename, chkbox.value); var tmp_elename = elename; var sub_elename = tmp_elename.split("$"); if(sub_elename.length >= 2){ calValueSumval(sub_elename[1]); } calValueApssumscore(); } function calValueApssumscore(){ var obj = document.getElementsByName("sumval"); var score = 0.00; if(typeof obj!="undefined"){ for(i=0;i<obj.length;i++){ // alert(" id :: "+obj[i].id); score = parseFloat(obj[i].value)+parseFloat(score); } } // alert("score :: "+score); // setValueApssumscore(score); // calValueApsscorepc(); // calScoreGroup1(score); // calScoreGroup2(); // caScoreGroupAll(); } /* begin sumscore */ //var AA =""; function calValueSumval(asfid){ //alert(asfid); var id = "list_elementname$"+asfid; var score = 0.00; if(document.getElementById(id)!=null){ var tmp = document.getElementById(id).value; // alert("tmp "+tmp); var tmp_element = tmp.split(","); //alert("tmp_element :: "+tmp_element); for(i=0;i<tmp_element.length;i++){ if(tmp_element[i] != ""){ //alert("asrscore :: "+tmp_element[i]+"$asrscore"); if( typeof document.getElementById(tmp_element[i]+"$asrscore") != "undefined"){ // alert(document.getElementById(tmp_element[i]+"$asrscore").name); //alert(document.getElementById(tmp_element[i]+"$asrscore").value); //score = parseFloat(getValueAsrsumscore(tmp_element[i]+"$asrscore")); //var key_id = tmp_element[i]+"$asrscore"; //score += parseFloat(document.getElementById(key_id).value); } } } } //alert("score >> "+score); setValueSumval(asfid,score); } function getValueAsrsumscore(elename){ var value = "0.00"; var id = elename; if( typeof document.getElementById(id) != "undefined"){ //alert("find : " + id); value = document.getElementById(id).value; } //alert("value "+value); return value; } function setValueSumval(asfid, value){ var id = "sumval$"+asfid; setValueElementID(id, value); } /*end sum score*/ function calValueApssumscoremax(){ var obj = document.getElementsByName("list_elementname"); var score = 0.00; if(typeof obj!="undefined"){ for(i=0;i<obj.length;i++){ var tmp_obj = obj[i].value; var sub_obj = tmp_obj.split(","); for(j=0;j<sub_obj.length;j++){ score = parseFloat(getValueAsrsumscoremax(sub_obj[j]))+parseFloat(score); } } } setValueApssumscoremax(score); } function getValueAsrsumscoremax(elename){ var id = elename+"$asrsumscoremax"; return getValueElementID(id); } function setValueApssumscoremax(value){ window.document.cscform.__apssumscoremax.value = formatFloat(value+""); } function calValueApsscorepc(){ with(document.cscform){ var tmp_apssumscore = (__apssumscore.value!="")?__apssumscore.value:"0.00"; var tmp_apssumscoremax = (__apssumscoremax.value!="")?__apssumscoremax.value:"0.00"; __apsscorepc.value = (parseFloat(tmp_apssumscore)/parseFloat(tmp_apssumscoremax))*100.00; __apsscorepc.value = formatFloat(__apsscorepc.value+""); } } /* summary */ function setForRead(){ with(document.cscform){ //isread.value = "1"; //alert("isread "+isread.value); if(isread.value=="1"){ //alert("ass_level "+ass_level.value); if(ass_level.value == 1){ setDisVL1(); setDisVLTextArea(); setDisVLRadio(); __apscomment.disabled = true; __apsgrade.disabled = true; __apsappdesc1.disabled = true; __apssumscore.disabled = true; __apsdate.disabled = true; __apsscore1.disabled = true; __apsscore2.disabled = true; __apsscore.disabled = true; document.getElementById("__attachfile_upload").style.display = "none"; document.getElementById("__attachfile_delete").style.display = "none"; } if(ass_level.value == 2){ setDisVL1(); setDisVL2(); } if(ass_level.value == 3 ){ setDisVL1(); setDisVL2(); setDisVL3(); } if(ass_level.value == 0){ setDisVL1(); setDisVL2(); setDisVL3(); setDisVL0(); } } } } function setDisVLTextArea(){ with(document.cscform){ for(i=0;i<elements.length;i++){ if(elements[i].type=="textarea") { elements[i].disabled=true; } } } } function setDisVLRadio(){ with(document.cscform){ for(i=0;i<elements.length;i++){ if(elements[i].type=="radio") { elements[i].disabled=true; } } } } function setDisVL(){ with(document.cscform){ if(ass_level.value == 2 || ass_level.value == 3 || ass_level.value == 0){ setDisVL1(); } } } function setDisVL1(){ var tmp; var tmp_list; var obj; var disname= new Array("asrscore","asrsumscore","asranswer","answerdesc"); //__tas$101$RC0109$answerdesc with(document.cscform){ if(typeof list_elementname!="undefined"){ if(typeof list_elementname.length!="undefined"){ for(i=0;i<list_elementname.length;i++){ tmp_list = list_elementname[i].value.split(","); for(j=0;j<tmp_list.length;j++){ for(k=0;k<disname.length;k++){ // alert(tmp_list[j]+"$"+disname[k]); if(document.getElementById(tmp_list[j]+"$"+disname[k])!=null){ document.getElementById(tmp_list[j]+"$"+disname[k]).disabled = true; //document.getElementById(tmp_list[j]+"$"+disname[k]).readonly = true; } } obj = document.getElementsByName(tmp_list[j]+"$choice"); if(typeof obj!="undefined"){ for(k=0;k<obj.length;k++){ obj[k].disabled = true; } } } } }else{ tmp_list = list_elementname.value.split(","); for(j=0;j<tmp_list.length;j++){ for(k=0;k<disname.length;k++){ if(document.getElementById(tmp_list[j]+"$"+disname[k])!=null){ document.getElementById(tmp_list[j]+"$"+disname[k]).disabled = true; } } obj = document.getElementsByName(tmp_list[j]+"$choice"); if(typeof obj!="undefined"){ for(k=0;k<obj.length;k++){ obj[k].disabled = true; } } } } } } } function setDisVL2(){ with(document.cscform){ __apsappcomment1.disabled = true; __apsappgrade1.disabled = true; } } function setDisVL3(){ with(document.cscform){ __apsappcomment2.disabled = true; __apsappgrade2.disabled = true; } } function setDisVL0(){ with(document.cscform){ __apssyagreestat[0].disabled = true; __apssyagreestat[1].disabled = true; __apssycomment.disabled = true; } } /*OLD*/ function GoClean(){ with(document.cscform){ if(isread.value!="1"){ GoClear(); }else{ alert(MyCode[150]); } } } function GoClear(){ with(document.cscform){ if(ass_level.value == 1){ if(__apsstatus.value!="A" || isadmin.value=='1'){ clearLV1(); }else{ alert(MyCode[44]); } }else if(ass_level.value == 2){ if(__apsappstatus1.value!="A"){ clearLV2(); }else{ alert(MyCode[44]); } }else if(ass_level.value == 3){ if(__apsappstatus1.value!="A"){ clearLV3(); }else{ alert(MyCode[44]); } } } } function clearLV1(){ var tmp; var tmp_list; var obj; var disname= new Array("asrscore","asrsumscore","asranswer","answerdesc"); with(document.cscform){ if(typeof list_elementname!="undefined"){ if(typeof list_elementname.length!="undefined"){ for(i=0;i<list_elementname.length;i++){ tmp_list = list_elementname[i].value.split(","); for(j=0;j<tmp_list.length;j++){ if(document.getElementById(tmp_list[j]+"$asrscore")!=null){ document.getElementById(tmp_list[j]+"$asrscore").value = "0.00"; } if(document.getElementById(tmp_list[j]+"$asrsumscore")!=null){ document.getElementById(tmp_list[j]+"$asrsumscore").value = "0.00"; } if(document.getElementById(tmp_list[j]+"$asranswer")!=null){ document.getElementById(tmp_list[j]+"$asranswer").value = ""; } if(document.getElementById(tmp_list[j]+"$answerdesc")!=null){ document.getElementById(tmp_list[j]+"$answerdesc").value = ""; } obj = document.getElementsByName(tmp_list[j]+"$choice"); if(typeof obj!="undefined"){ for(k=0;k<obj.length;k++){ obj[k].checked = false; } } } } }else{ tmp_list = list_elementname.value.split(","); for(j=0;j<tmp_list.length;j++){ if(document.getElementById(tmp_list[j]+"$asrscore")!=null){ document.getElementById(tmp_list[j]+"$asrscore").value = "0.00"; } if(document.getElementById(tmp_list[j]+"$asrsumscore")!=null){ document.getElementById(tmp_list[j]+"$asrsumscore").value = "0.00"; } if(document.getElementById(tmp_list[j]+"$asranswer")!=null){ document.getElementById(tmp_list[j]+"$asranswer").value = ""; } if(document.getElementById(tmp_list[j]+"$answerdesc")!=null){ document.getElementById(tmp_list[j]+"$answerdesc").value = ""; } obj = document.getElementsByName(tmp_list[j]+"$choice"); if(typeof obj!="undefined"){ for(k=0;k<obj.length;k++){ obj[k].checked = false; } } } } } if(typeof sumval!="undefined"){ if(typeof sumval.length!="undefined"){ for(i=0;i<sumval.length;i++){ sumval[i].value = "0.00"; } }else{ sumval.value = "0.00"; } } __apssumscore.value = "0.00"; __apscomment.value = ""; __apsgrade.value = ""; calValueApsscorepc(); } } function clearLV2(){ with(document.cscform){ __apsappcomment1.value = ""; __apsappgrade1.value = "0"; } } function clearLV3(){ with(document.cscform){ __apsappcomment2.value = ""; __apsappgrade2.value = "0"; } } function chkBackpage(){ if(document.cscform.__sysisedit.value == "true"){ con = confirm("มีการแก้ไขหน้าจอ ต้องการบันทึกหรือไม่"); if (con){ goSave(); }else{ window.close(); } }else{ window.close(); } } function goBackPage(){ window.opener.document.cscform.submit(); window.close(); } function viewPrintPage(){ var page = "APS_EMV704_P.jsp"; with(document.cscform){ page=page+"?apsid="+__apsid.value+"&apsassessor="+__apsassessor.value+"&apsassessy="+__apsassessy.value; window.open(page,"Help2",""); } } function goSave(){ with(document.cscform){ /* if(isread.value!="1"){ chkSave(); }else{ alert(MyCode[150]); }*/ $("input[name='__nextstep']").val(""); saveData(); } } function chkSave(){ with(document.cscform){ if(ass_level.value=="1"){ goSaveLV1(); }else if(ass_level.value=="2"){ goSaveLV2(); }else if(ass_level.value=="3"){ goSaveLV3(); }else if(ass_level.value=="0"){ goSaveLV1(); } } } function saveData(){ with(document.cscform){ confirmSave(); } } function confirmSave(){ //saveRecord(); if(nullCheck()){ with(document.cscform){ //aCon=confirm(MyCode[1]);// จะบันทึกหรือไม่ //if (aCon==true) { save(); //} } } } function save(){ // saveRecord() with(document.cscform){ __confirm.value="0"; __cmd.value = "save"; //alert("cmd:"+__cmd.value); setSysIsEdit(""); submit(); } } function goSaveLV1(){ with(document.cscform){ if(__apsstatus.value=="A" && isadmin=='1'){ alert(MyCode[44]) }else{ if(!requirField()){ if(__apsgrade[0].checked || __apsgrade[1].checked || __apsgrade[2].checked ){ __apsstatus.value="A" saveData(); }else{ alert("กรุณาสรุปผลสัมภาษณ์"); } }else{ alert(MyCode[0]); } } } } function goSaveLV2(){ with(document.cscform){ if(__apsappstatus1.value=="A"){ alert(MyCode[44]) }else{ if(__apsappcomment1.value!=""){ __apsappstatus1.value = "W"; saveData(); }else{ alert(MyCode[0]); __apsappcomment1.select(); } } } } function goSaveLV3(){ with(document.cscform){ if(__apsappstatus2.value=="A"){ alert(MyCode[44]) }else{ if(__apsappcomment2.value!=""){ __apsappstatus2.value = "W"; saveData(); }else{ alert(MyCode[0]); __apsappcomment2.select(); } } } } function goSaveLV0(){ with(document.cscform){ if(__apssyconfirm.value=="A"){ alert(MyCode[44]) }else{ if(!__apssyagreestat[0].checked&&!__apssyagreestat[1].checked){ alert("กรุณาเลือกความคิดเห็น"); }else{ if(__apssycomment.value!=""){ __apssyconfirm.value = "A"; saveData(); }else{ alert(MyCode[0]); __apssycomment.select(); } } } } } function setWarringReq(id_){ //var id = elename; //alert(document.getElementById(id_).textContent); if(document.getElementById(id_)!="undefined"){ document.getElementById(id_).innerHTML = "<font class='stop'>"+document.getElementById(id_).textContent+"</font>"; } } function setFreeReq(id_){ //var id = elename; if(document.getElementById(id_)!=null){ document.getElementById(id_).innerHTML = document.getElementById(id_).textContent; } } function requirField(){ var pass = false; var tap_req; with(document.cscform){ // alert(req_elementname.value); // if(req_elementname != "undefined"){ if(typeof req_elementname != "undefined"){ tap_req = req_elementname.value.split(","); for(i=0;i<tap_req.length;i++){ if(document.getElementById(tap_req[i]+"$answerdesc")!=null && document.getElementById(tap_req[i]+"$answerdesc").type == "textarea"){ if(document.getElementById(tap_req[i]+"$answerdesc").value == "" && document.getElementById(tap_req[i]+"$asrscore").value == ""){ setWarringReq(tap_req[i]+"$no"); pass = true; }else{ setFreeReq(tap_req[i]+"$no"); } } obj = document.getElementsByName(tap_req[i]+"$choice"); if(typeof obj!="undefined" && obj.length>0){ var chk = false; for(k=0;k<obj.length;k++){ if(obj[k].checked){ chk = true; } } if(chk){ // alert(tap_req[i]+"$no"); setFreeReq(tap_req[i]+"$no"); }else{ //alert(tap_req[i]+"$no"); setWarringReq(tap_req[i]+"$no"); pass = true; } } } } } return pass; } function GoSearch(){ alert(MyCode[150]); } function GoUpdate(){ update(); } function GoDelete(){ alert(MyCode[150]); } function updateRecord(){ with(document.cscform){ bCon=confirm(MyCode[3]); if (bCon==true) { __apsstatus.value = "A"; __confirm.value="s"; __cmd.value = "save"; submit(); } } } function checkConfirm(){ var conCode=""; var conDesc=""; with(document.cscform){ conCode=getConfirmIndex(__confirm.value,"0"); conDesc=getConfirmIndex(__confirm.value,"1"); if(__confirm.value=="4") alert(MyCode[19]); if(__confirm.value=="1" || __confirm.value=="2"){ alert(MyCode[18]); goBackPage(); } if(__confirm.value=="-1" || __confirm.value=="-2") alert(MyCode[17]); if(conCode=="-99"){ //setTimeout("updateRecord()",1600); updateRecord(); } } } function calPercen(obj,total){ with(document.cscform){ // __apsscore1.value= obj.value; } } function calSumGroup(){ with( document.cscform ){ var score$10 = 0.0; var score$20 = 0.0; var score$30 = 0.0; var inputs = document.getElementsByTagName("input"); for (x=0;x<inputs.length;x++){ if(inputs[x].getAttribute('type')=='hidden'){ var elementName = inputs[x].getAttribute('name'); if(elementName.indexOf("__tas$10$")==0 && elementName.lastIndexOf("$asrscore")==15){ score = (document.getElementById(elementName).value) ; score$10 += (score*1); }else if(elementName.indexOf("__tas$20$")==0 && elementName.lastIndexOf("$asrscore")==15){ score = (document.getElementById(elementName).value) ; score$20 += (score*1); }else if(elementName.indexOf("__tas$30$")==0 && elementName.lastIndexOf("$asrscore")==15){ score = (document.getElementById(elementName).value) ; score$30 += (score*1); } } } var rate$10 = (70/40) ; score$10 = score$10*rate$10; __group$10.value = score$10; var rate$20 = (20/10) ; score$20 = score$20*rate$20; __group$20.value = score$20; var rate$30 = (10/15) ; score$30 = score$30*rate$30; __group$30.value = score$30; // __apssumscore.value = (score$10+score$20+score$30).toFixed(2); // __apsscore1.value = (score$10+score$20+score$30).toFixed(2); } } function calScoreGroup1(score){ with(document.cscform){ var result = score * (10 / parseFloat(__asrnecessary_num.value)); __apsscore1.value = result.toFixed(2); } } function chkGroup2(obj){ with(document.cscform){ // alert(obj); if(eval(obj+"$answerdesc").value==""){ var asrsChoice = obj+"$choice"; // alert(asrsChoice); // var asrsChoice = obj.name.replace("$answerdesc","$choice"); var ele = document.getElementsByName(asrsChoice); for(var i=0;i<ele.length;i++){ ele[i].checked = false; } eval(obj+"$asrsumscore").value = "0.00"; eval(obj+"$asrscore").value = "0.00"; eval(obj+"$asranswer").value = ""; } // calScoreGroup2(); // caScoreGroupAll(); } } var group3Open = 10; var maxline=20; function displayRow(type){ if(type=="group3Row"){ group3Open++; if(group3Open <= maxline){ document.getElementById(type+parseInt(group3Open)).style.display="table-row"; }else{ hiddenButtonAddGroup3(true); } } } function displayNone(type){ with(document.cscform){ if(type=="group3Row"){ if(group3Open > 20){ group3Open=20; } if(group3Open>0){ var answerText = eval("__textarea"+group3Open).value; var answerRadio = answerText.replace("$answerdesc",""); //__tas$RE201$RC0205$answerdesc delKPIs(answerRadio); document.getElementById(type+group3Open).style.display="none"; group3Open--; } if(group3Open <=20 ){ hiddenButtonAddGroup3(false); } } } } function showRow(line){ with(document.cscform){ for(var i=20;i>line;i--){ var answerText = eval("__textarea"+i).value if(eval(answerText).value == ""){ document.getElementById("group3Row"+i).style.display="none"; }else{ if(group3Open==20){ hiddenButtonAddGroup3(true); } break; } group3Open = i-1; } // alert("group3Open : "+group3Open); } } function hiddenButtonAddGroup3(con){ if(con == true){ document.getElementById("btnAddGroup3").style.display="none"; }else{ document.getElementById("btnAddGroup3").style.display=""; } } //------ ฟังก์ชั่นคำนวณคะแนน function sumtotalscore(){ var sumw8=parseFloat(0.00); //รวมน้ำหนัก ข้อ 3 var sumscore=parseFloat(0.00); //รวมคะแนนข้อ 3 แนวนอน var sumstotal=parseFloat(0.00); //รวมคะแนนข้อ 3 แนวตั่ง var sumscore04 = parseInt(0); //รวมคะแนนข้อ 4 var sumkpi = parseFloat(0.00); //รวมคะแนนข้อ 3 ใน ส่วนที่ 2.1 var sumckw = parseFloat(0.00); //รวมคะแนนข้อ 4ใน ส่วนที่ 2.1 var totralpartI = parseFloat(0.00); //รวมคะแนนข้อ 3 + ข้อ 4 ในส่วนที่ 2.1 var mullti = $("input[name=multii]").val(); //------ รวมน้ำหนัก ข้อ 3 $(".w8").each(function(){ if($(this).val()==""){ $(this).val(0); } sumw8 += parseFloat($(this).val()); }); $("#sumw8").text(sumw8.toFixed(2)); //------ รวมคะแนนข้อ 3 แนวตั่ง $(".score").each(function(){ if($(this).val()==""){ $(this).val(0); } sumscore += parseFloat($(this).val()); }); $("#sumscore").text(sumscore.toFixed(2)); //------ รวม total คะแนนข้อ 3 แนวตั่ง $(".total").each(function(){ if($(this).val()==""){ $(this).val(0); } sumstotal += parseFloat($(this).val()); }); $("#sumtotal").text(sumstotal.toFixed(2)); //------ คิด เปอเซนต์คะแนนข้อ 3 sumstotal = ((sumstotal * 100) / 500); $("#persumtotal").text(sumstotal.toFixed(2)); //------ รวมคะแนนข้อ 4 $(".sel").each(function(){ if($(this).val()==""){ $(this).val(0); } sumscore04 += parseInt($(this).val()); }); $("#total004").text(sumscore04); //------ คิด เปอเซนต์คะแนนข้อ 4 ในส่วที่ 2.1 sumscore04 = (sumscore04 / mullti) * 100; $("#pertotal004").text(sumscore04.toFixed(1)); //------ คำรวณลง PART 2.1 $("#total60part101").text(((sumstotal / 100)*60).toFixed(2)); $("#total40part102").text(((sumscore04 / 100)*40).toFixed(2)); //------ คำนวณ totoal score 60%+40% ของ Part2.1 sumkpi = parseFloat($("#total60part101").text()); sumckw = parseFloat($("#total40part102").text()); totralpartI = sumkpi + sumckw ; $("#totalpart1").text(totralpartI.toFixed(2)); calgrade(1,totralpartI); // -->->-------ไปคำนวณเกรดต่อ-----> //------ คำรวณลง PART 2.2 $("#total04part201").text(sumscore04.toFixed(2)); $("#total04part202").text(sumscore04.toFixed(2)); //------ หักคะแนน Part 2.2 และรวมคะแนน caldeduct(sumscore04); }; function caldeduct(sumscore04){ //------ ตัวแปรมาสาย var latetime = parseFloat(0.00); //จำนวนครั้งมาสาย var worklate = parseFloat(0.00); //รวมหักคะแนนมาสาย //----- ตัวแปรพฤติกรรม var verbal = parseFloat(0.00); //จำนวนครั้งที่ถูกเตือนด้วยวาจา var letter = parseFloat(0.00); //จำนวนครั้งที่ถูกเตือนด้วยจดหมายเตือน var suspend = parseFloat(0.00); //จำนวนครั้งที่ถูกพักงาน var sumdeduct = parseFloat(0.00); //รวมหักคะแนนลงโทษ var worklate = parseFloat(0.00); //รวมหักคะแนนมาสาย var grandtotal = parseFloat(0.00); //รวมคะแนน - หักคะแนน latetime = $("#latetime").text(); if(latetime >= 1 && latetime <= 3){ worklate = latetime * 1 ; }else if(latetime >= 4 && latetime <= 5){ worklate = latetime * 3 ; }else{ worklate = latetime * 5 ; } $("#worklate").text(worklate.toFixed(2)); verbal = $("#verbal").text() * 3; letter = $("#letter").text() * 5; suspend = $("#suspend").text() * 10; sumdeduct = ((verbal + letter) + suspend) ; $("#Deduct").text(sumdeduct.toFixed(2)); //------ รวมคะแนนที่ได้และหัก 2.2 grandtotal = ((sumscore04-worklate)-sumdeduct); $("#grandtotal").text(grandtotal.toFixed(2)); $("#__apsscoresalary").val(grandtotal.toFixed(2)); calgrade(2,grandtotal); } function calgrade(num,score){ var grade = ""; if(score>=90){ grade="A"; }else if(score>=80){ grade="B+" }else if(score>=70){ grade="B" }else if(score>=60){ grade="B-" }else if(score>=1){ grade="C" }else{ grade="E" } //console.log("คะแนน = "+score+" ได้เกรด = "+grade+" num = "+num); if(num==1){ $("#fgrade").text(grade); $("#__apsscorebonus").val(score.toFixed(2)); $("#__apsgradebonus").val(grade); }else{ $("#fgrade-deduct").text(grade); } } function caltotalscore(elementname){ elementname = elementname.slice(0,21); var w8 = parseFloat($("input[name='"+elementname+"$asrweight']").val()); var score = parseFloat($("input[name='"+elementname+"$asranswer']").val()); var calscore = 0.00; if(!isNaN(score)){ calscore = parseFloat(w8*score); } $("input[name='"+elementname+"$asrsumscore']").val(calscore.toFixed(2)); //console.log(w8+" * "+score+" == "+ calscore); } function chksubmit(){ var sumw8 = parseFloat($("#sumw8").text()); if(sumw8!=100.00){ alert("ไม่สามารถบันทึกข้อมูลได้ กรุณาปรับ Weight ให้มีค่าเท่ากับ 100 || Weight ในปัจจุบัน = "+sumw8); }else{ $("input[name='__nextstep']").val("1"); saveData(); } } //------ ต้นปี function state0(){ $(".mid-year").attr("readonly","true"); $(".end-year").attr("readonly","true"); $(".score").attr("disabled","true"); $(".sel").attr("disabled","true"); $(".grade").attr("disabled","true"); } //------ กลางปี function state1(){ $(".fr-year").attr("readonly","true"); $(".fr-btn").css("display","none"); $(".input-group").removeClass("input-group"); $(".end-year").attr("readonly","true"); /*$(".score").attr("disabled","true");*/ $(".grade").attr("disabled","true"); } //------ สิ้นปี function state2(){ $(".fr-year").attr("readonly","true"); $(".fr-btn").css("display","none"); $(".input-group").removeClass("input-group"); $(".mid-year").attr("readonly","true"); } //------ ปิดการประเมิน function otherstate(){ $(".fr-year").attr("readonly","true"); $(".fr-btn").css("display","none"); $(".input-group").removeClass("input-group"); $(".mid-year").attr("readonly","true"); $(".end-year").attr("readonly","true"); $(".score").attr("disabled","true"); $(".sel").attr("disabled","true"); $(".grade").attr("disabled","true"); $(".abottom").hide(); } //------ ฟังก์ชั่นเช็ค state เพื่อล็อคช่อง input function chkstate(){ var state = "<%=state%>"; var statechk = "<%=statechk%>"; var periodchk = "<%=periodchk%>"; var periodbybu2 = "<%=periodbybu2%>"; /* ------------------------------------ state == 0 : กำหนด KPIs state == 1 : ประเมินผลกลางปีด้วยตนเอง state == 2 : ประเมินผลกลางปีด้วยหัวหน้า state == 3 : ประเมินผลปลายปีด้วยตนเอง state == 4 : ประเมินผลปลายปีด้วยหัวหน้า ------------------------------------ */ //console.log("state == "+state+" periodchk == "+periodchk+" statechk == "+statechk); /* if(periodchk == "false"){ otherstate(); }else{ if(statechk == "false"){ otherstate(); }else{ if(state == "0"){ state0(); }else if(state == "1" || state == "2"){ state1(); }else if(state == "3" || state == "4"){ state2(); } } }*/ if(periodbybu2==""){ if(periodchk == "false"){ otherstate(); }else{ if(statechk == "false"){ otherstate(); }else{ if(state == "0"){ state0(); }else if(state == "1" || state == "2"){ state1(); }else if(state == "3" || state == "4" || state == "5"){ state2(); }else if(state == "6"){ otherstate(); } } } }else if(periodbybu2=="0"){ otherstate(); }else if(periodbybu2=="1"){ if(state == "0"){ state0(); }else if(state == "1" || state == "2"){ state1(); }else if(state == "3" || state == "4" || state == "5"){ state2(); }else if(state == "6"){ otherstate(); } } } $(document).ready(function(){ sumtotalscore(); chkstate(); $(".w8").on("change",function(){ var elementname = $(this).attr('name'); caltotalscore(elementname); }).on("blur",function(){ var elementname = $(this).attr('name'); caltotalscore(elementname); }).on("focus",function(){ $(this).select(); }); $(".score").on("change",function(){ var elementname = $(this).attr('name'); caltotalscore(elementname); }) $(".w8").on("change",function(){ sumtotalscore(); }); $(".score").on("change",function(){ sumtotalscore(); }); $(".sel").on("change",function(){ sumtotalscore(); }); //------ คำนวณวัน Leave record var totalday = parseFloat(0); $(".leave").each(function(){ totalday += parseFloat($(this).text()); }); $("#leavetotal").text(totalday.toFixed(3)); //------ เช็ค น้ำหนัก ให้ใส่แค่ตัวเลข $(".w8").on( "keypress", function( event ) { // a-z [97-122] // A-Z [65-90] // 0-9 [48-57] // Enter [13] // Backspace [8] // _ [95] if( !(event.which >= 48 && event.which <= 57) && event.which !== 8){ event.preventDefault(); } }); }); </script> <section> <div class="container csc-content"> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <form name="cscform" method="post" action="APP_PAT.jsp"> <!-- InstanceBeginEditable name="Form Element" --> <!-- ใส่ Hidden fiels --> <%=screen.InitialVariable()%> <input type="hidden"name="__screen" value="APP_PAT"> <input type="hidden" name="__page" value="PAT"> <input type="hidden" name="__fixCon" value=""> <input type="hidden" name="__help" value=""> <input type="hidden" name="__keyList" value=""> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__chkReq" value=""> <input type="hidden" name="__calendar"> <input type="hidden" name="__childFilter"> <input type="hidden" name="__notNull"> <script language="javascript">getInputFormatDate();</script> <input type="hidden" name="__language" value ="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__user" value="<%=screen.getUProfile().getUserId()%>"> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__backpage" value = "<%=request.getParameter("__backpage")%>"> <input type="hidden" name="__sysisedit" value = "false"> <input type="hidden" name="__apsid" value="<%=screen.getDataLabel("apsid")%>"> <input type="hidden" name="__astid" value="<%=screen.getDataLabel("astid")%>"> <input type="hidden" name="__apsassessor" value="<%=screen.getDataLabel("apsassessor")%>"> <input type="hidden" name="__apsassessy" value="<%=screen.getDataLabel("apsassessy")%>"> <input type="hidden" name="__emp_group" value="<%=screen.getDataLabel("emp_group")%>"> <input type="hidden" name="__apsyear" value="<%=screen.getDataLabel("apsyear")%>"> <input type="hidden" name="apsid" value="<%=chk.chkNullString(request.getParameter("apsid"))%>"> <input type="hidden" name="apsassessor" value="<%=chk.chkNullString(request.getParameter("apsassessor"))%>"> <input type="hidden" name="apsassessy" value="<%=chk.chkNullString(request.getParameter("apsassessy"))%>"> <input type="hidden" name="bu1" value="<%=chk.chkNullString(request.getParameter("bu1"))%>"> <input type="hidden" name="bu2" value="<%=chk.chkNullString(request.getParameter("bu2"))%>"> <input type="hidden" name="isread" value="<%=isRead%>"> <input type="hidden" name="bpage" value="<%=bPage%>"> <input type="hidden" name="ass_level" value="<%=ass_Level%>"> <input type="hidden" name="appname" value="<%=chk.chkNullString(request.getParameter("appname"),"empview")%>"> <input type="hidden" name="isadmin" value="<%=chk.chkNullString(request.getParameter("isadmin"),"0")%>"> <input type="hidden" name="__apsapprove1" value="<%=screen.getDataLabel("apsapprove1")%>"> <input type="hidden" name="__apsapprove2" value="<%=screen.getDataLabel("apsapprove2")%>"> <input type="hidden" name="__apsapprove3" value="<%=screen.getDataLabel("apsapprove3")%>"> <input type="hidden" name="__apsapprove4" value="<%=screen.getDataLabel("apsapprove4")%>"> <input type="hidden" name="__apsapprove5" value="<%=screen.getDataLabel("apsapprove5")%>"> <input type="hidden" name="__apsstatus" value="<%=screen.getDataLabel("apsstatus")%>"> <input type="hidden" name="__apsappstatus1" value="<%=screen.getDataLabel("apsappstatus1")%>"> <input type="hidden" name="__apsappstatus2" value="<%=screen.getDataLabel("apsappstatus2")%>"> <input type="hidden" name="__apsappstatus3" value="<%=screen.getDataLabel("apsappstatus3")%>"> <input type="hidden" name="__apsappstatus4" value="<%=screen.getDataLabel("apsappstatus4")%>"> <input type="hidden" name="__apsappstatus5" value="<%=screen.getDataLabel("apsappstatus5")%>"> <input type="hidden" name="__apsstatus_last" value="<%=screen.getDataLabel("apsstatus_last")%>"> <!-- <input type="hidden" name="__apssumscore" value="<%=screen.getDataLabel("apssumscore")%>"> --> <input type="hidden" name="__apssumscore1" value="<%=screen.getDataLabel("apssumscore1")%>"> <input type="hidden" name="__apssumscore2" value="<%=screen.getDataLabel("apssumscore2")%>"> <input type="hidden" name="__apssumscore3" value="<%=screen.getDataLabel("apssumscore3")%>"> <input type="hidden" name="__apssumscore4" value="<%=screen.getDataLabel("apssumscore4")%>"> <input type="hidden" name="__apssumscore5" value="<%=screen.getDataLabel("apssumscore5")%>"> <input type="hidden" name="__apssumscore_last" value="<%=screen.getDataLabel("apssumscore_last")%>"> <!-- <input type="hidden" name="__apsscore" value="<%//=screen.getDataLabel("apsscore")%>"> --> <!-- <input type="hidden" name="__apsscore1" value="<%//=screen.getDataLabel("apsscore1")%>"> --> <!-- <input type="hidden" name="__apsscore2" value="<%//=screen.getDataLabel("apsscore2")%>"> --> <!-- <input type="hidden" name="__apsscore3" value="<%//=screen.getDataLabel("apsscore3")%>"> --> <!-- <input type="hidden" name="__apsscore4" value="<%//=screen.getDataLabel("apsscore4")%>"> --> <!-- <input type="hidden" name="__apsscore5" value="<%//=screen.getDataLabel("apsscore5")%>"> --> <input type="hidden" name="__apsscore_last" value="<%=screen.getDataLabel("apsscore_last")%>"> <input type="hidden" name="__apssumscoremax" value="<%=screen.getDataLabel("apssumscoremax")%>"> <input type="hidden" name="__apsscorepc" value="<%=screen.getDataLabel("apsscorepc")%>"> <input type="hidden" name="__apssyconfirm" value="<%=screen.getDataLabel("apssyconfirm")%>"> <input type="hidden" name="__apsappcomment1" value="<%=screen.getDataLabel("apsappcomment1")%>"> <input type="hidden" name="__apsasssource" value="<%=screen.getDataLabel("apsasssource")%>"> <input type="hidden" name="__group$10" value="<%=chk.chkNullString(request.getParameter("__group$10"),"0")%>"> <input type="hidden" name="__group$20" value="<%=chk.chkNullString(request.getParameter("__group$20"),"0")%>"> <input type="hidden" name="__group$30" value="<%=chk.chkNullString(request.getParameter("__group$30"),"0")%>"> <input type="hidden" name="__line_no" value="<%=chk.chkNullString(request.getParameter("__line_no"))%>"> <input type="hidden" name="__nextstep" value="<%=chk.chkNullString(request.getParameter("__nextstep"))%>"> <input type="hidden" name="__apsstate" value="<%=screen.getDataLabel("apsstate")%>"> <input type="hidden" name="__kpiid" size="4" value="<%=chk.chkNullString(request.getParameter("__kpiid"))%>"> <input type="hidden" name="__helpName" size="4" value="<%=chk.chkNullString(request.getParameter("__helpName"))%>"> <!-- InstanceEndEditable --> <div class="csc-block-white"> <% int numofrow=0; if(search==1){ DbInquiry empp = new InitialInquiry(screen.getUProfile()).getDbInquiry("memployee"); DbInquiry pos = new InitialInquiry(screen.getUProfile()).getDbInquiry("mposition"); DbInquiry bu1 = new InitialInquiry(screen.getUProfile()).getDbInquiry("mbu1"); DbInquiry bu2 = new InitialInquiry(screen.getUProfile()).getDbInquiry("mbu2"); empp.setColumn("*"); empp.putChild(pos); empp.putChild(bu1); empp.putChild(bu2); empp.setFilter("employeeid='"+apsapprove1+"'"); empp.refresh(); empp.next(); %> <div class="center"> <h4> <%=desc%></br> รอบการประเมิน : <%=st_date.getDate()%> <%=st_date.getThaiLongMonth()%> <%=st_date.getYear()%> - <%=en_date.getDate()%> <%=en_date.getThaiLongMonth()%> <%=en_date.getYear()%> </h4> </div> <div class="container csc-content"> <legend class="legend-control" >ส่วนที่ 1 : ข้อมูลผู้รับการประเมิน</legend> <div class="row"> <div class="form-group"> <div class="col-md-6 col-sm-6 col-xs-6"> <table class="table table-head table-fixed table-hover table-bordered table-title-left"> <tr> <th colspan="2">ข้อมูลผู้รับการประเมิน</th> </tr> <tr> <th class="table-title">รหัสพนักงาน</th> <td> <% if(empid.equals("")){ out.print(screen.getUProfile().get("employeeid")); }else{ out.print(empid); } %> </td> </tr> <tr> <th class="table-title">ชื่อ - นามสกุล</th> <td> <% empp.setFilter("employeeid='"+empid+"'"); empp.refresh(); empp.next(); out.print(empp.getString("fullname_noprefix")); %> </td> </tr> <tr> <th class="table-title">ตำแหน่ง</th> <td> <% if(position.equals("")){ out.print(empp.getString("mposition","tdesc")); }else{ out.print(position); } %> </td> </tr> <tr> <th class="table-title">ฝ่าย / แผนก</th> <td> <% out.print(empp.getString("mbu1","tdesc")+" / "+empp.getString("mbu2","tdesc")); %> <input type="hidden" name="__bu3id" value="<%=chk.chkNullString(request.getParameter("__bu3id"),empp.getString("bu3"))%>"> <input type="hidden" name="__bu4id" value="<%=chk.chkNullString(request.getParameter("__bu4id"),empp.getString("bu4"))%>"> </td> </tr> <tr> <th class="table-title">ระดับ</th> <td> <% out.print(empp.getString("pl")); %> </td> </tr> </table> </div> <div class="col-md-6 col-sm-6 col-xs-6"> <table class="table table-head table-fixed table-hover table-bordered table-title-left"> <tr> <th colspan="2">ข้อมูลผู้บังคับบัญชา/ผู้ประเมิน</th> </tr> <tr> <th class="table-title">รหัสพนักงาน</th> <td> <% out.print(screen.getUProfile().get("employeeid")); %> </td> </tr> <tr> <th class="table-title">ชื่อ - นามสกุล</th> <td> <% empp.setFilter("employeeid='"+screen.getUProfile().get("employeeid")+"'"); empp.refresh(); empp.next(); out.print(empp.getString("fullname_noprefix")); %> </td> </tr> <tr> <th class="table-title">ตำแหน่ง</th> <td> <% if(position.equals("")){ out.print(empp.getString("mposition","tdesc")); }else{ out.print(position); } %> </td> </tr> <tr> <th class="table-title">ฝ่าย / แผนก</th> <td> <% out.print(empp.getString("mbu1","tdesc")+" / "+empp.getString("mbu2","tdesc")); %> </td> </tr> </table> </div> </div> </div> <div class="row"> <div class="form-group"> <div class="col-md-3 col-sm-3 col-xs-3"> <table class="table table-head table-hover table-bordered table-title-left"> <% String empployid = ""; if(empid.equals("")){ empployid = screen.getUProfile().get("employeeid"); }else{ empployid = empid; } DbInquiry mg = new InitialInquiry(screen.getUProfile()).getDbInquiry("MGRADEHISTORY"); mg.setColumn("*"); mg.setOrderBy("year desc"); mg.refresh(); mg.next(); int lastyear = chk.chkNullStringToInt(mg.getString("year")); String startyear = String.valueOf(lastyear-1); String endyear = String.valueOf(lastyear); String bonusstartgrade = "-"; String bonusendgrade = "-"; String salarystartgrade = "-"; String salaryendgrade = "-"; mg.setFilter("employeeid='"+empployid+"' and year BETWEEN '"+startyear+"' and '"+endyear+"'"); mg.setOrderBy("year"); mg.refresh(); while(mg.next()){ if(mg.getString("year").equals(startyear)){ if(mg.getString("type").equalsIgnoreCase("B")){ bonusstartgrade = mg.getString("grade"); } else if(mg.getString("type").equalsIgnoreCase("S")){ salarystartgrade = mg.getString("grade"); } } else { if(mg.getString("type").equalsIgnoreCase("B")){ bonusendgrade = mg.getString("grade"); } else if(mg.getString("type").equalsIgnoreCase("S")){ salaryendgrade = mg.getString("grade"); } } } %> <tr> <th>เกรดย้อนหลัง</th> <th><%=startyear%></th> <th><%=endyear%></th> </tr> <tr> <td>โบนัส</td> <td class="center"><%=bonusstartgrade%></td> <td class="center"><%=bonusendgrade%></td> </tr> <tr> <td>ปรับเงินเดือน</td> <td class="center"><%=salarystartgrade%></td> <td class="center"><%=salaryendgrade%></td> </tr> </table> </div> <div class="col-md-9 col-sm-9 col-xs-9"> <table class="table table-head table-hover table-bordered"> <tr> <th rowspan="2">สถิติการลางาน</th> <th>ลากิจ</th> <th>ลาป่วย</th> <th>ขาดงาน</th> <th>พักงาน</th> <th>มาสาย-กลับก่อน</th> <th>ลากิจเกิน</th> <th>ลาป่วยเกิน</th> <th>ลาคลอดเกิน</th> <th>ลาอุปสมบทเกิน</th> <th>รวมวันลา</th> </tr> <% DecimalFormat df = new DecimalFormat("0.000"); Float lv_private = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_private"),"0")); Float lv_sick = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_sick"),"0")); Float lv_absence = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_absence"),"0")); Float lv_suspended = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_suspended"),"0")); Float lv_private_over = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_private_over"),"0")); Float lv_sick_over = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_sick_over"),"0")); Float lv_maternity_over = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_maternity_over"),"0")); Float lv_ordination_over = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_ordination_over"),"0")); String lv_late_days = chk.chkNullString(screen.getDataLabel("lv_late_days"),"0.00"); lv_late_days = lv_late_days.substring(0,lv_late_days.indexOf(".")); Float lv_back = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_early_back"),"0")); Float lv_late = Float.parseFloat(chk.chkNullString(screen.getDataLabel("lv_late"),"0")); Float late_early_back = lv_late + lv_back; %> <tr> <td class="center leave"><%=df.format(lv_private)%></td> <td class="center leave"><%=df.format(lv_sick)%></td> <td class="center leave"><%=df.format(lv_absence)%></td> <td class="center leave"><%=df.format(lv_suspended)%></td> <td class="center leave"><%=df.format(late_early_back)%></td> <td class="center leave"><%=df.format(lv_private_over)%></td> <td class="center leave"><%=df.format(lv_sick_over)%></td> <td class="center leave"><%=df.format(lv_maternity_over)%></td> <td class="center leave"><%=df.format(lv_ordination_over)%></td> <td class="center" id="leavetotal">0.000</td> </tr> <tr> <th rowspan="2">มาสาย</th> <th>นาที</th> <th>จำนวนครั้ง</th> <th rowspan="2" colspan="2">รายละเอียดการลงโทษ</th> <th colspan="2">วาจา</th> <th colspan="2">ใบเตือน</th> <th colspan="2">พักงาน</th> </tr> <tr> <td class="center"><%=df.format(lv_late)%></td> <td class="center" id="latetime"><%=lv_late_days%></td> <td colspan="2" class="center" id="verbal"><%=chk.chkNullString(screen.getDataLabel("verbal"),"0")%></td> <td colspan="2" class="center" id="letter"><%=chk.chkNullString(screen.getDataLabel("letter"),"0")%></td> <td colspan="2" class="center" id="suspend"><%=chk.chkNullString(screen.getDataLabel("suspend"),"0")%></td> </tr> </table> </div> </div> </div> <table class="table table-head table-bordered table-title-left"> <tr> <th colspan="5">เกณฑ์การหักคะแนน</th> </tr> <% DbInquiry de = new InitialInquiry(screen.getUProfile()).getDbInquiry("DECRITERIA"); de.setColumn("*"); de.setOrderBy("dcid"); de.refresh(); //de.referLangOn(); int j =0; while(de.next()){ j++; %> <tr> <td class="table-title" rowspan="2"><%= j+". " + de.getString("ttitle")%></br><%=de.getString("ttitltdesc")%></td> <td class="center" rowspan="2"><%=de.getString("tdesc")%></td> <th class="center"><%=de.getString("thead1")%></th> <th class="center"><%=de.getString("thead2")%></th> <th class="center"><%=de.getString("thead3")%></th> </tr> <tr> <td class="center"><%=de.getString("score1")%></td> <td class="center"><%=de.getString("score2")%></td> <td class="center"><%=de.getString("score3")%></td> </tr> <%}%> </table></br> <legend class="legend-control" >ส่วนที่ 2: สรุปผลการประเมินโดยรวมประจำปี <%=apsyear%> </legend> <div class="row"> <div class="form-group"> <div class="col-md-12 col-sm-12 col-xs-12"> <label class="control-label control-label-form"><b>ผลการประเมินในส่วนนี้จะคำนวณให้อัตโนมัติ หากท่านกรอกคะแนนโดยใช้คอมพิวเตอร์ โดยคะแนนสูงสุดเท่ากับ 100%</b></label> </div> </div> </div> <div class="row"> <div class="form-group"> <div class="col-md-6 col-sm-6 col-xs-6"> <table class="table table-head table-hover table-bordered table-title-left"> <tr> <th colspan="5">การประเมินผลสัมฤทธิ์ของงาน (KPls)</th> </tr> <tr> <td>คะแนนประเมินตัวชี้วัดผลงานหลักระดับฝ่าย / แผนก / บุคคล (ส่วนที่ 3)</td> <td class="center">60%</td> <td class="trash" id="total60part101">0.00</td> </tr> <tr> <td>คะแนนประเมินสมรรถนะ (ส่วนที่ 4)</td> <td class="center">40%</td> <td class="trash" id="total40part102">0.00</td> </tr> <tr> <td class="trash"><b>รวมคะแนน</b></td> <td class="center result">100%</td> <td class="trash result" id="totalpart1">0.00</td> </tr> <tr> <td colspan="2" class="trash"><b>เกรดสำหรับโบนัส</b></td> <td class="center result" id="fgrade"></td> <input type="hidden" name="__apsscorebonus" id="__apsscorebonus" value="<%=chk.chkNullString(request.getParameter("__apsscorebonus"))%>"/> <input type="hidden" name="__apsgradebonus" id="__apsgradebonus" value="<%=chk.chkNullString(request.getParameter("__apsgradebonus"))%>"/> </tr> </table> </div> <div class="col-md-6 col-sm-6 col-xs-6"> <table class="table table-head table-hover table-bordered table-title-left"> <tr> <th colspan="5">การประเมินสมรรถนะ (Competency)</th> </tr> <tr> <td>คะแนนประเมินสมรรถนะ (ส่วนที่ 4)</td> <td class="center">100%</td> <td class="trash" id="total04part201">0.00</td> </tr> <tr> <td class="trash"><b>(1)รวมคะแนน</b></td> <td class="center result">100%</td> <td class="trash result" id="total04part202">0.00</td> </tr> <tr> <td colspan="2" class="trash"><b>(2) หักคะแนน</b> : การมาสายในรอบปี*</td> <td class="trash result" id="worklate">0.00</td> </tr> <tr> <td colspan="2" class="trash"><b>(3) หักคะแนน</b> : การลงโทษทางวินัยในรอบปี*</td> <td class="trash result" id="Deduct">0.00</td> </tr> <tr> <td colspan="2" class="trash"><b>(4) รวมคะแนนสุทธิ </b> (1)-(2)-(3)</td> <td class="trash result" id="grandtotal">0.00</td> </tr> <tr> <td colspan="2" class="trash"><b>เกรดก่อนตัดค่าเฉลี่ยวันลาเกิน 3.5 วัน</b></td> <td class="center result" id="fgrade-deduct"></td> </tr> <tr> <td colspan="2" class="trash"><b>เกรดสำหรับปรับเงินเดือน</b></td> <td class="center result"> <select class="form-control grade" name="__apsgradesalary" id="__apsgradesalary"> <option value=""></option> <option value="A" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("A")){%>selected<%}%>>A</option> <option value="B+" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("B+")){%>selected<%}%>>B+</option> <option value="B" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("B")){%>selected<%}%>>B</option> <option value="B-" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("B-")){%>selected<%}%>>B-</option> <option value="C" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("C")){%>selected<%}%>>C</option> <option value="E" <%if(chk.chkNullString(request.getParameter("__apsgradesalary"),screen.getDataLabel("apsgradesalary")).equals("E")){%>selected<%}%>>E</option> </select> </td> </tr> <input type="hidden" name="__apsscoresalary" id="__apsscoresalary" value="<%=chk.chkNullString(request.getParameter("__apsscoresalary"))%>"/> </table> </div> </div> </div> <div class="row"> <div class="form-group"> <div class="col-md-4 col-sm-4 col-xs-4"> <table class="table table-head table-hover table-bordered table-content-center"> <tr> <th colspan="2">เกณฑ์การประเมิน</th> </tr> <tr> <th>เกรด</th> <th>คะแนน</th> </tr> <% DbInquiry gg = new InitialInquiry(screen.getUProfile()).getDbInquiry("mgrade"); gg.setColumn("*"); gg.setFilter("ggid='PA'"); gg.setOrderBy("grid"); gg.refresh(); //gg.referLangOn(); while(gg.next()){ %> <tr> <td><%=gg.getString("grade")%></td> <td><%=gg.getString("tdesc")%></td> </tr> <%}%> </table> </div> <div class="col-md-8 col-sm-8 col-xs-8"> <table class="table table-head table-bordered table-title-left"> <tr> <th style="width: 25%;">ขั้นตอน / การลงนาม</th> <th style="width: 15%;">ผู้รับการประเมิน</th> <th style="width: 15%;">ผู้บังคับบัญชา/</br>ผู้ประเมิน</th> <th style="width: 15%;">ผู้บังคับบัญชา</br>ถัดไป</th> <th style="width: 15%;">HR Manager</th> <th style="width: 15%;">HR VP</th> </tr> <% DbInquiry ts = new InitialInquiry(screen.getUProfile()).getDbInquiry("TAPSTRAN_SIGNATURE"); DbInquiry pd = new InitialInquiry(screen.getUProfile()).getDbInquiry("TAPSPERIOD"); ts.setColumn("*"); ts.putChild(pd); ts.setFilter("EMPLOYEEID = '"+empid+"' and APSID = '"+apsid+"' and APSYEAR ='"+apsyear+"'"); ts.refresh(); //out.print("reccort== "+ts.recCount()); //กำ while(ts.next()){ %> <!-- Signature --> <tr> <td rowspan="2"><%=getHeaderTD(ts.getString("TAPSPERIOD","TDESC"))%></td> <td class="center"><%=ts.getString("APSASSESSY")%></td> <td class="center"><%=ts.getString("APSAPPROVE1")%></td> <td class="center"><%=ts.getString("APSAPPROVE2")%></td> <td class="center"><%=ts.getString("APSAPPROVE3")%></td> <td class="center"><%=ts.getString("APSAPPROVE4")%></td> </tr> <!-- Date --> <tr> <td class="center"><%=!ts.getString("APSASSESSY").equals("")?new CscCalendar(ts.getString("APSASSESSYDATE")).getDDMMYYYY():""%></td> <td class="center"><%=!ts.getString("APSAPPROVE1").equals("")?new CscCalendar(ts.getString("APSAPPROVE1DATE")).getDDMMYYYY():""%></td> <td class="center"><%=!ts.getString("APSAPPROVE2").equals("")?new CscCalendar(ts.getString("APSAPPROVE2DATE")).getDDMMYYYY():""%></td> <td class="center"><%=!ts.getString("APSAPPROVE3").equals("")?new CscCalendar(ts.getString("APSAPPROVE3DATE")).getDDMMYYYY():""%></td> <td class="center"><%=!ts.getString("APSAPPROVE4").equals("")?new CscCalendar(ts.getString("APSAPPROVE4DATE")).getDDMMYYYY():""%></td> </tr> <% } %> </table> </div> </div> </div> <!-- ข้อ 3 - 4 --> <table class="table table-head table-hover table-bordered table-title-left"> <% APS_EMV704HELP.setChannel(request,response); HelpEntry tastran = (HelpEntry) APS_EMV704HELP.process("HelpEntry","ASP700HELP"); // tastran.getInquiry().setFilter("apsid='"+chk.chkNullString(request.getParameter("apsid"))+"' and apsassessor='"+chk.chkNullString(request.getParameter("apsassessor"))+"' and apsassessy='"+chk.chkNullString(request.getParameter("apsassessy"))+"'"); tastran.getInquiry().setFilter("apsid='"+screen.getDataLabel("apsid")+"' and apsassessor='"+screen.getDataLabel("apsassessor")+"' and apsassessy='"+screen.getDataLabel("apsassessy")+"'"); tastran.setMaxLine(-1); tastran.process(); tastran.referLangOn(); // out.print(tastran.getInquiry().getFilter()); HashMap hm = new HashMap<String,Integer>(); String asgid = ""; while(tastran.nextRec()){ asgid = tastran.getDataLabel("asgid"); // out.print("<br>"+asgid); if(hm.containsKey(asgid)){ hm.put(asgid,(Integer)hm.get(asgid)+1); }else{ hm.put(asgid,1); } } tastran.process(); String asfid = ""; asgid = ""; String last_asgid = ""; String astype = ""; String choice[] = null; double sumWeigth =0.0; int width = 79; int col =2; int no = 1; //int i=0; int group3Row = 0; boolean have_w = false; DbInquiry inq_masanswer = null; //out.print("tastran :: "+tastran.inq.recCount()); int zzz = 0; while(tastran.nextRec()){ zzz++; // out.print("<br>zzz :: "+zzz); sumWeigth += Double.parseDouble(chk.chkNullString(tastran.getDataLabel("asrweight"),"0.00")); elementname = "__tas$"+tastran.getDataLabel("asfid")+"$"+tastran.getDataLabel("asid"); //String xx = tastran.getDataLabel("asfid"); // out.print("xx = "+xx+"<br>"); //String xx = tastran.getDataLabel("astype"); // out.print("<br>begin"+elementname); if(!asfid.equals(tastran.getDataLabel("asfid"))){ // foot if(!asfid.equals("")){ if(astype.equals("0")||astype.equals("3")||(astype.equals("4") && have_w)){ %> <input type="hidden" name="list_elementname" id="list_elementname$<%=asfid%>" value="<%=list_elementname%>"> <!-- <tr> <td colspan="<%=col-1%>" width="93%" align="right"><script language="javascript">swapLang("sum score");</script></td > <td width="7%" align="center"> <input type="text" name="sumval" id="sumval$<%=asfid%>" size="5" value="0.00" readonly dir="rtl"></td> </tr> --> <input type="hidden" name="sumval" id="sumval$<%=asfid%>" size="5" value="0.00" readonly dir="rtl"> <% } %> <!--scrip--> <script language="javascript">calValueSumval('<%=asfid%>');</script> </table> <% } /* <- foot*/ /* envirom -> */ no = 0; have_w = true; col = 2; width = 79; asfid = tastran.getDataLabel("asfid"); //this.chk_req = inq_tastran.getDataLabel("asrnecessary"); astype = tastran.getDataLabel("massess","astype"); inq_masanswer = (DbInquiry)tastran.inq.getCurrentDbRecord().getChild("masanswer"); list_elementname = ""; if(!astype.equals("0")){ width = 79-(7*inq_masanswer.recCount()); }else{ width = 79-7; ++col; /*col += col+inq_masanswer.recCount();*/ } if(astype.equals("4") && Double.parseDouble(chk.chkNullString(tastran.getDataLabel("asrweight"),"0.00"))==0){ have_w = false; width += 14; col -= 2; } if( !astype.equals("0") && inq_masanswer.recCount()>0){ choice = new String[inq_masanswer.recCount()]; if(choice.length>0){ for(int i=0;i<choice.length;i++,inq_masanswer.next()){ choice[i] = inq_masanswer.getString("tdesc"); ++col; } inq_masanswer.first(); inq_masanswer.next(); } } // envirom // head if(astype.equals("0") || astype.equals("3") || astype.equals("4")){ %> <legend class="legend-control" ><%=tastran.getDataLabel("masform","tdesc")%></legend> <table class="table table-head table-bordered table-title-left" colspan="<%=col%>"> <tr> <!-- <td width="3%" class="column-text-center" ><script language="javascript">swapLang('Weight');</script></td> --> <% if(astype.equals("0")||astype.equals("3")||(astype.equals("4") &&have_w)){ %> <% } if( !astype.equals("0") && inq_masanswer.recCount()>0){ do{ %> <!-- <td width="7%" class="column-text-center" class="column-text"><%//=inq_masanswer.getString("tdesc")%></td> --> <% }while(inq_masanswer.next()); inq_masanswer.first(); inq_masanswer.next(); } if(astype.equals("0") || astype.equals("3") || astype.equals("4")){ %> <!-- <td width="7%" class="column-text-center"><script language="javascript">swapLang('Comment add');</script></td> --> <% } if(astype.equals("0")||astype.equals("3")||(astype.equals("4") &&have_w)){ %> <% } %> </tr> <% String asgidFrm2 = tastran.getDataLabel("masgroup","asgid"); if(asgidFrm2.equals("PAT0401")){ gg.setColumn("*"); gg.setFilter("ggid='PA1'"); gg.setOrderBy("grid"); gg.refresh(); //gg.referLangOn(); %> <tr> <th colspan="4">โปรดให้คะแนนตรงกับพฤติกรรมของผู้รับการประเมิน</th> </tr> <% while(gg.next()){ %> <tr> <td class="table-title" colspan="4"><b><%=gg.getString("grade")%> <%=gg.getString("tdesc")%></b></td> </tr> <% } } %> <% }else if(astype.equals("5")){ %> <tr> <td> <table class="table table-head table-bordered table-title-left"> <% } // head asfid = tastran.getDataLabel("asfid"); } // group if(!asgid.equals(tastran.getDataLabel("asgid"))){ String asgidFrm = tastran.getDataLabel("masgroup","asgid"); if(asgidFrm.equals("PAT0301")){ %> <tr> <th rowspan="2">ลำดับ</th> <th rowspan="2" style="width: 24%;"> <%=tastran.getDataLabel("masgroup","tdesc")%> </br> <div class="center"> <a class="color-wh fr-btn" href="javascript:goHelp('MKPIS0HELP','__kpiid');"><i class="fa fa-search"></i></a> <a class="color-wh fr-btn" href="javascript:clearKPIs('10');"><i class="fa fa-trash-o"></i></a> </div> </th> <th colspan="5">ระดับการประเมิน</th> <th colspan="2" style="width: 12%;">ความคิดเห็น</br> (ระบุผลที่ได้จริง)</th> <th rowspan="2" style="width: 7%;">%</br> น้ำหนัก</th> <th rowspan="2" style="width: 7%;">คะแนนที่ได้</th> <th rowspan="2" style="width: 8%;">รวม</br> คะแนน</th> </tr> <tr> <th>5</th> <th>4</th> <th style="width: 70px;">เป้าหมาย</br>3</th> <th>2</th> <th>1</th> <th style="width: 80px;">ครึ่งปีแรก</th> <th style="width: 80px;">สิ้นปี</th> </tr> <% }else if(asgidFrm.equals("PAT0401")){ %> <tr> <th>หัวข้อประเมิน</th> <th>คำอธิบาย</th> <th style="width: 80px;">คะแนนที่ได้</th> </tr> <% } %> <% asgid = tastran.getDataLabel("asgid"); } // group // body ++no; list_elementname += elementname+","; if(tastran.getDataLabel("asrnecessary").equals("0")){ req_elementname += elementname+","; asrnecessary_num ++; } // out.print("astype ::"+astype); if(astype.equals("0")){ %> <tr> <td width="<%=width%>%" class="column-text"><br><%=tastran.getDataLabel("massess","tdesc").replaceAll("\r\n","<br>")%><br> </td> <td width="7%" class="column-text-center"><input type="text" name="<%=elementname+"$asrscore"%>" id="<%=elementname+"$asrscore"%>" size="5" dir="rtl" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrscore"),tastran.getDataLabel("asrscore"))%>" onKeyPress="checkWordNumber(this.value);sysIsEdit();" onBlur="checkNumFloat(this,<%=tastran.getDataLabel("massess","asminscore")%>,<%=tastran.getDataLabel("massess","asmaxscore")%>);calOnAsrcore(this,'<%=elementname%>');" onKeyUp="checkComma(this,2);" onFocus="callDelComma(this);"></td> <td width="7%" align="center" class="column-text"><textarea name="<%=elementname+"$answerdesc"%>" id="<%=elementname+"$answerdesc"%>" cols="50" rows="2" onKeyPress="chkSpecialStr();sysIsEdit();" onKeyUp="chkLimitTextArea(this,2000);" onBlur="trimValue(this);"><%=chk.chkNullString(request.getParameter(elementname+"$answerdesc"),tastran.getDataLabel("answerdesc"))%></textarea> <input type="hidden" name="<%=elementname+"$asrsumscore"%>" id="<%=elementname+"$asrsumscore"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrsumscore"),tastran.getDataLabel("asrsumscore"))%>" size="5" dir="rtl" readonly ></td> <!-- <input type="hidden" name="<%//=elementname+"$asrmaxscore"%>" id="<%//=elementname+"$asrmaxscore"%>" value="<%//=chk.chkNullString(request.getParameter(elementname+"$asrmaxscore"),tastran.getDataLabel("asrmaxscore"))%>"> --> <!-- <input type="hidden" name="<%//elementname+"$asrsumscoremax"%>" id="<%//=elementname+"$asrsumscoremax"%>" value="<%//=tastran.getDataLabel("asrsumscoremax")%>"> --> <!-- <input type="hidden" name="<%//=elementname+"$asrweight"%>" id="<%//=elementname+"$asrweight"%>" value="<%//=chk.chkNullString(request.getParameter(elementname+"$asrweight"),tastran.getDataLabel("asrweight"))%>"> --> </tr> <!-- ข้อ 4 --> <% }else if(astype.equals("3")){ numofrow+=1; %> <tr> <td id="<%=elementname+"$no"%>" value="<%=no%>" align="center" style="display: none;"><%=no%></td> <% if(!asgid.equals(last_asgid)){ %> <td rowspan="<%=(Integer)hm.get(tastran.getDataLabel("asgid"))%>"><%=tastran.getDataLabel("masgroup","tdesc")%></td> <% } %> <td class="table-title"> <%=tastran.getDataLabel("massess","tdesc").replaceAll("\r\n","<br>")%> </td> <!-- <td width="3%" align="center"><div align="center"><%=tastran.getDataLabel("asrweight")%></div></td> --> <!-- choice --> <% /* String anwid = ""; int max = 0; String init_tooltip=""; int score=0; try{ max = Integer.parseInt(tastran.getDataLabel("massess","asanswer")); }catch(NumberFormatException e){ e.printStackTrace(); } inq_masanswer = (DbInquiry)tastran.inq.getCurrentDbRecord().getChild("masanswer"); for(int i=0;choice!=null && i<choice.length; i++, inq_masanswer.next()){ if(!inq_masanswer.getString("anwid").equals("")&&!inq_masanswer.getString("anwid").equals(anwid)){ anwid = inq_masanswer.getString("anwid"); */ %> <!-- <td width="7%" align="center"><div align="center"><input type="<%//=(max>1)?"checkbox":"radio"%>" name="<%//=elementname+"$choice"%>" id="<%//=elementname+"$"+inq_masanswer.getString("anwid")%>" value="<%//=inq_masanswer.getString("anwscore")%>" onClick="chkAnsCheckbox_Radio(this,'<%//=max%>','<%//=elementname%>');sysIsEdit(); calSumGroup();" title="<%//=init_tooltip%>" ></div></td> --> <% // }else{ %> <!-- <td class="blankspace" width="7%"></td> --> <% // } // } %> <% inq_masanswer = (DbInquiry)tastran.inq.getCurrentDbRecord().getChild("masanswer"); inq_masanswer.refresh(); if(inq_masanswer.recCount()>0){ %> <td> <select class="form-control sel" name="<%=elementname+"$choice"%>" onchange="chkAnsList(this,'<%=elementname%>');sysIsEdit(); "> <option value="0.00"></option> <% while(inq_masanswer.next()){ %> <option value="<%=inq_masanswer.getString("anwscore")%>" <%=chk.chkNullString(request.getParameter(elementname+"$choice"),tastran.getDataLabel("asranswer")).equals(inq_masanswer.getString("anwscore"))?"selected":""%>><%=inq_masanswer.getString("tdesc")%></option> <% } %> </select> </td> <% }else{ %> <td></td> <% } %> <!-- choice --> <!-- <td width="7%" align="center"><input type="text" name="<%=elementname+"$asrsumscore"%>" id="<%=elementname+"$asrsumscore"%>" value="<%=tastran.getDataLabel("asrsumscore")%>" size="5" dir="rtl" readonly ></td> --> <input type="hidden" name="<%=elementname+"$asrscore"%>" id="<%=elementname+"$asrscore"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrscore"),tastran.getDataLabel("asrscore"))%>"> <input type="hidden" name="<%=elementname+"$asrmaxscore"%>" id="<%=elementname+"$asrmaxscore"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrmaxscore"),tastran.getDataLabel("asrmaxscore"))%>"> <input type="hidden" name="<%=elementname+"$asrsumscoremax"%>" id="<%=elementname+"$asrsumscoremax"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrsumscoremax"),tastran.getDataLabel("asrsumscoremax"))%>"> <input type="hidden" name="<%=elementname+"$asrweight"%>" id="<%=elementname+"$asrweight"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrweight"),tastran.getDataLabel("asrweight"))%>"> <!-- คะแนนข้อ 4 --> <input type="hidden" name="<%=elementname+"$asranswer"%>" id="<%=elementname+"$asranswer"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asranswer"),tastran.getDataLabel("asranswer"))%>"> <input type="hidden" name="<%=elementname+"$asranswer1"%>" id="<%=elementname+"$asranswer1"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asranswer1"),tastran.getDataLabel("asranswer1"))%>"> <input type="hidden" name="<%=elementname+"$answerdesc"%>" id="<%=elementname+"$answerdesc"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$answerdesc"),tastran.getDataLabel("answerdesc"))%>"> <!--scrip--> <script language="javascript">restoreCheckChoice('<%=elementname%>');</script> <% last_asgid = tastran.getDataLabel("asgid"); %> </tr> <!-- ข้อ 3 --> <% }else if(astype.equals("4")){ ++group3Row ; %> <tr <%if(group3Row>10){%>style=";"<%}%> id="group3Row<%=group3Row%>"> <td id="<%=elementname+"$no"%>" value="<%=no%>" align="center"><%=no%></td> <td> <div class="input-group"> <input type="text" class="form-control fr-year" name="<%=elementname+"$answerdesc"%>" id="<%=elementname+"$answerdesc"%>" size="20" value="<%=cmd.equals("save")?request.getParameter(elementname+"$answerdesc"):tastran.getDataLabel("answerdesc")%>"> <!-- <a class="input-group-addon" href="javascript:goHelp('MKPISHELP','<%//=elementname+"$kpid"%>');"> --> <a class="input-group-addon fr-btn" href="javascript:goHelp('MKPIS1HELP','<%=elementname+"$kpid"%>');"> <i class="fa fa-search"></i> </a> <a class="input-group-addon fr-btn" href="javascript:delKPIs('<%=elementname%>');"> <i class="fa fa-trash-o"></i> </a> </div> <input type="hidden" size="3" name="<%=elementname+"$kpid"%>" id="$kpid" value="<%=cmd.equals("save")?request.getParameter(elementname+"$kpid"):tastran.getDataLabel("kpid")%>"> <input type="hidden" name="__textarea<%=group3Row%>" id="__textarea<%=group3Row%>" value="<%=elementname+"$answerdesc"%>"> <!-- <textarea name="<%//=elementname+"$answerdesc"%>" id="<%//=elementname+"$answerdesc"%>" cols="50" rows="3" onKeyPress="chkSpecialStr();sysIsEdit();" onKeyUp="chkLimitTextArea(this,2000);" onBlur="trimValue(this);chkGroup2('<%//=elementname%>');" ><%//=chk.chkNullString(request.getParameter(elementname+"$answerdesc"),tastran.getDataLabel("answerdesc"))%></textarea> --> </td> <% if(!tastran.getDataLabel("asrweight").equals("0.00") && have_w){ %> <!-- <td width="7%" align="center"><div align="center"><%//=tastran.getDataLabel("asrweight")%></div></td> --> <% }else if(have_w){ %> <!-- <td class="blankspace" width="7%"></td> --> <% } %> <!-- choice --> <% String anwid = ""; int max = 0; String init_tooltip=""; int score=0; try{ max = Integer.parseInt(tastran.getDataLabel("massess","asanswer")); }catch(NumberFormatException e){ e.printStackTrace(); } inq_masanswer = (DbInquiry)tastran.inq.getCurrentDbRecord().getChild("masanswer"); for(int i=0,rate=5;choice!=null && i<choice.length; i++, inq_masanswer.next(),rate--){ if(!inq_masanswer.getString("anwid").equals("")&&!inq_masanswer.getString("anwid").equals(anwid)){ anwid = inq_masanswer.getString("anwid"); %> <!-- <td class="center"> <div class="center"> <input type="<%//=(max>1)?"checkbox":"radio"%>" name="<%//=elementname+"$choice"%>" id="<%//=elementname+"$"+inq_masanswer.getString("anwid")%>" value="<%//=inq_masanswer.getString("anwscore")%>" onClick="chkAnsCheckbox_Radio(this,'<%//=max%>','<%=elementname%>');sysIsEdit(); chkGroup2('<%//=elementname%>');" title="<%//=init_tooltip%>"> </div> </td> --> <td><input type="text" class="form-control fr-year" name="<%=elementname+"$rate"+rate%>" id="<%=elementname+"$rate"+rate%>" value="<%=cmd.equals("save")?request.getParameter(elementname+"$rate"+rate):tastran.getDataLabel("rate"+rate)%>"></td> <% }else{ %> <td class="blankspace" width="7%"></td> <% } } %> <!-- choice --> <input type="hidden" name="<%=elementname+"$asrmaxscore"%>" id="<%=elementname+"$asrmaxscore"%>" value="<%=tastran.getDataLabel("asrmaxscore")%>"> <input type="hidden" name="<%=elementname+"$asrsumscoremax"%>" id="<%=elementname+"$asrsumscoremax"%>" value="<%=tastran.getDataLabel("asrsumscoremax")%>"> <!-- คะแนนข้อ 3 --> <input type="hidden" name="<%=elementname+"$asranswer"%>" id="<%=elementname+"$asranswer"%>" value="<%=cmd.equals("save")?request.getParameter(elementname+"$asranswer"):tastran.getDataLabel("asranswer")%>"> <!--scrip--> <script language="javascript">restoreCheckChoice('<%=elementname%>');</script> <td> <input class="form-control mid-year" type="text" name="<%=elementname+"$asranswer1"%>" id="<%=elementname+"$asranswer1"%>" onclick="this.select();" value="<%=cmd.equals("save")?request.getParameter(elementname+"$asranswer1"):tastran.getDataLabel("asranswer1")%>"> </td> <td> <input class="form-control end-year" type="text" name="<%=elementname+"$asranswer2"%>" id="<%=elementname+"$asranswer2"%>" onclick="this.select();" value="<%=cmd.equals("save")?request.getParameter(elementname+"$asranswer2"):tastran.getDataLabel("asranswer2")%>"> </td> <td> <input type="text" class="form-control trash w8 fr-year" name="<%=elementname+"$asrweight"%>" id="<%=elementname+"$asrweight"%>" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrweight"),tastran.getDataLabel("asrweight"))%>" onkeyup="checkComma(this,2);" onblur="checkNumFloat(this,0.0,100);"> </td> <td> <select class="form-control score" name="<%=elementname+"$choice"%>" id="<%=elementname+"$choice"%>" onchange="chkAnsList(this,'<%=elementname%>');sysIsEdit(); "> <option value="0.00"></option> <% inq_masanswer = (DbInquiry)tastran.inq.getCurrentDbRecord().getChild("masanswer"); inq_masanswer.refresh(); while(inq_masanswer.next()){ %> <option value="<%=inq_masanswer.getString("anwscore")%>" <%=chk.chkNullString(request.getParameter(elementname+"$choice"),tastran.getDataLabel("asranswer")).equals(inq_masanswer.getString("anwscore"))?"selected":""%>><%=inq_masanswer.getString("tdesc")%></option> <% } %> </select> </td> <td> <input type="text" class="form-control trash total"readonly="readonly" name="<%=elementname+"$asrsumscore"%>" id="<%=elementname+"$asrsumscore"%>" value="<%=cmd.equals("save")?request.getParameter(elementname+"$asrsumscore"):tastran.getDataLabel("asrsumscore")%>"> </td> </tr> <% }else if(astype.equals("5")){ %> <tr> <td class="blankspace" width="7%"></td> </tr> <tr> <td width="100%" class="column-text" colspan="4"> <input type="hidden" name="<%=elementname+"$asrscore"%>" id="<%=elementname+"$asrscore"%>" size="5" dir="rtl" value="<%=chk.chkNullString(request.getParameter(elementname+"$asrscore"),tastran.getDataLabel("asrscore"))%>" onKeyPress="checkWordNumber(this.value);sysIsEdit();" onBlur="checkNumFloat(this,<%=tastran.getDataLabel("massess","asminscore")%>,<%=tastran.getDataLabel("massess","asmaxscore")%>);calOnAsrcore(this,'<%=elementname%>');" onKeyUp="checkComma(this,2);" onFocus="callDelComma(this);"> </td> </tr> <% } %> <!-- sum ข้อ 3 --> <% if(astype.equals("4") && (elementname.lastIndexOf("20")>-1) ) { %> <tr> <td class="trash" colspan="9"><b>รวมคะแนนผลงาน</b></td> <td class="trash result" id="sumw8">0</td> <td class="trash result" id="sumscore">0</td> <td class="trash result" id="sumtotal">0</td> </tr> <tr> <td class="trash" colspan="11"><b>รวมคะแนน (%)</b></td> <td class="trash result" id="persumtotal">0</td> </tr> </table> <!-- ปิดเพื่อใส่ปุ่มตาราง ข้อ 3 --> <div class="center"> <span id="btnAddGroup3" > <a class="btn btn-primary abottom" id="imgadd" onClick="displayRow('group3Row');">เพิ่ม</a> </span> <a class="btn btn-primary abottom" id="imgdelete" onClick="displayNone('group3Row')">ลบ</a> </div> <% }else if(astype.equals("3") && elementname.lastIndexOf("0215")>-1) { %> <!-- sum ส่วนที่4 --> <tr> <td class="trash" colspan="2"><b>รวมคะแนน</b></td> <td class="trash result" id="total004">0</td> </tr> <tr> <td class="trash" colspan="2"><b>รวมคะแนน (%)</b></td> <td class="trash result" id="pertotal004">0</td> </tr> <% } %> <% // body } //out.print("<br>zzz :: "+zzz); // foot %> <% if(!asfid.equals("")){ // if(astype.equals("0")||astype.equals("3")||(astype.equals("4") && have_w)){ if(false){ %> <tr style="display: none;"> <td colspan="2" align="right" ><script language="javascript">swapLang("score tatol");</script></td> <td width="7%" align="center"><input type="text" name="sumval$<%=asfid%>" id="sumval$<%=asfid%>2" size="5" value="0.00" readonly dir="rtl"></td> </tr> <% } %> <input type="hidden" name="req_elementname" id="req_elementname" value="<%=req_elementname%>"> <!--scrip--> <script language="javascript">calValueSumval('<%=asfid%>');</script> </table> </td> </tr> <% } // foot %> <!--second block --> <!--input type="hidden" name="__apsgrade" value="<%=screen.getDataLabel("apsgrade")%>"--> <input type="hidden" name="__referscore" value="<%=screen.getDataLabel("referscore")%>"> <input type="hidden" name="__asrnecessary_num" value="<%=asrnecessary_num%>"> <script language="javascript">//calValueApssumscore();</script> <script language="javascript">//calValueApssumscoremax();</script> <script language="javascript">//calValueApsscorepc();</script> <script language="javascript">//showRow();</script> <tr> <td width="100%" colspan="4" class="column-header"> </td> </tr> </table> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" class="table-content-list" width="100%"> <tr> <td class=""> </td> </tr> <tr> <td class=""> <% if(!isRead.equals("1")){ %> <div class="center"> <!-- <span id="abottom" style="display:;"><a href="javascript:goSave();"><img src="../IMAGES/EMPVIEW/BUTTON/SAVE.gif" align="middle"/></a> <a href="javascript:GoClean();sysIsEdit();"><img src="../IMAGES/EMPVIEW/BUTTON/CANCEL.gif" align="middle" /></a></span> <a href="javascript:chkBackpage();"><img src="../IMAGES/EMPVIEW/BUTTON/CLOSE.gif" align="middle" /></a> --> </div> <% }else{ %> <div class="center"> <!--<a href="javascript:chkBackpage();"><img src="../IMAGES/EMPVIEW/BUTTON/CLOSE.gif" align="middle" /></a>--> </div> <% } %> <!-- <script language="javascript">setDisVL();</script> --> <script language="javascript">setForRead();</script> </td> </tr> </table> </td> </tr> <%=screen.endJSP()%> <div class="center"> <a onClick="goSave()" class="btn btn-primary abottom">Save Draft</a> <a onClick="chksubmit()" class="btn btn-primary abottom">Submit</a> </div> <% }else{ %> <div class="center"> <h4>ไม่พบใบประเมิน</h4> </div> <% } %> <!-- InstanceEndEditable --> <script language="javascript"> <% if(bPage.equals("REC802")){ %> document.getElementById("abottom").style.display="none"; <% } %> </script> </div> <input type="hidden" name="multii" value="<%=numofrow*4%>" /> </div> </form> </div> <a href="#top" id="top-button"> <i class="fa fa-angle-up"></i> <div class="top-word">Back to top</div> </a> </section> <jsp:include page="FOOTER.jsp" flush="true" /> <script> showRow(10); </script> </body> <!-- <% if(!chk.chkNullString(request.getParameter("appname")).equals("")){ APP_PAT.checkProfile(); if( APP_PAT.getUProfile() != null ){ APP_PAT.getUProfile().set("appname",chk.chkNullString(request.getParameter("appname"))); } } %> --> <!-- InstanceEnd --> </html> <%! private String getHeaderTD(String str){ if(str.indexOf("(") != -1){ str = str.replace("(","</b><br>("); } else { str += "</b>"; } return "<b>"+str; } %>