SMRPD10200_개인별근무표출력.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  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. <duttemplist/>
  12. <dutlist/>
  13. </list>
  14. </main>
  15. <send>
  16. <retrparams>
  17. <instcd/>
  18. <emplno/>
  19. <emplnm/>
  20. <dutym/>
  21. <dutunitcd/>
  22. <dutunitnm/>
  23. <deptpryn/>
  24. </retrparams>
  25. <tempnode>
  26. <flag/>
  27. <emplno/>
  28. <name/>
  29. </tempnode>
  30. </send>
  31. <init/>
  32. <temp/>
  33. </root>
  34. </instance>
  35. <submission id="TRRPD10201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  36. </model>
  37. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  39. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  40. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  41. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  42. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  43. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  44. <script type="javascript" ev:event="xforms-ready">
  45. <![CDATA[
  46. fInit();
  47. ]]>
  48. </script>
  49. <script type="javascript">
  50. <![CDATA[
  51. var STATUS_CURRENT = 0;
  52. var STATUS_PREV = 1;
  53. var STATUS_NEXT = 2;
  54. var DUT_UNIT_CD = "";
  55. var DUT_UNIT_NM = "";
  56. function fInit()
  57. {
  58. model.removenode("/root/main/list/dutlist");
  59. misfMsterDetailSet(grd_dutlist, null, "TRRPD10201", "N");
  60. model.setValue("/root/send/retrparams/dutym", getCurrentDate().substr(0, 6));
  61. // misfComboComCdListMulti("Z0007","cmb_instcd");
  62. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  63. misfGetAndSetUserInfo();
  64. misfGetUserAuth();
  65. rpdfSetControlAuth();
  66. rpdfComboCdList(cmb_dutplce); // 권한별 근무부서 세팅
  67. rpdfSetDutUnitCombo();
  68. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  69. model.setValue("/root/send/retrparams/emplno", getUserInfo("userid"));
  70. model.setValue("/root/send/retrparams/emplnm", getUserInfo("usernm"));
  71. //model.setValue("/root/send/retrparams/dutunitcd", DUT_UNIT_CD);
  72. //model.setValue("/root/send/retrparams/dutunitnm", DUT_UNIT_NM);
  73. model.setValue("/root/send/retrparams/deptpryn", "N");
  74. model.setValue("/root/send/tempnode/emplno", getUserInfo("userid"));
  75. //화면 권한 설정
  76. btn_search.disabled = !(checkAuth("R"));
  77. rpdfSetControlByJobRespCd("ipt_emplno,ipt_emplnm,btn_emplhelp,chk_deptpr");
  78. model.refresh();
  79. }
  80. function fRetrieve()
  81. {
  82. if(chk_deptpr.value != 1 && (ipt_emplno.value == "" || ipt_emplnm.value == ""))
  83. {
  84. messageBox("사원번호를 입력하십시오", "I999");
  85. return;
  86. }
  87. model.removeNodeset("/root/main/list/dutlist");
  88. model.refresh();
  89. submit("TRRPD10201");
  90. fSetWorkList(STATUS_CURRENT);
  91. }
  92. function fSetWorkList(sStatus)
  93. {
  94. var sEmplno
  95. var iFindidx
  96. sEmplno = model.getValue("/root/send/tempnode/emplno");
  97. iFindidx = grd_temp.findRow(sEmplno, 1, grd_temp.colRef("emplno"));
  98. if(iFindidx == -1) iFindidx = 1
  99. for(var i=iFindidx; i<grd_temp.rows; i++)
  100. {
  101. var sCurEmplno = grd_temp.valueMatrix(i, grd_temp.colRef("emplno"));
  102. if(sEmplno != sCurEmplno) return;
  103. misfGridIUD(grd_dutlist, "A");
  104. misfGridIUD(grd_dutlist, "A");
  105. for(var j=1; j<grd_temp.cols-1; j++)
  106. {
  107. if((j % 2) == 1)
  108. {
  109. grd_dutlist.valueMatrix(((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = grd_temp.valueMatrix(i, j);
  110. grd_dutlist.cellStyle("background-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#DDDDDD";
  111. grd_dutlist.cellStyle("font-weight", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "bold";
  112. grd_dutlist.cellStyle("border-left-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#000000";
  113. grd_dutlist.cellStyle("border-right-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#DDDDDD";
  114. grd_dutlist.cellStyle("border-bottom-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#DDDDDD";
  115. if(j == 1)
  116. {
  117. grd_dutlist.cellStyle("border-left-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#DDDDDD";
  118. grd_dutlist.cellStyle("color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#FF0000";
  119. }
  120. else if(j == (grd_temp.cols - 2))
  121. {
  122. grd_dutlist.cellStyle("color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#0000FF";
  123. grd_dutlist.cellStyle("border-left-color", ((i - (iFindidx - 1)) * 2) - 1, Math.round(j/2) - 1) = "#000000";
  124. }
  125. }
  126. else
  127. {
  128. grd_dutlist.valueMatrix(((i - (iFindidx - 1)) * 2), j/2-1) = grd_temp.valueMatrix(i, j);
  129. grd_dutlist.cellStyle("border-left-color", ((i - (iFindidx - 1)) * 2), Math.round(j/2) - 1) = "#000000";
  130. grd_dutlist.cellStyle("border-right-color", ((i - (iFindidx - 1)) * 2), Math.round(j/2) - 1) = "#DDDDDD";
  131. grd_dutlist.cellStyle("border-bottom-color", ((i - (iFindidx - 1)) * 2), Math.round(j/2) - 1) = "#000000";
  132. if(j == 2)
  133. {
  134. grd_dutlist.cellStyle("border-left-color", ((i - (iFindidx - 1)) * 2), Math.round(j/2) - 1) = "#DDDDDD";
  135. }
  136. else if(j == (grd_temp.cols - 1))
  137. {
  138. grd_dutlist.cellStyle("border-right-color", ((i - (iFindidx - 1)) * 2), Math.round(j/2) - 1) = "#DDDDDD";
  139. }
  140. }
  141. }
  142. }
  143. }
  144. function fPrint()
  145. {
  146. exeReportPreview("RPRPD10201", "XMLSTR");
  147. }
  148. ]]>
  149. </script>
  150. </xhtml:head>
  151. <xhtml:body pagewidth="1211" pageheight="600" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  152. <datagrid id="grd_temp" nodeset="/root/main/list/duttemplist" visibility="hidden" caption="이름^일^일^월^월^화^화^수^수^목^목^금^금^토^토^사원번호" colsep="^" colwidth="120, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 60" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="0" rowsep="|" style="left:794px; top:15px; width:397px; height:200px; ">
  153. <col ref="name"/>
  154. <col ref="sun1"/>
  155. <col ref="sun2"/>
  156. <col ref="mon1"/>
  157. <col ref="mon2"/>
  158. <col ref="tue1"/>
  159. <col ref="tue2"/>
  160. <col ref="wed1"/>
  161. <col ref="wed2"/>
  162. <col ref="thu1"/>
  163. <col ref="thu2"/>
  164. <col ref="fri1"/>
  165. <col ref="fri2"/>
  166. <col ref="sat1"/>
  167. <col ref="sat2"/>
  168. <col ref="emplno"/>
  169. </datagrid>
  170. <group id="group1" style="left:381px; top:429px; width:387px; height:25px; vertical-align:top; "/>
  171. <button id="button1" class="btn6_letter3" visibility="hidden" style="left:380px; top:432px; width:68px; height:22px; ">
  172. <caption>테스트</caption>
  173. <script type="javascript" ev:event="DOMActivate">
  174. <![CDATA[
  175. if(grd_temp.attribute("visibility") == "visible")
  176. {
  177. grd_temp.attribute("visibility") = "hidden";
  178. }
  179. else
  180. {
  181. grd_temp.attribute("visibility") = "visible";
  182. }
  183. ]]>
  184. </script>
  185. </button>
  186. <group id="group4" style="left:383px; top:40px; width:386px; height:106px; vertical-align:top; ">
  187. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:386px; height:106px; background-color:#fffbf2; border-color:#ffd799; "/>
  188. <caption id="caption5" class="search_name" style="left:15px; top:79px; width:86px; height:17px; ">사원번호 :</caption>
  189. <line id="line3" class="line_4" style="x1:315px; y1:10px; x2:315px; y2:102px; border-color:#ffe4bb; border-left-style:solid; "/>
  190. <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_search" style="left:102px; top:79px; width:71px; height:19px; text-align:center; ">
  191. <script type="javascript" ev:event="onkeypress">
  192. <![CDATA[
  193. if(event.keyCode == 13)
  194. {
  195. if(ipt_emplno.value == ipt_emplno.currentText) return;
  196. ipt_emplno.value = ipt_emplno.currentText;
  197. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  198. model.refresh();
  199. }
  200. ]]>
  201. </script>
  202. <script type="javascript" ev:event="xforms-value-changed">
  203. <![CDATA[
  204. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  205. model.refresh();
  206. ]]>
  207. </script>
  208. </input>
  209. <button id="btn_emplhelp" class="icon_search" style="left:177px; top:80px; width:16px; height:16px; ">
  210. <caption/>
  211. <script type="javascript" ev:event="DOMActivate">
  212. <![CDATA[
  213. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  214. model.refresh();
  215. ]]>
  216. </script>
  217. </button>
  218. <select id="chk_deptpr" ref="/root/send/tempnode/flag" overflow="visible" appearance="full" style="left:206px; top:33px; width:101px; height:15px; border-style:none; ">
  219. <choices>
  220. <item>
  221. <label>근무부서전체</label>
  222. <value>1</value>
  223. </item>
  224. </choices>
  225. <script type="javascript" ev:event="xforms-value-changed">
  226. <![CDATA[
  227. if(chk_deptpr.value == "1")
  228. {
  229. model.setValue("/root/send/retrparams/emplno", "");
  230. model.setValue("/root/send/retrparams/emplnm", "");
  231. model.setValue("/root/send/retrparams/deptpryn", "Y");
  232. // ipt_emplno.disabled = true;
  233. // ipt_emplnm.disabled = true;
  234. // btn_emplhelp.disabled = true;
  235. }
  236. else
  237. {
  238. model.setValue("/root/send/retrparams/emplno", getUserInfo("userid"));
  239. model.setValue("/root/send/retrparams/emplnm", getUserInfo("usernm"));
  240. model.setValue("/root/send/retrparams/deptpryn", "N");
  241. // ipt_emplno.disabled = false;
  242. // ipt_emplnm.disabled = false;
  243. // btn_emplhelp.disabled = false;
  244. }
  245. model.refresh();
  246. ]]>
  247. </script>
  248. </select>
  249. <caption id="caption2" class="search_name" style="left:15px; top:32px; width:86px; height:17px; ">근무년월 :</caption>
  250. <input id="ipt_dutym" ref="/root/send/retrparams/dutym" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:102px; top:31px; width:96px; height:19px; text-align:center; ">
  251. <script type="javascript" ev:event="xforms-value-changed">
  252. <![CDATA[
  253. var instcd = cmb_instcd.value;
  254. if( getStringLength(ipt_dutym.value) == "6" ) {
  255. model.removeNodeset(cmb_instcd.attribute("ref"));
  256. model.makeNode("/root/send/retrparams/instcd");
  257. misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
  258. cmb_instcd.value = instcd;
  259. model.refresh();
  260. }
  261. ]]>
  262. </script>
  263. </input>
  264. <input id="opt_dutdeptcd" ref="/root/send/retrparams/unitcd" class="output_fix" disabled="true" navindex="2" visibility="hidden" style="left:271px; top:83px; width:42px; height:19px; "/>
  265. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:323px; top:41px; width:56px; height:22px; text-align:left; ">
  266. <caption>조회</caption>
  267. <script type="javascript" ev:event="DOMActivate">
  268. <![CDATA[
  269. fRetrieve();
  270. ]]>
  271. </script>
  272. </button>
  273. <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_search" style="left:196px; top:79px; width:115px; height:19px; ">
  274. <script type="javascript" ev:event="onkeypress">
  275. <![CDATA[
  276. if(event.keyCode == 13)
  277. {
  278. if(ipt_emplnm.value == ipt_emplnm.currentText) return;
  279. ipt_emplnm.value = ipt_emplnm.currentText;
  280. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  281. model.refresh();
  282. }
  283. ]]>
  284. </script>
  285. <script type="javascript" ev:event="xforms-value-changed">
  286. <![CDATA[
  287. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd");
  288. model.refresh();
  289. ]]>
  290. </script>
  291. </input>
  292. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:102px; top:8px; width:209px; height:19px; ">
  293. <choices>
  294. <itemset>
  295. <label/>
  296. <value/>
  297. </itemset>
  298. </choices>
  299. <script type="javascript" ev:event="xforms-value-changed">
  300. <![CDATA[
  301. ]]>
  302. </script>
  303. </select1>
  304. <caption id="caption1" class="search_name" style="left:15px; top:10px; width:86px; height:17px; ">소속기관 :</caption>
  305. <button id="btn_dutdept" class="icon_search" style="left:177px; top:57px; width:16px; height:16px; ">
  306. <caption/>
  307. <script type="javascript" ev:event="DOMActivate">
  308. <![CDATA[
  309. misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  310. ]]>
  311. </script>
  312. </button>
  313. <caption id="caption3" class="search_name" style="left:15px; top:56px; width:92px; height:17px; ">관리부서 :</caption>
  314. <input id="ipt_dutdeptnm" ref="/root/send/retrparams/dutunitnm" class="input_search" navindex="3" style="left:196px; top:55px; width:115px; height:19px; ">
  315. <script type="javascript" ev:event="xforms-value-changed">
  316. <![CDATA[
  317. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  318. model.refresh();
  319. ]]>
  320. </script>
  321. <script type="javascript" ev:event="onkeypress">
  322. <![CDATA[
  323. if(event.keyCode == 13)
  324. {
  325. ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
  326. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  327. model.refresh();
  328. }
  329. ]]>
  330. </script>
  331. </input>
  332. <input id="ipt_dutdeptcd" ref="/root/send/retrparams/dutunitcd" class="input_search" navindex="2" maxlength="10" style="left:102px; top:55px; width:71px; height:19px; ">
  333. <script type="javascript" ev:event="xforms-value-changed">
  334. <![CDATA[
  335. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  336. model.refresh();
  337. ]]>
  338. </script>
  339. <script type="javascript" ev:event="onkeypress">
  340. <![CDATA[
  341. if(event.keyCode == 13)
  342. {
  343. ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
  344. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  345. model.refresh();
  346. }
  347. ]]>
  348. </script>
  349. </input>
  350. <select1 id="cmb_dutplce" ref="/root/send/retrparams/dutunitcd" class="combo_search" visibility="visible" appearance="minimal" editmode="inputsearch" style="left:102px; top:55px; width:209px; height:19px; ">
  351. <choices>
  352. <itemset>
  353. <label/>
  354. <value/>
  355. </itemset>
  356. </choices>
  357. <script type="javascript" ev:event="xforms-value-changed">
  358. <![CDATA[
  359. ]]>
  360. </script>
  361. </select1>
  362. </group>
  363. <line id="line1" class="line_1" style="x1:383px; y1:170px; x2:769px; y2:170px; "/>
  364. <caption id="caption9" class="tit_2" style="left:388px; top:154px; width:139px; height:13px; ">근무 스케줄</caption>
  365. <shape id="rectangle1" appearance="rectangle" style="left:355px; top:15px; width:440px; height:465px; "/>
  366. <button id="btn_print" class="btn6_letter2" style="left:715px; top:432px; width:56px; height:22px; ">
  367. <caption>출력</caption>
  368. <script type="javascript" ev:event="DOMActivate">
  369. <![CDATA[
  370. fPrint();
  371. ]]>
  372. </script>
  373. </button>
  374. <datagrid id="grd_dutlist" nodeset="/root/main/list/dutlist" backcoloralternate="transparent" caption="일^월^화^수^목^금^토" colsep="^" colwidth="55, 55, 55, 55, 55, 55, 55" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="0" rowsep="|" style="left:382px; top:175px; width:387px; height:255px; border-left-color:#000000; border-top-color:#000000; border-right-color:#000000; border-bottom-color:#000000; ">
  375. <col ref="sun1" style="text-align:center; "/>
  376. <col ref="mon1" style="text-align:center; "/>
  377. <col ref="tue1" style="text-align:center; "/>
  378. <col ref="wed1" style="text-align:center; "/>
  379. <col ref="thu1" style="text-align:center; "/>
  380. <col ref="fri1" style="text-align:center; "/>
  381. <col ref="sat1" style="text-align:center; "/>
  382. </datagrid>
  383. <output id="opt_emplno" ref="/root/send/tempnode/emplno" visibility="hidden" style="left:704px; top:148px; width:65px; height:19px; "/>
  384. <line id="line2" class="line_6" style="x1:382px; y1:431px; x2:768px; y2:431px; "/>
  385. </xhtml:body>
  386. </xhtml:html>