SMRPV06400_업무지표2차평가.xrw 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>업적평가2차평가</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <bizvaluscndpsn>
  11. <bizvaluscndpsnList/>
  12. </bizvaluscndpsn>
  13. <valubizscnd>
  14. <valubizscndlist/>
  15. <ckpilist/>
  16. </valubizscnd>
  17. <list>
  18. <scrfileinfo>
  19. <fileinfolist/>
  20. </scrfileinfo>
  21. </list>
  22. <smsdata>
  23. <bizabbr/>
  24. <replytelno/>
  25. <rsrvyn/>
  26. <rsrvdate/>
  27. <rsrvtime/>
  28. <msgcnts/>
  29. <closeflag/>
  30. <recvrlist>
  31. <chk/>
  32. <recvrnm/>
  33. <recvrtelno/>
  34. </recvrlist>
  35. </smsdata>
  36. <valuempllist/>
  37. </main>
  38. <send>
  39. <save>
  40. <bizvaluscndpsnList/>
  41. </save>
  42. <bizvaluscndpsn>
  43. <valuyy/>
  44. <emplno/>
  45. <emplnm/>
  46. <fstscndhfyyflag/>
  47. <valuclsdetlcd/>
  48. <valuclscd>01</valuclscd>
  49. <valumdlcd>001</valumdlcd>
  50. </bizvaluscndpsn>
  51. <valubizscnd>
  52. <valuyy/>
  53. <fstscndhfyyflag/>
  54. <valuclscd/>
  55. <valumdlcd/>
  56. <valuclsdetlcd/>
  57. <emplno/>
  58. <instcd/>
  59. <deptcd/>
  60. <inoutflag/>
  61. </valubizscnd>
  62. </send>
  63. <hidden/>
  64. <temp>
  65. <select/>
  66. <valupsncnts1/>
  67. <valupsncnts2/>
  68. <rtnresntemp/>
  69. </temp>
  70. <init>
  71. <bizvaluflag>
  72. <cdid>%</cdid>
  73. <cdnm>전체</cdnm>
  74. <cdid>002</cdid>
  75. <cdnm>공유지표(S-KPI)</cdnm>
  76. <cdid>004</cdid>
  77. <cdnm>기본업무지표(F-KPI)</cdnm>
  78. </bizvaluflag>
  79. <score>
  80. <indpscor/>
  81. <valuscor1/>
  82. <adjtscor/>
  83. </score>
  84. </init>
  85. <target/>
  86. </root>
  87. </instance>
  88. <script type="javascript" ev:event="xforms-ready">
  89. <![CDATA[
  90. /* Grid 초기화 */
  91. misfGridInit(grd_bizvaluscndpsnList);
  92. misfGridInit(grd_bizvaluscndlist);
  93. misfGridInit(grd_ckpilist);
  94. /*
  95. Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.
  96. Grid의 Mater, Detail관계 설정
  97. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부)
  98. */
  99. misfMsterDetailSet(grd_bizvaluscndpsnList, null, "TRRPV06401", "Y");
  100. misfMsterDetailSet(grd_bizvaluscndlist, grd_bizvaluscndpsnList, "TRRPV06402", "N");
  101. misfMsterDetailSet(grd_ckpilist, grd_bizvaluscndpsnList, "TRRPV06402", "N");
  102. if(instance1.selectNodes("/root/target/trgtemplno").length > 0)
  103. {
  104. model.setValue("/root/send/bizvaluscndpsn/valuyy", model.getValue("/root/target/valuyy"));
  105. model.setValue("/root/send/bizvaluscndpsn/emplno", model.getValue("/root/target/trgtemplno"));
  106. model.setValue("/root/send/bizvaluscndpsn/emplnm", model.getValue("/root/target/trgtemplnm"));
  107. }
  108. else
  109. {
  110. model.setValue("/root/send/bizvaluscndpsn/valuyy", getCurrentDate().substr(0, 4));
  111. model.setValue("/root/send/bizvaluscndpsn/emplno", getUserInfo("userid"));
  112. model.setValue("/root/send/bizvaluscndpsn/emplnm", getUserInfo("usernm"));
  113. }
  114. rpvfComboValuCdList(model.getValue(ipt_valuyy.attribute("ref")),"FSTSCNDHFYYFLAG,APRVFLAG","cmb_fstscndhfyyflag,grd_bizvaluscndpsnList.valupsncnfmflag");
  115. // 평가기간에 따른 권한 부여.
  116. // if(model.getValue("/root/temp/trgtflag") != "")
  117. // {
  118. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),"btn_resultprt,btn_valursltquery,btn_valuconfirm,btn_init,btn_save,btn_search,btn_return,btn_canclereturn,btn_confirm,btn_cancleconfirm");
  119. // }
  120. // else
  121. // {
  122. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), "02", "SMRPV06400", "btn_resultprt,btn_valursltquery,btn_valuconfirm,btn_init,btn_save,btn_search,btn_return,btn_canclereturn,btn_confirm,btn_cancleconfirm");
  123. // }
  124. model.setValue(cmb_valuclsdetlcd.attribute("ref"), "%");
  125. var instcd = getUserInfo("dutplceinstcd");
  126. var emplno = getUserInfo("userid");
  127. rpvfGetUserAuth(instcd, emplno);
  128. if(DUTY_VALU_YN =='Y')
  129. {
  130. ipt_valuemplno.disabled = false;
  131. ipt_valuemplnm.disabled = false;
  132. btn_emplno.disabled = false;
  133. btn_valuconfirmcancle.disabled = false;
  134. }
  135. else
  136. {
  137. ipt_valuemplno.disabled = true;
  138. ipt_valuemplnm.disabled = true;
  139. btn_emplno.disabled = true;
  140. btn_valuconfirmcancle.disabled = true;
  141. }
  142. model.toggle("case1");
  143. model.refresh();
  144. ]]>
  145. </script>
  146. <submission id="TRRPV06401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizvaluscndpsn" resultref="/root/main/bizvaluscndpsn"/>
  147. <submission id="TRRPV06402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/valubizscnd" resultref="/root/main/valubizscnd"/>
  148. <submission id="TXRPV06401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  149. <submission id="TRRPV99912" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizvaluscndpsn" resultref="/root/main/valuempllist"/>
  150. </model>
  151. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  152. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  153. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  154. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  155. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  156. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  157. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  158. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  159. <script type="javascript" src="../../../com/shortmsgweb/js/ZMS001.js"/>
  160. <script type="javascript">
  161. <![CDATA[
  162. var gridrow = -1;
  163. var savekind = "A";
  164. // 문자메세지 전송.
  165. // * 수신자의 전화번호는 10자리를 넘어야만 전송이 가능하며, 발신자의 전화번호도 10자리를 넘어야만한다.
  166. //
  167. // fgrid_target : 수신자 리스트 데이터가 있는 그리드.
  168. // fphoneno : 발신자 전화번호 - "01010092456"
  169. // fmsg : 전송할 문자 내용 - "하고싶은말을 적으면 됩니다."
  170. // checkYN : 체크되었는 사용자만 전송할건지 전부 전송할건지 유무! - "Y" or "N" or ""
  171. function fSendMsg( fgrid_target,fphoneno, fmsg, checkYN)
  172. {
  173. /// 발신자 정보 설정.
  174. misfGridInit(grd_msg);
  175. var fPhone = '';
  176. var sPhone = '';
  177. var tPhone = '';
  178. tPhone = fphoneno.split("-");
  179. fphoneno = '';
  180. for(var r = 0; r < tPhone.length; r++ )
  181. {
  182. fphoneno += tPhone[r];
  183. }
  184. model.setValue("/root/main/smsdata/bizabbr", "mis"); // 그룹명, ex> mis, com, tis, his...등등...
  185. model.setValue("/root/main/smsdata/replytelno", fphoneno); // 발신자 전화번호
  186. model.setValue("/root/main/smsdata/rsrvyn", 0); // 예약전송 구분
  187. model.setValue("/root/main/smsdata/rsrvdate", getCurrentDate()); // 전송 날자
  188. model.setValue("/root/main/smsdata/rsrvtime", getCurrentTime().substr(0,4)); // 전송 시간
  189. model.setValue("/root/main/smsdata/msgcnts", fmsg); // 전송할 메세지
  190. model.setValue("/root/main/smsdata/closeflag", "Y"); // 메시지 전송 팝업화면을 바로 닫기위한 구분자.
  191. /// 수신자 정보설정.
  192. /// 아래에 있는 소스는 수신자의 리스트를 정리한다. 현제 DB에 전화번호가 010-2321-1231 이렇게 되어 있으므로 '-' 이것을 제외한 01023211231 로 변환.
  193. /// 그리드에 체크 유무에 따라 수신자 리스트에 추가를 하도록 되어있다.
  194. ///
  195. for(var i = fgrid_target.fixedRows; i < fgrid_target.rows; i++ )
  196. {
  197. // 체크된 사람만 보낼건지 전체를 보낼건지 구분.
  198. if(checkYN == "Y")
  199. {
  200. // 체크된사람 유무.
  201. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("check")) == "Y")
  202. {
  203. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  204. {
  205. misfGridIUD(grd_msg, "A");
  206. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  207. sPhone = '';
  208. for(var p = 0; p < fPhone.length; p++ )
  209. {
  210. sPhone += fPhone[p];
  211. }
  212. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  213. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  214. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  215. }
  216. }
  217. }else{
  218. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  219. {
  220. misfGridIUD(grd_msg, "A");
  221. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  222. sPhone = '';
  223. for(var p = 0; p < fPhone.length; p++ )
  224. {
  225. sPhone += fPhone[p];
  226. }
  227. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  228. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  229. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  230. }
  231. }
  232. }
  233. // 메시지 전송창 화면 밖으로 이동(rpvfOpenSMS 사용하실때에는 꼭 closeflag 를 'Y' 로 설정 하시기 바랍니다. )
  234. rpvfOpenSMS("/root/main/smsdata");
  235. // 메시지 전송창 화면 중간으로 이동
  236. //zmsfOpenSMS("/root/main/smsdata");
  237. }
  238. function ftotalpoint()
  239. {
  240. ipt_indpscor.value = 0.0;
  241. ipt_valuscor1.value = 0.0;
  242. ipt_adjtscor.value = 0.0;
  243. var indpscor = 0.0;
  244. var valuscor1 = 0.0;
  245. var adjttot = 0.0;
  246. var minuspoint = 0.0;
  247. var totscor = 0.0;
  248. var wtnscor = 0.0;
  249. var totpoint = 0.0;
  250. var skpipoint = 0.0;
  251. var fkpipoint = 0.0;
  252. var ckpipoint = 0.0;
  253. for(var i = grd_bizvaluscndlist.fixedRows; i < grd_bizvaluscndlist.rows; i++)
  254. {
  255. indpscor += parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("ownvaluexchscor"))) *
  256. parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("wtnscornm"))) / 100.0;
  257. ;
  258. valuscor1 += parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("valupsnexchscor1"))) *
  259. parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("wtnscornm"))) / 100.0;
  260. // adjttot += parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("adjtscor"))) *
  261. // parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("wtnscornm"))) / 100.0;
  262. if (grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("valuclsdetlcd")) == "002" ) {
  263. skpipoint = parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("adjtscor"))) ;
  264. }
  265. else if (grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("valuclsdetlcd")) == "004" ) {
  266. fkpipoint = parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("adjtscor"))) ;
  267. }
  268. wtnscor += parseFloat(grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("wtnscornm")));
  269. }
  270. for (var k = grd_ckpilist.fixedRows; k < grd_ckpilist.rows; k++) {
  271. ckpipoint += parseFloat(grd_ckpilist.valueMatrix(k, grd_ckpilist.colRef("valuscornm"))) ;
  272. }
  273. var jobrespcd = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("jobrespcd"));
  274. var inoutflag = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("custinoutflag"));
  275. var orgimrsnappyn = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("orgimrsnappyn"));
  276. // var jobrespcd = model.getValue( grd_bizvaluscndpsnList.attribute("nodeset") + "["+ (grd_bizvaluscndpsnList.row+1) +"]/jobrespcd");
  277. // var inoutflag = model.getValue(grd_bizvaluscndpsnList.attribute("nodeset") + "["+ (grd_bizvaluscndpsnList.row+1) +"]/custinoutflag");
  278. // var orgimrsnappyn = model.getValue(grd_bizvaluscndpsnList.attribute("nodeset") + "["+ (grd_bizvaluscndpsnList.row+1) +"]/orgimrsnappyn");
  279. if (jobrespcd == "1070" || jobrespcd == "1901" || jobrespcd == "2430"|| jobrespcd == "2010"|| jobrespcd == "1086") {
  280. if (inoutflag != "E" && orgimrsnappyn == "Y") {
  281. totpoint = 70.0;
  282. }
  283. else if (inoutflag != "E" && orgimrsnappyn != "Y") {
  284. totpoint = 80.0;
  285. }
  286. else if (inoutflag == "E" && orgimrsnappyn == "Y") {
  287. totpoint = 90.0;
  288. }
  289. else if (inoutflag == "E" && orgimrsnappyn != "Y") {
  290. totpoint = 100.0;
  291. }
  292. }
  293. else {
  294. if (inoutflag != "E" ) {
  295. totpoint = 90.0;
  296. }
  297. else if (inoutflag == "E" ) {
  298. totpoint = 100.0;
  299. }
  300. }
  301. indpscor = parseFloat(indpscor) * parseFloat(totpoint) / parseFloat(wtnscor);
  302. totscor = indpscor.toString();
  303. ipt_indpscor.value = totscor.getRound(-3, "DOWN");
  304. valuscor1 = parseFloat(valuscor1) * parseFloat(totpoint) / parseFloat(wtnscor);
  305. totscor = valuscor1.toString();
  306. ipt_valuscor1.value = totscor.getRound(-3, "DOWN");
  307. adjttot = parseFloat(skpipoint) + parseFloat(fkpipoint) + parseFloat(ckpipoint);;
  308. totscor = adjttot.toString();
  309. ipt_adjtscor.value = totscor.getRound(-3, "DOWN");
  310. }
  311. ]]>
  312. </script>
  313. </xhtml:head>
  314. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  315. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  316. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">업적평가2차평가</caption>
  317. </group>
  318. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  319. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  320. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  321. <caption>조회</caption>
  322. <script type="javascript" ev:event="DOMActivate">
  323. <![CDATA[
  324. if ( !isRequiredControls("ipt_valuyy","ipt_valuemplno","cmb_fstscndhfyyflag") ) {
  325. return false;
  326. }
  327. submit("TRRPV99912");
  328. submit("TRRPV06401");
  329. //gridrow = -1;
  330. //misfMsterDetailRetrieve();
  331. model.setFocus("grd_bizvaluscndpsnList");
  332. if (gridrow == -1 || gridrow == grd_bizvaluscndpsnList.rows - grd_bizvaluscndpsnList.fixedRows + 1) {
  333. grd_bizvaluscndpsnList.row = grd_bizvaluscndpsnList.fixedRows;
  334. }
  335. else {
  336. grd_bizvaluscndpsnList.row = gridrow + 1;
  337. }
  338. grd_bizvaluscndpsnList.select(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("emplno")) = true;
  339. grd_bizvaluscndpsnList.dispatch("onclick");
  340. if (grd_bizvaluscndpsnList.rows - grd_bizvaluscndpsnList.fixedRows > 0 ) {
  341. if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.fixedRows, grd_bizvaluscndpsnList.colRef("lastcnfmyn")) == "Y" ) {
  342. btn_valuconfirm.disabled = true;
  343. }
  344. else {
  345. btn_valuconfirm.disabled = false;
  346. }
  347. }
  348. ]]>
  349. </script>
  350. </button>
  351. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  352. <datagrid id="grd_bizvaluscndpsnList" nodeset="/root/main/bizvaluscndpsn/bizvaluscndpsnList" autoresize="true" caption="선택^부서^직책^사원번호^성명^1차평가자^승인구분^상태^기관^평가년도^상하반기구분^평가자사원번호^부서코드^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8|^부서^직책^사원번호^성명^1차평가자^승인구분^상태^기관^평가년도^상하반기구분^평가자사원번호^부서코드^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8" colsep="^" colwidth="32, 74, 51, 61, 57, 66, 72, 64, 33, 35, 30, 36, 30, 26, 32, 27, 34, 31, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:75px; width:515px; height:470px; ">
  353. <col checkvalue="Y,N" ref="selyn" type="checkbox"/>
  354. <col ref="deptnm"/>
  355. <col ref="jobrespnm"/>
  356. <col ref="emplno"/>
  357. <col ref="emplnm"/>
  358. <col ref="valuemplnm"/>
  359. <col disabled="true" ref="valupsncnfmflag" type="combo">
  360. <choices>
  361. <itemset>
  362. <label/>
  363. <value/>
  364. </itemset>
  365. </choices>
  366. </col>
  367. <col ref="preststat"/>
  368. <col ref="instcd" visibility="hidden"/>
  369. <col ref="valuyy" visibility="hidden"/>
  370. <col ref="fstscndhfyyflag" visibility="hidden"/>
  371. <col ref="valuemplno" visibility="hidden"/>
  372. <col ref="deptcd" visibility="hidden"/>
  373. <col ref="valuclscd" visibility="hidden"/>
  374. <col ref="valumdlcd" visibility="hidden"/>
  375. <col ref="valuclsdetlcd" visibility="hidden"/>
  376. <col ref="valupsncnts2" visibility="hidden"/>
  377. <col ref="inoutflag" visibility="hidden"/>
  378. <col ref="procstat" visibility="hidden"/>
  379. <col ref="valupsncnfmyn1" visibility="hidden"/>
  380. <col ref="phone" visibility="hidden"/>
  381. <col ref="email" visibility="hidden"/>
  382. <col ref="ownvalucnfmyn" visibility="hidden"/>
  383. <col ref="lastcnfmyn" visibility="hidden"/>
  384. <col ref="jobrespcd" visibility="hidden"/>
  385. <col ref="custinoutflag" visibility="hidden"/>
  386. <col ref="orgimrsnappyn" visibility="hidden"/>
  387. <col ref="valupsncnts1" visibility="hidden"/>
  388. <col ref="valuemplno2" visibility="hidden"/>
  389. <script type="javascript" ev:event="onclick">
  390. <![CDATA[
  391. if (grd_bizvaluscndpsnList.rows - grd_bizvaluscndpsnList.fixedRows <= 0) return;
  392. if (gridrow != grd_bizvaluscndpsnList.row) {
  393. model.setValue("/root/send/valubizscnd/valuyy", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valuyy")));
  394. model.setValue("/root/send/valubizscnd/fstscndhfyyflag", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("fstscndhfyyflag")));
  395. model.setValue("/root/send/valubizscnd/valuclscd", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valuclscd")));
  396. model.setValue("/root/send/valubizscnd/valumdlcd", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valumdlcd")));
  397. model.setValue("/root/send/valubizscnd/valuclsdetlcd", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valuclsdetlcd")));
  398. model.setValue("/root/send/valubizscnd/emplno", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("emplno")));
  399. model.setValue("/root/send/valubizscnd/instcd", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("instcd")));
  400. model.setValue("/root/send/valubizscnd/deptcd", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("deptcd")));
  401. model.setValue("/root/send/valubizscnd/inoutflag", grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("custinoutflag")));
  402. submit("TRRPV06402");
  403. //misfMsterDetailRetrieve();
  404. txt_valupsncnts1.value = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnts1"));
  405. txt_valupsncnts2.value = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnts2"));
  406. model.setValue("/root/temp/rtnresntemp", txt_valupsncnts2.value);
  407. //if (grd_bizvaluscndlist.rows - grd_bizvaluscndlist.fixedRows > 0) {
  408. // txt_valupsncnts1.value = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.rows - grd_bizvaluscndlist.fixedRows, grd_bizvaluscndlist.colRef("valupsncnts1"));
  409. // txt_valupsncnts2.value = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.rows - grd_bizvaluscndlist.fixedRows, grd_bizvaluscndlist.colRef("valupsncnts2"));
  410. // model.setValue("/root/temp/rtnresntemp", txt_valupsncnts2.value);
  411. // if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) == "R") {
  412. // btn_valupsnrtnreqresn2.disabled = "false"
  413. // }
  414. // else {
  415. // btn_valupsnrtnreqresn2.disabled = "true"
  416. // }
  417. //}
  418. var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  419. var ownvalucnfmyn = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("ownvalucnfmyn"));
  420. var lastcnfmyn = grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("lastcnfmyn"));
  421. if ( ownvalucnfmyn == "Y") {
  422. grd_bizvaluscndlist.colhidden(grd_bizvaluscndlist.colRef("ownvaluscornm")) = false;
  423. }
  424. else {
  425. grd_bizvaluscndlist.colhidden(grd_bizvaluscndlist.colRef("ownvaluscornm")) = true;
  426. }
  427. if ( valupsncnfmyn1 == "Y") {
  428. grd_bizvaluscndlist.colhidden(grd_bizvaluscndlist.colRef("valupsnscor1nm")) = false;
  429. }
  430. else {
  431. grd_bizvaluscndlist.colhidden(grd_bizvaluscndlist.colRef("valupsnscor1nm")) = true;
  432. }
  433. if (lastcnfmyn == "Y") {
  434. btn_return.disabled = true;
  435. btn_canclereturn.disabled = true;
  436. btn_confirm.disabled = true;
  437. btn_cancleconfirm.disabled = true;
  438. }
  439. else {
  440. btn_return.disabled = false;
  441. btn_canclereturn.disabled = false;
  442. btn_confirm.disabled = false;
  443. btn_cancleconfirm.disabled = false;
  444. }
  445. for (var i = grd_bizvaluscndlist.fixedRows; i < grd_bizvaluscndlist.rows; i++ )
  446. {
  447. if ( grd_bizvaluscndlist.valueMatrix(i, grd_bizvaluscndlist.colRef("filecnt")) > 0 )
  448. {
  449. grd_bizvaluscndlist.cellstyle("background-color", i, grd_bizvaluscndlist.colRef("achvmntrslt")) = "#ffff99";
  450. }
  451. else
  452. {
  453. grd_bizvaluscndlist.cellstyle("background-color", i, grd_bizvaluscndlist.colRef("achvmntrslt")) = "transparent";
  454. }
  455. }
  456. ftotalpoint();
  457. model.refresh();
  458. gridrow = grd_bizvaluscndpsnList.row;
  459. }
  460. ]]>
  461. </script>
  462. </datagrid>
  463. <caption id="caption4" class="tit_2" style="left:5px; top:54px; width:206px; height:14px; vertical-align:middle; ">피평가자 List</caption>
  464. <line id="line1" class="line_1" style="x1:0px; y1:69px; x2:515px; y2:69px; "/>
  465. <input id="ipt_valuyy" ref="/root/send/bizvaluscndpsn/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:105px; top:17px; width:80px; height:19px; "/>
  466. <caption id="cap_ipt_valuyy" class="search_name" style="left:15px; top:18px; width:90px; height:17px; vertical-align:middle; ">평가년도 :</caption>
  467. <input id="ipt_valuemplno" ref="/root/send/bizvaluscndpsn/emplno" class="input_search" style="left:313px; top:17px; width:80px; height:19px; ">
  468. <script type="javascript" ev:event="xforms-value-changed">
  469. <![CDATA[
  470. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  471. model.refresh();
  472. ]]>
  473. </script>
  474. </input>
  475. <button id="btn_emplno" class="icon_search" style="left:396px; top:17px; width:16px; height:16px; ">
  476. <caption/>
  477. <script type="javascript" ev:event="DOMActivate">
  478. <![CDATA[
  479. rpbfOpenPopUpList("SPRPB00101", ipt_valuemplno, "emplno,emplnm", "", "N", "N","emplno,emplnm");
  480. model.refresh();
  481. ]]>
  482. </script>
  483. </button>
  484. <caption id="cap_valuemplno" class="search_name" style="left:218px; top:18px; width:94px; height:17px; font-weight:bold; ">평가자사번:</caption>
  485. <input id="ipt_valuemplnm" ref="/root/send/bizvaluscndpsn/emplnm" class="input_search" style="left:415px; top:17px; width:135px; height:19px; ">
  486. <script type="javascript" ev:event="xforms-value-changed">
  487. <![CDATA[
  488. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  489. model.refresh();
  490. ]]>
  491. </script>
  492. </input>
  493. <caption id="caption3" class="tit_2" style="left:520px; top:155px; width:230px; height:13px; vertical-align:middle; ">업무지표 List</caption>
  494. <button id="btn_return" class="btn5_letter2" style="left:295px; top:49px; width:42px; height:19px; ">
  495. <caption>반려</caption>
  496. <script type="javascript" ev:event="DOMActivate">
  497. <![CDATA[
  498. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  499. if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  500. var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  501. var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  502. if (valupsncnfmyn1 != "Y") {
  503. messageBox("[" + emplnm + "]는 업적1차 평가가 완료가 되지 않아서 반려 할 수 없습니다. ", "I999");
  504. return;
  505. }
  506. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1")) = "N";
  507. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("procstat")) = "03";
  508. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) = "R";
  509. }
  510. }
  511. savekind = "B";
  512. btn_save.dispatch("DOMActivate");
  513. // if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) == "R" ) {
  514. // btn_valupsnrtnreqresn2.disabled = "false"
  515. // }
  516. // else {
  517. // btn_valupsnrtnreqresn2.disabled = "true"
  518. // model.toggle("case1");
  519. //
  520. // btn_valupsnrtnreqresn2.selected = "false";
  521. // btn_valupsncnts1.selected = "true";
  522. // }
  523. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  524. //rpvfGetUserInfo( ipt_valuemplno.value, getUserInfo("dutplceinstcd") );
  525. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  526. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 반려 되었습니다.", "Y");
  527. // Email 그리고 Sms 전송
  528. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  529. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  530. // fCmt : 전체적으로 보낼 전송메세지.
  531. // fEmailTitle : 이메일 전송시의 제목.
  532. // fCheckYN : 선택된 사람만 전송할지 유무.
  533. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  534. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  535. rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 반려 되었습니다.", "업적평가 2차 평가 통보",
  536. 'Y',ipt_valuemplno.value, '', 'selyn',"email","valuemplnm","phone");
  537. btn_search.dispatch("DOMActivate");
  538. savekind = "A";
  539. ]]>
  540. </script>
  541. </button>
  542. <line id="line3" class="line_1" style="x1:520px; y1:170px; x2:1190px; y2:170px; "/>
  543. <datagrid id="grd_bizvaluscndlist" nodeset="/root/main/valubizscnd/valubizscndlist" autoresize="true" caption="구분^업무구분^평가지표^가중치^목표수준^측정방법^달성성과^본인평가점수^1차평가자점수^평가년도^사원번호^상하반기구분^평가분류코드^평가중분류코드^공유기본구분^평가자의견1^2차평가자반려사유^2차평가자승인구분^1차평가자반려요청사유^평가분류세부코드^지표코드^caption1^caption2^caption3^평가자의견2|구분^업무구분^평가지표^가중치^목표수준^측정방법^달성성과^본인평가점수^1차평가자점수^평가년도^사원번호^상하반기구분^평가분류코드^평가중분류코드^공유기본구분^평가자의견1^2차평가자반려사유^2차평가자승인구분^1차평가자반려요청사유^평가분류세부코드^지표코드^caption1^caption2^caption3^평가자의견2" colsep="^" colwidth="54, 100, 101, 46, 80, 83, 81, 43, 47, 29, 35, 43, 48, 28, 27, 34, 35, 43, 35, 34, 33, 27, 25, 22, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" tooltip="true" style="left:520px; top:175px; width:670px; height:370px; ">
  544. <col ref="valuclsdetlnm"/>
  545. <col ref="idxcdnm"/>
  546. <col ref="rsltidx"/>
  547. <col ref="wtnscornm" type="output">
  548. <![CDATA[//]]>
  549. </col>
  550. <col ref="goallevl"/>
  551. <col ref="inspmthd"/>
  552. <col ref="achvmntrslt" type="inputbutton"/>
  553. <col ref="ownvaluscornm" type="output"/>
  554. <col ref="valupsnscor1nm" type="output"/>
  555. <col ref="valuyy" visibility="hidden"/>
  556. <col ref="emplno" visibility="hidden"/>
  557. <col ref="fstscndhfyyflag" visibility="hidden"/>
  558. <col ref="valuclscd" visibility="hidden"/>
  559. <col ref="valumdlcd" visibility="hidden"/>
  560. <col ref="publbaseflag" visibility="hidden"/>
  561. <col ref="valupsncnts1" visibility="hidden"/>
  562. <col ref="valupsnrtnresn2" visibility="hidden"/>
  563. <col ref="valupsncnfmflag2" visibility="hidden"/>
  564. <col ref="valupsnrtnreqresn1" visibility="hidden"/>
  565. <col ref="valuclsdetlcd" visibility="hidden"/>
  566. <col ref="idxcd" visibility="hidden"/>
  567. <col ref="wtnscor" visibility="hidden"/>
  568. <col ref="ownvaluscor" visibility="hidden"/>
  569. <col ref="valupsnscor1" visibility="hidden"/>
  570. <col ref="valupsncnts2" visibility="hidden"/>
  571. <col ref="ownvaluexchscor" visibility="hidden" format="#,###.00"/>
  572. <col ref="valupsnexchscor1" visibility="hidden" format="#,###.00"/>
  573. <col ref="adjtscor" type="output" visibility="hidden" format="#,###.00" maxlength="5.2"/>
  574. <col ref="deptcd" visibility="hidden"/>
  575. <col ref="filecnt" visibility="hidden"/>
  576. <script type="javascript" ev:event="onbuttonclick">
  577. <![CDATA[
  578. if(grd_bizvaluscndlist.col != grd_bizvaluscndlist.colRef("achvmntrslt")) return;
  579. var valuyy = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("valuyy"));
  580. var emplno = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("emplno"));
  581. var fstscndhfyyflag = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row,grd_bizvaluscndlist.colRef("fstscndhfyyflag"));
  582. var valuclscd = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("valuclscd"));
  583. var valumdlcd = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("valumdlcd"));
  584. var valuclsdetlcd = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("valuclsdetlcd"));
  585. var deptcd = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("deptcd"));
  586. var publbaseflag = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("publbaseflag"));
  587. var idxcd = grd_bizvaluscndlist.valueMatrix(grd_bizvaluscndlist.row, grd_bizvaluscndlist.colRef("idxcd"));
  588. misfGridInit(grd_fileinfo);
  589. misfGridIUD(grd_fileinfo, "A");
  590. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  591. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  592. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/fstscndhfyyflag", fstscndhfyyflag);
  593. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclscd", valuclscd);
  594. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valumdlcd", valumdlcd);
  595. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclsdetlcd", valuclsdetlcd);
  596. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/tableflag", "2");
  597. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  598. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/publbaseflag", publbaseflag);
  599. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/idxcd", idxcd);
  600. grd_fileinfo.refresh();
  601. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd",
  602. "valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd","");
  603. //rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag","");
  604. ]]>
  605. </script>
  606. </datagrid>
  607. <select1 id="cmb_fstscndhfyyflag" ref="/root/send/bizvaluscndpsn/fstscndhfyyflag" class="combo_s_essential" appearance="minimal" style="left:657px; top:17px; width:110px; height:19px; ">
  608. <choices>
  609. <itemset>
  610. <label/>
  611. <value/>
  612. </itemset>
  613. </choices>
  614. </select1>
  615. <caption id="cap_fstscndhfyyflag" class="search_name" style="left:575px; top:18px; width:81px; height:17px; vertical-align:middle; ">상하반기:</caption>
  616. <select1 id="cmb_valuclsdetlcd" ref="/root/send/bizvaluscndpsn/valuclsdetlcd" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:857px; top:17px; width:183px; height:19px; ">
  617. <choices>
  618. <itemset nodeset="/root/init/bizvaluflag">
  619. <label ref="cdnm"/>
  620. <value ref="cdid"/>
  621. </itemset>
  622. </choices>
  623. </select1>
  624. <caption id="cap_valuclsdetlcd" class="search_name" visibility="hidden" style="left:800px; top:18px; width:56px; height:17px; vertical-align:middle; ">구분:</caption>
  625. <button id="btn_confirm" class="btn5_letter2" style="left:405px; top:49px; width:42px; height:19px; ">
  626. <caption>승인</caption>
  627. <script type="javascript" ev:event="DOMActivate">
  628. <![CDATA[
  629. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  630. if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  631. var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  632. var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  633. if (valupsncnfmyn1 != "Y") {
  634. messageBox("[" + emplnm + "]는 업적1차 평가 완료가 되지 않아서 승인 할 수 없습니다. ", "I999");
  635. return;
  636. }
  637. var valupsncnfmflag = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag"));
  638. if (valupsncnfmflag == "R") {
  639. messageBox("[" + emplnm + "]는 반려 상태이므로 승인 할 수 없습니다. ", "I999");
  640. return;
  641. }
  642. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) = "A";
  643. }
  644. }
  645. savekind = "B";
  646. btn_save.dispatch("DOMActivate");
  647. // if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) == "R" ) {
  648. // btn_valupsnrtnreqresn2.disabled = "false"
  649. // }
  650. // else {
  651. // btn_valupsnrtnreqresn2.disabled = "true"
  652. // model.toggle("case1");
  653. //
  654. // btn_valupsnrtnreqresn2.selected = "false";
  655. // btn_valupsncnts1.selected = "true";
  656. // }
  657. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  658. //rpvfGetUserInfo( ipt_valuemplno.value, getUserInfo("dutplceinstcd") );
  659. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  660. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 승인 되었습니다.", "Y");
  661. // Email 그리고 Sms 전송
  662. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  663. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  664. // fCmt : 전체적으로 보낼 전송메세지.
  665. // fEmailTitle : 이메일 전송시의 제목.
  666. // fCheckYN : 선택된 사람만 전송할지 유무.
  667. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  668. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  669. rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 승인 되었습니다.", "업적평가 2차 평가 통보",
  670. 'Y',ipt_valuemplno.value, '', 'selyn',"email","valuemplnm","phone");
  671. btn_search.dispatch("DOMActivate");
  672. savekind = "A";
  673. ]]>
  674. </script>
  675. </button>
  676. <bool id="bol_selyn" checkvalue="Y" ref="/root/temp/select" style="left:27px; top:100px; width:20px; height:20px; ">
  677. <script type="javascript" ev:event="xforms-select">
  678. <![CDATA[
  679. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  680. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) = "Y";
  681. grd_bizvaluscndpsnList.rowStatus(i) = 2;
  682. }
  683. ]]>
  684. </script>
  685. <script type="javascript" ev:event="xforms-deselect">
  686. <![CDATA[
  687. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  688. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) = "N";
  689. grd_bizvaluscndpsnList.rowStatus(i) = 2;
  690. }
  691. ]]>
  692. </script>
  693. </bool>
  694. <button id="btn_cancleconfirm" class="btn5_letter4" style="left:449px; top:49px; width:64px; height:19px; ">
  695. <caption>승인취소</caption>
  696. <script type="javascript" ev:event="DOMActivate">
  697. <![CDATA[
  698. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  699. if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  700. var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  701. var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  702. var valupsncnfmflag = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag"));
  703. if (valupsncnfmflag != "A") {
  704. messageBox("[" + emplnm + "]는 승인상태가 아니므로 승인 취소 할 수 없습니다. ", "I999");
  705. return;
  706. }
  707. if (valupsncnfmyn1 != "Y") {
  708. messageBox("[" + emplnm + "]는 업적1차 평가 완료가 되지 않아서 승인 취소 할 수 없습니다. ", "I999");
  709. return;
  710. }
  711. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) = "B";
  712. }
  713. }
  714. savekind = "B";
  715. btn_save.dispatch("DOMActivate");
  716. // if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) == "R" ) {
  717. // btn_valupsnrtnreqresn2.disabled = "false"
  718. // }
  719. // else {
  720. // btn_valupsnrtnreqresn2.disabled = "true"
  721. // model.toggle("case1");
  722. //
  723. // btn_valupsnrtnreqresn2.selected = "false";
  724. // btn_valupsncnts1.selected = "true";
  725. // }
  726. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  727. //rpvfGetUserInfo( ipt_valuemplno.value, getUserInfo("dutplceinstcd") );
  728. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  729. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 승인취소 되었습니다.", "Y");
  730. // Email 그리고 Sms 전송
  731. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  732. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  733. // fCmt : 전체적으로 보낼 전송메세지.
  734. // fEmailTitle : 이메일 전송시의 제목.
  735. // fCheckYN : 선택된 사람만 전송할지 유무.
  736. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  737. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  738. rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 승인취소 되었습니다.", "업적평가 2차 평가 통보",
  739. 'Y',ipt_valuemplno.value, '', 'selyn',"email","valuemplnm","phone");
  740. btn_search.dispatch("DOMActivate");
  741. savekind = "A";
  742. ]]>
  743. </script>
  744. </button>
  745. <button id="btn_canclereturn" class="btn5_letter4" style="left:339px; top:49px; width:64px; height:19px; ">
  746. <caption>반려취소</caption>
  747. <script type="javascript" ev:event="DOMActivate">
  748. <![CDATA[
  749. for(var i = grd_bizvaluscndpsnList.fixedRows; i <= grd_bizvaluscndpsnList.rows; i++) {
  750. if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  751. var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  752. var valupsncnfmflag = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag"));
  753. if (valupsncnfmflag != "R") {
  754. messageBox("[" + emplnm + "]는 반려 되지않아서 반려 취소를 할 수 없습니다. ", "I999");
  755. return;
  756. }
  757. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1")) = "Y";
  758. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("procstat")) = "04";
  759. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) = "B";
  760. }
  761. }
  762. savekind = "B";
  763. btn_save.dispatch("DOMActivate");
  764. // if (grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnfmflag")) == "R" ) {
  765. // btn_valupsnrtnreqresn2.disabled = "false"
  766. // }
  767. // else {
  768. // btn_valupsnrtnreqresn2.disabled = "true"
  769. // model.toggle("case1");
  770. //
  771. // btn_valupsnrtnreqresn2.selected = "false";
  772. // btn_valupsncnts1.selected = "true";
  773. // }
  774. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  775. //rpvfGetUserInfo( ipt_valuemplno.value, getUserInfo("dutplceinstcd") );
  776. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  777. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 반려취소 되었습니다.", "Y");
  778. // Email 그리고 Sms 전송
  779. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  780. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  781. // fCmt : 전체적으로 보낼 전송메세지.
  782. // fEmailTitle : 이메일 전송시의 제목.
  783. // fCheckYN : 선택된 사람만 전송할지 유무.
  784. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  785. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  786. rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 반려취소 되었습니다.", "업적평가 2차 평가 통보",
  787. 'Y',ipt_valuemplno.value, '', 'selyn',"email","valuemplnm","phone");
  788. btn_search.dispatch("DOMActivate");
  789. savekind = "A";
  790. ]]>
  791. </script>
  792. </button>
  793. <button id="btn_valupsnrtnreqresn2" class="btn_sw" group="tab" style="left:127px; top:550px; width:123px; height:22px; ">
  794. <caption>2차평가의견</caption>
  795. <toggle case="case2" ev:event="onclick"/>
  796. </button>
  797. <button id="btn_valupsncnts1" class="btn_sw" group="tab" selected="true" style="left:0px; top:550px; width:123px; height:22px; ">
  798. <caption>1차평가의견</caption>
  799. <toggle case="case1" ev:event="onclick"/>
  800. </button>
  801. <switch id="switch1" style="left:2px; top:570px; width:1190px; height:170px; ">
  802. <case id="case1" selected="true" style="left:0px; top:0px; width:1188px; height:168px; ">
  803. <textarea id="txt_valupsncnts1" ref="/root/temp/valupsncnts1" editable="false" maxbyte="1800" style="left:0px; top:25px; width:1186px; height:140px; "/>
  804. <caption id="caption16" class="tit_2" style="left:0px; top:4px; width:230px; height:14px; vertical-align:middle; ">1차평가의견</caption>
  805. <line id="line5" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  806. </case>
  807. <case id="case2">
  808. <textarea id="txt_valupsncnts2" ref="/root/temp/valupsncnts2" maxbyte="1800" style="left:0px; top:25px; width:1186px; height:140px; ">
  809. <script type="javascript" ev:event="DOMFocusOut">
  810. <![CDATA[
  811. if (model.getValue("/root/temp/rtnresntemp") != txt_valupsncnts2.value) {
  812. grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnts2")) = txt_valupsncnts2.value;
  813. grd_bizvaluscndpsnList.rowStatus(grd_bizvaluscndpsnList.row) = "2";
  814. }
  815. ]]>
  816. </script>
  817. </textarea>
  818. <caption id="caption18" class="tit_2" style="left:0px; top:4px; width:230px; height:14px; vertical-align:middle; ">2차평가의견</caption>
  819. <line id="line7" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  820. </case>
  821. </switch>
  822. <datagrid id="grd_fileinfo" nodeset="/root/main/list/scrfileinfo/fileinfolist" visibility="hidden" caption="valuyy^instcd^deptcd^emplno^goalflag" colsep="^" colwidth="195, 836, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:620px; top:275px; width:310px; height:155px; ">
  823. <col ref="valuyy"/>
  824. <col ref="emplno"/>
  825. <col ref="fstscndhfyyflag"/>
  826. <col ref="valuclscd"/>
  827. <col ref="valumdlcd"/>
  828. <col ref="valuclsdetlcd"/>
  829. <col ref="publbaseflag"/>
  830. <col ref="idxcd"/>
  831. <col ref="tableflag"/>
  832. <col ref="deptcd" visibility="hidden"/>
  833. </datagrid>
  834. <line id="line9" class="line_1" style="x1:520px; y1:69px; x2:1190px; y2:69px; "/>
  835. <datagrid id="grd_ckpilist" nodeset="/root/main/valubizscnd/ckpilist" caption="구분^가중치^평가점수" colsep="^" colwidth="55, 100, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:520px; top:75px; width:670px; height:70px; ">
  836. <col ref="idxsfflagnm"/>
  837. <col ref="wtnscornm"/>
  838. <col ref="valuscornm"/>
  839. </datagrid>
  840. <caption id="caption2" class="tit_2" style="left:520px; top:54px; width:295px; height:13px; vertical-align:middle; ">전사지표 List</caption>
  841. <input id="ipt_indpscor" ref="/root/init/score/indpscor" class="input_essential" disabled="true" format="#,###.##" style="left:708px; top:548px; width:97px; height:19px; text-align:right; "/>
  842. <caption id="cap_total" class="cell_1" style="left:640px; top:546px; width:65px; height:23px; vertical-align:middle; ">본인평가</caption>
  843. <input id="ipt_adjtscor" ref="/root/init/score/adjtscor" class="input_essential" disabled="true" format="#,###.##" style="left:1088px; top:548px; width:97px; height:19px; text-align:right; "/>
  844. <caption id="caption14" class="cell_1" style="left:830px; top:546px; width:65px; height:23px; vertical-align:middle; ">1차평가</caption>
  845. <caption id="caption15" class="cell_1" style="left:1020px; top:546px; width:65px; height:23px; vertical-align:middle; ">조정점수</caption>
  846. <input id="ipt_valuscor1" ref="/root/init/score/valuscor1" class="input_essential" disabled="true" format="#,###.##" style="left:898px; top:548px; width:97px; height:19px; text-align:right; "/>
  847. <datagrid id="grd_msg" nodeset="/root/main/smsdata/recvrlist" visibility="hidden" caption="체크여부^이름^전화번호" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:85px; top:265px; width:310px; height:125px; ">
  848. <col ref="chk"/>
  849. <col ref="recvrnm"/>
  850. <col ref="recvrtelno"/>
  851. </datagrid>
  852. </group>
  853. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  854. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  855. <button id="btn_init" class="btn4_letter3" style="left:1063px; top:3px; width:68px; height:22px; ">
  856. <caption>초기화</caption>
  857. <script type="javascript" ev:event="DOMActivate">
  858. <![CDATA[
  859. window.reload() ;
  860. ]]>
  861. </script>
  862. </button>
  863. <button id="btn_save" class="btn4_letter2" style="left:1134px; top:3px; width:56px; height:22px; ">
  864. <caption>저장</caption>
  865. <script type="javascript" ev:event="DOMActivate">
  866. <![CDATA[
  867. misfSave("TXRPV06401");
  868. if (savekind == "A") {
  869. btn_search.dispatch("DOMActivate");
  870. }
  871. ]]>
  872. </script>
  873. </button>
  874. <button id="btn_valuconfirm" class="btn4_letter4" style="left:980px; top:3px; width:80px; height:22px; ">
  875. <caption>평가완료</caption>
  876. <script type="javascript" ev:event="DOMActivate">
  877. <![CDATA[
  878. for(var i = grd_bizvaluscndpsnList.fixedRows; i < grd_bizvaluscndpsnList.rows; i++) {
  879. //if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  880. var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  881. var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  882. if (valupsncnfmyn1 != "Y") {
  883. messageBox("[" + emplnm + "]는 업적1차 평가 완료가 되지 않아서 2차 평가 완료를 할 수 없습니다. ", "I999");
  884. return;
  885. }
  886. var valupsncnfmflag = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag"));
  887. if (valupsncnfmflag != "A") {
  888. messageBox("[" + emplnm + "]는 승인 상태가 아니므로 2차 평가 완료를 할 수 없습니다. ", "I999");
  889. return;
  890. }
  891. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("lastcnfmyn")) = "Y";
  892. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("procstat")) = "05";
  893. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) = "Y";
  894. grd_bizvaluscndpsnList.addStatus(i, "update");
  895. //}
  896. }
  897. btn_save.dispatch("DOMActivate");
  898. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  899. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 평가완료 되었습니다.");
  900. // Email 그리고 Sms 전송
  901. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  902. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  903. // fCmt : 전체적으로 보낼 전송메세지.
  904. // fEmailTitle : 이메일 전송시의 제목.
  905. // fCheckYN : 선택된 사람만 전송할지 유무.
  906. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호..
  907. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드..
  908. //rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 평가완료 되었습니다.", "업적평가 2차 평가 통보", 'N',ipt_valuemplno.value);
  909. ]]>
  910. </script>
  911. </button>
  912. <button id="btn_valursltquery" class="btn4_letter6" visibility="visible" style="left:752px; top:3px; width:104px; height:22px; ">
  913. <caption>평가결과조회</caption>
  914. <script type="javascript" ev:event="DOMActivate">
  915. <![CDATA[
  916. model.removenode("/root/temp/source");
  917. model.makeNode("/root/temp/source");
  918. model.makeValue("/root/temp/source/valuyy", model.getValue("/root/send/bizvaluscndpsn/valuyy"));
  919. model.makeValue("/root/temp/source/trgtemplno", model.getValue("/root/send/bizvaluscndpsn/emplno"));
  920. model.makeValue("/root/temp/source/trgtemplnm", model.getValue("/root/send/bizvaluscndpsn/emplnm"));
  921. model.makeValue("/root/temp/source/fstscndhfyyflag", model.getValue("/root/send/bizvaluscndpsn/fstscndhfyyflag"));
  922. model.makeValue("/root/temp/source/instcd", model.getValue("/root/main/valuempllist/dutinst"));
  923. model.makeValue("/root/temp/source/deptcd", model.getValue("/root/main/valuempllist/dutunitcd"));
  924. model.makeValue("/root/temp/source/deptnm", model.getValue("/root/main/valuempllist/deptnm"));
  925. model.makeValue("/root/temp/source/fstscndflag", "2");
  926. modal("SMRPV07100","","","","","/root/temp/source", "/root/target" );
  927. ]]>
  928. </script>
  929. </button>
  930. <button id="btn_resultprt" class="btn4_letter6" visibility="visible" style="left:645px; top:2px; width:104px; height:22px; ">
  931. <caption>평가결과출력</caption>
  932. <script type="javascript" ev:event="DOMActivate">
  933. <![CDATA[
  934. model.removenode("/root/temp/source");
  935. model.makeNode("/root/temp/source");
  936. model.makeValue("/root/temp/source/valuyy", model.getValue("/root/send/bizvaluscndpsn/valuyy"));
  937. model.makeValue("/root/temp/source/trgtemplno", model.getValue("/root/send/bizvaluscndpsn/emplno"));
  938. model.makeValue("/root/temp/source/trgtemplnm", model.getValue("/root/send/bizvaluscndpsn/emplnm"));
  939. model.makeValue("/root/temp/source/fstscndhfyyflag", model.getValue("/root/send/bizvaluscndpsn/fstscndhfyyflag"));
  940. model.makeValue("/root/temp/source/fstscndflag", "2");
  941. model.makeValue("/root/temp/source/instcd", model.getValue("/root/main/valuempllist/dutinst"));
  942. model.makeValue("/root/temp/source/deptcd", model.getValue("/root/main/valuempllist/dutunitcd"));
  943. model.makeValue("/root/temp/source/deptnm", model.getValue("/root/main/valuempllist/deptnm"));
  944. modal("SMRPV08000","","","","","/root/temp/source", "/root/target" );
  945. ]]>
  946. </script>
  947. </button>
  948. <button id="btn_valuconfirmcancle" class="btn4_letter6" disabled="true" style="left:872px; top:3px; width:104px; height:22px; ">
  949. <caption>평가완료취소</caption>
  950. <script type="javascript" ev:event="DOMActivate">
  951. <![CDATA[
  952. for(var i = grd_bizvaluscndpsnList.fixedRows; i < grd_bizvaluscndpsnList.rows; i++) {
  953. //if (grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) == "Y" ) {
  954. // var emplnm = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("emplnm"));
  955. // var valupsncnfmyn1 = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmyn1"));
  956. // if (valupsncnfmyn1 != "Y") {
  957. // messageBox("[" + emplnm + "]는 업적1차 평가 완료가 되지 않아서 2차 평가 완료를 할 수 없습니다. ", "I999");
  958. // return;
  959. // }
  960. //
  961. // var valupsncnfmflag = grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("valupsncnfmflag"));
  962. //
  963. // if (valupsncnfmflag != "A") {
  964. // messageBox("[" + emplnm + "]는 승인 상태가 아니므로 2차 평가 완료를 할 수 없습니다. ", "I999");
  965. // return;
  966. // }
  967. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("lastcnfmyn")) = "N";
  968. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("procstat")) = "04";
  969. grd_bizvaluscndpsnList.valueMatrix(i, grd_bizvaluscndpsnList.colRef("selyn")) = "Y";
  970. grd_bizvaluscndpsnList.addStatus(i, "update");
  971. //}
  972. }
  973. btn_save.dispatch("DOMActivate");
  974. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  975. //fSendMsg( grd_bizvaluscndpsnList, model.getValue("/root/init/info/userinfo/phone"), "업적평가2차평가 평가완료 되었습니다.");
  976. // Email 그리고 Sms 전송
  977. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  978. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  979. // fCmt : 전체적으로 보낼 전송메세지.
  980. // fEmailTitle : 이메일 전송시의 제목.
  981. // fCheckYN : 선택된 사람만 전송할지 유무.
  982. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호..
  983. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드..
  984. //rpvfCheckEmailAndSms( grd_bizvaluscndpsnList, "[업적평가2차평] 평가완료 되었습니다.", "업적평가 2차 평가 통보", 'N',ipt_valuemplno.value);
  985. ]]>
  986. </script>
  987. </button>
  988. </group>
  989. </xhtml:body>
  990. </xhtml:html>