SMRPD05201_중간관리자근무표.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  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. <daylist/>
  11. <dutlist>
  12. <dutschelist/>
  13. </dutlist>
  14. <print>
  15. <printlist/>
  16. <daylist/>
  17. </print>
  18. </main>
  19. <send>
  20. <instcd/>
  21. <dutym/>
  22. <deptkind>dpt</deptkind>
  23. <dutunitcd/>
  24. <dutunitnm/>
  25. </send>
  26. <init/>
  27. <hidden/>
  28. <temp>
  29. </temp>
  30. </root>
  31. </instance>
  32. <submission id="TRRPD02206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/daylist"/>
  33. <submission id="TRRPD05202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/resltdata"/>
  34. </model>
  35. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  36. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  37. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  39. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  40. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  41. <script type="javascript" ev:event="xforms-ready">
  42. <![CDATA[
  43. fInitialize();
  44. ]]>
  45. </script>
  46. <script type="javascript">
  47. <![CDATA[
  48. var arrDayMax = new Array();
  49. var arrEveningMax = new Array();
  50. var arrNightMax = new Array();
  51. var DUTCODE_FLAG = false;
  52. var ZOOM_FLAG = false;
  53. var MOUSE_DOWN = false;
  54. var FIRST_CHECK = false;
  55. var iDay1ColIdx = 10;
  56. var iDay31ColIdx = 42;
  57. var bFirst = true;
  58. var sCurYM = "";
  59. var SELECTED_ROW = -1;
  60. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  61. function fInitialize()
  62. {
  63. model.removeNodeset("/root/main/dutlist/dutschelist");
  64. misfMsterDetailSet(grd_dutschelist, null, "TRRPD05202", "Y");
  65. // misfComboComCdListMulti("Z0007","cmb_instcd");
  66. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  67. misfGetAndSetUserInfo();
  68. misfGetUserAuth();
  69. sCurYM = getCurrentDate().substr(0, 6);
  70. model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  71. model.setValue("/root/send/dutym", getCurrentDate().substr(0, 6));
  72. model.setValue("/root/send/dutunitcd", DUT_UNIT_CD);
  73. model.setValue("/root/send/dutunitnm", DUT_UNIT_NM);
  74. if(getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  75. {
  76. cmb_instcd.disabled = false;
  77. cmb_dutplce.disabled = false;
  78. }
  79. if(DUTY_PART_YN == "Y")
  80. {
  81. cmb_dutplce.disabled = false;
  82. }
  83. model.refresh();
  84. }
  85. // 조회
  86. function fRetrieve()
  87. {
  88. grd_dutschelist.rebuildStyle();
  89. misfMsterDetailRetrieve();
  90. submit("TRRPD02206");
  91. fSetCalendarScheList(); // 번표에 달력의 일자를 세팅한다.
  92. }
  93. function fSetCalendarScheList()
  94. {
  95. var basedd = new Array();
  96. var holiflag = new Array();
  97. var daynm = new Array();
  98. var baseday = new Array();
  99. for( var i=1; i<=31; i++)
  100. {
  101. basedd[i - 1] = model.getValue("/root/main/daylist["+ i + "]/basedd");
  102. holiflag[i - 1] = model.getValue("/root/main/daylist["+ i + "]/holiflag");
  103. daynm[i - 1] = model.getValue("/root/main/daylist["+ i + "]/daynm");
  104. baseday[i - 1] = model.getValue("/root/main/daylist["+ i + "]/basedd").substr(6, 2);
  105. if(basedd[i - 1] == "")
  106. {
  107. grd_dutschelist.colHidden(i + iDay1ColIdx) = true;
  108. }
  109. else
  110. {
  111. grd_dutschelist.colHidden(i + iDay1ColIdx) = false;
  112. }
  113. if(holiflag[i - 1] == '4')
  114. {
  115. grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#0000FF";
  116. }
  117. else if(holiflag[i - 1] == '0')
  118. {
  119. grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#FF0000";
  120. }
  121. else
  122. {
  123. grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#000000";
  124. }
  125. }
  126. var sche_caption = grd_dutschelist.caption;
  127. var sche_split = sche_caption.split("^");
  128. sche_caption = "근무년월";
  129. man_caption = "Duty별 근무자수";
  130. for(var j=1; j<sche_split.length; j++ )
  131. {
  132. // alert(sche_split[j] + " " + j);
  133. if(j > 60 && j < 92)
  134. {
  135. sche_caption = sche_caption + "^" + daynm[j - 61];
  136. }
  137. else if(j > 9 && j < 41)
  138. {
  139. sche_caption = sche_caption + "^" + baseday[j - 10];
  140. }
  141. else
  142. {
  143. sche_caption = sche_caption + "^" + sche_split[j];
  144. }
  145. }
  146. grd_dutschelist.caption = sche_caption;
  147. }
  148. // 근무년월 변경 이벤트
  149. function fDutYMValueChanged()
  150. {
  151. submit("TRRPD02206");
  152. btn_search.dispatch("DOMActivate");
  153. }
  154. function fPrint()
  155. {
  156. exeReportPreview("RPRPD02201", "XMLSTR");
  157. model.removeNodeset("/root/main/print/printlist");
  158. model.refresh();
  159. }
  160. ]]>
  161. </script>
  162. </xhtml:head>
  163. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  164. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  165. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:230px; height:14px; ">중간관리자근무표</caption>
  166. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  167. </group>
  168. <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  169. <line id="line1" class="line_1" style="x1:0px; y1:64px; x2:1195px; y2:64px; "/>
  170. <caption id="caption9" class="tit_2" style="left:5px; top:49px; width:109px; height:13px; ">근무 스케줄</caption>
  171. <group id="group4" style="left:0px; top:10px; width:1195px; height:32px; vertical-align:top; ">
  172. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:31px; background-color:#fffbf2; border-color:#ffd799; "/>
  173. <caption id="caption5" class="search_name" style="left:523px; top:8px; width:86px; height:17px; ">관리부서 :</caption>
  174. <line id="line3" class="line_4" style="x1:1110px; y1:2px; x2:1110px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  175. <caption id="caption1" class="search_name" style="left:298px; top:7px; width:91px; height:17px; ">근무년월 :</caption>
  176. <input id="ipt_dutym" ref="/root/send/dutym" class="input_search" inputtype="date" format="yyyy-mm" style="left:385px; top:6px; width:110px; height:19px; text-align:center; ">
  177. <script type="javascript" ev:event="xforms-value-changed">
  178. <![CDATA[
  179. var instcd = cmb_instcd.value;
  180. if( getStringLength(ipt_dutym.value) == "6" ) {
  181. model.removeNodeset(cmb_instcd.attribute("ref"));
  182. model.makeNode("/root/send/instcd");
  183. misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
  184. cmb_instcd.value = instcd;
  185. model.refresh();
  186. }
  187. fDutYMValueChanged();
  188. ]]>
  189. </script>
  190. </input>
  191. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:5px; width:56px; height:22px; text-align:left; ">
  192. <caption>조회</caption>
  193. <script type="javascript" ev:event="DOMActivate">
  194. <![CDATA[
  195. fRetrieve();
  196. ]]>
  197. </script>
  198. </button>
  199. <select1 id="cmb_dutplce" ref="/root/send/deptkind" class="combo_search" disabled="true" visibility="hidden" appearance="minimal" style="left:610px; top:6px; width:120px; height:19px; text-align:center; ">
  200. <choices>
  201. <item>
  202. <label>전체</label>
  203. <value>all</value>
  204. </item>
  205. <item>
  206. <label>간호부</label>
  207. <value>dpt</value>
  208. </item>
  209. </choices>
  210. <script type="javascript" ev:event="xforms-value-changed">
  211. <![CDATA[
  212. btn_search.dispatch("DOMActivate");
  213. ]]>
  214. </script>
  215. </select1>
  216. <select1 id="cmb_instcd" ref="/root/send/instcd" class="combo_search" disabled="true" navindex="1" appearance="minimal" style="left:92px; top:6px; width:178px; height:19px; ">
  217. <choices>
  218. <itemset>
  219. <label/>
  220. <value/>
  221. </itemset>
  222. </choices>
  223. </select1>
  224. <caption id="caption29" class="search_name" style="left:4px; top:7px; width:86px; height:17px; ">근무기관 :</caption>
  225. <input id="ipt_dutdeptnm" ref="/root/send/dutunitnm" class="input_search" disabled="true" navindex="3" style="left:695px; top:6px; width:127px; height:19px; ">
  226. <script type="javascript" ev:event="xforms-value-changed">
  227. <![CDATA[
  228. /*
  229. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  230. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  231. model.refresh();
  232. */
  233. ]]>
  234. </script>
  235. <script type="javascript" ev:event="onkeypress">
  236. <![CDATA[
  237. /*
  238. if(event.keyCode == 13)
  239. {
  240. ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
  241. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  242. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  243. model.refresh();
  244. }
  245. */
  246. ]]>
  247. </script>
  248. </input>
  249. <input id="ipt_dutdeptcd" ref="/root/send/dutunitcd" class="input_search" disabled="true" navindex="2" maxlength="10" style="left:611px; top:6px; width:80px; height:19px; ">
  250. <script type="javascript" ev:event="xforms-value-changed">
  251. <![CDATA[
  252. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  253. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  254. model.refresh();
  255. ]]>
  256. </script>
  257. <script type="javascript" ev:event="onkeypress">
  258. <![CDATA[
  259. if(event.keyCode == 13)
  260. {
  261. ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
  262. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  263. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  264. model.refresh();
  265. }
  266. ]]>
  267. </script>
  268. </input>
  269. </group>
  270. <button id="btn_excsave" class="btn2_letter4" visibility="visible" style="left:1127px; top:44px; width:64px; height:19px; ">
  271. <caption>엑셀저장</caption>
  272. <script type="javascript" ev:event="DOMActivate">
  273. <![CDATA[
  274. var sName = cmb_instcd.label + " " + model.getValue("/root/send/dutym").substr(0, 4) + "년 " + model.getValue("/root/send/dutym").substr(4, 2) + "월 " + "중간 관리자 근무표 (" + cmb_dutplce.label + ")";
  275. misfSaveExcel(grd_dutschelist, sName);
  276. ]]>
  277. </script>
  278. </button>
  279. <button id="btn_retrsrvp" class="btn2_letter8" visibility="hidden" style="left:1018px; top:44px; width:108px; height:19px; ">
  280. <caption>복무계획신청내역</caption>
  281. <script type="javascript" ev:event="DOMActivate">
  282. <![CDATA[
  283. model.setValue("/root/send/winparams/instcd", model.getValue("/root/send/instcd"));
  284. model.setValue("/root/send/winparams/dutunitcd", model.getValue("/root/send/dutunitcd"));
  285. model.setValue("/root/send/winparams/dutym", model.getValue("/root/send/dutym"));
  286. modal("SPRPD02610", "", "", "", "", "/root/send/winparams", "/root/target" );
  287. ]]>
  288. </script>
  289. </button>
  290. <datagrid id="grd_dutschelist" nodeset="/root/main/dutlist/dutschelist" class="text_center" allowuserresize="false" backcoloralternate="transparent" caption="근무년월^근무부서^신청예정&#xA;실시구분^기관코드^사원번호^성명^근무지부서코드^근무부서^직책^P^1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18^19^20^21^22^23^24^25^26^27^28^29^30^31^Total&#xA;휴가수^사용&#xA;휴가수^보호&#xA;휴가수^Day&#xA;합계^Evening&#xA;합계^Night&#xA;합계^Off&#xA;합계^시간제&#xA;근무합계^시간제&#xA;주휴합계^비고^최종수정일시|근무년월^근무부서^신청예정&#xA;실시구분^기관코드^사원번호^성명^근무지부서코드^근무부서^직책^P^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^Total&#xA;휴가수^사용&#xA;휴가수^보호&#xA;휴가수^Day&#xA;합계^Evening&#xA;합계^Night&#xA;합계^Off&#xA;합계^시간제&#xA;근무합계^시간제&#xA;주휴합계^비고^최종수정일시" colsep="^" colwidth="0, 0, 0, 0, 70, 60, 0, 100, 70, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 53, 53, 53, 53, 53, 53, 53, 55, 55, 150" explorerbar="sort" frozencols="6" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:69px; width:1195px; height:646px; ">
  291. <col ref="dutym" visibility="hidden"/>
  292. <col ref="dutplcedeptcd" visibility="hidden"/>
  293. <col ref="appscheexecflag" visibility="hidden"/>
  294. <col ref="instcd" visibility="hidden"/>
  295. <col ref="emplno"/>
  296. <col ref="emplnm"/>
  297. <col ref="dutplcedeptcdtemp" visibility="hidden"/>
  298. <col ref="dutplcedeptnm"/>
  299. <col ref="jobrespnm"/>
  300. <col ref="part" style="text-align:center; "/>
  301. <col ref="day01" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  302. <col ref="day02" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  303. <col ref="day03" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  304. <col ref="day04" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  305. <col ref="day05" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  306. <col ref="day06" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  307. <col ref="day07" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  308. <col ref="day08" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  309. <col ref="day09" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  310. <col ref="day10" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  311. <col ref="day11" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  312. <col ref="day12" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  313. <col ref="day13" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  314. <col ref="day14" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  315. <col ref="day15" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  316. <col ref="day16" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  317. <col ref="day17" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  318. <col ref="day18" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  319. <col ref="day19" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  320. <col ref="day20" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  321. <col ref="day21" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  322. <col ref="day22" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  323. <col ref="day23" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  324. <col ref="day24" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  325. <col ref="day25" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  326. <col ref="day26" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  327. <col ref="day27" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  328. <col ref="day28" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  329. <col ref="day29" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  330. <col ref="day30" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  331. <col ref="day31" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
  332. <col ref="holitotcnt" style="text-align:right; padding-right:2; "/>
  333. <col ref="useholidayno" style="text-align:right; padding-right:2; "/>
  334. <col ref="mensholidayno" format="9999" style="text-align:right; padding-right:2; "/>
  335. <col ref="daysum" format="9999" style="text-align:right; padding-right:2; "/>
  336. <col ref="eveningsum" format="9999" style="text-align:right; padding-right:2; "/>
  337. <col ref="nigtsum" format="9999" style="text-align:right; padding-right:2; "/>
  338. <col ref="offsum" format="9999" style="left:993px; top:0px; width:0px; height:0px; text-align:right; padding-right:2; "/>
  339. <col ref="surp1_totduttm" format="9999" style="text-align:right; padding-right:2; "/>
  340. <col ref="surp2_otofftm" format="9999" style="text-align:right; padding-right:2; "/>
  341. <col ref="cmt" type="input"/>
  342. <script type="javascript" ev:event="onaftersort">
  343. <![CDATA[
  344. grd_dutschelist.gridToInstance();
  345. ]]>
  346. </script>
  347. </datagrid>
  348. <datagrid id="datagrid1" nodeset="/root/main/daylist" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:645px; top:180px; width:350px; height:150px; ">
  349. <col ref="basedd"/>
  350. <col ref="holiflag"/>
  351. <col ref="daynm"/>
  352. </datagrid>
  353. </group>
  354. <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  355. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  356. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  357. <caption>출력</caption>
  358. <script type="javascript" ev:event="DOMActivate">
  359. <![CDATA[
  360. fPrint();
  361. ]]>
  362. </script>
  363. </button>
  364. </group>
  365. </xhtml:body>
  366. </xhtml:html>