'use strict' angular.module('APS_INTERVIEW').controller('APS_FORM_INTERVIEW_DHAS_RESULT', ['$scope', '$http', '$sce', 'InterviewcandidateCtrl', 'RecService', function($scope, $http, $sce, InterviewcandidateCtrl, RecService){ $scope.candidateid = $('input[name="candidateid"]').val() $scope.committeeid = $('input[name="committeeid"]').val() $scope.jobid = $('input[name="jobid"]').val() $scope.judge = $('input[name="judge"]').val() $scope.notedit = ($('input[name="notedit"]').val() == 'true') $scope.lang = $('input[name="lang"]').val() $scope.contextPath = '' $scope.listJudge = [] $scope.jobDetail = {} $scope.candidate = {} $scope.headdata = { fullname: '', job: '', status: 0, committee_fullname: '', apsdate: '', jobrouter: '' } $scope.formdata = { form: '', comment: '', job_other: '', appropriate: '', apsdate: '', status: 0, } $scope.previous = [] let question = new Question() $scope.examdata = {} $scope.score2 = '' $scope.score3 = '' $scope.score4 = '' $scope.isReady = false let DocumentContainer let WindowObject $scope.comment = [{ comment:'', appropriate:0 }] $scope.apsform = [{ percentFromHr: '', percentFromDept: '', jobName: '', jobCode: '', basicallyScore: '', managementScore: '', sumScore: '', estimatePercentJob: '', resultFromDept: '', hire: '', remarkFromDept: '', incentives: [{ name: 'ค่าเดินทาง / ค่าน้ำมันรถจักรยานยนต์', cost: '', startDate: '' },{ name: 'ค่าเบี้ยเลี้ยง', cost: '', startDate: '' },{ name: '', cost: '', startDate: '' },{ name: '', cost: '', startDate: '' }], hr: { score: '', multiple: '', incomeWithBonus: '', incomeWithoutBonus: '', basicSalary: '', qpi: '', m1pi: '', m3pi: '' }, ex: { result: '', other: '', estimateIncome : '', otherEstimateIncome: '' }, seniorEx: { remark: '', }, sign: { manager: '', hr: '', ex: '', seniorEx: '' }, appropriate: '', job_other: '' }] $scope.myparam = { candidateid: $scope.candidateid, committeeid: $scope.committeeid, judge: $scope.judge }; InterviewcandidateCtrl.manageInterviewForm.getListJudge( $scope.myparam).$promise.then(function(data){ $scope.listJudge = data.result }) RecService.RestMjobcode.getQuery({id: $scope.jobid}).$promise.then(function(data){ $scope.jobDetail = data.result }) InterviewcandidateCtrl.manageInterviewForm.query($scope.myparam).$promise.then(function(data){ $scope.headdata = data.header $scope.formdata = data.apsform $scope.previous = data.previous setFormAPS() $scope.isReady = true }) RecService.RestMcandidate.getQuery({id: $scope.candidateid}).$promise.then(function (data){ $scope.candidate = data.result; setExamData1() setExamScore2() setExamScore3() setExamScore4() setExamScore5() }) // $scope.$watch('formdata.form', function (data) { // let listActor = ['manager', 'hr', 'ex', 'seniorEx'] // if (data[0]) { // $scope.formdata.form[0].sign[listActor[parseInt('4')-1]] = $scope.headdata.committee_fullname // } // }) let setExamData1 = () => { let data = $scope.candidate.jobrouter let router = {} let isReady = false for(let x=0;x<data.length;x++){ if(data[x].examdata != null){ if(data[x].examdata.topic.tha.includes("Personality") || data[x].examdata.topic.eng.includes("Personality")){ router = data[x] isReady = true } } } if(isReady){ $scope.examdata = question.getDHASPIT(router) } } let setExamScore2 = () => { let data = $scope.candidate.jobrouter let router = {} let isReady = false for(let x=0;x<data.length;x++){ if(data[x].examdata != null){ if(data[x].examdata.topic.tha.includes("ความพร้อมหัวหน้างาน") || data[x].examdata.topic.eng.includes("ความพร้อมหัวหน้างาน")){ router = data[x] isReady = true } } } if(isReady){ $scope.score2 = question.getRealScore(router.question) } } let setExamScore3 = () => { let data = $scope.candidate.jobrouter let router = {} let isReady = false for(let x=0;x<data.length;x++){ if(data[x].examdata != null){ if(data[x].examdata.topic.tha.includes("ความถนัดเชิงเหตุผลนามธรรม") || data[x].examdata.topic.eng.includes("ความถนัดเชิงเหตุผลนามธรรม")){ router = data[x] isReady = true } } } if(isReady){ $scope.score3 = question.getRealScore(router.question) } } let setExamScore4 = () => { let data = $scope.candidate.jobrouter let router = {} let isReady = false for(let x=0;x<data.length;x++){ if(data[x].examdata != null){ if(data[x].examdata.topic.tha.includes("ADVANCE ENGLISH") || data[x].examdata.topic.eng.includes("ADVANCE ENGLISH")){ router = data[x] isReady = true } } } if(isReady){ $scope.score4 = question.getRealScore(router.question) } } let setExamScore5 = () => { let data = $scope.candidate.jobrouter let router = {} let isReady = false for(let x=0;x<data.length;x++){ if(data[x].examdata != null){ if(data[x].examdata.topic.tha.includes("คณิตศาสตร์") || data[x].examdata.topic.eng.includes("คณิตศาสตร์")){ router = data[x] isReady = true } } } if(isReady){ $scope.score5 = question.getRealScore(router.question) } } $scope.getSumWorkCost = () => { return parseInt($scope.jobDetail.workcost1) + parseInt($scope.jobDetail.workcost2) } $scope.getResultHr = () => { let result = 0 let findHr = $scope.previous.find(($item) => { return $item.header.dept.toUpperCase() === "HR" }) if(findHr){ for(var i = 0; i < findHr.apsform.form.length; i++){ let form = findHr.apsform.form[i]; result += parseInt(form.score) } } return (result / 50) * 100; } $scope.getResultDept = () => { let result = 0 let findHr = $scope.previous.find(($item) => { return $item.header.dept.toUpperCase() === "DEPT" && $item.header.committeeid === $scope.committeeid }) if(findHr){ for(var i = 0; i < findHr.apsform.form.length; i++){ let form = findHr.apsform.form[i]; result += parseInt(form.score) } } return (result / 50) * 100; } let setFormAPS = () => { if($scope.formdata.form == ''){ $scope.formdata.form = $scope.apsform }else { $scope.formdata.form = jQuery.parseJSON($scope.formdata.form) } if($scope.formdata.comment == ''){ $scope.formdata.comment = $scope.comment }else { $scope.formdata.comment = jQuery.parseJSON($scope.formdata.comment) } } $scope.getSumScore = () => { let result = 0 if($scope.formdata.form != undefined){ for(var i = 0; i <$scope.formdata.form.length; i++){ let form = $scope.formdata.form[i]; result += parseInt(form.score) } } return result; } $scope.getSumScoreByForm = ($form) => { let result = 0 if($form != undefined){ for(var i = 0; i < $form.length; i++){ let sform = $form[i]; result += parseInt(sform.score) } } return (result / 50).toFixed(2); } $scope.getSumScoreByScoreForm = ($form, score) => { let result = 0 if($form != undefined){ for(var i = 0; i < $form.length; i++){ let sform = $form[i]; if(sform.score == score){ result += parseInt(sform.score) } } } return (result / 50).toFixed(2); } $scope.getSumScoreByScore = (score) => { let result = 0 if($scope.formdata.form != undefined){ for(var i = 0; i <$scope.formdata.form.length; i++){ let form = $scope.formdata.form[i]; if(form.score == score){ result += parseInt(form.score) } } } return result; } $scope.addComment = () => { let data = { comment : '' } $scope.formdata.comment.push(data) } $scope.delComment = () => { $scope.formdata.comment.pop() } $scope.saveDraff = () => { if (confirm(MyCode[1])){ $scope.sendparam = $scope.sendparam = setParam('0') InterviewcandidateCtrl.manageInterviewForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); window.opener.location.reload(); }); } } $scope.save = () => { if(true){ if (confirm(MyCode[1])){ $scope.sendparam = setParam('1') InterviewcandidateCtrl.manageInterviewForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); window.opener.location.reload(); }); } }else{ alert('กรุณากรอกข้อมูลให้ครบถ้วน') } } let setParam = (type) => { let param = { headdata: $scope.headdata ,apsform: $scope.formdata ,savetype: type } return param } let chkData = () => { let result = true let objlist = $scope.formdata.form.filter((form) => form.score == 0) if (objlist.length>0){ result = false } let objlist2 = $scope.formdata.comment.filter((comment) => comment.comment == 0) if (objlist2.length>0){ result = false } let objlist3 = $scope.formdata.comment.filter((appropriate) => appropriate.appropriate == 0) if (objlist3.length>0){ result = false } return result } $scope.goprint = function(){ hidelement(); promisePrint().then((obj) => { WindowObject.focus(); console.log(WindowObject); // window.close(); WindowObject.print(); }) } function promisePrint(){ return new Promise((resolve, reject) => { DocumentContainer = document.getElementById('target_warpper'); WindowObject = window.open('', 'PrintWindow', 'width=1200,height=666,top=10,right=10,toolbars=no,scrollbars=no,status=no,resizable=yes,scale=98%'); WindowObject.document.writeln('<!DOCTYPE html>'); WindowObject.document.writeln('<html><head><title></title>'); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/EMPVIEW/css/APP_UP/style_apsup.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/EMPVIEW/css/APS_Interview/style_printInterview.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/Bootstrap/css/bootstrap.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/EMPVIEW_LAYOUT.min.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/font-awesome.css">`); WindowObject.document.writeln('</head><body>'); WindowObject.document.writeln(DocumentContainer.innerHTML); WindowObject.document.writeln('</body></html>'); WindowObject.document.close(); setTimeout(() => resolve(WindowObject), 1000) }) } function hidelement(){ let txt = '' let chk = false $(".score1").each(function(){ if($(this).hasClass("ng-hide")){ $(this).hide() } }); $(".score2").each(function(){ chk = $(this).prop('checked'); if(chk){ $(this).parents("td").append("<i class='fa fa-check-square-o right dis-block'></i>"); } else{ $(this).parents("td").append("<i class='fa fa-square-o right dis-block'></i>"); } $(this).hide(); }); $(".score3").each(function(){ chk = $(this).prop('checked'); if(chk){ $(this).parents(".chk").append("<i class='fa fa-check-square-o right dis-block'></i>"); } else{ $(this).parents(".chk").append("<i class='fa fa-square-o right dis-block'></i>"); } $(this).hide(); }); $("textarea").each(function(){ txt = $(this).val() if(txt ==''){ $(this).parents(".showtxt").find("label").removeClass('hide') $(this).parents(".showtxt").find("label").clone().appendTo($(this).parents(".showtxt")) }else{ $(this).parents(".showtxt").find("label").removeClass('txt-underline hide') $(this).parents(".showtxt").find("label").addClass('txt-underline2') $(this).parents(".showtxt").find("label").text(txt) } $(this).hide() }); $('.btn').hide() $('.icon-btn').hide() } }]);