SMRPV05800_업무지표등록.xrw 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804
  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>업적평가등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <bizgoalkpi>
  12. <valuempllist/>
  13. <bizgoalskpilist/>
  14. <bizgoalfkpilist/>
  15. <bizskpibaselist/>
  16. </bizgoalkpi>
  17. <kpicnt>
  18. <kpicntlist>
  19. <maxfkpicnt/>
  20. <maxskpicnt/>
  21. </kpicntlist>
  22. </kpicnt>
  23. <orgimrsn>
  24. <orgimrsnlist/>
  25. </orgimrsn>
  26. </list>
  27. <inputendflagstatus>
  28. <inputendflag/>
  29. <inputendflagnm/>
  30. <rtnreqresn/>
  31. <valupsnrtnreqresn/>
  32. <lastcnfmynnm/>
  33. </inputendflagstatus>
  34. <bizgoalskpiprintlist/>
  35. <smsdata>
  36. <bizabbr/>
  37. <replytelno/>
  38. <rsrvyn/>
  39. <rsrvdate/>
  40. <rsrvtime/>
  41. <msgcnts/>
  42. <closeflag/>
  43. <recvrlist>
  44. <chk/>
  45. <recvrnm/>
  46. <recvrtelno/>
  47. </recvrlist>
  48. </smsdata>
  49. </main>
  50. <send>
  51. <bizgoalskpi>
  52. <valuyy/>
  53. <emplno/>
  54. <emplnm/>
  55. <valuclscd>01</valuclscd>
  56. <valumdlcd>001</valumdlcd>
  57. <valuclsdetlcd/>
  58. <fstscndhfyyflag/>
  59. <instcd/>
  60. <deptcd/>
  61. <workgbn/>
  62. </bizgoalskpi>
  63. <idxflag>
  64. <valuclscd/>
  65. <valumdlcd/>
  66. <valuclsdetlcd/>
  67. <idxflag/>
  68. <smallclscd/>
  69. <teamchfflag/>
  70. </idxflag>
  71. <idxcntflag>
  72. <valuclscd/>
  73. <valumdlcd/>
  74. <valuclsdetlcd/>
  75. <idxflag/>
  76. <smallclscd/>
  77. <teamchfflag/>
  78. </idxcntflag>
  79. <prebizgoalskpi>
  80. </prebizgoalskpi>
  81. <save>
  82. <bizgoalskpilist/>
  83. <bizgoalfkpilist/>
  84. <bizskpibaselist/>
  85. </save>
  86. </send>
  87. <init>
  88. <idxfkpimaxcnt/>
  89. <idxskpimaxcnt/>
  90. <swtnscor/>
  91. <fwtnscor/>
  92. <stotwtnscor/>
  93. <ftotwtnscor/>
  94. <valupsncnfmnm1/>
  95. </init>
  96. <hidden/>
  97. <temp/>
  98. <target/>
  99. </root>
  100. </instance>
  101. <script type="javascript" ev:event="xforms-ready">
  102. <![CDATA[
  103. /* Grid 초기화 */
  104. misfGridInit(grd_bizgoalskpi);
  105. misfGridInit(grd_bizskpibaselist);
  106. misfGridInit(grd_bizgoalfkpi);
  107. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  108. /* Grid의 Mater, Detail관계 설정.
  109. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  110. misfMsterDetailSet(grd_bizgoalskpi,null, "TRRPV05801" ,"Y");
  111. misfMsterDetailSet(grd_bizskpibaselist,null, "TRRPV05801" ,"Y");
  112. misfMsterDetailSet(grd_bizgoalfkpi,null, "TRRPV05801" ,"Y");
  113. var curdate = getCurrentDate();
  114. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  115. model.setValue(ipt_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  116. model.setValue(ipt_deptcd.attribute("ref") , getUserInfo("posdeptcd"));
  117. model.setValue(ipt_emplnos.attribute("ref") , getUserInfo("userid"));
  118. model.setValue(ipt_emplnms.attribute("ref") , getUserInfo("usernm"));
  119. //현재화면이 팝업으로 Load 되었을 시.....
  120. if(instance1.selectNodes("/root/target/*").length > 0)
  121. {
  122. fPopupDataSet("valuyy,trgtemplno,trgtemplnm,dutinst,dutunitcd,fstscndhfyyflag","ipt_valuyy,ipt_emplnos,ipt_emplnms,ipt_instcd,ipt_deptcd,cmb_fstscndhfyyflag");
  123. }
  124. finitial();
  125. ]]>
  126. </script>
  127. <submission id="TRRPV05803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/idxcntflag" resultref="/root/main/list/kpicnt"/>
  128. <submission id="TRRPV05801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizgoalskpi" resultref="/root/main/list/bizgoalkpi"/>
  129. <submission id="TRRPV05802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/prebizgoalskpi" resultref="/root/main/list/prebizgoalskpi"/>
  130. <submission id="TXRPV05801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  131. <script type="javascript" ev:event="xforms-model-destruct">
  132. <![CDATA[
  133. if (getGridUpdateData(grd_bizgoalskpi) != "" || getGridUpdateData(grd_bizgoalfkpi) != "") {
  134. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  135. if (save_val == "6") {
  136. btn_save.dispatch("DOMActivate");
  137. }
  138. }
  139. ]]>
  140. </script>
  141. <submission id="TRRPV05804" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizgoalskpi" resultref="/root/main/bizgoalskpiprintlist"/>
  142. </model>
  143. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  144. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  145. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  146. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  147. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  148. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  149. <script type="javascript">
  150. <![CDATA[
  151. var CurGrid = "";
  152. function finitial() {
  153. //alert("aaa");
  154. misfGridInit(grd_bizgoalskpi);
  155. misfGridInit(grd_bizskpibaselist);
  156. misfGridInit(grd_bizgoalfkpi);
  157. //model.setValue(ipt_emplnos.attribute("ref") , "10500713 ");
  158. rpvfComboValuCdList(model.getValue(ipt_valuyy.attribute("ref")),"WTNSCOR,WTNSCORF,FSTSCNDHFYYFLAG,WTNSCOR","grd_bizgoalskpi.wtnscor,grd_bizgoalfkpi.wtnscor,cmb_fstscndhfyyflag,grd_bizskpibaselist.wtnscor");
  159. // rpvfComboIdxFlagCodeList(getUserInfo("dutplceinstcd") , getUserInfo("posdeptcd") , grd_bizgoalfkpi , "idxflag");
  160. // rpvfComboIdxFlagCodeList(getUserInfo("dutplceinstcd") , getUserInfo("posdeptcd") , grd_bizskpibaselist , "idxflag");
  161. //alert("bbb");
  162. if(rpvfCheckManFlag(model.getValue(ipt_valuyy.attribute("ref")),getUserInfo("userid")) != '01'){
  163. messageBox("해당 화면의 ","E002");
  164. rpvfSetControlBy("btn_print,btn_lastcnfm,btn_inputendcan,btn_save,btn_init,btn_search","Y");
  165. }else{
  166. // 평가기간에 따른 권한 부여.
  167. //당분간막음 2008-04-01
  168. // if(model.getValue("/root/temp/trgtflag") != ""){
  169. // rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),"btn_lastcnfm,btn_inputendcan,btn_init,btn_save,btn_search,btn_restoration,btn_nonrestoration,btn_sinsert,btn_sdelete,btn_finsert,btn_fdelete");
  170. // }else{
  171. // rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), "03", "SMRPV05800", "btn_lastcnfm,btn_inputendcan,btn_init,btn_save,btn_search,btn_restoration,btn_nonrestoration,btn_sinsert,btn_sdelete,btn_finsert,btn_fdelete");
  172. // }
  173. btn_print.disabled = false;
  174. btn_lastcnfm.disabled = false;
  175. //btn_inputendcan.disabled = false;
  176. btn_save.disabled = false;
  177. btn_search.disabled = false;
  178. }
  179. var instcd = getUserInfo("dutplceinstcd");
  180. var emplno = getUserInfo("userid");
  181. rpvfGetUserAuth(instcd,emplno);
  182. if(DUTY_VALU_YN =='Y'){
  183. ipt_emplnos.disabled = false;
  184. ipt_emplnms.disabled = false;
  185. btn_emplno.disabled = false;
  186. }else{
  187. ipt_emplnos.disabled = true;
  188. ipt_emplnms.disabled = true;
  189. btn_emplno.disabled = true;
  190. }
  191. // misfGetAndSetUserInfo();
  192. // if(DUT_UNIT_CD =='4020500000'){
  193. // btn_emplno.disabled =false;
  194. // }else{
  195. // btn_emplno.disabled =true;
  196. // }
  197. model.refresh();
  198. }
  199. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  200. function fPopupDataSet()
  201. {
  202. var fgetValueNode = "/root/target/";
  203. var fNodeName = arguments[0].split(",");
  204. var fSetControl = arguments[1].split(",");
  205. for(var i = 0; i < fSetControl.length; i++)
  206. {
  207. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  208. }
  209. }
  210. function fSumWtnScor(pdatagrid)
  211. {
  212. var wtnscor = 0;
  213. for(var row = pdatagrid.fixedRows; row < pdatagrid.rows; row++)
  214. {
  215. if(pdatagrid.rowStatus(row) != "4"){
  216. if(pdatagrid.labelMatrix(row, pdatagrid.colRef("wtnscor")).length > 0){
  217. wtnscor = wtnscor + parseInt(pdatagrid.labelMatrix(row, pdatagrid.colRef("wtnscor")));
  218. }
  219. }
  220. }
  221. if (pdatagrid.attribute("id") == "grd_bizgoalskpi") {
  222. for(var row = grd_bizskpibaselist.fixedRows; row < grd_bizskpibaselist.rows; row++)
  223. {
  224. if(grd_bizskpibaselist.rowStatus(row) != "4"){
  225. if(grd_bizskpibaselist.labelMatrix(row, grd_bizskpibaselist.colRef("wtnscor")).length > 0){
  226. wtnscor = wtnscor + parseInt(grd_bizskpibaselist.labelMatrix(row, grd_bizskpibaselist.colRef("wtnscor")));
  227. }
  228. }
  229. }
  230. }
  231. return wtnscor;
  232. }
  233. function fChkWtnScor(pdatagrid)
  234. {
  235. var wtnscor = fSumWtnScor(pdatagrid);
  236. var jobrespcd = model.getValue("/root/main/list/bizgoalkpi/valuempllist/jobrespcd");
  237. var inoutflag = model.getValue("/root/main/list/bizgoalkpi/valuempllist/custinoutflag");
  238. var orgimrsnappyn = model.getValue("/root/main/list/bizgoalkpi/valuempllist/orgimrsnappyn");
  239. if (pdatagrid.attribute("id") == "grd_bizgoalskpi") {
  240. if (jobrespcd== "1070" || jobrespcd == "1901"|| jobrespcd == "2430"|| jobrespcd == "2010"|| jobrespcd == "1086") {
  241. if (inoutflag == "E" && orgimrsnappyn != "Y") {
  242. if(wtnscor > 0 && wtnscor != 100){
  243. var errmsg = "";
  244. errmsg = "공유지표 ";
  245. errmsg = errmsg + "가중치 합은 100이 되어야만 합니다[";
  246. if(wtnscor < 100 )errmsg = errmsg + (100 - wtnscor) + "미만]";
  247. else errmsg = errmsg + (wtnscor - 100) + "초과]";
  248. messageBox(errmsg + "저장" ,"E001");
  249. return false;
  250. }
  251. }
  252. else if (inoutflag == "E" && orgimrsnappyn == "Y") {
  253. if(wtnscor > 0 && wtnscor != 90){
  254. var errmsg = "";
  255. errmsg = "공유지표 ";
  256. errmsg = errmsg + "가중치 합은 90이 되어야만 합니다[";
  257. if(wtnscor < 90 )errmsg = errmsg + (90 - wtnscor) + "미만]";
  258. else errmsg = errmsg + (wtnscor - 90) + "초과]";
  259. messageBox(errmsg + "저장" ,"E001");
  260. return false;
  261. }
  262. }
  263. else if (inoutflag != "E" && orgimrsnappyn != "Y") {
  264. if(wtnscor > 0 && wtnscor != 80){
  265. var errmsg = "";
  266. errmsg = "공유지표 ";
  267. errmsg = errmsg + "가중치 합은 80이 되어야만 합니다[";
  268. if(wtnscor < 80 )errmsg = errmsg + (80 - wtnscor) + "미만]";
  269. else errmsg = errmsg + (wtnscor - 80) + "초과]";
  270. messageBox(errmsg + "저장" ,"E001");
  271. return false;
  272. }
  273. }
  274. else {
  275. if(wtnscor > 0 && wtnscor != 70){
  276. var errmsg = "";
  277. errmsg = "공유지표 ";
  278. errmsg = errmsg + "가중치 합은 70이 되어야만 합니다[";
  279. if(wtnscor < 70) errmsg = errmsg + (70 - wtnscor) + "미만]";
  280. else errmsg = errmsg + (wtnscor - 70) + "초과]";
  281. messageBox(errmsg + "저장" ,"E001");
  282. return false;
  283. }
  284. }
  285. }
  286. else {
  287. if ( inoutflag == "E") {
  288. if(wtnscor > 0 && wtnscor != 50){
  289. var errmsg = "";
  290. errmsg = "공유지표 ";
  291. errmsg = errmsg + "가중치 합은 50이 되어야만 합니다[";
  292. if(wtnscor < 50) errmsg = errmsg + (50 - wtnscor) + "미만]";
  293. else errmsg = errmsg + (wtnscor - 50) + "초과]";
  294. messageBox(errmsg + "저장" ,"E001");
  295. return false;
  296. }
  297. }
  298. else {
  299. if(wtnscor > 0 && wtnscor != 40){
  300. var errmsg = "";
  301. errmsg = "공유지표 ";
  302. errmsg = errmsg + "가중치 합은 40이 되어야만 합니다[";
  303. if(wtnscor < 40)errmsg = errmsg + (40 - wtnscor) + "미만]";
  304. else errmsg = errmsg + (wtnscor - 40) + "초과]";
  305. messageBox(errmsg + "저장" ,"E001");
  306. return false;
  307. }
  308. }
  309. }
  310. }
  311. else {
  312. if(wtnscor > 0 && wtnscor != 50){
  313. var errmsg = "";
  314. errmsg = "기본지표 ";
  315. errmsg = errmsg + "가중치 합은 50이 되어야만 합니다[";
  316. if(wtnscor < 40)errmsg = errmsg + (50 - wtnscor) + "미만]";
  317. else errmsg = errmsg + (wtnscor - 50) + "초과]";
  318. messageBox(errmsg + "저장" ,"E001");
  319. return false;
  320. }
  321. }
  322. return true;
  323. }
  324. function fGetIdxCnt()
  325. {
  326. model.copyNode("/root/send/idxcntflag","/root/send/bizgoalskpi");
  327. model.makeNode("/root/send/idxcntflag/teamchfflag");
  328. var jobrespcd = model.getValue("/root/main/list/bizgoalkpi/valuempllist/jobrespcd");
  329. if(jobrespcd == "1070" || jobrespcd == "2430" || jobrespcd == "2010" || jobrespcd == "1086" ) //로긴한 사용자가 팀장이라면
  330. {
  331. model.setValue("send/idxcntflag/teamchfflag" , "1");
  332. }
  333. else if(jobrespcd == "1901") //로긴한 사용자가 UM이라면
  334. {
  335. model.setValue("send/idxcntflag/teamchfflag" , "2");
  336. }
  337. else
  338. {
  339. model.setValue("send/idxcntflag/teamchfflag" , "3");
  340. }
  341. submit("TRRPV05803");
  342. model.setValue("/root/init/idxfkpimaxcnt",model.getValue("/root/main/list/kpicnt/kpicntlist/maxfkpicnt"));
  343. model.setValue("/root/init/idxskpimaxcnt",model.getValue("/root/main/list/kpicnt/kpicntlist/maxskpicnt"));
  344. }
  345. function fGetMaxPrtSeqNo()
  346. {
  347. var maxprtseqno = "";
  348. for(var currow = grd_bizgoalskpi.fixedRows ; currow < grd_bizgoalskpi.rows; currow++)
  349. {
  350. if(maxprtseqno < parseInt(grd_bizgoalskpi.valueMatrix(currow , grd_bizgoalskpi.colRef("prtseqno"))))
  351. maxprtseqno = grd_bizgoalskpi.valueMatrix(currow , grd_bizgoalskpi.colRef("prtseqno"));
  352. }
  353. if(maxprtseqno.length== 0)maxprtseqno = 1;
  354. else maxprtseqno = parseInt(maxprtseqno) + 1;
  355. return maxprtseqno;
  356. }
  357. function fGetPreIdxCopy()
  358. {
  359. if ( !isRequiredControls("ipt_valuyy") ) {
  360. return false;
  361. }
  362. return;
  363. var curyear = model.getValue(ipt_valuyy.attribute("ref"));
  364. var preyear = parseInt(curyear) -1;
  365. model.copyNode("/root/send/prebizgoalskpi", "root/send/bizgoalskpi");
  366. model.makeNode("/root/send/prebizgoalskpi/useyn");
  367. model.setValue("/root/send/prebizgoalskpi/valuyy",preyear);
  368. model.setValue("/root/send/prebizgoalskpi/useyn","Y");
  369. submit("TRRPV05802");
  370. var node = "/root/main/list/prebizgoalskpi";
  371. var nodename = "bizgoalskpilist";
  372. var codynode = instance1.selectNodes(node + "/*");
  373. var addRow = grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows;
  374. var duplchk = false;
  375. if(model.getValue(grd_bizgoalskpi.nodeset + "[" + addRow + "]/idxcd").length > 0)addRow = addRow + 1;
  376. for (var j = 1; j <= codynode.length ; j++) {
  377. duplchk = false;
  378. for(var row = grd_bizgoalskpi.fixedRows ; row < grd_bizgoalskpi.rows ; row++)
  379. {
  380. if(grd_bizgoalskpi.valueMatrix(row , grd_bizgoalskpi.colRef("rsltidx")) == model.getValue(node +"/" + nodename + "[" + j + "]/rsltidx") &&
  381. grd_bizgoalskpi.valueMatrix(row , grd_bizgoalskpi.colRef("inspmthd")) == model.getValue(node +"/" + nodename + "[" + j + "]/inspmthd"))
  382. {
  383. duplchk = true;
  384. break;
  385. }
  386. }
  387. if(duplchk == false)
  388. {
  389. if(addRow == 0 || addRow > grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows)
  390. {
  391. misfGridIUD(grd_bizgoalskpi,"A");
  392. addRow = grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows;
  393. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  394. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/prtseqno", fGetMaxPrtSeqNo());
  395. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/useyn", "Y");
  396. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/valuclscd", model.getValue("/root/send/bizgoalskpi/valuclscd"));
  397. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/valumdlcd", model.getValue("/root/send/bizgoalskpi/valumdlcd"));
  398. model.setValue(grd_bizgoalskpi.attribute("nodeset")+"["+addRow+"]/valuclsdetlcd", model.getValue("/root/send/bizgoalskpi/valuclsdetlcd"));
  399. }
  400. model.setValue(grd_bizgoalskpi.nodeset + "[" + addRow + "]/bizgoalskpi" , model.getValue(node +"/" + nodename + "[" + j + "]/bizgoalskpi"));
  401. model.setValue(grd_bizgoalskpi.nodeset + "[" + addRow + "]/idxcd" , model.getValue(node +"/" + nodename + "[" + j + "]/idxcd"));
  402. model.setValue(grd_bizgoalskpi.nodeset + "[" + addRow + "]/rsltidx" , model.getValue(node +"/" + nodename + "[" + j + "]/rsltidx"));
  403. model.setValue(grd_bizgoalskpi.nodeset + "[" + addRow + "]/inspmthd" , model.getValue(node +"/" + nodename + "[" + j + "]/inspmthd"));
  404. addRow = addRow + 1;
  405. }
  406. }
  407. model.refresh();
  408. }
  409. function fSettingIdxInfoList(pdatagrid, pnode, nodename, pubflag){
  410. var codynode = instance1.selectNodes(pnode + "/*");
  411. var addRow = pdatagrid.rows - pdatagrid.fixedRows;
  412. var basekpiRow = grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows;
  413. addRow = addRow + basekpiRow;
  414. var nocopy = false;
  415. // if (pubflag != "B") {
  416. if(model.getValue(pdatagrid.nodeset + "[" + addRow + "]/idxcd").length > 0) addRow = addRow + 1;
  417. // }
  418. if (pdatagrid.attribute("id") == "grd_bizgoalskpi" ) {
  419. if(model.getValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/idxcd").length > 0) {
  420. basekpiRow = basekpiRow + 1;
  421. //addRow = addRow + 1;
  422. }
  423. }
  424. if(pdatagrid.attribute("id") == "grd_bizgoalskpi" && codynode.length > model.getValue("/root/init/idxskpimaxcnt") ){
  425. messageBox("공유 지표 최대 항목 개수는 " + model.getValue("/root/init/idxskpimaxcnt") + "입니다. 추가 할 수","I004");
  426. return;
  427. }
  428. if(pdatagrid.attribute("id") == "grd_bizgoalfkpi" && codynode.length > model.getValue("/root/init/idxfkpimaxcnt") ){
  429. messageBox("기본 업무 지표 최대 항목 개수는 " + model.getValue("/root/init/idxfkpimaxcnt") + "입니다. 추가 할 수","I004");
  430. return;
  431. }
  432. for (var j = 1; j <= codynode.length ; j++) {
  433. var findrow = -1;
  434. for (var z = pdatagrid.fixedRows; z < pdatagrid.rows; z++) {
  435. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd") == pdatagrid.valueMatrix(z ,pdatagrid.colRef("idxcd") ) ) {
  436. if (pubflag == "B" || model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd") == "004" ) {
  437. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/deptcd") == pdatagrid.valueMatrix(z ,pdatagrid.colRef("deptcd") )) {
  438. findrow = 1;
  439. break;
  440. }
  441. else{
  442. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd") != "004" ) {
  443. if (pubflag == "B" && pdatagrid.valueMatrix(z ,pdatagrid.colRef("publbaseflag")) == "B" ) {
  444. findrow = 1;
  445. break;
  446. }
  447. else if (pubflag != "B"){
  448. findrow = 1;
  449. break;
  450. }
  451. }
  452. }
  453. }
  454. }
  455. }
  456. if (findrow == -1 && pdatagrid.attribute("id") == "grd_bizgoalskpi" ) {
  457. for (var z = grd_bizskpibaselist.fixedRows; z < grd_bizskpibaselist.rows; z++) {
  458. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd") == grd_bizskpibaselist.valueMatrix(z ,grd_bizskpibaselist.colRef("idxcd") ) ) {
  459. if (pubflag == "B" || model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd") == "004" ) {
  460. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/deptcd") == grd_bizskpibaselist.valueMatrix(z ,grd_bizskpibaselist.colRef("deptcd") )) {
  461. findrow = 1;
  462. break;
  463. }
  464. }
  465. else {
  466. if (pubflag == "B" && grd_bizskpibaselist.valueMatrix(z ,grd_bizskpibaselist.colRef("publbaseflag")) == "B" ) {
  467. findrow = 1;
  468. break;
  469. }
  470. else if (pubflag != "B"){
  471. findrow = 1;
  472. break;
  473. }
  474. }
  475. }
  476. }
  477. }
  478. // var findstr = model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd");
  479. // var findrow = pdatagrid.findRow(findstr,pdatagrid.fixedRows,pdatagrid.colRef("idxcd"),true,true);
  480. if(findrow < 0){
  481. nocopy = false;
  482. if (pdatagrid.attribute("id") == "grd_bizgoalskpi") {
  483. var idxcnt = (pdatagrid.rows - pdatagrid.fixedRows) + (grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows);
  484. }
  485. else {
  486. var idxcnt = (pdatagrid.rows - pdatagrid.fixedRows) ;
  487. }
  488. // alert(addRow);
  489. // alert(idxcnt);
  490. if(addRow > idxcnt)
  491. {
  492. if(pdatagrid.attribute("id") == "grd_bizgoalskpi"){
  493. if(model.getValue("/root/init/idxskpimaxcnt") < (addRow))
  494. {
  495. messageBox("공유 지표 항목 개수는 " + model.getValue("/root/init/idxskpimaxcnt") + "입니다. 추가 할 수","I004");
  496. // for (var z = grd_bizgoalskpi.fixedRows; z < grd_bizgoalskpi.rows; z++) {
  497. // if (grd_bizgoalskpi.rowStatus(z) == "1" || grd_bizgoalskpi.rowStatus(z) == "3" ) {
  498. // grd_bizgoalskpi.deleteRow(z);
  499. // }
  500. // }
  501. model.refresh();
  502. return;
  503. }
  504. }
  505. else{
  506. if(model.getValue("/root/init/idxfkpimaxcnt") < (addRow))
  507. {
  508. messageBox("기본 업무 지표 최대 항목 개수는 " + model.getValue("/root/init/idxfkpimaxcnt") + "입니다. 추가 할 수","I004");
  509. model.refresh();
  510. return;
  511. }
  512. }
  513. if ( pdatagrid.attribute("id") == "grd_bizgoalskpi" && pubflag == "B"){
  514. misfGridIUD(grd_bizskpibaselist,"A");
  515. addRow = (pdatagrid.rows - pdatagrid.fixedRows) + (grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows);
  516. basekpiRow = grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows;
  517. //alert(basekpiRow);
  518. }
  519. else {
  520. misfGridIUD(pdatagrid,"A");
  521. if (pdatagrid.attribute("id") == "grd_bizgoalskpi") {
  522. addRow = (pdatagrid.rows - pdatagrid.fixedRows) + (grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows);
  523. }
  524. else {
  525. addRow = pdatagrid.rows - pdatagrid.fixedRows;
  526. }
  527. }
  528. }
  529. if(pdatagrid.attribute("id") == "grd_bizgoalskpi")
  530. {
  531. if(model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd") == "999")
  532. {
  533. nocopy = true;
  534. var rtn =messageBox("공유 지표에 기본 업무를 선택 하셨습니다" + "\n\r" + "기본 업무 지표를" ,"Q005");
  535. if(rtn == "6")
  536. {
  537. model.setValue(ipt_valuclscd.attribute("ref"),"01");
  538. model.setValue(ipt_valumdlcd.attribute("ref"),"001");
  539. model.setValue(ipt_valuclsdetlcd.attribute("ref"),"004");
  540. model.removenode("/root/copynode2");
  541. model.removenode(gvParamPath +"/SMRPV99700_/SMRPV99700_value");
  542. model.makeNode("/root/copynode2");
  543. if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.row, grd_bizgoalskpi.colRef("idxcd")) == "") {
  544. misfGridIUD(grd_bizgoalskpi, "D");
  545. // misfGridIUD(grd_bizskpibaselist,"A");
  546. }
  547. misfGridIUD(grd_bizskpibaselist,"A");
  548. // misfGridIUD(grd_bizskpibaselist,"A");
  549. // basekpiRow = basekpiRow + 1;
  550. // addRow = addRow + 1;
  551. rpvfOpenPopUpList("20",grd_bizskpibaselist,"","idxcd,idxcdnm,valuclscd,valumdlcd,valuclsdetlcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd,ipt_idxflag,ipt_smallclscd,ipt_instcd,ipt_deptcd");
  552. //rpvfOpenPopUpList("20",grd_bizgoalskpi,"","idxcd,idxcdnm,valuclscd,valumdlcd,valuclsdetlcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd,ipt_idxflag,ipt_smallclscd,ipt_instcd,ipt_deptcd");
  553. var cur_row = grd_bizskpibaselist.row;
  554. var status = grd_bizskpibaselist.valueMatrix(cur_row, grd_bizskpibaselist.colRef("m"));
  555. var CSV = model.getValue(gvParamPath +"/SMRPV99700_/SMRPV99700_value");
  556. setCSVToNode("/root/copynode2", CSV, "bizgoalfkpilist");
  557. // var prerow = basekpiRow;
  558. //
  559. // var prerow = 1;
  560. var tmpcodynode = instance1.selectNodes("/root/copynode2/*");
  561. if(tmpcodynode.length > 0)
  562. {
  563. if(tmpcodynode.length > 2 || grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows > 2)
  564. {
  565. if(grd_bizskpibaselist.valueMatrix(grd_bizskpibaselist.row, grd_bizskpibaselist.colRef("idxcd")) == "") {
  566. misfGridIUD(grd_bizskpibaselist,"D");
  567. }
  568. messageBox("기본 업무 지표 최대 항목 개수는 2입니다. 추가 할 수","I004");
  569. model.refresh();
  570. return;
  571. }
  572. fSettingIdxInfoList(grd_bizgoalskpi,"/root/copynode2", "bizgoalfkpilist", "B");
  573. // alert(basekpiRow);
  574. // alert(grd_bizskpibaselist.rows);
  575. for(var row = grd_bizskpibaselist.fixedRows ; row<grd_bizskpibaselist.rows;row++)
  576. {
  577. model.setValue(grd_bizskpibaselist.nodeset + "[" + row + "]/publbaseflag" , "B");
  578. model.setValue(grd_bizskpibaselist.nodeset + "[" + row + "]/valuclsdetlcd" , "002");
  579. }
  580. addRow = addRow + tmpcodynode.length;
  581. basekpiRow = basekpiRow + tmpcodynode.length;
  582. }
  583. else
  584. {
  585. misfGridIUD(grd_bizskpibaselist,"D");
  586. }
  587. }
  588. else
  589. {
  590. misfGridIUD(grd_bizskpibaselist,"D");
  591. }
  592. }
  593. }
  594. if(!nocopy)
  595. {
  596. if (pubflag == "B") {
  597. // alert(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/idxcd" );
  598. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/idxcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd"));
  599. // model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/idxcdnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcdnm"));
  600. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/rsltidx" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcdnm"));
  601. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/valuclscd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclscd"));
  602. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/valumdlcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valumdlcd"));
  603. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/valuclsdetlcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd"));
  604. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/inspmthd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/inspmthd"));
  605. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/valuyy" , model.getValue(ipt_valuyy.attribute("ref")));
  606. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/emplno" , model.getValue(ipt_emplnos.attribute("ref")));
  607. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/fstscndhfyyflag" , model.getValue(cmb_fstscndhfyyflag.attribute("ref")));
  608. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/inputendflag" , "02");
  609. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/deptcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/deptcd"));
  610. model.setValue(grd_bizskpibaselist.nodeset + "[" + basekpiRow + "]/idxflag" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxflagnm"));
  611. basekpiRow = basekpiRow + 1;
  612. }
  613. else {
  614. // alert(addRow);
  615. // alert(basekpiRow);
  616. // alert(addRow-basekpiRow);
  617. basekpiRow = grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows;
  618. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/idxcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcd"));
  619. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd") == "004") {
  620. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/rsltidx" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcdnm"));
  621. }
  622. else {
  623. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/idxcdnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxcdnm"));
  624. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/idxinputyn") == "N") {
  625. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/rsltidx" , model.getValue(pnode +"/" + nodename + "[" + j + "]/rsltidx"));
  626. pdatagrid.cellStyle("background-color", pdatagrid.row, pdatagrid.colRef("rsltidx")) = "#c0c0c0";
  627. pdatagrid.cellAttribute("disabled",pdatagrid.row, pdatagrid.colRef("rsltidx")) = "true";
  628. }
  629. else {
  630. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/rsltidx" , "");
  631. pdatagrid.cellStyle("background-color", pdatagrid.row, pdatagrid.colRef("rsltidx")) = "#ffffff";
  632. pdatagrid.cellAttribute("disabled",pdatagrid.row, pdatagrid.colRef("rsltidx")) = "false";
  633. }
  634. }
  635. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/valuclscd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclscd"));
  636. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/valumdlcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valumdlcd"));
  637. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/valuclsdetlcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuclsdetlcd"));
  638. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/inspmthd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/inspmthd"));
  639. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/valuyy" , model.getValue(ipt_valuyy.attribute("ref")));
  640. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/emplno" , model.getValue(ipt_emplnos.attribute("ref")));
  641. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/fstscndhfyyflag" , model.getValue(cmb_fstscndhfyyflag.attribute("ref")));
  642. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/inputendflag" , "02");
  643. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/deptcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/deptcd"));
  644. if (pdatagrid.attribute("id") == "grd_bizgoalfkpi") {
  645. model.setValue(pdatagrid.nodeset + "[" + (addRow - basekpiRow) + "]/idxflag" , model.getValue(pnode +"/" + nodename + "[" + j + "]/idxflagnm"));
  646. }
  647. }
  648. addRow = addRow + 1;
  649. }
  650. }
  651. }
  652. model.refresh();
  653. }
  654. function fSettingControlRestoration(pEditable)
  655. {
  656. if(pEditable)
  657. {
  658. txt_rtnreqresn.attribute("editable") = "true";
  659. //btn_restoration.disabled = false;
  660. //btn_nonrestoration.disabled = true;
  661. btn_sinsert.disabled = false;
  662. btn_sdelete.disabled = false;
  663. btn_finsert.disabled = false;
  664. btn_fdelete.disabled = false;
  665. grd_bizgoalskpi.disabled = false;
  666. grd_bizgoalfkpi.disabled = false;
  667. btn_save.disabled = false;
  668. }
  669. else
  670. {
  671. txt_rtnreqresn.attribute("editable") = "false";
  672. //btn_restoration.disabled = true;
  673. //btn_nonrestoration.disabled = false;
  674. btn_sinsert.disabled = true;
  675. btn_sdelete.disabled = true;
  676. btn_finsert.disabled = true;
  677. btn_fdelete.disabled = true;
  678. grd_bizgoalskpi.disabled = true;
  679. grd_bizgoalfkpi.disabled = true;
  680. btn_save.disabled = true;
  681. }
  682. }
  683. function fSettingRestoration()
  684. {
  685. var restoration = false;
  686. var restorationflag= "Q";
  687. var restorationcnt = "";
  688. //model.setValue(ipt_lastcnfmynnm.attribute("ref"), "");
  689. model.setValue(txt_rtnreqresn.attribute("ref"), "");
  690. //model.setValue(ipt_inputendflag.attribute("ref"), "");
  691. //model.setValue(ipt_inputendflagnm.attribute("ref"), "");
  692. model.setValue(txt_valupsnrtnreqresn.attribute("ref"), "");
  693. if(grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows > 0)
  694. {
  695. if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("procstat")) == restorationflag)
  696. {
  697. restorationcnt = grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("rtnreqresn"))
  698. restoration = true;
  699. }
  700. }
  701. else
  702. {
  703. if(grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows > 0)
  704. {
  705. if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("procstat")) == restorationflag)
  706. {
  707. restorationcnt = grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("rtnreqresn"));
  708. restoration = true;
  709. }
  710. }
  711. }
  712. if(restoration)
  713. {
  714. model.setValue(txt_rtnreqresn.attribute("ref"), restorationcnt);
  715. //model.setValue(ipt_inputendflag.attribute("ref"), restorationflag);
  716. // if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("aprvflag"))== "R"){
  717. // model.setValue(ipt_inputendflagnm.attribute("ref"), "반려");
  718. // }
  719. // else{
  720. // //model.setValue(ipt_inputendflagnm.attribute("ref"), "반려요청");
  721. // }
  722. }
  723. if( (grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows ==0) && (grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows == 0))
  724. {
  725. fSettingControlRestoration(true);
  726. txt_rtnreqresn.attribute("editable") = "false";
  727. btn_restoration.disabled = true;
  728. btn_nonrestoration.disabled = true;
  729. }
  730. else
  731. {
  732. fSettingControlRestoration(!restoration);
  733. model.setValue(txt_valupsnrtnreqresn.attribute("ref"), grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("valupsnrtnreqresn")));
  734. }
  735. // if(grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows > 0){
  736. // if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("lastcnfmyn")) == "Y"){
  737. // //model.setValue(ipt_lastcnfmynnm.attribute("ref"), "최종확정");
  738. // }
  739. // else{
  740. // //model.setValue(ipt_lastcnfmynnm.attribute("ref"), "미확정");
  741. // }
  742. // }
  743. // else
  744. // {
  745. // if(grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows > 0){
  746. // if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("inputendflag")) != "Y"){
  747. // model.setValue(ipt_lastcnfmynnm.attribute("ref"), "최종확정");
  748. // }
  749. // else{
  750. // model.setValue(ipt_lastcnfmynnm.attribute("ref"), "미확정");
  751. // }
  752. //
  753. // }
  754. //
  755. // }
  756. model.refresh();
  757. }
  758. function fSettingGridRestoration(pdatagrid,prtnreqresn)
  759. {
  760. for(var row = pdatagrid.fixedRows; row < pdatagrid.rows; row++)
  761. {
  762. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/procstat","Q");
  763. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/rtnreqresn",prtnreqresn);
  764. if(pdatagrid.rowStatus(row) != "1" && pdatagrid.rowStatus(row) != "3" )pdatagrid.rowStatus(row) = "2";
  765. }
  766. }
  767. function fSettingGridNotRestoration(pdatagrid)
  768. {
  769. for(var row = pdatagrid.fixedRows; row < pdatagrid.rows; row++)
  770. {
  771. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/procstat","");
  772. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/rtnreqresn","");
  773. if(pdatagrid.rowStatus(row) != "1" && pdatagrid.rowStatus(row) != "3" )pdatagrid.rowStatus(row) = "2";
  774. }
  775. }
  776. function fSettingGridLastValuCnfm(pdatagrid,inputendflag)
  777. {
  778. for(var row = pdatagrid.fixedRows; row < pdatagrid.rows; row++)
  779. {
  780. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/inputendflag",inputendflag);
  781. if(pdatagrid.rowStatus(row) != "1" && pdatagrid.rowStatus(row) != "3" )pdatagrid.rowStatus(row) = "2";
  782. }
  783. }
  784. //팝업되었을시 최종확정및 최종확정취소 데이타 설정.
  785. function fSettingGridLastValuPopup(pdatagrid,pData)
  786. {
  787. for(var row = pdatagrid.fixedRows; row < pdatagrid.rows; row++)
  788. {
  789. model.setValue(pdatagrid.attribute("nodeset")+"[" + (row - pdatagrid.fixedRows + 1) + "]/valupsncnfmflag1", pData);
  790. }
  791. }
  792. function fControlDisabled(bool)
  793. {
  794. btn_lastcnfm.disabled = bool;
  795. btn_save.disabled = bool;
  796. //btn_restoration.disabled = bool;
  797. //btn_nonrestoration.disabled = bool;
  798. btn_sinsert.disabled = bool;
  799. btn_sdelete.disabled = bool;
  800. //btn_finsert.disabled = bool;
  801. //btn_fdelete.disabled = bool;
  802. grd_bizgoalskpi.disabled = bool;
  803. grd_bizskpibaselist.disabled = bool;
  804. grd_bizgoalfkpi.disabled = bool;
  805. //txt_rtnreqresn.disabled = bool;
  806. txt_valupsnrtnreqresn.disabled = bool;
  807. }
  808. function fChkgoallevl(pdatagrid)
  809. {
  810. for (var i = pdatagrid.fixedRows; i < pdatagrid.rows; i++) {
  811. if (pdatagrid.valueMatrix(i,pdatagrid.colRef("goallevl")) == "") {
  812. messageBox("입력 되지 않은 목표수준이 있습니다." + "저장" ,"E001");
  813. return false;
  814. }
  815. }
  816. if (pdatagrid.attribute("id") == "grd_bizgoalskpi") {
  817. for(var row = grd_bizskpibaselist.fixedRows; row < grd_bizskpibaselist.rows; row++)
  818. {
  819. if (grd_bizskpibaselist.valueMatrix(row, grd_bizskpibaselist.colRef("goallevl")) == "") {
  820. messageBox("입력 되지 않은 목표수준이 있습니다." + "저장" ,"E001");
  821. return false;
  822. }
  823. }
  824. }
  825. return true;
  826. }
  827. ]]>
  828. </script>
  829. </xhtml:head>
  830. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  831. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  832. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">업무지표등록</caption>
  833. </group>
  834. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  835. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  836. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  837. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  838. <caption>조회</caption>
  839. <script type="javascript" ev:event="DOMActivate">
  840. <![CDATA[
  841. if ( !isRequiredControls("ipt_valuyy" , "ipt_emplnos", "cmb_fstscndhfyyflag") ) {
  842. return false;
  843. }
  844. misfGridInit(grd_bizgoalskpi);
  845. misfGridInit(grd_bizgoalfkpi);
  846. misfGridInit(grd_bizskpibaselist);
  847. // rpvfComboIdxFlagCodeList(model.getValue("/root/main/list/bizgoalkpi/valuempllist/instcd"), model.getValue("/root/main/list/bizgoalkpi/valuempllist/unitcd") , grd_bizgoalfkpi , "idxflag");
  848. // rpvfComboIdxFlagCodeList(model.getValue("/root/main/list/bizgoalkpi/valuempllist/instcd"), model.getValue("/root/main/list/bizgoalkpi/valuempllist/unitcd") , grd_bizskpibaselist , "idxflag");
  849. submit("TRRPV05801");
  850. var valutrgtflag = model.getValue("/root/main/list/bizgoalkpi/valuempllist/valutrgtflag");
  851. var fstscndyyflag = cmb_fstscndhfyyflag.value;
  852. if(rpvfCheckManFlag(model.getValue(ipt_valuyy.attribute("ref")),model.getValue(ipt_emplnos.attribute("ref"))) != '01'){
  853. messageBox("해당 화면의 ","E002");
  854. rpvfSetControlBy("btn_finsert,btn_fdelete,btn_sinsert,btn_sdelete,btn_restoration,txt_rtnreqresn,btn_nonrestoration,btn_inputendcan,btn_restoration,btn_nonrestoration,btn_print,btn_lastcnfm,btn_init,btn_save,btn_search","Y");
  855. return;
  856. }
  857. if (valutrgtflag == "4") {
  858. messageBox("평가 대상자가 아닙 니다. 사용 할 수","I004");
  859. btn_finsert.disabled = true;
  860. btn_fdelete.disabled = true;
  861. btn_sinsert.disabled = true;
  862. btn_sdelete.disabled = true;
  863. btn_restoration.disabled = true;
  864. txt_rtnreqresn.disabled = true;
  865. btn_nonrestoration.disabled = true;
  866. btn_inputendcan.disabled = true;
  867. btn_restoration.disabled = true;
  868. btn_nonrestoration.disabled = true;
  869. btn_print.disabled = true;
  870. btn_lastcnfm.disabled = true;
  871. btn_init.disabled = true;
  872. btn_save.disabled = true;
  873. btn_search.disabled = true;
  874. return;
  875. }
  876. if (fstscndyyflag == "1" && valutrgtflag == "3" ) {
  877. messageBox("하반기 평가 대상자입니다. 사용 할 수","I004");
  878. btn_finsert.disabled = true;
  879. btn_fdelete.disabled = true;
  880. btn_sinsert.disabled = true;
  881. btn_sdelete.disabled = true;
  882. btn_restoration.disabled = true;
  883. txt_rtnreqresn.disabled = true;
  884. btn_nonrestoration.disabled = true;
  885. btn_inputendcan.disabled = true;
  886. btn_restoration.disabled = true;
  887. btn_nonrestoration.disabled = true;
  888. btn_print.disabled = true;
  889. btn_lastcnfm.disabled = true;
  890. btn_init.disabled = true;
  891. btn_save.disabled = true;
  892. btn_search.disabled = true;
  893. return;
  894. }
  895. if (fstscndyyflag == "2" && valutrgtflag == "2" ) {
  896. messageBox("상반기 평가 대상자입니다. 사용 할 수","I004");
  897. btn_finsert.disabled = true;
  898. btn_fdelete.disabled = true;
  899. btn_sinsert.disabled = true;
  900. btn_sdelete.disabled = true;
  901. btn_restoration.disabled = true;
  902. txt_rtnreqresn.disabled = true;
  903. btn_nonrestoration.disabled = true;
  904. btn_inputendcan.disabled = true;
  905. btn_restoration.disabled = true;
  906. btn_nonrestoration.disabled = true;
  907. btn_print.disabled = true;
  908. btn_lastcnfm.disabled = true;
  909. btn_init.disabled = true;
  910. btn_save.disabled = true;
  911. btn_search.disabled = true;
  912. return;
  913. }
  914. fSettingRestoration();
  915. var jobrespcd = model.getValue("/root/main/list/bizgoalkpi/valuempllist/jobrespcd");
  916. var inoutflag = model.getValue("/root/main/list/bizgoalkpi/valuempllist/custinoutflag");
  917. var orgimrsnappyn = model.getValue("/root/main/list/bizgoalkpi/valuempllist/orgimrsnappyn");
  918. //alert(jobrespcd);
  919. if (jobrespcd == "1070" || jobrespcd == "1901" || jobrespcd == "2430"|| jobrespcd == "2010"|| jobrespcd == "1086") {
  920. btn_finsert.disabled = true;
  921. //btn_fdelete.disabled = true;
  922. if (inoutflag == "E" && orgimrsnappyn != "Y") {
  923. opt_stotwtnscor.value = "100";
  924. }
  925. else if (inoutflag == "E" && orgimrsnappyn == "Y") {
  926. opt_stotwtnscor.value = "90";
  927. }
  928. else if (inoutflag != "E" && orgimrsnappyn != "Y") {
  929. opt_stotwtnscor.value = "80";
  930. }
  931. else {
  932. opt_stotwtnscor.value = "70";
  933. }
  934. opt_ftotwtnscor.value = "0";
  935. }
  936. else {
  937. if (inoutflag == "E") {
  938. opt_stotwtnscor.value = "50";
  939. }
  940. else {
  941. opt_stotwtnscor.value = "40";
  942. }
  943. opt_ftotwtnscor.value = "50";
  944. }
  945. model.setValue(opt_swtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalskpi));
  946. model.setValue(opt_fwtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalfkpi));
  947. fGetIdxCnt();
  948. if(grd_bizgoalskpi.fixedRows != grd_bizgoalskpi.rows)
  949. {
  950. if(grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("inputendflag")) == "03" ||
  951. grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("inputendflag")) == "04")
  952. {
  953. fControlDisabled(true);
  954. btn_finsert.disabled = true;
  955. btn_fdelete.disabled = true;
  956. if (grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "A") {
  957. btn_restoration.disabled = false;
  958. txt_rtnreqresn.disabled = false;
  959. btn_nonrestoration.disabled = true;
  960. }
  961. else {
  962. btn_inputendcan.disabled = false;
  963. btn_restoration.disabled = true;
  964. txt_rtnreqresn.disabled = true;
  965. }
  966. if (grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "A" ||
  967. grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "C" ||
  968. grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "F" ) {
  969. btn_inputendcan.disabled = true;
  970. }
  971. else {
  972. btn_inputendcan.disabled = false;
  973. }
  974. if (grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("procstat")) == "Q") {
  975. btn_restoration.disabled = true;
  976. btn_nonrestoration.disabled = false;
  977. }
  978. }else{
  979. fControlDisabled(false);
  980. }
  981. }
  982. if (grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "R") {
  983. ipt_valupsncnfmnm1.value = "반려";
  984. }
  985. else{
  986. ipt_valupsncnfmnm1.value = "";
  987. }
  988. for (var k = grd_bizgoalskpi.fixedRows; k < grd_bizgoalskpi.rows; k++) {
  989. if (grd_bizgoalskpi.valueMatrix(k, grd_bizgoalskpi.colRef("idxinputyn")) == "N") {
  990. grd_bizgoalskpi.cellStyle("background-color", k, grd_bizgoalskpi.colRef("rsltidx")) = "#c0c0c0";
  991. grd_bizgoalskpi.cellAttribute("disabled",k, grd_bizgoalskpi.colRef("rsltidx")) = "true";
  992. }
  993. else {
  994. grd_bizgoalskpi.cellStyle("background-color", k, grd_bizgoalskpi.colRef("rsltidx")) = "#ffffff";
  995. grd_bizgoalskpi.cellAttribute("disabled",k, grd_bizgoalskpi.colRef("rsltidx")) = "false";
  996. }
  997. }
  998. opt_swtnscor.refresh();
  999. opt_fwtnscor.refresh();
  1000. opt_stotwtnscor.refresh();
  1001. opt_ftotwtnscor.refresh();
  1002. model.setValue(ipt_instcd.attribute("ref") , model.getValue("/root/main/list/bizgoalkpi/valuempllist/dutinst"));
  1003. model.setValue(ipt_deptcd.attribute("ref") , model.getValue("/root/main/list/bizgoalkpi/valuempllist/dutunitcd"));
  1004. ipt_instcd.refresh();
  1005. ipt_deptcd.refresh();
  1006. ]]>
  1007. </script>
  1008. </button>
  1009. <caption id="cap_valuyy" class="search_name" style="left:15px; top:19px; width:100px; height:17px; vertical-align:middle; ">기준년도 :</caption>
  1010. <input id="ipt_valuyy" ref="/root/send/bizgoalskpi/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100; top:18; width:125px; height:19px; ">
  1011. <script type="javascript" ev:event="xforms-value-changed">
  1012. <![CDATA[
  1013. finitial();
  1014. btn_search.dispatch("DOMActivate");
  1015. ]]>
  1016. </script>
  1017. </input>
  1018. <select1 id="cmb_fstscndhfyyflag" ref="/root/send/bizgoalskpi/fstscndhfyyflag" class="combo_s_essential" appearance="minimal" style="left:613px; top:18px; width:110px; height:19px; ">
  1019. <choices>
  1020. <itemset nodeset="/root/init/fstscndhfyyflag">
  1021. <label ref="cdnm"/>
  1022. <value ref="code"/>
  1023. </itemset>
  1024. </choices>
  1025. <script type="javascript" ev:event="xforms-value-changed">
  1026. <![CDATA[
  1027. btn_search.dispatch("DOMActivate");
  1028. ]]>
  1029. </script>
  1030. </select1>
  1031. <caption id="cap_emplnos" class="search_name" style="left:230px; top:19px; width:57px; height:17px; font-weight:bold; ">사번:</caption>
  1032. <caption id="cap_fstscndhfyyflag" class="search_name" style="left:532px; top:19px; width:81px; height:17px; vertical-align:middle; ">상하반기:</caption>
  1033. <datagrid id="grd_bizgoalskpi" nodeset="/root/main/list/bizgoalkpi/bizgoalskpilist" autoresize="true" caption="업무구분^업무구분^성과지표(KPI)^측정방법^가중치^목표수준^caption1^caption2" colsep="^" colwidth="329, 18, 301, 199, 92, 215, 71, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:74px; width:1194px; height:176px; ">
  1034. <col ref="idxcdnm" type="output" _key="true"/>
  1035. <col ref="temp1" type="inputbutton"/>
  1036. <col disabled="true" ref="rsltidx" type="input" maxbyte="1500"/>
  1037. <col ref="inspmthd"/>
  1038. <col class="gridcombo" ref="wtnscor" type="combo">
  1039. <choices>
  1040. <itemset>
  1041. <label/>
  1042. <value/>
  1043. </itemset>
  1044. </choices>
  1045. </col>
  1046. <col ref="goallevl" type="input" maxbyte="1500"/>
  1047. <col ref="publbaseflag" type="output" visibility="hidden"/>
  1048. <col ref="valuyy" type="output" visibility="hidden"/>
  1049. <col ref="emplno" type="output" visibility="hidden"/>
  1050. <col ref="fstscndhfyyflag" type="output" visibility="hidden"/>
  1051. <col ref="valuclscd" visibility="hidden"/>
  1052. <col ref="valumdlcd" visibility="hidden"/>
  1053. <col ref="valuclsdetlcd" visibility="hidden"/>
  1054. <col ref="idxcd" visibility="hidden"/>
  1055. <col ref="inputendflag" visibility="hidden"/>
  1056. <col ref="rtnreqresn" visibility="hidden"/>
  1057. <col ref="valupsnrtnreqresn" visibility="hidden"/>
  1058. <col ref="aprvflag" visibility="hidden"/>
  1059. <col ref="lastcnfmyn" visibility="hidden"/>
  1060. <col ref="ownvalucnfmyn" visibility="hidden"/>
  1061. <col ref="inputendflagnm" visibility="hidden"/>
  1062. <col ref="procstat" visibility="hidden"/>
  1063. <col ref="procstatnm" visibility="hidden"/>
  1064. <col ref="valupsncnfmflag1" visibility="hidden"/>
  1065. <col ref="valutrgtflag" visibility="hidden"/>
  1066. <col ref="inoutflag" visibility="hidden"/>
  1067. <col ref="deptcd" visibility="hidden"/>
  1068. <col ref="idxinputyn" visibility="hidden"/>
  1069. <script type="javascript" ev:event="onbuttonclick">
  1070. <![CDATA[
  1071. if(grd_bizgoalskpi.col = grd_bizgoalskpi.colRef("temp1"))
  1072. {
  1073. model.setValue(ipt_valuclscd.attribute("ref"),"01");
  1074. model.setValue(ipt_valumdlcd.attribute("ref"),"001");
  1075. model.setValue(ipt_valuclsdetlcd.attribute("ref"),"002");
  1076. model.removenode("/root/copynode");
  1077. model.removenode(gvParamPath +"/SMRPV99600_/SMRPV99600_value");
  1078. model.makeNode("/root/copynode");
  1079. rpvfOpenPopUpList("19",grd_bizgoalskpi,"","idxcd,idxcdnm,valuclscd,valumdlcd,valuclsdetlcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd,ipt_idxflag,ipt_smallclscd,ipt_emplnos");
  1080. var cur_row = grd_bizgoalskpi.row;
  1081. var status = grd_bizgoalskpi.valueMatrix(cur_row, grd_bizgoalskpi.colRef("m"));
  1082. var CSV = model.getValue(gvParamPath +"/SMRPV99600_/SMRPV99600_value");
  1083. setCSVToNode("/root/copynode", CSV, "bizgoalskpilist");
  1084. fSettingIdxInfoList(grd_bizgoalskpi,"/root/copynode", "bizgoalskpilist");
  1085. }
  1086. ]]>
  1087. </script>
  1088. <script type="javascript" ev:event="xforms-value-changed">
  1089. <![CDATA[
  1090. if(grd_bizgoalskpi.col == grd_bizgoalskpi.colRef("wtnscor")){
  1091. model.setValue(opt_swtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalskpi));
  1092. opt_swtnscor.refresh();
  1093. }
  1094. ]]>
  1095. </script>
  1096. <script type="javascript" ev:event="DOMFocusIn">
  1097. <![CDATA[
  1098. CurGrid = "grd_bizgoalskpi";
  1099. ]]>
  1100. </script>
  1101. </datagrid>
  1102. <button id="btn_finsert" class="btn2_letter6" style="left:1018px; top:378px; width:86px; height:19px; ">
  1103. <caption>업무지표등록</caption>
  1104. <script type="javascript" ev:event="DOMActivate">
  1105. <![CDATA[
  1106. if ( !isRequiredControls("ipt_valuyy" , "ipt_emplnos", "cmb_fstscndhfyyflag") ) {
  1107. return false;
  1108. }
  1109. var rowCnt = 0;
  1110. for (var i = grd_bizgoalfkpi.fixedRows; i < grd_bizgoalfkpi.rows; i++ ) {
  1111. if (grd_bizgoalfkpi.rowStatus(i) != "4" && grd_bizgoalfkpi.rowStatus(i) != "5" && grd_bizgoalfkpi.rowStatus(i) != "6") {
  1112. rowCnt += 1;
  1113. }
  1114. }
  1115. if(model.getValue("/root/init/idxfkpimaxcnt") <= rowCnt )
  1116. {
  1117. messageBox("업무 지표 최대 항목 개수는 " + model.getValue("/root/init/idxfkpimaxcnt") + "입니다. 추가 할 수","I004");
  1118. return;
  1119. }
  1120. if (grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows > 0) {
  1121. var idxcd = grd_bizgoalfkpi.valueMatrix(grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows, grd_bizgoalfkpi.colRef("idxcd"));
  1122. if (idxcd == "") {
  1123. return;
  1124. }
  1125. else {
  1126. misfGridIUD(grd_bizgoalfkpi, "A");
  1127. }
  1128. }
  1129. else {
  1130. misfGridIUD(grd_bizgoalfkpi, "A");
  1131. }
  1132. ]]>
  1133. </script>
  1134. </button>
  1135. <button id="btn_fdelete" class="btn2_letter6" style="left:1106px; top:378px; width:86px; height:19px; ">
  1136. <caption>업무지표삭제</caption>
  1137. <script type="javascript" ev:event="DOMActivate">
  1138. <![CDATA[
  1139. misfGridIUD(grd_bizgoalfkpi, "D");
  1140. model.setValue(opt_fwtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalfkpi));
  1141. opt_fwtnscor.refresh();
  1142. ]]>
  1143. </script>
  1144. </button>
  1145. <button id="btn_restoration" class="btn2_letter4" disabled="true" style="left:865px; top:48px; width:64px; height:19px; ">
  1146. <caption>반려요청</caption>
  1147. <script type="javascript" ev:event="DOMActivate">
  1148. <![CDATA[
  1149. var rtnreqresn = model.getValue(txt_rtnreqresn.attribute("ref"));
  1150. if (rtnreqresn == null || rtnreqresn.length == 0)
  1151. {
  1152. messageBox("반려요청시 요청사유는 ","I003");
  1153. model.setFocus("txt_rtnreqresn");
  1154. return;
  1155. }
  1156. fSettingGridRestoration(grd_bizgoalskpi,rtnreqresn);
  1157. fSettingGridRestoration(grd_bizgoalfkpi,rtnreqresn);
  1158. btn_save.dispatch("DOMActivate");
  1159. ]]>
  1160. </script>
  1161. </button>
  1162. <caption id="caption1" class="cell_1" style="left:165px; top:48px; width:87px; height:20px; text-align:center; vertical-align:middle; ">반려요청상태</caption>
  1163. <caption id="caption4" class="tit_2" style="left:5px; top:54px; width:230px; height:14px; vertical-align:middle; ">공유지표(S-KPI) List</caption>
  1164. <line id="line1" class="line_1" style="x1:0px; y1:69px; x2:1194px; y2:69px; "/>
  1165. <button id="btn_sinsert" class="btn2_letter6" style="left:1018px; top:48px; width:86px; height:19px; ">
  1166. <caption>업무지표등록</caption>
  1167. <script type="javascript" ev:event="DOMActivate">
  1168. <![CDATA[
  1169. if ( !isRequiredControls("ipt_valuyy" , "ipt_emplnos", "cmb_fstscndhfyyflag") ) {
  1170. return false;
  1171. }
  1172. var rowCnt = 0;
  1173. for (var i = grd_bizgoalskpi.fixedRows; i < grd_bizgoalskpi.rows; i++ ) {
  1174. if (grd_bizgoalskpi.rowStatus(i) != "4" && grd_bizgoalskpi.rowStatus(i) != "5" && grd_bizgoalskpi.rowStatus(i) != "6") {
  1175. rowCnt += 1;
  1176. }
  1177. }
  1178. for (var i = grd_bizskpibaselist.fixedRows; i < grd_bizskpibaselist.rows; i++ ) {
  1179. if (grd_bizskpibaselist.rowStatus(i) != "4" && grd_bizskpibaselist.rowStatus(i) != "5" && grd_bizskpibaselist.rowStatus(i) != "6") {
  1180. rowCnt += 1;
  1181. }
  1182. }
  1183. if(model.getValue("/root/init/idxskpimaxcnt") <= rowCnt)
  1184. {
  1185. messageBox("공유지표 항목 개수는 " + model.getValue("/root/init/idxskpimaxcnt") + "입니다. 추가 할 수","I004");
  1186. return;
  1187. }
  1188. if (grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows > 0) {
  1189. var idxcd = grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows, grd_bizgoalskpi.colRef("idxcd"));
  1190. if (idxcd == "") {
  1191. return;
  1192. }
  1193. else {
  1194. misfGridIUD(grd_bizgoalskpi, "A");
  1195. }
  1196. }
  1197. else {
  1198. misfGridIUD(grd_bizgoalskpi, "A");
  1199. }
  1200. ]]>
  1201. </script>
  1202. </button>
  1203. <input id="ipt_returnresnstat" ref="/root/main/list/bizgoalkpi/bizgoalskpilist/procstatnm" class="input_essential" editable="false" style="left:253px; top:48px; width:87px; height:19px; font-size:11pt; font-weight:bold; color:#ff0000; "/>
  1204. <button id="btn_sdelete" class="btn2_letter6" style="left:1106px; top:48px; width:86px; height:19px; ">
  1205. <caption>업무지표삭제</caption>
  1206. <script type="javascript" ev:event="DOMActivate">
  1207. <![CDATA[
  1208. if (CurGrid == "grd_bizgoalskpi") {
  1209. misfGridIUD(grd_bizgoalskpi, "D");
  1210. }
  1211. else if (CurGrid == "grd_bizskpibaselist") {
  1212. misfGridIUD(grd_bizskpibaselist, "D");
  1213. }
  1214. model.setValue(opt_swtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalskpi));
  1215. opt_swtnscor.refresh();
  1216. ]]>
  1217. </script>
  1218. </button>
  1219. <datagrid id="grd_bizgoalfkpi" nodeset="/root/main/list/bizgoalkpi/bizgoalfkpilist" autoresize="true" caption="업무구분^성과지표(KPI)^성과지표(KPI)^측정방법^가중치^목표수준^caption1^caption2" colsep="^" colwidth="122, 491, 18, 201, 92, 228, 71, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:405px; width:1194px; height:230px; ">
  1220. <col id="idxflag" disabled="true" ref="idxflag" type="output">
  1221. <choices>
  1222. <itemset>
  1223. <label/>
  1224. <value/>
  1225. </itemset>
  1226. </choices>
  1227. </col>
  1228. <col ref="rsltidx" type="output" _key="true"/>
  1229. <col ref="temp1" type="inputbutton"/>
  1230. <col ref="inspmthd"/>
  1231. <col class="gridcombo" ref="wtnscor" type="combo">
  1232. <choices>
  1233. <itemset>
  1234. <label/>
  1235. <value/>
  1236. </itemset>
  1237. </choices>
  1238. </col>
  1239. <col ref="goallevl" type="input" maxbyte="1500"/>
  1240. <col ref="publbaseflag" type="output" visibility="hidden"/>
  1241. <col ref="valuyy" type="output" visibility="hidden"/>
  1242. <col ref="emplno" type="output" visibility="hidden"/>
  1243. <col ref="fstscndhfyyflag" type="output" visibility="hidden"/>
  1244. <col ref="valuclscd" visibility="hidden"/>
  1245. <col ref="valumdlcd" visibility="hidden"/>
  1246. <col ref="valuclsdetlcd" visibility="hidden"/>
  1247. <col ref="idxcd" visibility="hidden"/>
  1248. <col ref="inputendflag" visibility="hidden"/>
  1249. <col ref="rtnreqresn" visibility="hidden"/>
  1250. <col ref="valupsnrtnreqresn" visibility="hidden"/>
  1251. <col ref="aprvflag" visibility="hidden"/>
  1252. <col ref="lastcnfmyn" visibility="hidden"/>
  1253. <col ref="ownvalucnfmyn" visibility="hidden"/>
  1254. <col ref="inputendflagnm" visibility="hidden"/>
  1255. <col ref="procstat" visibility="hidden"/>
  1256. <col ref="procstatnm" visibility="hidden"/>
  1257. <col ref="valupsncnfmflag1" visibility="hidden"/>
  1258. <col ref="deptcd" visibility="hidden"/>
  1259. <col ref="idxcdnm" visibility="hidden"/>
  1260. <script type="javascript" ev:event="onbuttonclick">
  1261. <![CDATA[
  1262. if(grd_bizgoalfkpi.col == grd_bizgoalfkpi.colRef("temp1"))
  1263. {
  1264. model.setValue(ipt_valuclscd.attribute("ref"),"01");
  1265. model.setValue(ipt_valumdlcd.attribute("ref"),"001");
  1266. model.setValue(ipt_valuclsdetlcd.attribute("ref"),"004");
  1267. model.removenode("/root/copynode");
  1268. model.removenode(gvParamPath +"/SMRPV99700_/SMRPV99700_value");
  1269. model.makeNode("/root/copynode");
  1270. rpvfOpenPopUpList("20",grd_bizgoalfkpi,"","idxcd,idxcdnm,valuclscd,valumdlcd,valuclsdetlcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd,ipt_idxflag,ipt_smallclscd,ipt_instcd,ipt_deptcd");
  1271. var cur_row = grd_bizgoalfkpi.row;
  1272. var status = grd_bizgoalfkpi.valueMatrix(cur_row, grd_bizgoalfkpi.colRef("m"));
  1273. var CSV = model.getValue(gvParamPath +"/SMRPV99700_/SMRPV99700_value");
  1274. setCSVToNode("/root/copynode", CSV, "bizgoalfkpilist");
  1275. fSettingIdxInfoList(grd_bizgoalfkpi,"/root/copynode", "bizgoalfkpilist");
  1276. }
  1277. ]]>
  1278. </script>
  1279. <script type="javascript" ev:event="xforms-value-changed">
  1280. <![CDATA[
  1281. if(grd_bizgoalfkpi.col == grd_bizgoalfkpi.colRef("wtnscor")){
  1282. model.setValue(opt_fwtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalfkpi));
  1283. opt_fwtnscor.refresh();
  1284. }
  1285. ]]>
  1286. </script>
  1287. <script type="javascript" ev:event="DOMFocusIn">
  1288. <![CDATA[
  1289. CurGrid = "grd_bizgoalfkpi";
  1290. ]]>
  1291. </script>
  1292. </datagrid>
  1293. <caption id="caption2" class="tit_2" style="left:0px; top:379px; width:230px; height:13px; vertical-align:middle; ">기본업무지표(F-KPI) List</caption>
  1294. <line id="line3" class="line_1" style="x1:0px; y1:399px; x2:1194px; y2:399px; "/>
  1295. <input id="ipt_valumdlcd" ref="/root/send/idxflag/valumdlcd" visibility="hidden" style="left:790px; top:18px; width:65px; height:19px; "/>
  1296. <input id="ipt_idxflag" ref="/root/send/idxflag/idxflag" visibility="hidden" style="left:920px; top:18px; width:65px; height:19px; "/>
  1297. <input id="ipt_valuclscd" ref="/root/send/idxflag/valuclscd" visibility="hidden" style="left:730px; top:18px; width:60px; height:19px; "/>
  1298. <input id="ipt_smallclscd" ref="/root/send/idxflag/smallclscd" visibility="hidden" style="left:985px; top:18px; width:65px; height:19px; "/>
  1299. <input id="ipt_valuclsdetlcd" ref="/root/send/idxflag/valuclsdetlcd" visibility="hidden" style="left:855px; top:18px; width:65px; height:19px; "/>
  1300. <input id="ipt_deptcd" ref="/root/send/bizgoalskpi/deptcd" visibility="hidden" style="left:1080px; top:18px; width:30px; height:19px; "/>
  1301. <input id="ipt_instcd" ref="/root/send/bizgoalskpi/instcd" visibility="hidden" style="left:1050px; top:18px; width:30px; height:19px; "/>
  1302. <button id="btn_emplno" class="icon_search" style="left:375px; top:20px; width:16px; height:16px; ">
  1303. <caption/>
  1304. <script type="javascript" ev:event="DOMActivate">
  1305. <![CDATA[
  1306. var recv_list = "emplno,emplnm" ;
  1307. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"1","N");
  1308. model.refresh();
  1309. ]]>
  1310. </script>
  1311. </button>
  1312. <input id="ipt_emplnos" ref="/root/send/bizgoalskpi/emplno" class="input_default" editable="true" style="left:285px; top:18px; width:87px; height:19px; ">
  1313. <script type="javascript" ev:event="xforms-value-changed">
  1314. <![CDATA[
  1315. var recv_list = "emplno,emplnm" ;
  1316. rpbfValidationCheck("EMPLNO", recv_list);
  1317. model.refresh();
  1318. ]]>
  1319. </script>
  1320. </input>
  1321. <input id="ipt_emplnms" ref="/root/send/bizgoalskpi/emplnm" class="input_default" editable="false" style="left:395px; top:18px; width:119px; height:19px; ">
  1322. <script type="javascript" ev:event="xforms-value-changed">
  1323. <![CDATA[
  1324. var recv_list = "emplno,emplnm" ;
  1325. rpbfValidationCheck("EMPLNM", recv_list);
  1326. model.refresh();
  1327. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  1328. btn_search.dispatch("DOMActivate");
  1329. }
  1330. ]]>
  1331. </script>
  1332. </input>
  1333. <input id="ipt_returnresns" ref="/root/main/inputendflagstatus/inputendflag" visibility="hidden" style="left:299px; top:48px; width:40px; height:19px; "/>
  1334. <textarea id="txt_rtnreqresn" ref="/root/main/inputendflagstatus/rtnreqresn" maxbyte="900" style="left:43px; top:640px; width:1150px; height:50px; "/>
  1335. <textarea id="txt_valupsnrtnreqresn" ref="/root/main/inputendflagstatus/valupsnrtnreqresn" editable="false" maxbyte="900" style="left:43px; top:691px; width:1150px; height:50px; "/>
  1336. <caption id="caption3" class="cell_1" style="left:0px; top:640px; width:42px; height:49px; text-align:center; vertical-align:middle; ">반려요청</caption>
  1337. <caption id="caption5" class="cell_1" style="left:0px; top:691px; width:42px; height:49px; text-align:center; vertical-align:middle; ">반려사유</caption>
  1338. <caption id="caption7" style="left:629px; top:49px; width:125px; height:20px; ">공유지표 가중치 합계</caption>
  1339. <output id="opt_swtnscor" ref="/root/init/swtnscor" style="left:818px; top:49px; width:30px; height:19px; text-align:right; "/>
  1340. <caption id="caption8" style="left:849px; top:49px; width:30px; height:20px; ">점</caption>
  1341. <output id="opt_fwtnscor" ref="/root/init/fwtnscor" style="left:818px; top:378px; width:30px; height:19px; text-align:right; "/>
  1342. <caption id="caption9" style="left:629px; top:378px; width:125px; height:20px; ">기본지표 가중치 합계</caption>
  1343. <caption id="caption10" style="left:849px; top:378px; width:30px; height:20px; ">점</caption>
  1344. <button id="btn_nonrestoration" class="btn2_letter6" disabled="true" style="left:930px; top:48px; width:86px; height:19px; ">
  1345. <caption>반려요청취소</caption>
  1346. <script type="javascript" ev:event="DOMActivate">
  1347. <![CDATA[
  1348. fSettingGridNotRestoration(grd_bizgoalskpi);
  1349. fSettingGridNotRestoration(grd_bizgoalfkpi);
  1350. btn_save.dispatch("DOMActivate");
  1351. ]]>
  1352. </script>
  1353. </button>
  1354. <caption id="caption11" class="cell_1" style="left:360px; top:48px; width:70px; height:20px; text-align:center; vertical-align:middle; ">입력구분</caption>
  1355. <input id="ipt_inputendflagnm" ref="/root/main/list/bizgoalkpi/bizgoalskpilist/inputendflagnm" class="input_essential" editable="false" style="left:430px; top:48px; width:107px; height:19px; font-size:11pt; font-weight:bold; color:#ff0000; "/>
  1356. <output id="opt_stotwtnscor" ref="/root/init/stotwtnscor" style="left:750px; top:49px; width:30px; height:19px; text-align:right; "/>
  1357. <caption id="caption12" style="left:785px; top:49px; width:30px; height:19px; ">점중</caption>
  1358. <caption id="caption13" style="left:785px; top:378px; width:30px; height:19px; ">점중</caption>
  1359. <output id="opt_ftotwtnscor" ref="/root/init/ftotwtnscor" style="left:750px; top:378px; width:30px; height:19px; text-align:right; "/>
  1360. <input id="ipt_valupsncnfmnm1" ref="/root/init/valupsncnfmnm1" class="input_essential" editable="false" style="left:540px; top:48px; width:75px; height:19px; font-size:11pt; font-weight:bold; color:#ff0000; "/>
  1361. <datagrid id="grd_bizskpibaselist" nodeset="/root/main/list/bizgoalkpi/bizskpibaselist" autoresize="true" caption="업무구분^성과지표(KPI)^측정방법^가중치^목표수준^caption1^caption2" colsep="^" colwidth="122, 502, 201, 92, 228, 71, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:250px; width:1194px; height:125px; ">
  1362. <col id="col1" disabled="true" ref="idxflag" type="output">
  1363. <choices>
  1364. <itemset>
  1365. <label/>
  1366. <value/>
  1367. </itemset>
  1368. </choices>
  1369. </col>
  1370. <col ref="rsltidx" type="output" _key="true"/>
  1371. <col ref="inspmthd"/>
  1372. <col class="gridcombo" ref="wtnscor" type="combo">
  1373. <choices>
  1374. <itemset>
  1375. <label/>
  1376. <value/>
  1377. </itemset>
  1378. </choices>
  1379. </col>
  1380. <col ref="goallevl" type="input" maxbyte="1500"/>
  1381. <col ref="publbaseflag" type="output" visibility="hidden"/>
  1382. <col ref="valuyy" type="output" visibility="hidden"/>
  1383. <col ref="emplno" type="output" visibility="hidden"/>
  1384. <col ref="fstscndhfyyflag" type="output" visibility="hidden"/>
  1385. <col ref="valuclscd" visibility="hidden"/>
  1386. <col ref="valumdlcd" visibility="hidden"/>
  1387. <col ref="valuclsdetlcd" visibility="hidden"/>
  1388. <col ref="idxcd" visibility="hidden"/>
  1389. <col ref="inputendflag" visibility="hidden"/>
  1390. <col ref="rtnreqresn" visibility="hidden"/>
  1391. <col ref="valupsnrtnreqresn" visibility="hidden"/>
  1392. <col ref="aprvflag" visibility="hidden"/>
  1393. <col ref="lastcnfmyn" visibility="hidden"/>
  1394. <col ref="ownvalucnfmyn" visibility="hidden"/>
  1395. <col ref="inputendflagnm" visibility="hidden"/>
  1396. <col ref="procstat" visibility="hidden"/>
  1397. <col ref="procstatnm" visibility="hidden"/>
  1398. <col ref="valupsncnfmflag1" visibility="hidden"/>
  1399. <col ref="deptcd" visibility="hidden"/>
  1400. <col ref="idxcdnm" visibility="hidden"/>
  1401. <script type="javascript" ev:event="xforms-value-changed">
  1402. <![CDATA[
  1403. if(grd_bizskpibaselist.col == grd_bizskpibaselist.colRef("wtnscor")){
  1404. model.setValue(opt_swtnscor.attribute("ref"),fSumWtnScor(grd_bizgoalskpi));
  1405. opt_swtnscor.refresh();
  1406. }
  1407. ]]>
  1408. </script>
  1409. <script type="javascript" ev:event="DOMFocusIn">
  1410. <![CDATA[
  1411. CurGrid = "grd_bizskpibaselist";
  1412. ]]>
  1413. </script>
  1414. </datagrid>
  1415. <datagrid id="grd_msg" nodeset="/root/main/smsdata/recvrlist" visibility="hidden" caption="체크여부^이름^전화번호" colsep="^" colwidth="30, 50, 70" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:525px; top:475px; width:60px; height:60px; ">
  1416. <col ref="chk"/>
  1417. <col ref="recvrnm"/>
  1418. <col ref="recvrtelno"/>
  1419. </datagrid>
  1420. </group>
  1421. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  1422. <button id="btn_save" class="btn4_letter2" style="left:879px; top:3px; width:56px; height:22px; ">
  1423. <caption>저장</caption>
  1424. <script type="javascript" ev:event="DOMActivate">
  1425. <![CDATA[
  1426. if(!checkKeyColumn("grd_bizgoalskpi") || !checkKeyColumn("grd_bizgoalfkpi") || !checkKeyColumn("grd_bizskpibaselist")) return;
  1427. model.setValue("/root/send/save/bizgoalskpilist",grd_bizgoalskpi.getUpdateData());
  1428. model.setValue("/root/send/save/bizgoalfkpilist",grd_bizgoalfkpi.getUpdateData());
  1429. model.setValue("/root/send/save/bizskpibaselist",grd_bizskpibaselist.getUpdateData());
  1430. submit("TXRPV05801");
  1431. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  1432. {
  1433. btn_search.dispatch("DOMActivate");
  1434. }
  1435. ]]>
  1436. </script>
  1437. </button>
  1438. <line id="line11" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  1439. <button id="btn_init" class="btn4_letter3" style="left:1120px; top:3px; width:68px; height:22px; ">
  1440. <caption>초기화</caption>
  1441. <script type="javascript" ev:event="DOMActivate">
  1442. <![CDATA[
  1443. window.reload() ;
  1444. ]]>
  1445. </script>
  1446. </button>
  1447. <button id="btn_lastcnfm" class="btn4_letter4" style="left:936px; top:3px; width:80px; height:22px; ">
  1448. <caption>최종확정</caption>
  1449. <script type="javascript" ev:event="DOMActivate">
  1450. <![CDATA[
  1451. var wtncheck = "Y";
  1452. for(var row = grd_bizgoalskpi.fixedRows; row < grd_bizgoalskpi.rows; row++) {
  1453. if (grd_bizgoalskpi.valueMatrix(row, grd_bizgoalskpi.colRef("wtnscor")) == null || grd_bizgoalskpi.valueMatrix(row, grd_bizgoalskpi.colRef("wtnscor")) == "") {
  1454. wtncheck = "N";
  1455. }
  1456. }
  1457. if (wtncheck == "Y" ) {
  1458. for(var row = grd_bizskpibaselist.fixedRows; row < grd_bizskpibaselist.rows; row++) {
  1459. if (grd_bizskpibaselist.valueMatrix(row, grd_bizskpibaselist.colRef("wtnscor")) == null || grd_bizskpibaselist.valueMatrix(row, grd_bizskpibaselist.colRef("wtnscor")) == "") {
  1460. wtncheck = "N";
  1461. }
  1462. }
  1463. }
  1464. if (wtncheck == "Y" ) {
  1465. for(var row = grd_bizgoalfkpi.fixedRows; row < grd_bizgoalfkpi.rows; row++) {
  1466. if (grd_bizgoalfkpi.valueMatrix(row, grd_bizgoalfkpi.colRef("wtnscor")) == null || grd_bizgoalfkpi.valueMatrix(row, grd_bizgoalfkpi.colRef("wtnscor")) == "") {
  1467. wtncheck = "N";
  1468. }
  1469. }
  1470. }
  1471. if (wtncheck == "N") {
  1472. messageBox("가중치 입력은 필수 입니다. 저장 할 수","I004");
  1473. return;
  1474. }
  1475. if(!fChkWtnScor(grd_bizgoalskpi) || !fChkWtnScor(grd_bizgoalfkpi)) return;
  1476. if(!fChkgoallevl(grd_bizgoalskpi) || !fChkgoallevl(grd_bizgoalfkpi)) return;
  1477. if(model.getValue("/root/init/idxskpimaxcnt") != (grd_bizgoalskpi.rows - grd_bizgoalskpi.fixedRows) + (grd_bizskpibaselist.rows - grd_bizskpibaselist.fixedRows))
  1478. {
  1479. messageBox("공유 지표 항목 개수는 " + model.getValue("/root/init/idxskpimaxcnt") + "입니다. 저장 할 수","I004");
  1480. return;
  1481. }
  1482. if(model.getValue("/root/init/idxfkpimaxcnt") != (grd_bizgoalfkpi.rows - grd_bizgoalfkpi.fixedRows))
  1483. {
  1484. messageBox("기본 업무 지표 최대 항목 개수는 " + model.getValue("/root/init/idxfkpimaxcnt") + "입니다. 저장 할 수","I004");
  1485. return;
  1486. }
  1487. var fkpicnt = 0;
  1488. var fkpiwtnscor = 0;
  1489. for (var i = grd_bizgoalskpi.fixedRows; i < grd_bizgoalskpi.rows; i++ ) {
  1490. if(grd_bizgoalskpi.valueMatrix(i, grd_bizgoalskpi.colRef("rsltidx")) ==""){
  1491. messageBox("성과지표 항목은","I003");
  1492. return;
  1493. }
  1494. }
  1495. for (var i = grd_bizskpibaselist.fixedRows; i < grd_bizskpibaselist.rows; i++ ) {
  1496. // if(grd_bizskpibaselist.valueMatrix(i, grd_bizskpibaselist.colRef("rsltidx")) ==""){
  1497. // messageBox("성과지표 항목은","I003");
  1498. // return;
  1499. // }
  1500. if (grd_bizskpibaselist.valueMatrix(i, grd_bizskpibaselist.colRef("publbaseflag")) == "B" ) {
  1501. fkpicnt += 1;
  1502. fkpiwtnscor = fkpiwtnscor + parseInt(grd_bizskpibaselist.labelMatrix(i, grd_bizskpibaselist.colRef("wtnscor")));
  1503. }
  1504. }
  1505. if (fkpicnt == 1 && fkpiwtnscor < 10) {
  1506. messageBox("기본 업무 지표 항목 개수가 한개일 경우 가중치는 10이상 입니다." + "저장 할 수","I004");
  1507. return;
  1508. }
  1509. if (grd_bizgoalskpi.valueMatrix(grd_bizgoalskpi.fixedRows,grd_bizgoalskpi.colRef("valupsncnfmflag1")) == "R") {
  1510. fSettingGridLastValuCnfm(grd_bizgoalskpi,"04");
  1511. fSettingGridLastValuCnfm(grd_bizskpibaselist,"04");
  1512. fSettingGridLastValuCnfm(grd_bizgoalfkpi,"04");
  1513. if(model.getValue("/root/target/popup") == "SMRPV06300")
  1514. {
  1515. fSettingGridLastValuPopup(grd_bizgoalskpi,"F");
  1516. fSettingGridLastValuPopup(grd_bizskpibaselist,"F");
  1517. fSettingGridLastValuPopup(grd_bizgoalfkpi,"F");
  1518. }
  1519. }
  1520. else {
  1521. fSettingGridLastValuCnfm(grd_bizgoalskpi,"03");
  1522. fSettingGridLastValuCnfm(grd_bizskpibaselist,"03");
  1523. fSettingGridLastValuCnfm(grd_bizgoalfkpi,"03");
  1524. if(model.getValue("/root/target/popup") == "SMRPV06300")
  1525. {
  1526. fSettingGridLastValuPopup(grd_bizgoalskpi, "B");
  1527. fSettingGridLastValuPopup(grd_bizskpibaselist, "B");
  1528. fSettingGridLastValuPopup(grd_bizgoalfkpi, "B");
  1529. }
  1530. }
  1531. btn_save.dispatch("DOMActivate");
  1532. /*
  1533. 상하반기 1차평가자에게 Email 이나 Sms를 전송.
  1534. */
  1535. var frecemplno = '';
  1536. if(cmb_fstscndhfyyflag.value == "1")
  1537. {
  1538. frecemplno = model.getValue("/root/main/list/bizgoalkpi/valuempllist/fsthfyyvalupsn1");
  1539. }else if(cmb_fstscndhfyyflag.value == "2")
  1540. {
  1541. frecemplno = model.getValue("/root/main/list/bizgoalkpi/valuempllist/scndhfyyvalupsn1");
  1542. }
  1543. //alert(frecemplno);
  1544. rpvfOneAndOneCheckEmailAndSms(ipt_emplnms.value + "님의 [업무지표등록] 확정이 되었습니다.", "업무지표등록 통보", ipt_emplnos.value, '', frecemplno, '');
  1545. ]]>
  1546. </script>
  1547. </button>
  1548. <button id="btn_inputendcan" class="btn4_letter6" style="left:1016px; top:3px; width:104px; height:22px; ">
  1549. <caption>최종확정취소</caption>
  1550. <script type="javascript" ev:event="DOMActivate">
  1551. <![CDATA[
  1552. fSettingGridLastValuCnfm(grd_bizgoalskpi,"02");
  1553. fSettingGridLastValuCnfm(grd_bizskpibaselist,"02");
  1554. fSettingGridLastValuCnfm(grd_bizgoalfkpi,"02");
  1555. btn_save.dispatch("DOMActivate");
  1556. ]]>
  1557. </script>
  1558. </button>
  1559. <button id="btn_print" class="btn4_letter2" style="left:820px; top:2px; width:56px; height:22px; ">
  1560. <caption>출력</caption>
  1561. <script type="javascript" ev:event="DOMActivate">
  1562. <![CDATA[
  1563. model.setValue("/root/send/bizgoalskpi/workgbn","P");
  1564. submit("TRRPV05804");
  1565. exeReportPreview("RPRPV05800", "XMLSTR", "/root/send/report");
  1566. ]]>
  1567. </script>
  1568. </button>
  1569. </group>
  1570. </xhtml:body>
  1571. </xhtml:html>