SMRPD05300_퇴직자개인별마감.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" ytype="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. <retireeemplist/>
  12. </list>
  13. <list2>
  14. <emplist/>
  15. </list2>
  16. </main>
  17. <send>
  18. <retrparams>
  19. <instcd/>
  20. <dutym/>
  21. <emplno/>
  22. <emplnm/>
  23. </retrparams>
  24. </send>
  25. <init/>
  26. <hidden/>
  27. <temp>
  28. </temp>
  29. </root>
  30. </instance>
  31. <submission id="TRRPD05301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  32. <submission id="TXRPD05301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/emplist" resultref="/root/temp"/>
  33. <submission id="TXRPD05302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/emplist" resultref="/root/temp"/>
  34. <submission id="TXRPD05303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/emplist" resultref="/root/temp"/>
  35. </model>
  36. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  37. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  39. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  40. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  41. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  42. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  43. <script type="javascript" ev:event="xforms-ready">
  44. <![CDATA[
  45. fInitialize();
  46. ]]>
  47. </script>
  48. <script type="javascript">
  49. <![CDATA[
  50. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  51. function fInitialize()
  52. {
  53. grd_retireeemplist.fixedcellcheckbox(0,1) = true; // 그리드에 있는 전체선택 체크박스
  54. model.removenode("/root/main/list/retireeemplist");
  55. model.removenode("/root/main/list2/emplist");
  56. misfMsterDetailSet(grd_retireeemplist, null, "TRRPD05301", "N");
  57. misfMsterDetailSet(grd_save, null, "TRRPD05301", "Y");
  58. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  59. model.setValue("/root/send/retrparams/dutym", getCurrentDate().substr(0, 6));
  60. misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+getCurrentDate().substr(6, 2),"","N");
  61. // misfComboComCdListMulti("Z0007","cmb_instcd");
  62. misfGetAndSetUserInfo();
  63. misfGetUserAuth();
  64. // model.setValue("/root/send/retrparams/instcd", "011");
  65. // model.setValue("/root/send/retrparams/dutym", "200805");
  66. if(getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  67. {
  68. cmb_instcd.disabled = false;
  69. }
  70. model.refresh();
  71. }
  72. // 조회
  73. function fRetrieve()
  74. {
  75. submit("TRRPD05301");
  76. for(var i=1; i<grd_retireeemplist.rows; i++)
  77. {
  78. sCloseYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("closeyn"));
  79. sSumYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("sumyn"));
  80. if(sCloseYn == "Y") grd_retireeemplist.cellStyle("color", i, grd_retireeemplist.colRef("closeyn")) = "#FF0000";
  81. else grd_retireeemplist.cellStyle("color", i, grd_retireeemplist.colRef("closeyn")) = "#000000";
  82. if(sSumYn == "Y") grd_retireeemplist.cellStyle("color", i, grd_retireeemplist.colRef("sumyn")) = "#FF0000";
  83. else grd_retireeemplist.cellStyle("color", i, grd_retireeemplist.colRef("sumyn")) = "#000000";
  84. }
  85. }
  86. function fCnfmCncl(sType)
  87. {
  88. var sMsg = "";
  89. var sSubmitName = "";
  90. var iRowIdx = -1;
  91. iRowIdx = grd_retireeemplist.findRow("Y", 1, grd_retireeemplist.colRef("chk"));
  92. if(sType == "I")
  93. {
  94. sSubmitName = "TXRPD05301";
  95. sMsg = "마감";
  96. }
  97. else
  98. {
  99. sSubmitName = "TXRPD05303";
  100. sMsg = "마감 취소";
  101. }
  102. if(iRowIdx == -1)
  103. {
  104. messageBox(sMsg + "할 사원을", "C002")
  105. return;
  106. }
  107. var dlgRslt = messageBox("선택된 내역을 " + sMsg + " 하시겠습니까?", "Q999");
  108. if(dlgRslt != 6) return;
  109. model.removeNodeset("/root/main/list2/emplist");
  110. model.refresh();
  111. var sChk = "";
  112. for(var i=1; i<grd_retireeemplist.rows; i++)
  113. {
  114. sChk = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("chk"));
  115. sCloseYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("closeyn"));
  116. sSumYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("sumyn"));
  117. if(sType == "I")
  118. {
  119. if(sCloseYn == "Y" || sSumYn == "Y") continue;
  120. }
  121. else
  122. {
  123. if(sSumYn == "Y") continue;
  124. }
  125. if(sChk == "Y")
  126. {
  127. grd_save.addRow();
  128. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/instcd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/instcd"));
  129. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/dutunitcd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/dutunitcd"));
  130. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/dutym", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/dutym"));
  131. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/appscheexecflag", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/appscheexecflag"));
  132. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/emplno", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/emplno"));
  133. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/retiredd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/retiredd"));
  134. }
  135. }
  136. model.refresh();
  137. misfSave(sSubmitName);
  138. fRetrieve();
  139. }
  140. function fSumClose(sType)
  141. {
  142. var sMsg = "";
  143. var iRowIdx = -1;
  144. iRowIdx = grd_retireeemplist.findRow("Y", 1, grd_retireeemplist.colRef("chk"));
  145. if(sType == "I") sMsg = "집계";
  146. else sMsg = "집계 취소";
  147. if(iRowIdx == -1)
  148. {
  149. messageBox(sMsg + "할 사원을", "C002")
  150. return;
  151. }
  152. var dlgRslt = messageBox("선택된 내역을 " + sMsg + "하시겠습니까?", "Q999");
  153. if(dlgRslt != 6) return;
  154. model.removeNodeset("/root/main/list2/emplist");
  155. model.refresh();
  156. var sChk = "";
  157. for(var i=1; i<grd_retireeemplist.rows; i++)
  158. {
  159. sChk = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("chk"));
  160. sCloseYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("closeyn"));
  161. sSumYn = grd_retireeemplist.valueMatrix(i, grd_retireeemplist.colRef("sumyn"));
  162. if(sType == "I")
  163. {
  164. if(sCloseYn == "N" || sSumYn == "Y") continue;
  165. }
  166. else
  167. {
  168. if(sSumYn == "N") continue;
  169. }
  170. if(sChk == "Y")
  171. {
  172. grd_save.addRow();
  173. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/idflag", sType);
  174. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/instcd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/instcd"));
  175. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/dutunitcd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/dutunitcd"));
  176. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/dutym", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/dutym"));
  177. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/appscheexecflag", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/appscheexecflag"));
  178. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/emplno", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/emplno"));
  179. model.setValue(grd_save.nodeset + "[" + grd_save.row + "]/retiredd", model.getValue(grd_retireeemplist.nodeset + "[" + i + "]/retiredd"));
  180. }
  181. }
  182. model.refresh();
  183. if(misfSave("TXRPD05302")) {
  184. messageBox(sMsg, "I001");
  185. }
  186. fRetrieve();
  187. }
  188. ]]>
  189. </script>
  190. </xhtml:head>
  191. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  192. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  193. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:230px; height:14px; ">퇴직자개인별마감</caption>
  194. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  195. </group>
  196. <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  197. <line id="line1" class="line_1" style="x1:0px; y1:64px; x2:1195px; y2:64px; "/>
  198. <caption id="caption9" class="tit_2" style="left:5px; top:49px; width:109px; height:13px; ">근무 스케줄</caption>
  199. <group id="group4" style="left:0px; top:10px; width:1195px; height:32px; vertical-align:top; ">
  200. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:31px; background-color:#fffbf2; border-color:#ffd799; "/>
  201. <line id="line3" class="line_4" style="x1:1110px; y1:2px; x2:1110px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  202. <caption id="caption1" class="search_name" style="left:298px; top:7px; width:91px; height:17px; ">근무년월 :</caption>
  203. <input id="ipt_dutym" ref="/root/send/retrparams/dutym" class="input_search" inputtype="date" format="yyyy-mm" style="left:385px; top:6px; width:110px; height:19px; text-align:center; ">
  204. <script type="javascript" ev:event="xforms-value-changed">
  205. <![CDATA[
  206. var instcd = cmb_instcd.value;
  207. if( getStringLength(ipt_dutym.value) == "6" ) {
  208. model.removeNodeset(cmb_instcd.attribute("ref"));
  209. model.makeNode("/root/send/retrparams/instcd");
  210. misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
  211. cmb_instcd.value = instcd;
  212. model.refresh();
  213. }
  214. fRetrieve();
  215. ]]>
  216. </script>
  217. </input>
  218. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:5px; width:56px; height:22px; text-align:left; ">
  219. <caption>조회</caption>
  220. <script type="javascript" ev:event="DOMActivate">
  221. <![CDATA[
  222. fRetrieve();
  223. ]]>
  224. </script>
  225. </button>
  226. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" disabled="false" navindex="1" appearance="minimal" style="left:92px; top:6px; width:178px; height:19px; ">
  227. <choices>
  228. <itemset>
  229. <label/>
  230. <value/>
  231. </itemset>
  232. </choices>
  233. <script type="javascript" ev:event="xforms-value-changed">
  234. <![CDATA[
  235. fRetrieve();
  236. ]]>
  237. </script>
  238. </select1>
  239. <caption id="caption29" class="search_name" style="left:4px; top:7px; width:86px; height:17px; ">근무기관 :</caption>
  240. <caption id="caption2" class="search_name" style="left:521px; top:7px; width:86px; height:17px; ">사원번호 :</caption>
  241. <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_search" navindex="3" style="left:711px; top:6px; width:150px; height:19px; ">
  242. <script type="javascript" ev:event="onkeypress">
  243. <![CDATA[
  244. if(event.keyCode == 13)
  245. {
  246. if(ipt_emplnm.value == ipt_emplnm.currentText) return;
  247. ipt_emplnm.value = ipt_emplnm.currentText;
  248. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  249. model.refresh();
  250. btn_search.dispatch("DOMActivate");
  251. }
  252. ]]>
  253. </script>
  254. <script type="javascript" ev:event="xforms-value-changed">
  255. <![CDATA[
  256. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  257. model.refresh();
  258. btn_search.dispatch("DOMActivate");
  259. ]]>
  260. </script>
  261. </input>
  262. <button id="btn_emplno" class="icon_search" style="left:691px; top:8px; width:16px; height:16px; ">
  263. <caption/>
  264. <script type="javascript" ev:event="DOMActivate">
  265. <![CDATA[
  266. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  267. model.refresh();
  268. ]]>
  269. </script>
  270. </button>
  271. <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_search" navindex="2" style="left:607px; top:6px; width:80px; height:19px; text-align:center; ">
  272. <script type="javascript" ev:event="onkeypress">
  273. <![CDATA[
  274. if(event.keyCode == 13)
  275. {
  276. if(ipt_emplno.value == ipt_emplno.currentText) return;
  277. ipt_emplno.value = ipt_emplno.currentText;
  278. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  279. model.refresh();
  280. btn_search.dispatch("DOMActivate");
  281. }
  282. ]]>
  283. </script>
  284. <script type="javascript" ev:event="xforms-value-changed">
  285. <![CDATA[
  286. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  287. model.refresh();
  288. btn_search.dispatch("DOMActivate");
  289. ]]>
  290. </script>
  291. </input>
  292. </group>
  293. <datagrid id="grd_retireeemplist" nodeset="/root/main/list/retireeemplist" allowuserresize="false" backcoloralternate="transparent" caption="^기관코드^기관명^근무부서코드^근무부서코드^근무부서명^근무년월^번표유형^사원번호^성명^퇴직일자^마감여부^집계여부" colsep="^" colwidth="25, 0, 140, 90, 0, 150, 0, 0, 100, 100, 100, 55, 55" explorerbar="sort" frozencols="6" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:69px; width:1195px; height:674px; ">
  294. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  295. <col ref="instcd" type="input" visibility="hidden"/>
  296. <col ref="instnm"/>
  297. <col ref="dutunitcd"/>
  298. <col ref="dutplcedeptcd" type="input" visibility="hidden"/>
  299. <col ref="dutunitnm"/>
  300. <col ref="dutym" type="input" visibility="hidden"/>
  301. <col ref="appscheexecflag" type="input" visibility="hidden"/>
  302. <col ref="emplno" style="text-align:center; "/>
  303. <col ref="emplnm" style="text-align:center; "/>
  304. <col ref="retiredd" format="yyyy-mm-dd" style="text-align:center; "/>
  305. <col ref="closeyn" style="text-align:center; "/>
  306. <col ref="sumyn" style="text-align:center; "/>
  307. <script type="javascript" ev:event="onaftersort">
  308. <![CDATA[
  309. grd_retireeemplist.gridToInstance();
  310. ]]>
  311. </script>
  312. </datagrid>
  313. <datagrid id="grd_save" nodeset="/root/main/list2/emplist" class="text_center" visibility="hidden" allowuserresize="false" backcoloralternate="transparent" caption="기관코드^근무부서코드^근무년월^번표유형^사원번호^퇴직일자^구분" colsep="^" colwidth="70, 75, 70, 50, 100, 100, 36" explorerbar="sort" frozencols="6" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:635px; width:580px; height:95px; ">
  314. <col ref="instcd"/>
  315. <col ref="dutunitcd"/>
  316. <col ref="dutym"/>
  317. <col ref="appscheexecflag"/>
  318. <col ref="emplno"/>
  319. <col ref="retiredd" format="yyyy-mm-dd"/>
  320. <col ref="idflag"/>
  321. <script type="javascript" ev:event="onaftersort">
  322. <![CDATA[
  323. grd_save.gridToInstance();
  324. ]]>
  325. </script>
  326. </datagrid>
  327. </group>
  328. <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  329. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  330. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  331. <caption>출력</caption>
  332. <script type="javascript" ev:event="DOMActivate">
  333. <![CDATA[
  334. fPrint();
  335. ]]>
  336. </script>
  337. </button>
  338. <button id="btn_save" class="btn4_letter2" style="left:917px; top:3px; width:56px; height:22px; ">
  339. <caption>마감</caption>
  340. <script type="javascript" ev:event="DOMActivate">
  341. <![CDATA[
  342. fCnfmCncl("I");
  343. ]]>
  344. </script>
  345. </button>
  346. <button id="btn_cnfmcncl" class="btn4_letter4" visibility="visible" style="left:974px; top:3px; width:80px; height:22px; ">
  347. <caption>마감취소</caption>
  348. <script type="javascript" ev:event="DOMActivate">
  349. <![CDATA[
  350. fCnfmCncl("D");
  351. ]]>
  352. </script>
  353. </button>
  354. <button id="btn_sumclose" class="btn4_letter2" style="left:1057px; top:3px; width:56px; height:22px; ">
  355. <caption>집계</caption>
  356. <script type="javascript" ev:event="DOMActivate">
  357. <![CDATA[
  358. fSumClose("I");
  359. ]]>
  360. </script>
  361. </button>
  362. <button id="btn_sumcncl" class="btn4_letter4" style="left:1114px; top:3px; width:80px; height:22px; ">
  363. <caption>집계취소</caption>
  364. <script type="javascript" ev:event="DOMActivate">
  365. <![CDATA[
  366. fSumClose("D");
  367. ]]>
  368. </script>
  369. </button>
  370. </group>
  371. </xhtml:body>
  372. </xhtml:html>