SMPMB00900_의사휴진신청현황조회.xrw 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881
  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. <orddrid/>
  11. <orddeptcd/>
  12. <srchcond/>
  13. <fromdd/>
  14. <todd/>
  15. <drholiordsche>
  16. <drholiordschelist>
  17. <orddeptcd/>
  18. <orddrid/>
  19. <ordendresn/>
  20. <fromdd/>
  21. <todd/>
  22. <fromtodd/>
  23. <unitcnt/>
  24. <oupdtorddrnm/>
  25. <iupdtorddrnm/>
  26. <drappdd/>
  27. <lastupdtdt/>
  28. <remfact/>
  29. <layoffunitcnt/>
  30. <misseqno/>
  31. </drholiordschelist>
  32. </drholiordsche>
  33. <result/>
  34. <histstatcd/>
  35. <holiflag>H</holiflag>
  36. <endcnfmyn/>
  37. <prcsstat/>
  38. <endflag/>
  39. </main>
  40. <send>
  41. <holiflag/>
  42. <orddrid/>
  43. <orddeptcd/>
  44. <srchcond/>
  45. <fromdd/>
  46. <todd/>
  47. <updatedata>
  48. <datalist/>
  49. </updatedata>
  50. <ordendcnfmyn/>
  51. <acceptstatflag/>
  52. <histstat/>
  53. <endcnfmyn/>
  54. <prcsstat/>
  55. <endflag/>
  56. </send>
  57. <init>
  58. <P0037list>
  59. <P0037>
  60. <cdnm/>
  61. <cdid/>
  62. </P0037>
  63. </P0037list>
  64. <P0406list>
  65. <P0406>
  66. <cdid/>
  67. <cdnm/>
  68. </P0406>
  69. </P0406list>
  70. <orddeptcd>
  71. <orddeptcdlist>
  72. <cd/>
  73. <nm/>
  74. </orddeptcdlist>
  75. </orddeptcd>
  76. <orddrid>
  77. <orddridlist>
  78. <cd/>
  79. <nm/>
  80. <dp/>
  81. <sp/>
  82. </orddridlist>
  83. </orddrid>
  84. <P0464list>
  85. <P0464>
  86. <cdid/>
  87. <cdnm/>
  88. </P0464>
  89. </P0464list>
  90. </init>
  91. <hidden>
  92. <flag>
  93. <orddeptcd/>
  94. <orddrid/>
  95. <seqno/>
  96. <drappdd/>
  97. </flag>
  98. </hidden>
  99. <temp>
  100. <holilist/>
  101. <gridcnt/>
  102. <sum_unitcnt/>
  103. </temp>
  104. </root>
  105. </instance>
  106. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  107. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  108. <script type="javascript" ev:event="xforms-ready">
  109. <![CDATA[
  110. zbcfGetCodeList(new Array("P0037","P0406", "P0464"), new Array("/root/init/P0037list","/root/init/P0406list", "/root/init/P0464list"));
  111. pamGetDeptCDDrIDList();
  112. addComboItem("cmb_orddeptcd","전체","","above");
  113. addComboItem("cmb_orddrid","전체","","above");
  114. model.refresh();
  115. fInitialize();
  116. //model.setValue("/root/main/histstatcd","YC");.....
  117. //grd_orddr.nodeset = "/root/init/orddrid/orddridlist[dp = " + cmb_orddeptcd.value + "]";
  118. //grd_orddr.rebuild();
  119. //팝업화면으로 사용될 때
  120. if (checkOpener()){
  121. var orddeptcd = opener.javascript.getParameter("SMPMB00900_orddeptcd");
  122. var orddrid = opener.javascript.getParameter("SMPMB00900_orddrid");
  123. var holiflag = opener.javascript.getParameter("SMPMB00900_holiflag");
  124. if( orddeptcd != '' && orddrid != '' ){
  125. //진료과 세팅
  126. model.setValue("/root/main/orddeptcd", orddeptcd);
  127. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + orddeptcd + "']";
  128. cmb_orddrid.refresh();
  129. //진료의 세팅
  130. model.setValue("/root/main/orddrid", orddrid);
  131. // 입원의뢰서에서 연동된 경우 조회기간 세팅
  132. if (holiflag == "H") {
  133. model.setValue("/root/main/srchcond", holiflag);
  134. model.setValue("/root/main/holiflag", holiflag);
  135. model.setValue("/root/main/fromdd", getCurrentDate().toDate().getAddDate(-1,"M").getDateFormat());
  136. model.setValue("/root/main/todd", getCurrentDate().toDate().getAddDate(1,"M").getDateFormat());
  137. btn_search.dispatch("DOMActivate");
  138. }
  139. }
  140. }
  141. ]]>
  142. </script>
  143. <submission id="TRPMB00902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drholiordsche"/>
  144. <submission id="TRPMB00904" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drholiordsche"/>
  145. <submission id="TXPMB00906" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  146. </model>
  147. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  148. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  149. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  150. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  151. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  152. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  153. <script type="javascript" src="../../../com/batchinfoweb/js/ZSB001.js"/>
  154. <script type="javascript">
  155. <![CDATA[
  156. function fInitialize(){
  157. model.resetInstanceNode("/root/send");
  158. model.resetInstanceNode("/root/main");
  159. // model.removenode("/root/main/drholiordsche/drholiordschelist");
  160. model.resetInstanceNode("/root/main/drholiordsche/drholiordschelist");
  161. model.setValue("/root/main/holiflag","H");
  162. //조회조건 세팅
  163. model.setValue("/root/main/srchcond", 'H'); //휴진기간 조회로 세팅
  164. //end..
  165. model.setValue("/root/main/endcnfmyn", 'A');
  166. //날자 입력 항목에 오늘 날자 세팅
  167. var curDate = getCurrentDate();
  168. model.setValue("/root/main/fromdd", curDate);
  169. model.setValue("/root/main/todd", curDate);
  170. /*
  171. //현재일자 + 1달
  172. curDate = curDate.toDate().getAddDate(1,"M");
  173. var nextDate = curDate.getFullYear();
  174. nextDate = nextDate.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  175. nextDate = nextDate.toString() + (( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
  176. model.setValue("/root/main/todd", nextDate);
  177. */
  178. // radio1.visible = true;
  179. // caption1.visible = true;
  180. // combo1.visible = true;
  181. // radio1.attribute("left") = "453px";
  182. // ipt_fromdd.attribute("left") = "568px";
  183. // caption10.attribute("left") = "655px";
  184. // ipt_todd.attribute("left") = "670px";
  185. // caption5.attribute("left") = "766px";
  186. // cmb_orddeptcd.attribute("left") = "845px";
  187. // caption7.attribute("left") = "951px";
  188. // cmb_orddrid.attribute("left") = "1044px";
  189. // caption2.attribute("left") = "363px";
  190. grd_holische.colHidden(1) = false;
  191. grd_holische.colHidden(7) = false;
  192. grd_holische.colHidden(8) = true;
  193. grd_holische.colHidden(9) = true;
  194. grd_holische.colHidden(10) = false;
  195. grd_holische.colHidden(11) = false;
  196. grd_holische.colHidden(12) = false;
  197. grd_holische.colHidden(13) = false;
  198. grd_holische.colHidden(14) = false;
  199. grd_holische.colHidden(15) = false;
  200. model.refresh();
  201. }
  202. function fDataCheck( flag ){
  203. var ordendcnfmyn = "";
  204. for( var i = grd_holische.fixedRows; i < grd_holische.rows; i++){
  205. //model.getValue("/root/main/ordlist/ordschecrite/ordschecritelist[" + (i - 1) + "]/check")
  206. if( grd_holische.valueMatrix( i, grd_holische.colRef("check") ) == 'Y' ){
  207. if( flag == 'ok' ){
  208. if( 'Y' == model.getValue("/root/main/drholiordsche/drholiordschelist[" + i + "]/ordendcnfmyn")){
  209. messageBox("이미 마감확인 하신 휴진일정을 다시 마감확인 하실 수 없습니다.( " + i + " 번째 줄 확인! )", "E999", "");
  210. return false;
  211. }
  212. }else{
  213. if( 'Y' != model.getValue("/root/main/drholiordsche/drholiordschelist[" + i + "]/ordendcnfmyn")){
  214. messageBox("마감확인 하지 않은 휴진일정을 마감취소 하실 수 없습니다.( " + i + " 번째 줄 확인! )", "E999", "");
  215. return false;
  216. }
  217. }
  218. }
  219. }
  220. return true;
  221. }
  222. //의사휴진일정 조회
  223. function fSearchDrHoliSche(){
  224. // model.resetInstanceNode("/root/send");
  225. var checkflag = model.getValue("/root/main/holiflag");
  226. model.setValue("/root/send/holiflag", model.getValue("/root/main/holiflag"));
  227. //model.setValue("/root/send/prcsstat", model.getValue("/root/main/prcsstat"));
  228. model.setValue("/root/send/orddrid", model.getValue("/root/main/orddrid"));
  229. model.setValue("/root/send/orddeptcd", model.getValue("/root/main/orddeptcd"));
  230. model.setValue("/root/send/srchcond", model.getValue("/root/main/srchcond"));
  231. model.setValue("/root/send/fromdd", model.getValue("/root/main/fromdd"));
  232. model.setValue("/root/send/todd", model.getValue("/root/main/todd"));
  233. model.setValue("/root/send/endflag", model.getValue("/root/main/endflag"));
  234. //시작,종료일자 최대기간 제한
  235. var minusrslt = getDateInterval(model.getValue("/root/main/fromdd"),model.getValue("/root/main/todd"));
  236. if (minusrslt > 186) {
  237. messageBox("휴진일정은 최대 6개월까지 조회가능합니다.\r\n6개월을 초과하는 데이터는 '파일생성'을 통해 처리하십시오.\r\n(시스템 부하방지)","E999","");
  238. return false;
  239. }
  240. var holiflag = model.getValue("/root/main/holiflag");
  241. //var prcsstat = model.getValue("/root/main/prcsstat");
  242. if( model.getValue("/root/send/srchcond") !='' && model.getValue("/root/send/fromdd") != "" && model.getValue("/root/send/todd") != "" ){
  243. // 휴진데이터 조회
  244. if(holiflag == 'H'){
  245. submit("TRPMB00904");
  246. var histstat = model.getValue("/root/main/drholiordsche/drholiordschelist/histstat");
  247. //if(prcsstat == ''){
  248. grd_holische.allStyle("all","background-color") = "#ffffff"; // 배경색을 초기화 한다.
  249. //setRowStyle("grd_holische", "1","01","prcsstat","equal"); // 병실정보row의 색상을 변경한다.
  250. // setRowStyle("grd_holische", "1","R","histstat","equal");
  251. setRowStyle("grd_holische", "1","Y","todayholiyn","equal"); // 조회당일이 휴진일정에 포함되는경우
  252. grd_holische.rebuild();
  253. //}
  254. // 부분마감데이터 조회
  255. }else if(holiflag == 'T'){
  256. submit("TRPMB00902");
  257. }
  258. }else{
  259. messageBox("조회기간 정보를 입려하지", "E007");
  260. }
  261. model.refresh();
  262. }
  263. //출력물
  264. function fHolilistPrint(){
  265. var fromdd = model.getValue("/root/main/fromdd");
  266. var todd = model.getValue("/root/main/todd");
  267. var gridcnt = model.getValue("/root/temp/gridcnt");
  268. //var sum_unitcnt = model.getValue("/root/temp/sum_unitcnt");
  269. // model.alert(orddd);
  270. var srchcond = model.getValue("/root/main/srchcond");
  271. model.makeNode("/root/temp/holilist/prcsstat");
  272. model.makeNode("/root/temp/holilist/orddeptnm");
  273. model.makeNode("/root/temp/holilist/orddrnm");
  274. model.makeNode("/root/temp/holilist/ordendresn");
  275. model.makeNode("/root/temp/holilist/fromtodd");
  276. model.makeNode("/root/temp/holilist/tempunit");
  277. model.makeNode("/root/temp/holilist/changunit");
  278. model.makeNode("/root/temp/holilist/layoffunitcnt");
  279. //model.makeNode("/root/temp/holilist/realunitcnt");
  280. model.makeNode("/root/temp/holilist/layoffday");
  281. model.makeNode("/root/temp/holilist/oupdtorddrnm");
  282. model.makeNode("/root/temp/holilist/iupdtorddrnm");
  283. model.makeNode("/root/temp/holilist/drappdd");
  284. model.makeNode("/root/temp/holilist/fstrgstdt");
  285. model.makeNode("/root/temp/holilist/remfact");
  286. model.makeNode("/root/temp/holilist/srchcond");
  287. model.makeNode("/root/temp/holilist/fromdd");
  288. model.makeNode("/root/temp/holilist/todd");
  289. model.makeNode("/root/temp/holilist/gridcnt");
  290. model.makeNode("/root/temp/holilist/sum_unitcnt");
  291. model.makeNode("/root/temp/holilist/jobposcd");
  292. model.makeNode("/root/temp/holilist/sp");
  293. if(srchcond == 'R'){
  294. model.setValue("/root/temp/holilist/srchcond", '신청일 기간');
  295. }else if(srchcond == 'H'){
  296. model.setValue("/root/temp/holilist/srchcond", '휴진일 기간');
  297. }
  298. //상단에 진료과 진료의 세팅
  299. model.makeNode("/root/temp/holilist/orddeptcd");
  300. model.makeNode("/root/temp/holilist/orddrid");
  301. //var orddd = model.getValue("");
  302. model.makeValue("/root/temp/holilist/orddeptcd", cmb_orddeptcd.label);
  303. model.makeValue("/root/temp/holilist/orddrid", cmb_orddrid.label);
  304. //일자
  305. model.setValue("/root/temp/holilist/fromdd", fromdd);
  306. model.setValue("/root/temp/holilist/todd", todd);
  307. //합계
  308. model.setValue("/root/temp/holilist/gridcnt", gridcnt);
  309. for (i = 1; i <= getNodesetCount("/root/main/drholiordsche/drholiordschelist"); i++) {
  310. //model.makeValue("/root/temp/holilist[" + i + "]/prcsstat",grd_holische.labelmatrix(i, 1));
  311. model.makeValue("/root/temp/holilist[" + i + "]/orddeptnm",grd_holische.labelmatrix(i, 2));
  312. model.makeValue("/root/temp/holilist[" + i + "]/orddrnm",grd_holische.labelmatrix(i, 3));
  313. model.makeValue("/root/temp/holilist[" + i + "]/sp",grd_holische.labelmatrix(i, 4));
  314. model.makeValue("/root/temp/holilist[" + i + "]/jobposcd",grd_holische.labelmatrix(i, 5));
  315. model.makeValue("/root/temp/holilist[" + i + "]/ordendresn",grd_holische.labelmatrix(i, 6));
  316. model.makeValue("/root/temp/holilist[" + i + "]/fromtodd",grd_holische.labelmatrix(i, 7));
  317. model.makeValue("/root/temp/holilist[" + i + "]/layoffday",grd_holische.labelmatrix(i, 10));
  318. model.makeValue("/root/temp/holilist[" + i + "]/tempunit",grd_holische.labelmatrix(i, 11));
  319. model.makeValue("/root/temp/holilist[" + i + "]/changunit",grd_holische.labelmatrix(i, 12));
  320. model.makeValue("/root/temp/holilist[" + i + "]/layoffunitcnt",grd_holische.labelmatrix(i, 13));
  321. //model.makeValue("/root/temp/holilist[" + i + "]/oupdtorddrnm",grd_holische.labelmatrix(i, 14));
  322. //model.makeValue("/root/temp/holilist[" + i + "]/iupdtorddrnm",grd_holische.labelmatrix(i, 15));
  323. model.makeValue("/root/temp/holilist[" + i + "]/drappdd",grd_holische.labelmatrix(i, 16));
  324. //model.makeValue("/root/temp/holilist[" + i + "]/fstrgstdt",grd_holische.labelmatrix(i, 17));
  325. //model.makeValue("/root/temp/holilist[" + i + "]/remfact",grd_holische.labelmatrix(i, 18));
  326. }
  327. //model.alert(model.getValue("/root/temp/sum_unitcnt"));
  328. exeReportPreview("RPPMB00900_휴진신청조회", "XMLSTR", "","", "false","","","","","false");
  329. }
  330. function fTendPrint(){
  331. var fromdd = model.getValue("/root/main/fromdd");
  332. var todd = model.getValue("/root/main/todd");
  333. var srchcond = model.getValue("/root/main/srchcond");
  334. model.makeNode("/root/temp/holilist/orddeptnm");
  335. model.makeNode("/root/temp/holilist/orddrnm");
  336. model.makeNode("/root/temp/holilist/ordendresn");
  337. model.makeNode("/root/temp/holilist/fromdd");
  338. model.makeNode("/root/temp/holilist/todd");
  339. model.makeNode("/root/temp/holilist/ordtm");
  340. model.makeNode("/root/temp/holilist/remfact");
  341. model.makeNode("/root/temp/holilist/srchcond");
  342. model.makeNode("/root/temp/holilist/jobposcd");
  343. model.makeNode("/root/temp/holilist/sp");
  344. if(srchcond == 'R'){
  345. model.setValue("/root/temp/holilist/srchcond", '신청일 기간');
  346. }else if(srchcond == 'H'){
  347. model.setValue("/root/temp/holilist/srchcond", '휴진일 기간');
  348. }
  349. //상단에 진료과 진료의 세팅
  350. model.makeNode("/root/temp/holilist/orddeptcd");
  351. model.makeNode("/root/temp/holilist/orddrid");
  352. //var orddd = model.getValue("");
  353. model.makeValue("/root/temp/holilist/orddeptcd", cmb_orddeptcd.label);
  354. model.makeValue("/root/temp/holilist/orddrid", cmb_orddrid.label);
  355. //일자
  356. model.setValue("/root/temp/holilist/fromdd", fromdd);
  357. model.setValue("/root/temp/holilist/todd", todd);
  358. //model.alert(model.getValue("/root/main/h_otpt3/otpt/orddd");
  359. // model.copyNode("/root/temp/rsrvlist", "/root/main/h_otpt3/otpt[" + datagrid6.row + "]");
  360. //model.alert(model.getValue("/root/temp/rsrvlist"));
  361. for (i = 1; i <= getNodesetCount("/root/main/drholiordsche/drholiordschelist"); i++) {
  362. model.makeValue("/root/temp/holilist[" + i + "]/orddeptnm",grd_holische.labelmatrix(i, 2));
  363. model.makeValue("/root/temp/holilist[" + i + "]/orddrnm",grd_holische.labelmatrix(i, 3));
  364. model.makeValue("/root/temp/holilist[" + i + "]/sp",grd_holische.labelmatrix(i, 4));
  365. model.makeValue("/root/temp/holilist[" + i + "]/jobposcd",grd_holische.labelmatrix(i, 5));
  366. model.makeValue("/root/temp/holilist[" + i + "]/ordendresn",grd_holische.labelmatrix(i, 6));
  367. model.makeValue("/root/temp/holilist[" + i + "]/fromdd",grd_holische.labelmatrix(i, 8));
  368. model.makeValue("/root/temp/holilist[" + i + "]/ordtm",grd_holische.labelmatrix(i, 9));
  369. }
  370. exeReportPreview("RPPMB00901_휴진신청조회", "XMLSTR", "","", "false","","","","","false");
  371. }
  372. // 휴진일정 파일생성
  373. function fMakeDrHoliFile() {
  374. //조회조건 체크
  375. var vcheck_fromdd = model.getValue("/root/main/fromdd").getTrim();
  376. var vcheck_todd = model.getValue("/root/main/todd").getTrim();
  377. //환자번호 존재시 기간 상관없이 조회
  378. if (vcheck_fromdd == "" || vcheck_fromdd == " " || vcheck_fromdd == "-" || vcheck_fromdd == null ) {
  379. messageBox("시작일자가 입력되지","E007");
  380. model.setFocus("ipt_fromdd");
  381. return;
  382. }
  383. if (vcheck_todd == "" || vcheck_todd == " " || vcheck_todd == "-" || vcheck_todd == null ) {
  384. messageBox("종료일자가 입력되지","E007");
  385. model.setFocus("ipt_todd");
  386. return;
  387. }
  388. if (isValidDateTime(vcheck_fromdd, "YYYYMMDD") != true) {
  389. messageBox("시작일자 형식 오류입니다!","E999","");
  390. return false;
  391. }
  392. if (isValidDateTime(vcheck_todd, "YYYYMMDD") != true) {
  393. messageBox("종료일자 형식 오류입니다!","E999","");
  394. return false;
  395. }
  396. if (eval(vcheck_fromdd) > eval(vcheck_todd)) {
  397. messageBox("종료일자는 시작일자보다 같거나 커야 합니다!","E999","");
  398. return false;
  399. }
  400. model.setValue("/root/send/holiflag", model.getValue("/root/main/holiflag"));
  401. model.setValue("/root/send/orddrid", model.getValue("/root/main/orddrid"));
  402. model.setValue("/root/send/orddeptcd", model.getValue("/root/main/orddeptcd"));
  403. model.setValue("/root/send/srchcond", model.getValue("/root/main/srchcond"));
  404. model.setValue("/root/send/fromdd", model.getValue("/root/main/fromdd"));
  405. model.setValue("/root/send/todd", model.getValue("/root/main/todd"));
  406. model.setValue("/root/send/endflag", model.getValue("/root/main/endflag"));
  407. if (submit("TXPMB00906")) {
  408. messageBox("휴진일정 파일생성 배치가 실행되었습니다.", "I000");
  409. button2.dispatch("DOMActivate");
  410. }
  411. }
  412. ]]>
  413. </script>
  414. </xhtml:head>
  415. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  416. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  417. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:254px; height:14px; ">휴진 및 임시진료일정 조회</caption>
  418. </group>
  419. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  420. <group id="group4" style="left:0px; top:14px; width:1194px; height:35px; vertical-align:top; ">
  421. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  422. <button id="btn_search" class="btn1_letter2" style="left:1134px; top:7px; width:56px; height:22px; ">
  423. <caption>조회</caption>
  424. <script type="javascript" ev:event="DOMActivate">
  425. <![CDATA[
  426. model.removenode("/root/main/drholiordsche/drholiordschelist");
  427. model.resetInstanceNode("/root/main/drholiordsche/drholiordschelist");
  428. // var endcnfmyn = model.getValue("/root/main/endcnfmyn");
  429. //
  430. // if(endcnfmyn == ''){
  431. // messageBox("진행상태 정보를 입려하지", "E007");
  432. // return;
  433. // }
  434. fSearchDrHoliSche();
  435. //전체건수조회
  436. var cnt = getNodesetCount("/root/main/drholiordsche/drholiordschelist");
  437. model.setValue("/root/temp/gridcnt", cnt);
  438. setRowStyle("grd_holische" , "1" , "0" , "misseqno" ,"bigger");
  439. var sum_unitcnt = 0;
  440. for(var i = 1; i <= cnt; i++) {
  441. sum_unitcnt = parseInt(model.getvalue("/root/main/drholiordsche/drholiordschelist[" + i + "]/layoffunitcnt")) + sum_unitcnt;
  442. }
  443. model.setValue("/root/temp/sum_unitcnt", sum_unitcnt);
  444. grd_holische.subtotalposition= "below";
  445. /*
  446. grd_holische.backcoloralternate = "transparent";
  447. grd_holische.subtotal("sum", 1, 10, "format:#,###; roundmode:round; roundpostion:2", "background-color:#99ff99, font-weight:bold; ", 1, "합계", true);
  448. grd_holische.subtotal("sum", 1, 11, "format:#,###; roundmode:round; roundpostion:2", "background-color:#99ff99, font-weight:bold; ", 1, "합계", true);
  449. grd_holische.subtotal("sum", 1, 12, "format:#,###; roundmode:round; roundpostion:2", "background-color:#99ff99, font-weight:bold; ", 1, "합계", true);
  450. grd_holische.subtotal("sum", 1, 13, "format:#,###; roundmode:round; roundpostion:2", "background-color:#99ff99, font-weight:bold; ", 1, "합계", true);
  451. */
  452. //grd_holische.subtotal("sum",-1, 10, "#,###", "background-color:#99ff99", 1, "합계", true);
  453. for(var i=10 ; i<14 ; i++){
  454. if (i ==10 || i==11 || i==12 || i==13) {
  455. grd_holische.subtotal("sum",-1, i, "#,###", "background-color:#99ff99", 1, "합계");
  456. }
  457. }
  458. model.refresh();
  459. ]]>
  460. </script>
  461. </button>
  462. <caption id="caption10" style="left:1001px; top:10px; width:15px; height:19px; font-weight:bold; text-align:center; vertical-align:middle; ">~</caption>
  463. <select1 id="cmb_orddrid" ref="/root/main/orddrid" class="combo_s_essential" appearance="minimal" style="left:525px; top:9px; width:76px; height:19px; ">
  464. <choices>
  465. <itemset nodeset="/root/init/orddrid/orddridlist">
  466. <label ref="nm"/>
  467. <value ref="cd"/>
  468. </itemset>
  469. </choices>
  470. </select1>
  471. <caption id="caption5" class="search_name" style="left:181px; top:9px; width:73px; height:17px; ">진료과 :</caption>
  472. <caption id="caption7" class="search_name" style="left:400px; top:9px; width:86px; height:17px; ">진료의 :</caption>
  473. <select1 id="cmb_orddeptcd" ref="/root/main/orddeptcd" class="combo_s_essential" appearance="minimal" style="left:255px; top:9px; width:130px; height:19px; ">
  474. <choices>
  475. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  476. <label ref="nm"/>
  477. <value ref="cd"/>
  478. </itemset>
  479. </choices>
  480. <script type="javascript" ev:event="xforms-value-changed">
  481. <![CDATA[
  482. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + cmb_orddeptcd.value + "']";
  483. model.setValue("/root/main/orddrid", "");
  484. cmb_orddrid.refresh();
  485. ]]>
  486. </script>
  487. </select1>
  488. <caption id="caption2" class="search_name" style="left:773px; top:9px; width:86px; height:17px; ">조회기간 :</caption>
  489. <input id="ipt_fromdd" ref="/root/main/fromdd" class="input_search" inputtype="date" style="left:915px; top:9px; width:85px; height:19px; "/>
  490. <input id="ipt_todd" ref="/root/main/todd" class="input_search" inputtype="date" style="left:1015px; top:9px; width:85px; height:19px; "/>
  491. <caption id="caption3" class="search_name" style="left:5px; top:9px; width:90px; height:17px; ">휴진구분 :</caption>
  492. <select1 id="combo6" ref="/root/main/holiflag" appearance="minimal" style="left:93px; top:9px; width:75px; height:19px; ">
  493. <choices>
  494. <item>
  495. <label>휴진</label>
  496. <value>H</value>
  497. </item>
  498. <item>
  499. <label>부분마감</label>
  500. <value>T</value>
  501. </item>
  502. </choices>
  503. <script type="javascript" ev:event="xforms-select">
  504. <![CDATA[
  505. if(model.getvalue("/root/main/holiflag") != "T"){
  506. model.removeNodeset("/root/main/drholiordsche/drholiordschelist");
  507. // radio1.visible = true;
  508. // caption1.visible = true;
  509. // combo1.visible = true;
  510. combo1.disabled = false;
  511. // caption2.attribute("left") = "363px";
  512. // radio1.attribute("left") = "453px";
  513. // ipt_fromdd.attribute("left") = "568px";
  514. // caption10.attribute("left") = "655px";
  515. // ipt_todd.attribute("left") = "670px";
  516. // caption5.attribute("left") = "766px";
  517. // cmb_orddeptcd.attribute("left") = "845px";
  518. // caption7.attribute("left") = "951px";
  519. // cmb_orddrid.attribute("left") = "1044px";
  520. grd_holische.colHidden(1) = false;
  521. grd_holische.colHidden(7) = false;
  522. grd_holische.colHidden(8) = true;
  523. grd_holische.colHidden(9) = true;
  524. grd_holische.colHidden(10) = false;
  525. grd_holische.colHidden(11) = false;
  526. grd_holische.colHidden(12) = false;
  527. grd_holische.colHidden(13) = false;
  528. grd_holische.colHidden(14) = false;
  529. grd_holische.colHidden(15) = false;
  530. model.refresh();
  531. }
  532. if(model.getvalue("/root/main/holiflag") == "T"){
  533. model.removeNodeset("/root/main/drholiordsche/drholiordschelist");
  534. //조회조건숨김
  535. // radio1.visible = false;
  536. // caption1.visible = false;
  537. // combo1.visible = false;
  538. combo1.disabled = true;
  539. // //조회조건 위치 이동
  540. // caption2.attribute("left") = "175px";
  541. // radio1.attribute("left") = "264px";
  542. // ipt_fromdd.attribute("left") = "379px";
  543. // caption10.attribute("left") = "467px";
  544. // ipt_todd.attribute("left") = "482px";
  545. // caption5.attribute("left") = "578px";
  546. // cmb_orddeptcd.attribute("left") = "650px";
  547. // caption7.attribute("left") = "761px";
  548. // cmb_orddrid.attribute("left") = "849px";
  549. //그리드 숨김
  550. grd_holische.colHidden(1) = true;
  551. grd_holische.colHidden(7) = true;
  552. grd_holische.colHidden(8) = false;
  553. grd_holische.colHidden(9) = false;
  554. grd_holische.colHidden(10) = true;
  555. grd_holische.colHidden(11) = true;
  556. grd_holische.colHidden(12) = true;
  557. grd_holische.colHidden(13) = true;
  558. grd_holische.colHidden(14) = true;
  559. grd_holische.colHidden(15) = true;
  560. model.refresh();
  561. }
  562. // if (model.getValue("/root/send/data3") != "") {
  563. ]]>
  564. </script>
  565. </select1>
  566. <select1 id="combo1" ref="/root/main/endflag" appearance="minimal" style="left:705px; top:9px; width:52px; height:19px; ">
  567. <choices>
  568. <item>
  569. <label>전체</label>
  570. <value/>
  571. </item>
  572. <item>
  573. <label>신청</label>
  574. <value>N</value>
  575. </item>
  576. <item>
  577. <label>마감</label>
  578. <value>Y</value>
  579. </item>
  580. <item>
  581. <label>취소</label>
  582. <value>C</value>
  583. </item>
  584. </choices>
  585. <script type="javascript" ev:event="xforms-select">
  586. <![CDATA[
  587. ]]>
  588. </script>
  589. </select1>
  590. <line id="line13" class="line_4" style="x1:1128px; y1:7px; x2:1128px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  591. <caption id="caption1" class="search_name" style="left:615px; top:9px; width:97px; height:17px; ">조회구분 :</caption>
  592. <select1 id="combo2" ref="/root/main/srchcond" appearance="minimal" style="left:860px; top:9px; width:52px; height:19px; ">
  593. <choices>
  594. <item>
  595. <label>휴진</label>
  596. <value>H</value>
  597. </item>
  598. <item>
  599. <label>신청</label>
  600. <value>A</value>
  601. </item>
  602. </choices>
  603. </select1>
  604. <input id="input10" style="left:480px; top:9px; width:45px; height:19px; ">
  605. <script type="javascript" ev:event="onkeypress">
  606. <![CDATA[
  607. if (event.keyCode == "13") {
  608. var orddrnm = input10.currentText;
  609. var orddrid = model.getValue("/root/init/orddrid/orddridlist[nm='" + orddrnm + "']/cd");
  610. var orddrnm2 = input10.currentText + "[Y]"; // 선택진료의사용
  611. var orddrid2 = model.getValue("/root/init/orddrid/orddridlist[nm='" + orddrnm2 + "']/cd");
  612. if (isNull(orddrid) && isNull(orddrid2)) {
  613. alert("해당의사가 존재하지 않습니다.");
  614. return;
  615. } else {
  616. if (!isNull(orddrid)) {
  617. model.setValue("/root/main/orddrid", orddrid);
  618. } else {
  619. model.setValue("/root/main/orddrid", orddrid2);
  620. }
  621. model.refresh();
  622. }
  623. }
  624. ]]>
  625. </script>
  626. <hint>
  627. <![CDATA[진료의 성명으로 조회가능합니다.]]>
  628. </hint>
  629. </input>
  630. </group>
  631. <col type="checkbox"/>
  632. <caption id="caption4" class="tit_2" style="left:6px; top:59px; width:219px; height:14px; ">휴진 및 임시진료일정 내역 리스트</caption>
  633. <line id="line3" class="line_1" style="x1:0px; y1:74px; x2:1194px; y2:74px; "/>
  634. <datagrid id="grd_holische" nodeset="/root/main/drholiordsche/drholiordschelist" class="datagrid2" caption="승인&#xA;여부^진료과^진료의사^선택&#xA;진료^직위^휴진사유^휴진기간^휴진일자^휴진시간^휴진&#xA;일수^임시&#xA;UNIT수^대진&#xA;UNIT수^휴진&#xA;UNIT수^외래대진&#xA;진료의사^입원대진&#xA;진료의사^신청일^비고^최초등록일시^최초등록자^진료과코드^진료의ID^histstat^seqno^misseqno^todayholiyn" colsep="^" colwidth="47, 120, 75, 40, 60, 110, 190, 100, 174, 45, 45, 45, 45, 75, 75, 85, 338, 140, 72, 100, 100, 100, 100, 100, 100" dataheight="25" defaultrows="2" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:1px; top:80px; width:1194px; height:661px; font-weight:bolder; ">
  635. <col ref="endcnfmyn" style="text-align:center; "/>
  636. <col ref="orddeptnm"/>
  637. <col ref="orddrnm" style="text-align:center; "/>
  638. <col ref="sp" style="text-align:center; "/>
  639. <col disabled="true" ref="jobposnm" style="text-align:center; "/>
  640. <col disabled="true" ref="ordendresn" type="combo" style="text-align:center; ">
  641. <choices>
  642. <itemset nodeset="/root/init/P0037list/P0037">
  643. <label ref="cdnm"/>
  644. <value ref="cdid"/>
  645. </itemset>
  646. </choices>
  647. </col>
  648. <col ref="fromtodd" style="text-align:center; "/>
  649. <col ref="fromdd" style="text-align:center; "/>
  650. <col ref="ordtm" style="text-align:center; "/>
  651. <col ref="layoffday" style="text-align:center; "/>
  652. <col ref="tempunit" style="text-align:right; "/>
  653. <col ref="changunit" style="text-align:right; "/>
  654. <col ref="layoffunitcnt" style="text-align:right; "/>
  655. <col ref="oupdtorddrnm" style="text-align:center; "/>
  656. <col ref="iupdtorddrnm" style="text-align:center; "/>
  657. <col ref="drappdd" format="yyyy-mm-dd" style="text-align:center; "/>
  658. <col ref="remfact" style="text-align:left; "/>
  659. <col ref="fstrgstdt" format="yyyy-mm-dd hh:nn:ss" style="text-align:center; "/>
  660. <col ref="fstrgstrnm" visibility="visible" style="text-align:center; "/>
  661. <col disabled="true" ref="orddeptcd" type="combo" visibility="hidden" style="text-align:center; ">
  662. <choices>
  663. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  664. <label ref="nm"/>
  665. <value ref="cd"/>
  666. </itemset>
  667. </choices>
  668. </col>
  669. <col disabled="true" ref="orddrid" type="combo" visibility="hidden" style="text-align:center; ">
  670. <choices>
  671. <itemset nodeset="/root/init/orddrid/orddridlist">
  672. <label ref="nm"/>
  673. <value ref="cd"/>
  674. </itemset>
  675. </choices>
  676. </col>
  677. <col ref="histstat" visibility="hidden"/>
  678. <col ref="seqno" visibility="hidden"/>
  679. <col ref="misseqno"/>
  680. <col ref="todayholiyn" visibility="hidden"/>
  681. <script type="javascript" ev:event="onclick">
  682. <![CDATA[
  683. ]]>
  684. </script>
  685. <script type="javascript" ev:event="ondblclick">
  686. <![CDATA[
  687. var holiflag = model.getValue("/root/main/holiflag");
  688. if(holiflag == 'H'){
  689. var cur_row = grd_holische.row;
  690. var prcsstat = model.getValue("/root/main/drholiordsche/drholiordschelist[" + cur_row +"]/prcsstat");
  691. if(prcsstat == "대진" || prcsstat == "임시"){
  692. return;
  693. }
  694. if (isDataCell() == true) {
  695. if (grd_holische.row >= grd_holische.fixedRows) {
  696. model.setValue("/root/hidden/flag/orddeptcd",model.getValue("/root/main/drholiordsche/drholiordschelist[" + cur_row +"]/orddeptcd"));
  697. model.setValue("/root/hidden/flag/orddrid",model.getValue("/root/main/drholiordsche/drholiordschelist[" + cur_row +"]/orddrid"));
  698. model.setValue("/root/hidden/flag/drappdd",model.getValue("/root/main/drholiordsche/drholiordschelist[" + cur_row +"]/drappdd"));
  699. model.setValue("/root/hidden/flag/seqno",model.getValue("/root/main/drholiordsche/drholiordschelist[" + cur_row +"]/seqno"));
  700. modal("SPPMB02100", "1","50", "50", "SPPMB02100", "/root/hidden/flag", "/root/hidden/source");
  701. }
  702. }
  703. }
  704. ]]>
  705. </script>
  706. </datagrid>
  707. <button id="btn_print" class="btn6_letter2" style="left:1134px; top:51px; width:56px; height:22px; ">
  708. <caption>출력</caption>
  709. <script type="javascript" ev:event="DOMActivate">
  710. <![CDATA[
  711. model.resetInstanceNode("/root/temp/holilist");
  712. var holiflag = model.getValue("/root/main/holiflag");
  713. if(holiflag == 'H'){
  714. fHolilistPrint();
  715. }else if(holiflag == 'T'){
  716. fTendPrint();
  717. }
  718. ]]>
  719. </script>
  720. </button>
  721. <shape id="rectangle1" appearance="rectangle" style="left:245px; top:57px; width:15px; height:15px; background-color:#ffe79d; border-color:#ffcc99; "/>
  722. <caption id="caption9" style="left:265px; top:56px; width:426px; height:20px; ">휴진마감 조회 시 조회당일이 휴진기간에 포함되는 경우 배경색이 표시됩니다.</caption>
  723. <button id="button1" class="btn5_letter4" style="left:976px; top:52px; width:64px; height:19px; ">
  724. <caption>파일생성</caption>
  725. <script type="javascript" ev:event="DOMActivate">
  726. <![CDATA[
  727. fMakeDrHoliFile();
  728. ]]>
  729. </script>
  730. </button>
  731. <button id="button2" class="btn5_letter6" style="left:1042px; top:52px; width:86px; height:19px; ">
  732. <caption>파일생성로그</caption>
  733. <script type="javascript" ev:event="DOMActivate">
  734. <![CDATA[
  735. var todd = getCurrentDate();
  736. todd = todd.toDate().getAddDate(1, 'D');
  737. zsbfOpenBatchLogPopup("pambaseinfomngtmgr.DrHoliFileBatch", getCurrentDate(), todd.getDateFormat());
  738. ]]>
  739. </script>
  740. </button>
  741. </group>
  742. <group id="group2" scroll="auto" style="left:0px; top:757px; width:1195px; height:27px; ">
  743. <button id="btn_saveSche7" class="btn4_letter3" style="left:1126px; top:5px; width:68px; height:22px; ">
  744. <caption>초기화</caption>
  745. <script type="javascript" ev:event="DOMActivate">
  746. <![CDATA[
  747. fInitialize();
  748. ]]>
  749. </script>
  750. </button>
  751. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  752. <caption id="caption8" style="left:0px; top:5px; width:820px; height:16px; font-size:9pt; font-weight:bolder; color:#fa0413; ">▶ [출력버튼 죄측 체크 버튼기능] : 체크시 조회기간에 포함된내역 전체 조회, 체크해제시 조회기간에 대해서만 조회(휴진에 대한 내역만)</caption>
  753. </group>
  754. </xhtml:body>
  755. </xhtml:html>