SMPMB00800_의사진료일정상세내역관리.xrw 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031
  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. <ordsche>
  11. <timeordsche>
  12. <timeordschelist/>
  13. <dayrsrvstatlist>
  14. <fstordrsrvcnt/>
  15. <fstcallrsrvcnt/>
  16. <fstinetrsrvcnt/>
  17. <fstcnstrsrvcnt/>
  18. <fsttotalrsrvcnt/>
  19. <fstexamcap/>
  20. <fsttdaytotalrsrvcnt/>
  21. <reordrsrvcnt/>
  22. <recallrsrvcnt/>
  23. <reinetrsrvcnt/>
  24. <recnstrsrvcnt/>
  25. <retotalrsrvcnt/>
  26. <reexamcap/>
  27. <retdaytotalrsrvcnt/>
  28. </dayrsrvstatlist>
  29. </timeordsche>
  30. <dayrsrvstat>
  31. </dayrsrvstat>
  32. <dayordsche>
  33. <dayordschelist/>
  34. </dayordsche>
  35. <endsche>
  36. <endschelist/>
  37. </endsche>
  38. </ordsche>
  39. <result/>
  40. <orddeptcd/>
  41. <t_ordsche>
  42. <t_endsche>
  43. <endschelist/>
  44. </t_endsche>
  45. </t_ordsche>
  46. </main>
  47. <send>
  48. <centcd/>
  49. <orddeptcd/>
  50. <subdeptcd/>
  51. <orddrid/>
  52. <orddd/>
  53. <ordtm/>
  54. <seqno/>
  55. <srchfromdd/>
  56. <srchtodd/>
  57. <updatedata>
  58. <datalist/>
  59. </updatedata>
  60. <endfromdd/>
  61. <endtodd/>
  62. <unittimeend/>
  63. <rsrvflag/>
  64. </send>
  65. <init>
  66. <P0037list>
  67. <P0037>
  68. <cdnm/>
  69. <cdid/>
  70. </P0037>
  71. </P0037list>
  72. <P0033list>
  73. <P0033>
  74. <cdnm/>
  75. <cdid/>
  76. </P0033>
  77. </P0033list>
  78. <orddeptcd>
  79. <orddeptcdlist>
  80. <cd/>
  81. <nm/>
  82. </orddeptcdlist>
  83. </orddeptcd>
  84. <orddrid>
  85. <orddridlist>
  86. <nm/>
  87. <sp/>
  88. <dp/>
  89. <cd/>
  90. </orddridlist>
  91. </orddrid>
  92. <P0316list>
  93. <P0316>
  94. <cdnm/>
  95. <cdid/>
  96. </P0316>
  97. </P0316list>
  98. <P0355list>
  99. <P0355>
  100. <cdnm/>
  101. <cdid/>
  102. </P0355>
  103. </P0355list>
  104. <P0341list>
  105. <P0341>
  106. <cdnm/>
  107. <cdid/>
  108. </P0341>
  109. </P0341list>
  110. <P0021list>
  111. <P0021>
  112. <cdid/>
  113. <cdnm/>
  114. </P0021>
  115. </P0021list>
  116. </init>
  117. <hidden>
  118. <togglecalendar/>
  119. <checksearch/>
  120. </hidden>
  121. </root>
  122. </instance>
  123. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  124. <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  125. <submission id="TRPMO00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/result"/>
  126. <submission id="TRPMB00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/ordsche"/>
  127. <submission id="TRPMB00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/ordsche/timeordsche"/>
  128. <submission id="TXPMB00803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata" resultref="/root/main/result"/>
  129. <submission id="TXPMB00804" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata" resultref="/root/main/result"/>
  130. <submission id="TXPMB00805" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata" resultref="/root/main/result"/>
  131. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  132. <script type="javascript" ev:event="xforms-ready">
  133. <![CDATA[
  134. zbcfGetCodeList(new Array("P0033", "P0037", "P0316", "P0355", "P0341", "P0021"), new Array("/root/init/P0033list", "/root/init/P0037list", "/root/init/P0316list", "/root/init/P0355list", "/root/init/P0341list", "/root/init/P0021list"), false);
  135. pamGetDeptCDDrIDList();
  136. fInitialize();
  137. //model.refresh();
  138. //일정달력을 보이지 않게 한다.
  139. import1.visible = false;
  140. model.setValue("/root/hidden/togglecalendar", 'F');
  141. //2008-01-13 이동식 추가 - 시간별진료일정 그리드에 전체선택 체크박스 추가
  142. // grd_timesche.fixedcellcheckbox(0,1) = true;
  143. //END..
  144. var menu = getScreenMenuParameter();
  145. if( menu != 'S'){
  146. // btn_saveTimeScheEnd.disabled = true;
  147. btn_saveTimeScheEnd7.disabled = true;
  148. // btn_endCancel.disabled = true;
  149. }
  150. //2007-10-03 이동식 추가
  151. if (checkOpener()){ //팝업화면으로 사용될 때
  152. var orddeptcd = opener.javascript.getParameter("SMPMB00800_ORDDEPTCD");
  153. var orddrid = opener.javascript.getParameter("SMPMB00800_ORDDRID");
  154. if( orddeptcd != '' && orddrid != '' ){
  155. //진료과 세팅
  156. model.setValue("/root/main/orddeptcd", orddeptcd);
  157. cmb_orddept.refresh();
  158. cmb_orddept.dispatch("xforms-value-changed");
  159. //진료의 세팅
  160. var cnt = grd_orddr.rows - grd_orddr.fixedRows ;
  161. for( var i = 1; i <= cnt; i++){
  162. if( orddrid == grd_orddr.valueMatrix( i, 3 ) ){
  163. grd_orddr.row = i;
  164. //일별진료일정 조회
  165. fGetDayOrdShce();
  166. /*
  167. //일정달력을 보이게 한다.
  168. import1.visible = true;
  169. btn_close.visible = true;
  170. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  171. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  172. //달력 visible 상태값을 저장한다.
  173. model.setValue("/root/hidden/togglecalendar", 'T');
  174. //일정마감 정보를 조회한 것이 아니란 상택값 저장
  175. model.setValue("/root/hidden/checksearch", 'F');
  176. model.makeNode("/root/send/date");
  177. //달력정보를 조회한다.
  178. fGetCalendarData();
  179. */
  180. break;
  181. }
  182. }
  183. }
  184. }
  185. ]]>
  186. </script>
  187. <submission id="TRPMB00806" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/ordsche/endsche"/>
  188. <submission id="TRPMB00807" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/ordsche"/>
  189. </model>
  190. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  191. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  192. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  193. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  194. <script type="javascript">
  195. <![CDATA[
  196. //일별진료일정을 조회한다.
  197. function fGetDayOrdShce(){
  198. // grd_timesche.fixedcellischeck(0, 1) = false;
  199. var cur_row = grd_orddr.row;
  200. if( cur_row > 0){
  201. model.setValue("/root/send/orddrid", grd_orddr.valueMatrix(cur_row, 3));
  202. model.setValue("/root/send/orddeptcd", grd_orddr.valueMatrix(cur_row, 2));
  203. //alert( model.getValue("/root/send/orddrid"));
  204. submit("TRPMB00801");
  205. }else return;
  206. }
  207. //시간별진료일정 테이블을 조회한다.
  208. function fGetTimeOrdSche(){
  209. // grd_timesche.fixedcellischeck(0, 1) = false;
  210. var cur_row1 = grd_daysche.row - 1;
  211. model.setValue("/root/send/rsrvflag", 'K');
  212. //var cur_row2 = grd_orddr.row;
  213. if( cur_row1 > 0 ){
  214. model.setValue("/root/send/orddd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddd"));
  215. model.setValue("/root/send/orddrid", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddrid"));
  216. model.setValue("/root/send/centcd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/centcd"));
  217. model.setValue("/root/send/orddeptcd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddeptcd"));
  218. model.setValue("/root/send/subdeptcd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/subdeptcd"));
  219. //alert( model.getValue("/root/send/orddrid") + model.getValue("/root/send/orddd"));
  220. if(submit("TRPMB00802")){
  221. grd_timesche.rebuildStyle();
  222. setRowStyle("grd_timesche", "1^1^1", "S", "reglscheflag");
  223. // model.setValue("/root/main/todayrgstcnt", model.getValue("/root/main/drordsche/drordschelist/tdayrgst"));
  224. // model.refresh();
  225. }
  226. /*
  227. submit("TRPMB00802");
  228. if( grd_timesche.rows < 3){
  229. //시간별진료일정테이블에 새로운 행을 추가해준다.
  230. fAddRow();
  231. }
  232. */
  233. }else return;
  234. }
  235. //진료일정기준자료 테이블에 새로운 행을 추가한다. -- 숨겨진 컬럼 값을 세팅한다.
  236. function fAddRow(){
  237. var cur_row1 = grd_daysche.row - 1;
  238. //var cur_row2 = grd_orddr.row;
  239. if( cur_row1 > 0 ){
  240. grd_timesche.addItem();
  241. var bottom = grd_timesche.bottomRow;
  242. grd_timesche.valueMatrix(bottom, 5) = 0;
  243. grd_timesche.valueMatrix(bottom, 7) = 0;
  244. grd_timesche.valueMatrix(bottom, 3) = 0;
  245. grd_timesche.valueMatrix(bottom, 9) = 0;
  246. //숨겨진 컬럼값 세팅
  247. bottom = bottom - 1;
  248. model.setValue("/root/main/ordsche/timeordsche/timeordschelist[" + bottom + "]/orddd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddd"));
  249. model.setValue("/root/main/ordsche/timeordsche/timeordschelist[" + bottom + "]/orddrid", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddrid"));
  250. model.setValue("/root/main/ordsche/timeordsche/timeordschelist[" + bottom + "]/orddeptcd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/orddeptcd"));
  251. model.setValue("/root/main/ordsche/timeordsche/timeordschelist[" + bottom + "]/dwcd", model.getValue("/root/main/ordsche/dayordsche/dayordschelist[" + cur_row1 + "]/dwcd"));
  252. }else messageBox("진료과코드와 진료의사 ID를 얻어 올 수", "I004");
  253. }
  254. function fInitialize(){
  255. model.removeNodeset("/root/main/ordsche/timeordsche/timeordschelist");
  256. model.removeNodeset("/root/main/ordsche/dayrsrvstat/dayrsrvstatlist");
  257. model.removeNodeset("/root/main/ordsche/dayordsche/dayordschelist");
  258. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  259. model.resetInstanceNode("/root/send");
  260. //일정달력을 보이지 않게 한다.
  261. import1.visible = false;
  262. model.setValue("/root/hidden/togglecalendar", 'F');
  263. // grd_timesche.fixedcellischeck(0, 1) = false;
  264. //날자 입력 항목에 오늘 날자 세팅
  265. var curDate = getCurrentDate();
  266. model.setValue("/root/send/srchfromdd", curDate);
  267. model.setValue("/root/send/endfromdd", curDate);
  268. //현재일자 + 1달
  269. curDate = curDate.toDate().getAddDate(1,"M");
  270. var endOfMonth = curDate.getMonthDay();
  271. var nextDate = curDate.getFullYear();
  272. nextDate = nextDate.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  273. nextDate = nextDate.toString() + endOfMonth; //(( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
  274. model.setValue("/root/send/srchtodd", nextDate);
  275. model.setValue("/root/send/endtodd", nextDate);
  276. model.refresh();
  277. }
  278. //달력을 클릭(선택) 했을 때
  279. function fClickOnCalendar(){
  280. if( ! (grd_calendar.isCell(event.target) && grd_calendar.row >= grd_calendar.fixedRows && grd_calendar.col >= grd_calendar.fixedCols) ) {
  281. return false;
  282. }
  283. var cur_row = grd_orddr.row;
  284. if( cur_row > 0){
  285. var calRow = grd_calendar.row;
  286. var calCol = grd_calendar.col;
  287. //선택된 셀 표시
  288. setCellColor(calRow, calCol);
  289. calCol = calCol % 7;
  290. var isDay = grd_calendar.valueMatrix(calRow, calCol);
  291. var memo = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + isDay + "]/ampmflag");
  292. var ordendresn = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + isDay + "]/ordendresn");
  293. if( isDay != "" && memo != ""){
  294. if( isDay.length == 1 ) isDay = "0" + isDay;
  295. var dd = ( (model.getValue("/root/hidden/calendar/year")).concat(model.getValue("/root/hidden/calendar/month")) ).concat(isDay);
  296. //마감일자 중복체크
  297. for( var i = 1; i <= grd_ordscheend.rows - grd_ordscheend.fixedRows; i++){
  298. //마감시작일과 마감종료일 안의 일자가 선택되면 메세지를 보여주고 새로운 일정마감정보를 추가하지 않는다.
  299. if( dd >= grd_ordscheend.valueMatrix( i + 1, 3 ) && dd <= grd_ordscheend.valueMatrix( i + 1, 5 )){
  300. messageBox(dd + "은 미리 입력하신 " + i + " 번째 진료일정마감 기간에 중복됩니다.", "E999");
  301. return false;
  302. }
  303. }
  304. grd_ordscheend.addItem();
  305. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 3 ) = dd; //마감시작일
  306. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 5 ) = dd; //마감종료일
  307. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 7 ) = ordendresn; //마감사유
  308. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 8 ) = '0'; //오전
  309. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 9 ) = '0'; //오후
  310. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 10 ) = '0'; //야간
  311. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 11 ) = grd_orddr.valueMatrix(cur_row, 2); //진료과CD
  312. grd_ordscheend.valueMatrix(grd_ordscheend.bottomRow, 12 ) = grd_orddr.valueMatrix(cur_row, 3); //진료의사ID
  313. grd_ordscheend.row = grd_ordscheend.bottomRow;
  314. grd_ordscheend.topRow = grd_ordscheend.bottomRow;
  315. model.setFocus("grd_ordscheend");
  316. model.refresh();
  317. }
  318. }else{
  319. messageBox("진료과코드와 진료의사 ID를 얻어 올 수", "I004");
  320. }
  321. }
  322. function fGetCalendarData(){
  323. var cur_row = grd_orddr.row;
  324. if( cur_row > 0){
  325. model.setValue("/root/send/orddrid", grd_orddr.valueMatrix(cur_row, 3));
  326. model.setValue("/root/send/orddeptcd", grd_orddr.valueMatrix(cur_row, 2));
  327. model.setValue("/root/send/subdeptcd", 'X');
  328. model.makeNode("/root/send/date");
  329. //model.setValue("/root/send/date", '200902');
  330. model.setValue("/root/send/date", model.getValue("/root/hidden/calendar/year") + model.getValue("/root/hidden/calendar/month"));
  331. // model.makeNode("/root/send/reglscheyn");
  332. // model.setValue("/root/send/reglscheyn", 'Y');
  333. model.resetInstanceNode("/root/main/result");
  334. model.makeNode("/root/main/result/orddrfild");
  335. model.makeNode("/root/main/result/calendarinfo");
  336. var isMonth = model.getValue("/root/hidden/calendar/month");
  337. var isYear = model.getValue("/root/hidden/calendar/year");
  338. var isDate = (isYear+isMonth+1).toDate();
  339. //진료의사 정보가 없을 경우
  340. if( model.getValue("/root/send/orddrid") == '' ){
  341. setCalendar(isDate);
  342. }else{
  343. //model.alert("aa");
  344. if(submit("TRPMO00203")){
  345. if( getNodesetCount("/root/main/result/calendarinfo/calendarinfolist") > 0 ){
  346. model.copyNode("/root/hidden/calendarinfo", "/root/main/result/calendarinfo");
  347. setCalendar2(isDate);
  348. //model.alert("bb");
  349. }else{
  350. setCalendar(isDate);
  351. //model.alert("cc");
  352. }
  353. }
  354. }
  355. model.removenode("/root/send/reglscheyn");
  356. }
  357. }
  358. function fcheckOrdScheEnd( rowCount ){
  359. var ordendresn = '';
  360. var endfromdd = '';
  361. var endtodd = '';
  362. var endfromtm = '';
  363. var endtotm = '';
  364. var am = '';
  365. var pm = '';
  366. var nigt = '';
  367. //if(grd_ordscheend.valueMatrix(rowCount, grd_ordscheend.colRef("check")) == 'Y' ){
  368. for( var i = 1; i <= rowCount; i++){
  369. if(grd_ordscheend.valueMatrix(i+1, grd_ordscheend.colRef("check")) == 'Y' ){
  370. ordendresn = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/ordendresn");
  371. endfromdd = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endfromdd");
  372. endtodd = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endtodd");
  373. endfromtm = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endfromtm");
  374. endtotm = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endtotm");
  375. am = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/am");
  376. pm = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/pm");
  377. nigt = model.getValue("/root/main/ordsche/endsche/endschelist[" + i + "]/nigt");
  378. if( ordendresn == '' || ordendresn == '-' || ordendresn == '00' || ordendresn == '0'){
  379. messageBox( i + " 번째 줄에 마감사유를 입력하지 않았습니다.", "E999", "");
  380. return false;
  381. }else if( ! isValidDateTime(endfromdd, "YYYYMMDD") ){
  382. messageBox( i + " 번째 줄의 마감시작일을 입력하지 않았거나 올바른 날짜 형식이 아닙니다.", "E999", "");
  383. return false;
  384. }else if( ! isValidDateTime(endtodd, "YYYYMMDD") ){
  385. messageBox( i + " 번째 줄의 마감종료일을 입력하지 않았거나 올바른 날짜 형식이 아닙니다.", "E999", "");
  386. return false;
  387. }else if( endfromtm == '' && endtotm == '' && am == '0' && pm == '0' && nigt =='0' ){
  388. messageBox( i + " 번째 줄의 마감시간이 입력되지 않았습니다.", "E999", "");
  389. return false;
  390. }else if( ! isValidDateTime(endfromtm, "hhmm") && am == '0' && pm == '0' && nigt =='0'){
  391. messageBox( i + " 번째 줄의 마감시작시간을 입력하지 않았거나 올바른 시간 형식이 아닙니다.", "E999", "");
  392. return false;
  393. }else if( ! isValidDateTime(endtotm, "hhmm") && am == '0' && pm == '0' && nigt =='0'){
  394. messageBox( i + " 번째 줄의 마감종료시간을 입력하지 않았거나 올바른 시간 형식이 아닙니다.", "E999", "");
  395. return false;
  396. }else if( am == '1' || pm == '1' || nigt =='1'){
  397. model.setValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endfromtm", '');
  398. model.setValue("/root/main/ordsche/endsche/endschelist[" + i + "]/endtotm", '');
  399. }
  400. // grd_ordscheend.addStatus(i, "update"); //전체를 다 가져가서 오류를 내기 때문에 체크한거만 가져가도록 함.20091021 이성인
  401. }
  402. }
  403. return true;
  404. }
  405. ]]>
  406. </script>
  407. </xhtml:head>
  408. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  409. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  410. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:188px; height:14px; ">진료일정 상세조회(부분마감)</caption>
  411. </group>
  412. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  413. <datagrid id="grd_timesche" nodeset="/root/main/ordsche/timeordsche/timeordschelist" class="datagrid1" backcoloralternate="transparent" caption="시간^등록번호^환자명^예약구분^최초접수시간^일정생성구분^초재진구분" colsep="^" colwidth="50, 79, 80, 80, 90, 100, 70" dataheight="23" defaultrows="2" rowheader="seq" rowheight="23" rowsep="|" style="left:805px; top:75px; width:388px; height:665px; ">
  414. <col ref="ordtm" format="hh:nn"/>
  415. <col ref="pid"/>
  416. <col ref="hngnm"/>
  417. <col disabled="true" ref="rsrvflag" type="combo">
  418. <choices>
  419. <itemset nodeset="/root/init/P0341list/P0341">
  420. <label ref="cdnm"/>
  421. <value ref="cdid"/>
  422. </itemset>
  423. </choices>
  424. </col>
  425. <col ref="fstacptdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss" style="left:330px; top:32px; width:90px; height:23px; "/>
  426. <col ref="reglscheflag" visibility="hidden"/>
  427. <col disabled="false" ref="fsexamflag" type="combo">
  428. <choices>
  429. <itemset nodeset="/root/init/P0021list/P0021">
  430. <label ref="cdnm"/>
  431. <value ref="cdid"/>
  432. </itemset>
  433. </choices>
  434. </col>
  435. </datagrid>
  436. <import id="import1" visibility="hidden" src="../../../pam/pambaseinfomngtweb/xrw/SPPMB01001_병원달력.xrw" style="left:805px; top:280px; width:388px; height:463px; "/>
  437. <group id="group2" style="left:1px; top:10px; width:1193px; height:35px; vertical-align:top; ">
  438. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  439. <button id="btn_search" class="btn1_letter2" style="left:1122px; top:7px; width:56px; height:22px; ">
  440. <caption>조회</caption>
  441. <script type="javascript" ev:event="DOMActivate">
  442. <![CDATA[
  443. //일별진료일정 조회
  444. fGetDayOrdShce();
  445. ]]>
  446. </script>
  447. </button>
  448. <line id="line1" class="line_4" style="x1:1106px; y1:7px; x2:1106px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  449. <caption id="caption1" class="search_name" style="left:410px; top:9px; width:86px; height:17px; ">진료일자 :</caption>
  450. <input id="ipt_todd" ref="/root/send/srchtodd" class="input_search" inputtype="date" style="left:626px; top:8px; width:100px; height:19px; "/>
  451. <input id="ipt_fromdd" ref="/root/send/srchfromdd" class="input_search" inputtype="date" style="left:505px; top:8px; width:100px; height:19px; "/>
  452. <caption id="caption3" class="search_name" style="left:25px; top:9px; width:73px; height:17px; ">진료과 :</caption>
  453. <select1 id="cmb_orddept" ref="/root/main/orddeptcd" class="combo_search" appearance="minimal" style="left:102px; top:8px; width:200px; height:19px; ">
  454. <choices>
  455. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  456. <label ref="nm"/>
  457. <value ref="cd"/>
  458. </itemset>
  459. </choices>
  460. <script type="javascript" ev:event="xforms-value-changed">
  461. <![CDATA[
  462. grd_orddr.nodeset = "/root/init/orddrid/orddridlist[dp = " + cmb_orddept.value + "]";
  463. //grd_orddr.rebuild();
  464. fInitialize();
  465. ]]>
  466. </script>
  467. </select1>
  468. <caption id="caption10" style="left:608px; top:8px; width:15px; height:19px; font-weight:bold; text-align:center; vertical-align:middle; ">~</caption>
  469. </group>
  470. <line id="line5" class="line_1" style="x1:121px; y1:194px; x2:800px; y2:194px; "/>
  471. <caption id="caption8" class="tit_2" style="left:126px; top:179px; width:178px; height:13px; ">일별진료일정</caption>
  472. <caption id="caption2" class="tit_2" style="left:126px; top:55px; width:121px; height:13px; ">일별예약현황</caption>
  473. <line id="line3" class="line_1" style="x1:121px; y1:70px; x2:800px; y2:70px; "/>
  474. <line id="line12" class="line_1" style="x1:0px; y1:70px; x2:115px; y2:70px; "/>
  475. <caption id="caption5" class="tit_2" style="left:5px; top:55px; width:111px; height:13px; ">진료의사</caption>
  476. <datagrid id="grd_orddr" class="datagrid2" backcoloralternate="transparent" caption="의사명^선택진료^진료과코드^진료의ID" colsep="^" colwidth="81, 31, 72, 71" dataheight="25" defaultrows="2" extendlastcol="false" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" style="left:0px; top:75px; width:115px; height:665px; ">
  477. <col ref="nm"/>
  478. <col ref="sp"/>
  479. <col ref="dp" visibility="hidden"/>
  480. <col ref="cd" visibility="hidden"/>
  481. <script type="javascript" ev:event="onclick">
  482. <![CDATA[
  483. //일별진료일정 조회
  484. fGetDayOrdShce();
  485. //일정달력을 보이게 한다.
  486. import1.visible = true;
  487. btn_close.visible = true;
  488. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  489. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  490. //달력 visible 상태값을 저장한다.
  491. model.setValue("/root/hidden/togglecalendar", 'T');
  492. //일정마감 정보를 조회한 것이 아니란 상택값 저장
  493. model.setValue("/root/hidden/checksearch", 'F');
  494. //달력정보를 조회한다.
  495. fGetCalendarData();
  496. ]]>
  497. </script>
  498. </datagrid>
  499. <datagrid id="grd_rsrv" nodeset="/root/main/ordsche/timeordsche/dayrsrvstatlist" scroll="auto" caption="초진^초진^초진^초진^초진^초진^재진^재진^재진^재진^재진^재진^총정원^총정원^총정원^총정원^총정원^총정원^remfact^caption1|예약^예약^예약^예약^예약^당일^예약^예약^예약^예약^예약^당일^예약^예약^예약^예약^예약^당일^remfact^caption1|진료^전화^인터넷^협력^총예약^총계^진료^전화^인터넷^협력^총예약^총계^진료^전화^인터넷^협력^총예약^총계^remfact^caption1" colsep="^" colwidth="35, 35, 43, 35, 42, 35, 35, 35, 43, 35, 42, 35, 35, 35, 45, 35, 42, 35" dataheight="25" defaultrows="4" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" style="left:121px; top:75px; width:679px; height:94px; ">
  500. <col ref="fstdeptrsrvcnt"/>
  501. <col ref="fsttelrsrvcnt"/>
  502. <col ref="fstinetrsrvcnt"/>
  503. <col ref="fstrqstrsrvcnt"/>
  504. <col ref="fsttotalrsrvcnt"/>
  505. <col ref="fsttdayacptcnt"/>
  506. <col ref="redeptrsrvcnt"/>
  507. <col ref="retelrsrvcnt"/>
  508. <col ref="reinetrsrvcnt"/>
  509. <col ref="rerqstrsrvcnt"/>
  510. <col ref="retotalrsrvcnt"/>
  511. <col ref="retdayacptcnt"/>
  512. <col ref="totaldeptrsrvcnt"/>
  513. <col ref="totaltelrsrvcnt"/>
  514. <col ref="totalinetrsrvcnt"/>
  515. <col ref="totalrqstrsrvcnt"/>
  516. <col ref="totaltotalrsrvcnt"/>
  517. <col ref="totaltdayacptcnt"/>
  518. </datagrid>
  519. <caption id="caption4" class="tit_2" style="left:810px; top:55px; width:117px; height:14px; ">외래등록내역</caption>
  520. <line id="line6" class="line_1" style="x1:805px; y1:70px; x2:1193px; y2:70px; "/>
  521. <line id="line11" class="line_1" style="x1:121px; y1:464px; x2:800px; y2:464px; "/>
  522. <caption id="caption14" class="tit_2" style="left:126px; top:450px; width:131px; height:13px; ">진료일정 부분마감</caption>
  523. <datagrid id="grd_daysche" nodeset="/root/main/ordsche/dayordsche/dayordschelist" caption="진료일자^요일^센터^하위부서^정규^오전^오전^오후^오후^총정원^총정원^정원&#xA;합계^예약^예약^예약합계^마감&#xA;구분^마감사유^특이사항(요일별클리닉)^요일별 비고|진료일자^요일^센터^하위부서^정규^초진^재진^초진^재진^오전^오후^정원&#xA;합계^초진^재진^예약합계^마감&#xA;구분^마감사유^특이사항(요일별클리닉)^요일별 비고" colsep="^" colwidth="70, 45, 60, 90, 35, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 35, 130, 154, 140" dataheight="25" defaultrows="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:121px; top:199px; width:679px; height:241px; ">
  524. <col ref="orddd" format="yyyy-mm-dd"/>
  525. <col disabled="true" ref="dwcd" type="combo">
  526. <choices>
  527. <itemset nodeset="/root/init/P0033list/P0033">
  528. <label ref="cdnm"/>
  529. <value ref="cdid"/>
  530. </itemset>
  531. </choices>
  532. </col>
  533. <col disabled="true" ref="centcd" type="combo">
  534. <choices>
  535. <itemset nodeset="/root/init/centcd/centcdlist">
  536. <label ref="nm"/>
  537. <value ref="cd"/>
  538. </itemset>
  539. </choices>
  540. </col>
  541. <col disabled="true" ref="subdeptcd" type="combo">
  542. <choices>
  543. <itemset nodeset="/root/init/subdeptcd/subdeptcdlist">
  544. <label ref="nm"/>
  545. <value ref="cd"/>
  546. </itemset>
  547. </choices>
  548. </col>
  549. <col disabled="true" ref="reglscheflag" type="combo">
  550. <choices>
  551. <itemset nodeset="/root/init/P0355list/P0355">
  552. <label ref="cdnm"/>
  553. <value ref="cdid"/>
  554. </itemset>
  555. </choices>
  556. </col>
  557. <col ref="fstamcap"/>
  558. <col ref="reamcap"/>
  559. <col ref="fstpmcap"/>
  560. <col ref="repmcap"/>
  561. <col ref="totamcap"/>
  562. <col ref="totpmcap"/>
  563. <col ref="totcap"/>
  564. <col ref="otptfstrsrvcnt"/>
  565. <col ref="otptrersrvcnt"/>
  566. <col ref="totrsrvcnt"/>
  567. <col disabled="true" ref="holiflag" type="combo">
  568. <choices>
  569. <item>
  570. <label>부분</label>
  571. <value>T</value>
  572. </item>
  573. <item>
  574. <label>휴진</label>
  575. <value>H</value>
  576. </item>
  577. </choices>
  578. </col>
  579. <col disabled="true" ref="ordendresn" type="combo">
  580. <choices>
  581. <itemset nodeset="/root/init/P0037list/P0037">
  582. <label ref="cdnm"/>
  583. <value ref="cdid"/>
  584. </itemset>
  585. </choices>
  586. </col>
  587. <col ref="clincnm"/>
  588. <col ref="remfact"/>
  589. <script type="javascript" ev:event="onclick">
  590. <![CDATA[
  591. //2008-05-21 이동식 추가
  592. //일정달력을 보이지 않게한다.
  593. import1.visible = false;
  594. btn_close.visible = false;
  595. //달력 visible 상태값을 저장한다.
  596. model.setValue("/root/hidden/togglecalendar", 'F');
  597. //END..
  598. //그리드의 데이터 부분에서 이벤트가 발생한것인지 체크
  599. if( ! isDataCell() ){
  600. return false;
  601. }
  602. //function call
  603. fGetTimeOrdSche();
  604. /*
  605. //중복 선택 체크
  606. var grdcnt = grd_ordscheend.rows;
  607. var orddd = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("orddd"));
  608. var holiflag = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("holiflag"));
  609. var fstamcap = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("fstamcap"));
  610. var reamcap = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("reamcap"));
  611. var fstpmcap = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("fstpmcap"));
  612. var repmcap = grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("repmcap"));
  613. // grdcnt = grdcnt+1;
  614. if(holiflag == "" || holiflag == " " || holiflag == "-" || holiflag == null){
  615. model.alert("값이없어");
  616. return;
  617. }else{
  618. //model.alert("");
  619. for( var i = 2; i < grdcnt; i++){
  620. model.alert(grdcnt);
  621. model.alert(model.getValue("/root/main/ordsche/endsche/endschelist["+ grdcnt +"]/orddd"));
  622. if(model.getValue("/root/main/ordsche/endsche/endschelist["+ grdcnt +"]/orddd" == orddd)){
  623. model.alert("진료일자가 같다");
  624. return;
  625. }
  626. }
  627. //일별진료일정 선택시 해당 일자의 마감 정보를 조회한다.
  628. //2007-12-04 이동식 추가 - 사용자 요구사항 반영
  629. model.setValue("/root/send/endfromdd", grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("orddd")));
  630. model.setValue("/root/send/endtodd", grd_daysche.valueMatrix(grd_daysche.row, grd_daysche.colRef("orddd")));
  631. btn_endsearch.dispatch("DOMActivate");
  632. }
  633. */
  634. ]]>
  635. </script>
  636. </datagrid>
  637. <button id="btn_saveTimeScheEnd" class="btn5_letter6" style="left:714px; top:444px; width:86px; height:19px; ">
  638. <caption>일정마감저장</caption>
  639. <script type="javascript" ev:event="DOMActivate">
  640. <![CDATA[
  641. var rowCount = grd_ordscheend.rows - grd_ordscheend.fixedRows;
  642. if( rowCount > 0 ){
  643. var rows = grd_ordscheend.rows;
  644. var cnt = "0";
  645. for( var i = 2; i < rows; i++){
  646. if(grd_ordscheend.valueMatrix(i, grd_ordscheend.colRef("check")) == 'Y' ){
  647. //grd_ordscheend.addStatus(i, "delete");
  648. cnt = parseInt(cnt) + parseInt("1");
  649. }
  650. }
  651. if(cnt <= "0"){
  652. messageBox(" 저장할 항목이 선택되지 않았습니다. 확인 후 다시 시도해 주세요", "E999", "");
  653. return;
  654. }
  655. if( fcheckOrdScheEnd(rowCount) ){
  656. //model.copyNode("/root/send/updatedata/datalist", "/root/main/ordsche/endsche");
  657. //model.copyNode("/root/send/updatedata/datalist", grd_ordscheend.getUpdateData());
  658. if(messageBox("일정마감정보를 저장/수정 하시겠습니까?", "Q999") != 6) return;
  659. model.setValue("/root/send/updatedata/datalist", grd_ordscheend.getUpdateData());
  660. // return;
  661. if(submit("TXPMB00805")){
  662. //일별진료일정 재조회
  663. fGetDayOrdShce();
  664. //시간별진료일정 삭제
  665. model.removeNodeset("/root/main/ordsche/timeordsche/timeordschelist");
  666. //달력정보를 조회한다.
  667. fGetCalendarData();
  668. }
  669. model.refresh();
  670. }
  671. }else{
  672. messageBox("일정마감/수정할 내역이 없습니다.", "E999", "");
  673. }
  674. ]]>
  675. </script>
  676. </button>
  677. <button id="button1" class="btn2_letter4" style="left:580px; top:444px; width:64px; height:19px; ">
  678. <caption>일정달력</caption>
  679. <script type="javascript" ev:event="DOMActivate">
  680. <![CDATA[
  681. //마감취소 버튼을 비활성화 시킨다.
  682. btn_endCancel.disabled = true;
  683. if( model.getValue("/root/hidden/togglecalendar").toUpperCase() == 'F' ){
  684. //일정달력을 보이게 한다.
  685. import1.visible = true;
  686. btn_close.visible = true;
  687. //마감취소 버튼을 비활성화 시킨다.
  688. //btn_endCancel.disabled = true;
  689. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  690. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  691. //달력 visible 상태값을 저장한다.
  692. model.setValue("/root/hidden/togglecalendar", 'T');
  693. //일정마감 정보를 조회한 것이 아니란 상택값 저장
  694. model.setValue("/root/hidden/checksearch", 'F');
  695. //달력정보를 조회한다.
  696. fGetCalendarData();
  697. }else{
  698. //일정달력을 보이지 않게한다.
  699. import1.visible = false;
  700. btn_close.visible = false;
  701. //마감취소 버튼을 활성화 시킨다.
  702. //btn_endCancel.disabled = false;
  703. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  704. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  705. //달력 visible 상태값을 저장한다.
  706. model.setValue("/root/hidden/togglecalendar", 'F');
  707. model.refresh();
  708. }
  709. ]]>
  710. </script>
  711. </button>
  712. <datagrid id="grd_ordscheend" nodeset="/root/main/ordsche/endsche/endschelist" caption="^선택^마감시작일^마감시작시간^마감종료일^마감종료시간^마감사유^단위시간별마감^단위시간별마감^단위시간별마감^진료과^진료의사|^선택^마감시작일^마감시작시간^마감종료일^마감종료시간^마감사유^오전^오후^야간^진료과^진료의사" colsep="^" colwidth="19, 35, 88, 80, 85, 80, 130, 35, 35, 35, 50, 55" dataheight="25" defaultrows="3" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:121px; top:469px; width:679px; height:271px; ">
  713. <col class="update_n" ref="update"/>
  714. <col checkvalue="Y,N" ref="check" type="checkbox"/>
  715. <col ref="endfromdd" type="inputdate" format="yyyy-mm-dd"/>
  716. <col ref="endfromtm" type="input" format="hh:nn"/>
  717. <col ref="endtodd" type="inputdate"/>
  718. <col ref="endtotm" type="input" format="hh:nn"/>
  719. <col ref="ordendresn" type="combo">
  720. <choices>
  721. <itemset nodeset="/root/init/P0037list/P0037[detldesc='T']">
  722. <label ref="cdnm"/>
  723. <value ref="cdid"/>
  724. </itemset>
  725. </choices>
  726. </col>
  727. <col checkvalue="1,0" ref="am" type="checkbox"/>
  728. <col checkvalue="1,0" ref="pm" type="checkbox"/>
  729. <col checkvalue="1,0" ref="nigt" type="checkbox"/>
  730. <col ref="orddeptcd" visibility="hidden"/>
  731. <col ref="orddrid" visibility="hidden"/>
  732. <script type="javascript" ev:event="onentercell">
  733. <![CDATA[
  734. // col@type = "input" 일 경우 onentercell시점에 EditMode 상태 만들기
  735. if (grd_ordscheend.colType(grd_ordscheend.col) == "input") {
  736. grd_ordscheend.editCell();
  737. }
  738. ]]>
  739. </script>
  740. <script type="javascript" ev:event="xforms-value-changed">
  741. <![CDATA[
  742. /*
  743. - 0 : new
  744. - 1 : insert
  745. - 2 : update
  746. - 3 : insert & new
  747. - 4 : delete
  748. */
  749. ]]>
  750. </script>
  751. </datagrid>
  752. <button id="btn_endsearch" class="btn2_letter2" style="left:479px; top:444px; width:42px; height:19px; ">
  753. <caption>조회</caption>
  754. <script type="javascript" ev:event="DOMActivate">
  755. <![CDATA[
  756. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  757. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  758. var cur_row = grd_orddr.row;
  759. // //var grdcnt = getNodesetCount("/root/main/ordsche/endsche/endschelist");
  760. // var grdcnt = grd_ordscheend.rows;
  761. //model.makeNode("/root/main/ordsche/endsche");
  762. if( cur_row > 0){
  763. model.removeNodeset("/root/send/updatedata/datalist");
  764. model.makeNode("/root/send/updatedata/datalist");
  765. model.setValue("/root/send/orddrid", grd_orddr.valueMatrix(cur_row, 3));
  766. model.setValue("/root/send/orddeptcd", grd_orddr.valueMatrix(cur_row, 2));
  767. if( submit("TRPMB00806") ){
  768. model.setValue("/root/hidden/checksearch", 'T');
  769. //마감취소 버튼을 활성화 시킨다.
  770. btn_endCancel.disabled = false;
  771. // copyNodeType("/root/main/ordsche/endsche","/root/main/t_ordsche/t_endsche", "after");
  772. }
  773. //copyNodeType("/root/main/ordsche/endsche["+ grdcnt +"]","/root/main/t_ordsche/t_endsche", "after");
  774. }else{
  775. messageBox("진료과코드와 진료의사 ID를 얻어 올 수", "I004");
  776. }
  777. //grd_ordscheend.rebuild();
  778. model.refresh();
  779. ]]>
  780. </script>
  781. </button>
  782. <caption id="caption21" visibility="hidden" style="left:227px; top:444px; width:59px; height:19px; vertical-align:middle; ">마감일자 :</caption>
  783. <caption id="caption24" style="left:375px; top:444px; width:15px; height:19px; text-align:center; ">~</caption>
  784. <input id="input1" ref="/root/send/endtodd" class="input_default" inputtype="date" style="left:391px; top:444px; width:85px; height:19px; "/>
  785. <input id="input2" ref="/root/send/endfromdd" class="input_default" inputtype="date" style="left:289px; top:444px; width:85px; height:19px; "/>
  786. <button id="btn_endCancel" class="btn5_letter4" disabled="true" style="left:647px; top:444px; width:64px; height:19px; ">
  787. <caption>마감취소</caption>
  788. <script type="javascript" ev:event="DOMActivate">
  789. <![CDATA[
  790. var rows = grd_ordscheend.rows;
  791. var cur_row = grd_ordscheend.row+1;
  792. var cnt = "0";
  793. for( var i = 2; i < rows; i++){
  794. if(grd_ordscheend.valueMatrix(i, grd_ordscheend.colRef("check")) == 'Y' ){
  795. grd_ordscheend.addStatus(i, "delete");
  796. cnt = parseInt(cnt) + parseInt("1");
  797. }
  798. }
  799. if(cnt <= "0"){
  800. messageBox("마감취소할 항목이 선택되지 않았습니다. 확인 후 다시 시도해 주세요", "E999", "");
  801. return;
  802. }
  803. if(messageBox("일정마감정보를 삭제 하시겠습니까?", "Q999") != 6) return;
  804. model.setValue("/root/send/updatedata/datalist", grd_ordscheend.getUpdateData());
  805. if(submit("TXPMB00805")){
  806. //일별진료일정 재조회
  807. fGetDayOrdShce();
  808. //달력 재조회
  809. fGetCalendarData();
  810. //시간별진료일정 삭제
  811. model.removeNodeset("/root/main/ordsche/timeordsche/timeordschelist");
  812. //일정마감정보 삭제
  813. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  814. btn_endCancel.disabled = true;
  815. }
  816. /*
  817. var rowCount = grd_ordscheend.rows - grd_ordscheend.fixedRows;
  818. if( rowCount > 0 ){
  819. var currow = grd_ordscheend.row - 1;
  820. if( currow > 0 ){
  821. if(messageBox("선택하신 마감내역을 취소 하시겠습니까?", "Q999") != 6) return;
  822. model.copyNode("/root/send/updatedata/datalist", "/root/main/ordsche/endsche[" + currow + "]");
  823. model.makeValue("/root/send/updatedata/datalist/endschelist/flag", "D");
  824. if(submit("TXPMB00805")){
  825. //일별진료일정 재조회
  826. fGetDayOrdShce();
  827. //시간별진료일정 삭제
  828. model.removeNodeset("/root/main/ordsche/timeordsche/timeordschelist");
  829. //일정마감정보 삭제
  830. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  831. }
  832. model.refresh();
  833. }else{
  834. messageBox("마감취소할 내역을 선택하세요!", "E999", "");
  835. return false;
  836. }
  837. }
  838. */
  839. ]]>
  840. </script>
  841. </button>
  842. <button id="button3" class="btn2_letter3" style="left:524px; top:444px; width:53px; height:19px; ">
  843. <caption>행삭제</caption>
  844. <script type="javascript" ev:event="DOMActivate">
  845. <![CDATA[
  846. var cur_row = grd_ordscheend.row;
  847. //alert( grd_ordscheend.rows);
  848. if( cur_row > 0 ){
  849. grd_ordscheend.deleteItem(cur_row);
  850. }
  851. //alert( grd_ordscheend.rows);
  852. ]]>
  853. </script>
  854. </button>
  855. <button id="btn_close" class="btn4_letter2" visibility="hidden" style="left:1136px; top:283px; width:56px; height:22px; ">
  856. <caption>닫기</caption>
  857. <script type="javascript" ev:event="DOMActivate">
  858. <![CDATA[
  859. //일정달력을 보이지 않게한다.
  860. import1.visible = false;
  861. btn_close.visible = false;
  862. //마감취소 버튼을 활성화 시킨다.
  863. //btn_endCancel.disabled = false;
  864. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  865. model.removeNodeset("/root/main/ordsche/endsche/endschelist");
  866. //달력 visible 상태값을 저장한다.
  867. model.setValue("/root/hidden/togglecalendar", 'F');
  868. model.refresh();
  869. ]]>
  870. </script>
  871. </button>
  872. </group>
  873. <group id="group4" scroll="auto" style="left:0px; top:757px; width:1195px; height:27px; ">
  874. <button id="btn_saveTimeScheEnd7" class="btn3_letter6" style="left:0px; top:5px; width:104px; height:22px; ">
  875. <caption>휴진일정등록</caption>
  876. <script type="javascript" ev:event="DOMActivate">
  877. <![CDATA[
  878. open("SMPMB02500", "1", "50", "50", "SMPMB02500", "", "");
  879. ]]>
  880. </script>
  881. </button>
  882. <button id="btn_copyrow5" class="btn4_letter3" style="left:1126px; top:5px; width:68px; height:22px; ">
  883. <caption>초기화</caption>
  884. <script type="javascript" ev:event="DOMActivate">
  885. <![CDATA[
  886. fInitialize();
  887. ]]>
  888. </script>
  889. </button>
  890. <button id="btn_saveTimeScheEnd0" class="btn3_letter6" style="left:106px; top:5px; width:128px; height:22px; ">
  891. <caption>진료일정등록</caption>
  892. <script type="javascript" ev:event="DOMActivate">
  893. <![CDATA[
  894. open("SMPMB00700", "1", "50", "50", "SMPMB00700", "", "");
  895. ]]>
  896. </script>
  897. </button>
  898. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  899. </group>
  900. </xhtml:body>
  901. </xhtml:html>