SMPMB00800_의사진료일정상세내역관리.xfdl 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPMB00800" position="absolute 0 0 1199 794" titletext="진료일정 상세조회(부분마감)" oninit="SMPMB00800_oninit" onload="SMPMB00800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="진료일정 상세조회(부분마감)" class="tit_1" position="absolute 0 0 260 24"/>
  8. <Grid id="grd_timesche" class="datagrid1" taborder="0" binddataset="ds_main_ordsche_timeordsche_timeordschelist" useinputpanel="false" position="absolute 805 96 1193 761" anchor="top right bottom">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="23" band="left"/>
  13. <Column size="50"/>
  14. <Column size="79"/>
  15. <Column size="80"/>
  16. <Column size="80"/>
  17. <Column size="0"/>
  18. <Column size="0"/>
  19. <Column size="70"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="24" band="head"/>
  23. <Row size="48"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell/>
  27. <Cell col="1" text="시간"/>
  28. <Cell col="2" text="등록번호"/>
  29. <Cell col="3" text="환자명"/>
  30. <Cell col="4" text="예약구분"/>
  31. <Cell col="5" text="최초접수시간"/>
  32. <Cell col="6" text="일정생성구분"/>
  33. <Cell col="7" text="초재진구분"/>
  34. </Band>
  35. <Band id="body">
  36. <Cell celltype="head" expr="currow+1"/>
  37. <Cell col="1" text="bind:ordtm" mask="##:##" maskchar=" "/>
  38. <Cell col="2" text="bind:pid"/>
  39. <Cell col="3" text="bind:hngnm"/>
  40. <Cell col="4" displaytype="combo" style="padding:0 0 0 3;" text="bind:rsrvflag" combodataset="ds_init_P0341list_P0341" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  41. <Cell col="5" text="bind:fstacptdt" mask="yyyy-mm-dd hh:nn:ss"/>
  42. <Cell col="6" text="bind:reglscheflag"/>
  43. <Cell col="7" displaytype="combo" edittype="combo" style="padding:0 0 0 3;" text="bind:fsexamflag" combodataset="ds_init_P0021list_P0021" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="20" enable="true"/>
  44. </Band>
  45. </Format>
  46. </Formats>
  47. </Grid>
  48. <Div id="import1" taborder="1" url="pam_pambaseinfomngtxp::SPPMB01001_병원달력.xfdl" visible="false" position="absolute 808 288 1196 759" anchor="top right" style="background:white;">
  49. <Layouts>
  50. <Layout width="388" height="471"/>
  51. <Layout/>
  52. </Layouts>
  53. </Div>
  54. <Div id="group2" anchor="left top right" taborder="2" class="div_SA" position="absolute 0 24 1195 64">
  55. <Layouts>
  56. <Layout>
  57. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 1114 10 1170 32" onclick="group2_btn_search_onclick" anchor="top right"/>
  58. <Shape id="line1" linetype="vertical" class="line_4" position="absolute 1095 10 1101 32" anchor="top right"/>
  59. <Static id="caption1" text="진료일자 :" class="search_name" position="absolute 402 12 488 29"/>
  60. <Calendar id="ipt_todd" taborder="2" class="input_search" position="absolute 618 11 718 30"/>
  61. <Calendar id="ipt_fromdd" taborder="3" class="input_search" position="absolute 497 11 597 30"/>
  62. <Static id="caption3" text="진료과 :" class="search_name" position="absolute 17 12 90 29"/>
  63. <Combo id="cmb_orddept" taborder="4" innerdataset="@ds_init_orddeptcd_orddeptcdlist" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 94 11 294 30" onitemchanged="group2_cmb_orddept_onitemchanged"/>
  64. <Static id="caption10" text="~" position="absolute 600 11 615 30"/>
  65. </Layout>
  66. </Layouts>
  67. </Div>
  68. <Shape id="line5" class="line_10" position="absolute 121 215 800 221" anchor="left top right"/>
  69. <Static id="caption8" text="일별진료일정" class="tit_2" position="absolute 122 199 300 220"/>
  70. <Static id="caption2" text="일별예약현황" class="tit_2" position="absolute 121 75 242 96"/>
  71. <Shape id="line3" class="line_10" position="absolute 121 91 800 97" anchor="left top right"/>
  72. <Shape id="line12" class="line_10" position="absolute 0 91 115 97"/>
  73. <Static id="caption5" text="진료의사" class="tit_2" position="absolute 0 75 111 96"/>
  74. <Grid id="grd_orddr" class="datagrid2" taborder="3" binddataset="ds_init_orddrid_orddridlist" useinputpanel="false" position="absolute 0 96 115 761" autoenter="select" autofittype="col" cellsizingtype="col" oncellclick="grd_orddr_oncellclick" anchor="left top bottom">
  75. <Formats>
  76. <Format id="default">
  77. <Columns>
  78. <Column size="81"/>
  79. <Column size="31"/>
  80. <Column size="0"/>
  81. <Column size="0"/>
  82. </Columns>
  83. <Rows>
  84. <Row size="38" band="head"/>
  85. <Row size="24"/>
  86. </Rows>
  87. <Band id="head">
  88. <Cell text="의사명"/>
  89. <Cell col="1" text="선택진료" wordwrap="word"/>
  90. <Cell col="2" text="진료과코드"/>
  91. <Cell col="3" text="진료의ID"/>
  92. </Band>
  93. <Band id="body">
  94. <Cell text="bind:nm"/>
  95. <Cell col="1" text="bind:sp"/>
  96. <Cell col="2" text="bind:dp"/>
  97. <Cell col="3" text="bind:cd"/>
  98. </Band>
  99. </Format>
  100. </Formats>
  101. </Grid>
  102. <Grid id="grd_rsrv" taborder="4" binddataset="ds_main_ordsche_timeordsche_dayrsrvstatlist" useinputpanel="false" position="absolute 121 96 800 190" autoenter="select" autofittype="col" cellsizingtype="col" anchor="left top right">
  103. <Formats>
  104. <Format id="default">
  105. <Columns>
  106. <Column size="35"/>
  107. <Column size="35"/>
  108. <Column size="43"/>
  109. <Column size="35"/>
  110. <Column size="42"/>
  111. <Column size="35"/>
  112. <Column size="35"/>
  113. <Column size="35"/>
  114. <Column size="43"/>
  115. <Column size="35"/>
  116. <Column size="42"/>
  117. <Column size="35"/>
  118. <Column size="35"/>
  119. <Column size="35"/>
  120. <Column size="45"/>
  121. <Column size="35"/>
  122. <Column size="42"/>
  123. <Column size="35"/>
  124. </Columns>
  125. <Rows>
  126. <Row size="24" band="head"/>
  127. <Row size="24" band="head"/>
  128. <Row size="24" band="head"/>
  129. <Row size="24"/>
  130. </Rows>
  131. <Band id="head">
  132. <Cell colspan="6" text="초진" taborder="undefined"/>
  133. <Cell col="6" colspan="6" text="재진" taborder="undefined"/>
  134. <Cell col="12" colspan="6" text="총정원" taborder="undefined"/>
  135. <Cell row="1" colspan="5" text="예약" taborder="undefined"/>
  136. <Cell row="1" col="5" text="당일"/>
  137. <Cell row="1" col="6" colspan="5" text="예약" taborder="undefined"/>
  138. <Cell row="1" col="11" text="당일"/>
  139. <Cell row="1" col="12" colspan="5" text="예약" taborder="undefined"/>
  140. <Cell row="1" col="17" text="당일"/>
  141. <Cell row="2" text="진료"/>
  142. <Cell row="2" col="1" text="전화"/>
  143. <Cell row="2" col="2" text="인터넷"/>
  144. <Cell row="2" col="3" text="협력"/>
  145. <Cell row="2" col="4" text="총예약"/>
  146. <Cell row="2" col="5" text="총계"/>
  147. <Cell row="2" col="6" text="진료"/>
  148. <Cell row="2" col="7" text="전화"/>
  149. <Cell row="2" col="8" text="인터넷"/>
  150. <Cell row="2" col="9" text="협력"/>
  151. <Cell row="2" col="10" text="총예약"/>
  152. <Cell row="2" col="11" text="총계"/>
  153. <Cell row="2" col="12" text="진료"/>
  154. <Cell row="2" col="13" text="전화"/>
  155. <Cell row="2" col="14" text="인터넷"/>
  156. <Cell row="2" col="15" text="협력"/>
  157. <Cell row="2" col="16" text="총예약"/>
  158. <Cell row="2" col="17" text="총계"/>
  159. </Band>
  160. <Band id="body">
  161. <Cell text="bind:fstdeptrsrvcnt"/>
  162. <Cell col="1" text="bind:fsttelrsrvcnt"/>
  163. <Cell col="2" text="bind:fstinetrsrvcnt"/>
  164. <Cell col="3" text="bind:fstrqstrsrvcnt"/>
  165. <Cell col="4" text="bind:fsttotalrsrvcnt"/>
  166. <Cell col="5" text="bind:fsttdayacptcnt"/>
  167. <Cell col="6" text="bind:redeptrsrvcnt"/>
  168. <Cell col="7" text="bind:retelrsrvcnt"/>
  169. <Cell col="8" text="bind:reinetrsrvcnt"/>
  170. <Cell col="9" text="bind:rerqstrsrvcnt"/>
  171. <Cell col="10" text="bind:retotalrsrvcnt"/>
  172. <Cell col="11" text="bind:retdayacptcnt"/>
  173. <Cell col="12" text="bind:totaldeptrsrvcnt"/>
  174. <Cell col="13" text="bind:totaltelrsrvcnt"/>
  175. <Cell col="14" text="bind:totalinetrsrvcnt"/>
  176. <Cell col="15" text="bind:totalrqstrsrvcnt"/>
  177. <Cell col="16" text="bind:totaltotalrsrvcnt"/>
  178. <Cell col="17" text="bind:totaltdayacptcnt"/>
  179. </Band>
  180. </Format>
  181. </Formats>
  182. </Grid>
  183. <Static id="caption4" text="외래등록내역" class="tit_2" position="absolute 805 75 922 97" anchor="top right"/>
  184. <Shape id="line6" class="line_10" position="absolute 805 91 1193 97" anchor="top right"/>
  185. <Shape id="line11" class="line_10" position="absolute 121 485 800 491" anchor="left top right" onclick="line11_onclick"/>
  186. <Static id="caption14" text="진료일정 부분마감" class="tit_2" position="absolute 122 469 253 490"/>
  187. <Grid id="grd_daysche" taborder="5" binddataset="ds_main_ordsche_dayordsche_dayordschelist" useinputpanel="false" position="absolute 121 220 800 461" anchor="left top right" oncellclick="grd_daysche_oncellclick">
  188. <Formats>
  189. <Format id="default">
  190. <Columns>
  191. <Column size="23" band="left"/>
  192. <Column size="70"/>
  193. <Column size="45"/>
  194. <Column size="60"/>
  195. <Column size="90"/>
  196. <Column size="35"/>
  197. <Column size="30"/>
  198. <Column size="30"/>
  199. <Column size="30"/>
  200. <Column size="30"/>
  201. <Column size="30"/>
  202. <Column size="30"/>
  203. <Column size="30"/>
  204. <Column size="30"/>
  205. <Column size="30"/>
  206. <Column size="30"/>
  207. <Column size="35"/>
  208. <Column size="130"/>
  209. <Column size="154"/>
  210. <Column size="140"/>
  211. </Columns>
  212. <Rows>
  213. <Row size="24" band="head"/>
  214. <Row size="24" band="head"/>
  215. <Row size="24"/>
  216. </Rows>
  217. <Band id="head">
  218. <Cell rowspan="2" taborder="undefined"/>
  219. <Cell col="1" rowspan="2" text="진료일자" taborder="undefined"/>
  220. <Cell col="2" rowspan="2" text="요일" taborder="undefined"/>
  221. <Cell col="3" rowspan="2" text="센터" taborder="undefined"/>
  222. <Cell col="4" rowspan="2" text="하위부서" taborder="undefined"/>
  223. <Cell col="5" rowspan="2" text="정규" taborder="undefined"/>
  224. <Cell col="6" colspan="2" text="오전" taborder="undefined"/>
  225. <Cell col="8" colspan="2" text="오후" taborder="undefined"/>
  226. <Cell col="10" colspan="2" text="총정원" taborder="undefined"/>
  227. <Cell col="12" rowspan="2" text="정원&#10;합계" taborder="undefined"/>
  228. <Cell col="13" colspan="2" text="예약" taborder="undefined"/>
  229. <Cell col="15" rowspan="2" text="예약합계" wordwrap="word" taborder="undefined"/>
  230. <Cell col="16" rowspan="2" text="마감&#10;구분" taborder="undefined"/>
  231. <Cell col="17" rowspan="2" text="마감사유" taborder="undefined"/>
  232. <Cell col="18" rowspan="2" text="특이사항(요일별클리닉)" taborder="undefined"/>
  233. <Cell col="19" rowspan="2" text="요일별 비고" taborder="undefined"/>
  234. <Cell row="1" col="6" text="초진"/>
  235. <Cell row="1" col="7" text="재진"/>
  236. <Cell row="1" col="8" text="초진"/>
  237. <Cell row="1" col="9" text="재진"/>
  238. <Cell row="1" col="10" text="오전"/>
  239. <Cell row="1" col="11" text="오후"/>
  240. <Cell row="1" col="13" text="초진"/>
  241. <Cell row="1" col="14" text="재진"/>
  242. </Band>
  243. <Band id="body">
  244. <Cell celltype="head" expr="currow+1"/>
  245. <Cell col="1" displaytype="date" text="bind:orddd" calendardisplaynulltype="nulltext"/>
  246. <Cell col="2" displaytype="combo" style="align:center middle;" text="bind:dwcd" combodataset="ds_init_P0033list_P0033" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  247. <Cell col="3" displaytype="combo" text="bind:centcd" combodataset="ds_init_centcd_centcdlist" combocodecol="cd" combodatacol="nm" enable="false"/>
  248. <Cell col="4" displaytype="combo" text="bind:subdeptcd" combodataset="ds_init_subdeptcd_subdeptcdlist" combocodecol="cd" combodatacol="nm" enable="false"/>
  249. <Cell col="5" displaytype="combo" style="align:center middle;" text="bind:reglscheflag" combodataset="ds_init_P0355list_P0355" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  250. <Cell col="6" text="bind:fstamcap"/>
  251. <Cell col="7" text="bind:reamcap"/>
  252. <Cell col="8" text="bind:fstpmcap"/>
  253. <Cell col="9" text="bind:repmcap"/>
  254. <Cell col="10" text="bind:totamcap"/>
  255. <Cell col="11" text="bind:totpmcap"/>
  256. <Cell col="12" text="bind:totcap"/>
  257. <Cell col="13" text="bind:otptfstrsrvcnt"/>
  258. <Cell col="14" text="bind:otptrersrvcnt"/>
  259. <Cell col="15" text="bind:totrsrvcnt"/>
  260. <Cell col="16" displaytype="combo" text="bind:holiflag" combodataset="ds_cmb_holiflag" combocodecol="value" combodatacol="label" enable="false"/>
  261. <Cell col="17" displaytype="combo" text="bind:ordendresn" combodataset="ds_init_P0037list_P0037" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  262. <Cell col="18" text="bind:clincnm"/>
  263. <Cell col="19" text="bind:remfact"/>
  264. </Band>
  265. </Format>
  266. </Formats>
  267. </Grid>
  268. <Button id="btn_saveTimeScheEnd" taborder="6" text="일정마감저장" class="btn5" position="absolute 714 466 800 485" anchor="top right" onclick="btn_saveTimeScheEnd_onclick"/>
  269. <Button id="button1" taborder="7" text="일정달력" class="btn2" position="absolute 580 466 644 485" anchor="top right" onclick="button1_onclick"/>
  270. <Grid id="grd_ordscheend" taborder="8" binddataset="ds_main_ordsche_endsche_endschelist" useinputpanel="false" position="absolute 121 490 800 761" anchor="all" cellclickbound="cell" autoenter="select" cellsizingtype="col">
  271. <Formats>
  272. <Format id="default">
  273. <Columns>
  274. <Column size="25" band="left"/>
  275. <Column size="19"/>
  276. <Column size="35"/>
  277. <Column size="88"/>
  278. <Column size="80"/>
  279. <Column size="85"/>
  280. <Column size="80"/>
  281. <Column size="130"/>
  282. <Column size="35"/>
  283. <Column size="35"/>
  284. <Column size="35"/>
  285. <Column size="0"/>
  286. <Column size="0"/>
  287. </Columns>
  288. <Rows>
  289. <Row size="24" band="head"/>
  290. <Row size="24" band="head"/>
  291. <Row size="24"/>
  292. </Rows>
  293. <Band id="head">
  294. <Cell rowspan="2" taborder="undefined">
  295. <Cell/>
  296. <Cell row="1"/>
  297. </Cell>
  298. <Cell col="1" rowspan="2" taborder="undefined"/>
  299. <Cell col="2" rowspan="2" text="선택" taborder="undefined"/>
  300. <Cell col="3" rowspan="2" text="마감시작일" taborder="undefined"/>
  301. <Cell col="4" rowspan="2" text="마감시작시간" taborder="undefined"/>
  302. <Cell col="5" rowspan="2" text="마감종료일" taborder="undefined"/>
  303. <Cell col="6" rowspan="2" text="마감종료시간" taborder="undefined"/>
  304. <Cell col="7" rowspan="2" text="마감사유" taborder="undefined"/>
  305. <Cell col="8" colspan="3" text="단위시간별마감" taborder="undefined"/>
  306. <Cell col="11" text="진료과"/>
  307. <Cell col="12" text="진료의사"/>
  308. <Cell row="1" col="8" text="오전"/>
  309. <Cell row="1" col="9" text="오후"/>
  310. <Cell row="1" col="10" text="야간"/>
  311. <Cell row="1" col="11" text="진료과"/>
  312. <Cell row="1" col="12" text="진료의사"/>
  313. </Band>
  314. <Band id="body">
  315. <Cell celltype="head" expr="currow+1"/>
  316. <Cell col="1" displaytype="image"/>
  317. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:check == 'Y' ? 1 : 0"/>
  318. <Cell col="3" displaytype="date" edittype="date" text="bind:endfromdd" calendardisplaynulltype="nulltext"/>
  319. <Cell col="4" displaytype="text" edittype="text" text="bind:endfromtm" mask="##:##" maskchar=" "/>
  320. <Cell col="5" displaytype="date" edittype="date" text="bind:endtodd" calendardisplaynulltype="nulltext"/>
  321. <Cell col="6" displaytype="text" edittype="text" text="bind:endtotm" mask="##:##" maskchar=" "/>
  322. <Cell col="7" displaytype="combo" edittype="combo" style="padding:0 0 0 3;" text="bind:ordendresn" combodataset="ds_filter_P0037list_P0037" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="20"/>
  323. <Cell col="8" displaytype="checkbox" edittype="checkbox" text="bind:am" expr="expr:am == '1' ? 1 : 0"/>
  324. <Cell col="9" displaytype="checkbox" edittype="checkbox" text="bind:pm" expr="expr:pm == '1' ? 1 : 0"/>
  325. <Cell col="10" displaytype="checkbox" edittype="checkbox" text="bind:nigt" expr="expr:nigt == '1' ? 1 : 0"/>
  326. <Cell col="11" text="bind:orddeptcd"/>
  327. <Cell col="12" text="bind:orddrid"/>
  328. </Band>
  329. </Format>
  330. </Formats>
  331. </Grid>
  332. <Button id="btn_endsearch" taborder="9" text="조회" class="btn2" position="absolute 479 466 521 485" anchor="top right" onclick="btn_endsearch_onclick"/>
  333. <Static id="caption21" text="마감일자 :" visible="false" position="absolute 227 465 286 484"/>
  334. <Static id="caption24" text="~" position="absolute 377 466 392 485" anchor="top right"/>
  335. <Calendar id="input1" taborder="11" class="input_default" position="absolute 391 466 476 485" anchor="top right" autoselect="true"/>
  336. <Calendar id="input2" taborder="10" class="input_default" position="absolute 289 466 374 485" anchor="top right" autoselect="true" autoskip="true"/>
  337. <Button id="btn_endCancel" taborder="12" text="마감취소" class="btn5" enable="false" position="absolute 647 466 711 485" anchor="top right" onclick="btn_endCancel_onclick"/>
  338. <Button id="button3" taborder="13" text="행삭제" class="btn2" position="absolute 524 466 577 485" anchor="top right" onclick="button3_onclick"/>
  339. <Button id="btn_close" taborder="14" text="닫기" class="btn4" visible="false" position="absolute 1125 297 1181 319" anchor="top right" onclick="btn_close_onclick"/>
  340. <Shape id="line32" class="line_6" position="absolute 0 762 1195 768" anchor="left right bottom"/>
  341. <Button id="btn_copyrow5" taborder="15" text="초기화" class="btn4" position="absolute 1127 767 1195 789" anchor="right bottom" onclick="btn_copyrow5_onclick"/>
  342. <Button id="btn_saveTimeScheEnd0" taborder="16" text="진료일정등록" class="btn3" position="absolute 106 767 218 789" anchor="left bottom" onclick="btn_saveTimeScheEnd0_onclick"/>
  343. <Button id="btn_saveTimeScheEnd7" taborder="17" text="휴진일정등록" class="btn3" position="absolute 0 767 104 789" anchor="left bottom" onclick="btn_saveTimeScheEnd7_onclick"/>
  344. </Layout>
  345. </Layouts>
  346. <Objects>
  347. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  348. <ColumnInfo>
  349. <Column id="orddeptcd" type="STRING" size="256"/>
  350. <Column id="srchfromdd" type="STRING" size="256"/>
  351. <Column id="srchtodd" type="STRING" size="256"/>
  352. <Column id="caloption" type="STRING" size="256"/>
  353. </ColumnInfo>
  354. <Rows>
  355. <Row/>
  356. </Rows>
  357. </Dataset>
  358. <Dataset id="ds_init_orddeptcd_orddeptcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  359. <Dataset id="ds_main_ordsche_timeordsche_dayrsrvstatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  360. <ColumnInfo>
  361. <Column id="fstdeptrsrvcnt" type="INT" size="256" sumtext="초진진료예약인원"/>
  362. <Column id="fsttelrsrvcnt" type="INT" size="256" sumtext="초진콜센터예약인원"/>
  363. <Column id="fstinetrsrvcnt" type="INT" size="256" sumtext="초진인터넷예약인원"/>
  364. <Column id="fstrqstrsrvcnt" type="INT" size="256" sumtext="초진의료협력예약인원"/>
  365. <Column id="fsttotalrsrvcnt" type="INT" size="256" sumtext="초진예약총인원"/>
  366. <Column id="fsttdayacptcnt" type="INT" size="256" sumtext="초진당일예약총인원"/>
  367. <Column id="redeptrsrvcnt" type="INT" size="256" sumtext="재진진료예약인원"/>
  368. <Column id="retelrsrvcnt" type="INT" size="256" sumtext="재진콜센터예약인원"/>
  369. <Column id="reinetrsrvcnt" type="INT" size="256" sumtext="재진인터넷예약인원"/>
  370. <Column id="rerqstrsrvcnt" type="INT" size="256" sumtext="재진의료협력예약인원"/>
  371. <Column id="retotalrsrvcnt" type="INT" size="256" sumtext="재진예약총인원"/>
  372. <Column id="retdayacptcnt" type="INT" size="256" sumtext="재진당일예약총인원"/>
  373. <Column id="totaldeptrsrvcnt" type="INT" size="256" sumtext="총진료예약인원"/>
  374. <Column id="totaltelrsrvcnt" type="INT" size="256" sumtext="총콜센터예약인원"/>
  375. <Column id="totalinetrsrvcnt" type="INT" size="256" sumtext="총인터넷예약인원"/>
  376. <Column id="totalrqstrsrvcnt" type="INT" size="256" sumtext="총의료협력예약인원"/>
  377. <Column id="totaltotalrsrvcnt" type="INT" size="256" sumtext="총예약총인원"/>
  378. <Column id="totaltdayacptcnt" type="INT" size="256" sumtext="총당일예약총인원"/>
  379. </ColumnInfo>
  380. </Dataset>
  381. <Dataset id="ds_main_ordsche_dayordsche_dayordschelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  382. <ColumnInfo>
  383. <!-- <column id="orddeptcd" type="string" desc="진료과코드" ref="dayordschelist.orddeptcd"/>
  384. <column id="orddrid" type="string" desc="진료의사코드" ref="dayordschelist.orddrid"/>
  385. <column id="orddd" type="string" desc="진료일자" ref="dayordschelist.orddd"/>
  386. <column id="dwcd" type="string" desc="요일코드" ref="dayordschelist.dwcd"/>
  387. <column id="reglscheflag" type="string" desc="정규일정여부" ref="dayordschelist.reglscheflag"/>
  388. <column id="clincnm" type="string" desc="정규일정여부" ref="dayordschelist.clincnm"/>
  389. <column id="remfact" type="string" desc="정규일정여부" ref="dayordschelist.remfact"/>
  390. <column id="fstexamcap" type="int" desc="초진정원" ref="dayordschelist.fstexamcap"/>
  391. <column id="fstexamrsrvcnt" type="int" desc="초진예약인원" ref="dayordschelist.fstexamrsrvcnt"/>
  392. <column id="reexamcap" type="int" desc="재진정원" ref="dayordschelist.reexamcap"/>
  393. <column id="reexamrsrvcnt" type="int" desc="재진예약인원" ref="dayordschelist.reexamrsrvcnt"/>
  394. <column id="totalexamcap" type="int" desc="총정원" ref="dayordschelist.totalexamcap"/>
  395. <column id="totalexamrsrvcnt" type="int" desc="총예약" ref="dayordschelist.totalexamrsrvcnt"/>
  396. <column id="examcapsum" type="int" desc="총정원" ref="dayordschelist.examcapsum"/>
  397. <column id="examrsrvcntsum" type="int" desc="총예약" ref="dayordschelist.examrsrvcntsum"/>
  398. <column id="ordendresn" type="string" desc="시간대별 진료마감" ref="dayordschelist.ordendresn"/> -->
  399. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  400. <Column id="orddrid" type="STRING" size="256" sumtext="진료의사코드"/>
  401. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  402. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  403. <Column id="centcd" type="STRING" size="256" sumtext="센터코드"/>
  404. <Column id="subdeptcd" type="STRING" size="256" sumtext="하위부서코드"/>
  405. <Column id="reglscheflag" type="STRING" size="256" sumtext="정규일정여부"/>
  406. <Column id="fstamcap" type="STRING" size="256" sumtext="오전초진"/>
  407. <Column id="reamcap" type="INT" size="256" sumtext="오전재진"/>
  408. <Column id="fstpmcap" type="INT" size="256" sumtext="오후초진"/>
  409. <Column id="repmcap" type="INT" size="256" sumtext="오후재진"/>
  410. <Column id="totamcap" type="INT" size="256" sumtext="오전총정원"/>
  411. <Column id="totpmcap" type="INT" size="256" sumtext="오후총정원"/>
  412. <Column id="totcap" type="INT" size="256" sumtext="총인원"/>
  413. <Column id="otptfstrsrvcnt" type="INT" size="256" sumtext="외래초진예약"/>
  414. <Column id="otptrersrvcnt" type="INT" size="256" sumtext="외래재진예약"/>
  415. <Column id="totrsrvcnt" type="INT" size="256" sumtext="예약총합계"/>
  416. <Column id="ordendresn" type="STRING" size="256" sumtext="마감사유"/>
  417. <Column id="holiflag" type="STRING" size="256" sumtext="마감구분"/>
  418. <Column id="clincnm" type="STRING" size="256" sumtext="특이사항"/>
  419. <Column id="remfact" type="STRING" size="256" sumtext="특이사항"/>
  420. </ColumnInfo>
  421. </Dataset>
  422. <Dataset id="ds_main_ordsche_endsche_endschelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_ordsche_endsche_endschelist_oncolumnchanged">
  423. <ColumnInfo>
  424. <Column id="endfromdd" type="STRING" size="256" sumtext="마감시작일자"/>
  425. <Column id="endfromtm" type="STRING" size="256" sumtext="마감시작시간"/>
  426. <Column id="endtodd" type="STRING" size="256" sumtext="마감종료일자"/>
  427. <Column id="endtotm" type="STRING" size="256" sumtext="마감종료시간"/>
  428. <Column id="ordendresn" type="STRING" size="256" sumtext="마감사유"/>
  429. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  430. <Column id="orddrid" type="STRING" size="256" sumtext="진료의사ID"/>
  431. <Column id="am" type="STRING" size="256"/>
  432. <Column id="pm" type="STRING" size="256"/>
  433. <Column id="nigt" type="STRING" size="256"/>
  434. <Column id="check" type="STRING" size="256"/>
  435. </ColumnInfo>
  436. </Dataset>
  437. <Dataset id="ds_main_ordsche_timeordsche_timeordschelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  438. <ColumnInfo>
  439. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  440. <Column id="ordtm" type="STRING" size="256" sumtext="진료시간"/>
  441. <Column id="examcap" type="INT" size="256" sumtext="등록정원"/>
  442. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  443. <Column id="cretno" type="INT" size="256" sumtext="등록번호"/>
  444. <Column id="hngnm" type="STRING" size="256" sumtext="환자이름"/>
  445. <Column id="fsexamflag" type="STRING" size="256" sumtext="초재진구분"/>
  446. <Column id="rsrvflag" type="STRING" size="256" sumtext="예약구분"/>
  447. <Column id="fstacptdt" type="STRING" size="256" sumtext="최초접수시간"/>
  448. <Column id="reglscheflag" type="STRING" size="256" sumtext="일정생성구분"/>
  449. </ColumnInfo>
  450. </Dataset>
  451. <Dataset id="ds_init_P0033list_P0033" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  452. <Dataset id="ds_init_P0037list_P0037" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  453. <Dataset id="ds_cmb_holiflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  454. <item>
  455. <label>부분</label>
  456. <value>T</value>
  457. </item>
  458. <item>
  459. <label>휴진</label>
  460. <value>H</value>
  461. </item>
  462. <ColumnInfo>
  463. <Column id="label" type="STRING" size="256"/>
  464. <Column id="value" type="STRING" size="256"/>
  465. </ColumnInfo>
  466. <Rows>
  467. <Row>
  468. <Col id="label">부분</Col>
  469. <Col id="value">T</Col>
  470. </Row>
  471. <Row>
  472. <Col id="label">휴진</Col>
  473. <Col id="value">H</Col>
  474. </Row>
  475. </Rows>
  476. <item>
  477. <label>부분</label>
  478. <value>T</value>
  479. </item>
  480. <item>
  481. <label>휴진</label>
  482. <value>H</value>
  483. </item>
  484. </Dataset>
  485. <Dataset id="ds_init_P0355list_P0355" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  486. <Dataset id="ds_init_subdeptcd_subdeptcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  487. <Dataset id="ds_init_centcd_centcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  488. <Dataset id="ds_filter_P0037list_P0037" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  489. <Dataset id="ds_init_P0341list_P0341" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  490. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  491. <ColumnInfo>
  492. <Column id="checksearch" type="STRING" size="256"/>
  493. <Column id="togglecalendar" type="STRING" size="256"/>
  494. </ColumnInfo>
  495. <Rows>
  496. <Row/>
  497. </Rows>
  498. </Dataset>
  499. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  500. <ColumnInfo>
  501. <Column id="centcd" type="STRING" size="256"/>
  502. <Column id="orddeptcd" type="STRING" size="256"/>
  503. <Column id="subdeptcd" type="STRING" size="256"/>
  504. <Column id="orddrid" type="STRING" size="256"/>
  505. <Column id="orddd" type="STRING" size="256"/>
  506. <Column id="ordtm" type="STRING" size="256"/>
  507. <Column id="seqno" type="STRING" size="256"/>
  508. <Column id="srchfromdd" type="STRING" size="256"/>
  509. <Column id="srchtodd" type="STRING" size="256"/>
  510. <Column id="endfromdd" type="STRING" size="256"/>
  511. <Column id="endtodd" type="STRING" size="256"/>
  512. <Column id="unittimeend" type="STRING" size="256"/>
  513. <Column id="rsrvflag" type="STRING" size="256"/>
  514. </ColumnInfo>
  515. <Rows>
  516. <Row>
  517. <Col id="centcd"/>
  518. <Col id="orddeptcd"/>
  519. <Col id="subdeptcd"/>
  520. <Col id="orddrid"/>
  521. <Col id="orddd"/>
  522. <Col id="ordtm"/>
  523. <Col id="seqno"/>
  524. <Col id="srchfromdd"/>
  525. <Col id="srchtodd"/>
  526. <Col id="endfromdd"/>
  527. <Col id="endtodd"/>
  528. <Col id="unittimeend"/>
  529. <Col id="rsrvflag"/>
  530. </Row>
  531. </Rows>
  532. </Dataset>
  533. <Dataset id="ds_init_orddrid_orddridlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  534. <Dataset id="ds_init_P0021list_P0021" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  535. <Dataset id="ds_send_updatedata_datalist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  536. </Objects>
  537. <Bind>
  538. <BindItem id="item0" compid="group2.cmb_orddept" propid="value" datasetid="ds_main" columnid="orddeptcd"/>
  539. <BindItem id="item1" compid="group2.ipt_fromdd" propid="value" datasetid="ds_send" columnid="srchfromdd"/>
  540. <BindItem id="item2" compid="group2.ipt_todd" propid="value" datasetid="ds_send" columnid="srchtodd"/>
  541. <BindItem id="item3" compid="input2" propid="value" datasetid="ds_send" columnid="endfromdd"/>
  542. <BindItem id="item4" compid="input1" propid="value" datasetid="ds_send" columnid="endtodd"/>
  543. </Bind>
  544. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  545. * System Name :
  546. * Job Name :
  547. * Creator :
  548. * Make Date : 2016-05-24
  549. * Description :
  550. *---------------------------------------------------------------------------------------
  551. * Modify Date Modifier Modify Description
  552. *---------------------------------------------------------------------------------------
  553. * 2016-05-24 Live Converter TF->XP
  554. *
  555. *---------------------------------------------------------------------------------------
  556. ****************************************************************************************/
  557. include "com_commonxp::comm_main.xjs";
  558. include "pam_pamcomnxp::PAM.xjs";
  559. var arErrorCode = new HashArray();
  560. function SMPMB00800_oninit(obj:Form, e:InitEventInfo)
  561. {
  562. frmf_initForm(obj);
  563. }
  564. function SMPMB00800_onload(obj:Form, e:LoadEventInfo)
  565. {
  566. grdf_initGrid(grd_orddr);
  567. grdf_initGrid(grd_rsrv);
  568. grdf_initGrid(grd_daysche);
  569. grdf_initGrid(grd_ordscheend);
  570. grdf_setRowTypeIcon(grd_ordscheend, 1);
  571. grdf_initGrid(grd_timesche);
  572. var arrParam = [{dsNm: "ds_init_P0033list_P0033", cdGrpId: "P0033"}
  573. ,{dsNm: "ds_init_P0037list_P0037", cdGrpId: "P0037"}
  574. ,{dsNm: "ds_init_P0316list_P0316", cdGrpId: "P0316"}
  575. ,{dsNm: "ds_init_P0355list_P0355", cdGrpId: "P0355"}
  576. ,{dsNm: "ds_init_P0341list_P0341", cdGrpId: "P0341"}
  577. ,{dsNm: "ds_init_P0021list_P0021", cdGrpId: "P0021"}]
  578. appf_getCodeList(arrParam, false);
  579. pamGetDeptCDDrIDList();
  580. ds_init_P0037list_P0037.filterstr = "detldesc == 'T'";
  581. ds_filter_P0037list_P0037.copyData(ds_init_P0037list_P0037, true);
  582. ds_init_P0037list_P0037.filterstr = "";
  583. ds_init_orddeptcd_orddeptcdlist.copyData(ds_init_orddeptcdlist);
  584. ds_init_centcd_centcdlist.copyData(ds_init_centcdlist);
  585. fInitialize();
  586. //일정달력을 보이지 않게 한다.
  587. import1.visible = false;
  588. ds_hidden.setColumn(0, "togglecalendar", 'F');
  589. var menu = frmf_getMenuParam();
  590. if( menu != 'S')
  591. {
  592. btn_saveTimeScheEnd7.enable = false;
  593. }
  594. //2007-10-03 이동식 추가
  595. if (frmf_checkOpener())
  596. {
  597. var orddeptcd = opener.frmf_getParameter("SMPMB00800_ORDDEPTCD");
  598. var orddrid = opener.frmf_getParameter("SMPMB00800_ORDDRID");
  599. if( !utlf_isNull(orddeptcd) && !utlf_isNull(orddrid))
  600. {
  601. //진료과 세팅
  602. ds_main.setColumn(0, "orddeptcd", orddeptcd);
  603. frmf_inputEnterKey("group2.cmb_orddept", "onitemchanged", new ItemChangeEventInfo );
  604. //진료의 세팅
  605. var cnt = this.objects[grd_orddr.binddataset].rowcount;
  606. for( var i = 0; i < cnt; i++)
  607. {
  608. if( orddrid == this.objects[grd_orddr.binddataset].getColumn(i, 3))
  609. {
  610. this.objects[grd_orddr.binddataset].rowposition = i;
  611. //일별진료일정 조회
  612. fGetDayOrdShce();
  613. break;
  614. }
  615. }
  616. }
  617. }
  618. }
  619. function fInitialize()
  620. {
  621. ds_main_ordsche_timeordsche_timeordschelist.clearData();
  622. ds_main_ordsche_dayordsche_dayordschelist.clearData();
  623. ds_main_ordsche_endsche_endschelist.clearData();
  624. //일정달력을 보이지 않게 한다.
  625. import1.visible = false;
  626. ds_hidden.setColumn(0, "togglecalendar", 'F');
  627. //날자 입력 항목에 오늘 날자 세팅
  628. var curDate = utlf_getCurrentDate();
  629. ds_send.setColumn(0, "srchfromdd", curDate);
  630. ds_send.setColumn(0, "endfromdd", curDate);
  631. //현재일자 + 1달
  632. curDate = curDate.toDate().getAddDate(1,"M");
  633. var endOfMonth = curDate.getMonthDay();
  634. var nextDate = curDate.getFullYear();
  635. nextDate = nextDate.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  636. nextDate = nextDate.toString() + endOfMonth;
  637. ds_send.setColumn(0, "srchtodd", nextDate);
  638. ds_send.setColumn(0, "endtodd", nextDate);
  639. }
  640. function fGetDayOrdShce()
  641. {
  642. var cur_row = this.objects[grd_orddr.binddataset].rowposition;
  643. if( cur_row >= 0)
  644. {
  645. ds_send.setColumn(0, "orddrid", this.objects[grd_orddr.binddataset].getColumn(cur_row, "cd"));
  646. ds_send.setColumn(0, "orddeptcd", this.objects[grd_orddr.binddataset].getColumn(cur_row, "dp"));
  647. var oParam = {};
  648. oParam.id = "TRPMB00801";
  649. oParam.service = "pambaseinfomngtapp.OrdSche";
  650. oParam.method = "reqGetDayOrdSche";
  651. oParam.inds = "req=ds_send";
  652. oParam.outds = "ds_main_ordsche_dayordsche_dayordschelist=dayordschelist";
  653. oParam.async = false;
  654. //oParam.callback = "cf_TRPMB00801";
  655. tranf_submit(oParam);
  656. ds_main_ordsche_dayordsche_dayordschelist.clearSelect();
  657. }
  658. else return;
  659. }
  660. function group2_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  661. {
  662. ds_init_orddridlist.filterstr = "dp == '"+obj.value+"'";
  663. ds_init_orddrid_orddridlist.copyData(ds_init_orddridlist, true);
  664. grd_orddr.binddataset = "ds_init_orddrid_orddridlist";
  665. ds_init_orddrid_orddridlist.rowposition = -1;
  666. }
  667. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  668. {
  669. //일별진료일정 조회
  670. fGetDayOrdShce();
  671. }
  672. function grd_orddr_oncellclick(obj:Grid, e:GridClickEventInfo)
  673. {
  674. //일별진료일정 조회
  675. fGetDayOrdShce();
  676. //일정달력을 보이게 한다.
  677. import1.visible = true;
  678. btn_close.visible = true;
  679. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  680. ds_main_ordsche_endsche_endschelist.clearData();
  681. //달력 visible 상태값을 저장한다.
  682. ds_hidden.setColumn(0, "togglecalendar", 'T');
  683. //일정마감 정보를 조회한 것이 아니란 상택값 저장
  684. ds_hidden.setColumn(0, "checksearch", 'F');
  685. //달력정보를 조회한다.
  686. fGetCalendarData();
  687. }
  688. function fGetCalendarData()
  689. {
  690. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  691. if( cur_row >= 0)
  692. {
  693. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  694. ds_send.setColumn(0, "orddeptcd", ds_init_orddrid_orddridlist.getColumn(cur_row, "dp"));
  695. ds_send.setColumn(0, "subdeptcd", "X");
  696. dsf_makeValue(ds_send, "date", "string", import1.ds_hidden_calendar.getColumn(0, "year") + import1.ds_hidden_calendar.getColumn(0, "month"));
  697. dsf_createDs("ds_main_result_orddrfild_orddrfildlist");
  698. dsf_createDs("ds_main_result_calendarinfo_calendarinfolist");
  699. // model.makeNode("/root/main/result/orddrfild");
  700. // model.makeNode("/root/main/result/calendarinfo");
  701. var isMonth = import1.ds_hidden_calendar.getColumn(0, "month");
  702. var isYear = import1.ds_hidden_calendar.getColumn(0, "year");
  703. var isDate = (isYear+isMonth+1).toDate();
  704. //진료의사 정보가 없을 경우
  705. if( utlf_isNull(ds_send.getColumn(0, "orddrid")))
  706. {
  707. import1.setCalendar(isDate);
  708. }
  709. else
  710. {
  711. var oParam = {};
  712. oParam.id = "TRPMO00203";
  713. oParam.service = "opatmngtapp.OutRgst";
  714. oParam.method = "reqGetDrFildAndCalInfo";
  715. oParam.inds = "req=ds_send";
  716. oParam.outds = "ds_main_result_orddrfild_orddrfildlist=orddrfildlist "
  717. +"ds_=centcdckinfoyn ds_=centcdlist "
  718. +"ds_main_result_calendarinfo_calendarinfolist=calendarinfolist";
  719. oParam.async = false;
  720. oParam.callback = "cf_TRPMO00203";
  721. tranf_submit(oParam);
  722. if(arErrorCode.pop("TRPMO00203") > -1)
  723. {
  724. if( ds_main_result_calendarinfo_calendarinfolist.rowcount > 0 )
  725. {
  726. import1.ds_hidden_calendarinfo_calendarinfolist.copyData(ds_main_result_calendarinfo_calendarinfolist);
  727. import1.setCalendar2(isDate);
  728. }
  729. else
  730. {
  731. import1.setCalendar(isDate);
  732. }
  733. }
  734. }
  735. //model.removenode("/root/send/reglscheyn");
  736. }
  737. }
  738. function cf_TRPMO00203(sSvcId, nErrorCode, sErrorMsg)
  739. {
  740. arErrorCode.push(sSvcId, nErrorCode);
  741. if(nErrorCode < 0) return;
  742. }
  743. //달력을 클릭(선택) 했을 때
  744. function fClickOnCalendar()
  745. {
  746. if( import1.ds_hidden_calendar_weeklist_list.rowposition < 0)
  747. {
  748. return false;
  749. }
  750. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  751. if( cur_row >= 0)
  752. {
  753. var calRow = import1.ds_hidden_calendar_weeklist_list.rowposition;
  754. var calCol = import1.grd_calendar.currentcol;
  755. //선택된 셀 표시
  756. import1.setCellColor(calRow, calCol);
  757. calCol = calCol % 7;
  758. var isDay = import1.ds_hidden_calendar_weeklist_list.getColumn(calRow, calCol);
  759. var memo = import1.ds_hidden_calendarinfo_calendarinfolist.getColumn(parseInt(isDay-1), "ampmflag");
  760. var ordendresn = import1.ds_hidden_calendarinfo_calendarinfolist.getColumn(parseInt(isDay-1), "ordendresn");
  761. if( !utlf_isNull(isDay) && !utlf_isNull(memo))
  762. {
  763. if( isDay.length == 1 ) isDay = "0" + isDay;
  764. var dd = ( (import1.ds_hidden_calendar.getColumn(0, "year")).concat(import1.ds_hidden_calendar.getColumn(0, "month"))).concat(isDay);
  765. //마감일자 중복체크
  766. for( var i = 0; i < ds_main_ordsche_endsche_endschelist.rowcount; i++)
  767. {
  768. //마감시작일과 마감종료일 안의 일자가 선택되면 메세지를 보여주고 새로운 일정마감정보를 추가하지 않는다.
  769. if( dd >= ds_main_ordsche_endsche_endschelist.getColumn(i, "endfromdd") && dd <= ds_main_ordsche_endsche_endschelist.getColumn(i, "endtodd"))
  770. {
  771. sysf_messageBox(utlf_transNullToEmpty(dd)+ "은 미리 입력하신 " + parseInt(i+1) + " 번째 진료일정마감 기간에 중복됩니다.", "E999");
  772. return false;
  773. }
  774. }
  775. var addRow = ds_main_ordsche_endsche_endschelist.addRow();
  776. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "endfromdd", dd); //마감시작일
  777. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "endtodd", dd); //마감종료일
  778. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "ordendresn", ordendresn);//마감사유
  779. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "am", "0") //오전
  780. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "pm", "0"); //오후
  781. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "nigt", "0"); //야간
  782. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "orddeptcd", ds_init_orddrid_orddridlist.getColumn(cur_row, "dp")); //진료과CD
  783. ds_main_ordsche_endsche_endschelist.setColumn(addRow, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd")); //진료의사ID
  784. // ds_main_ordsche_endsche_endschelist.updatecontrol = false;
  785. // ds_main_ordsche_endsche_endschelist.setRowType(addRow, "");
  786. // ds_main_ordsche_endsche_endschelist.updatecontrol = true;
  787. ds_main_ordsche_endsche_endschelist.rowposition = addRow;
  788. grd_ordscheend.setFocus();
  789. }
  790. }
  791. else
  792. {
  793. sysf_messageBox("진료과코드와 진료의사 ID를 얻어 올 수", "I004");
  794. }
  795. }
  796. function grd_daysche_oncellclick(obj:Grid, e:GridClickEventInfo)
  797. {
  798. //2008-05-21 이동식 추가
  799. //일정달력을 보이지 않게한다.
  800. import1.visible = false;
  801. btn_close.visible = false;
  802. //달력 visible 상태값을 저장한다.
  803. ds_hidden.setColumn(0, "togglecalendar", 'F');
  804. //END..
  805. //function call
  806. fGetTimeOrdSche();
  807. }
  808. function fGetTimeOrdSche()
  809. {
  810. var cur_row1 = ds_main_ordsche_dayordsche_dayordschelist.rowposition;
  811. ds_send.setColumn(0, "rsrvflag", 'K');
  812. if( cur_row1 >= 0 )
  813. {
  814. ds_send.setColumn(0, "orddd", ds_main_ordsche_dayordsche_dayordschelist.getColumn(cur_row1, "orddd"));
  815. ds_send.setColumn(0, "orddrid", ds_main_ordsche_dayordsche_dayordschelist.getColumn(cur_row1, "orddrid"));
  816. ds_send.setColumn(0, "centcd", ds_main_ordsche_dayordsche_dayordschelist.getColumn(cur_row1, "centcd"));
  817. ds_send.setColumn(0, "orddeptcd", ds_main_ordsche_dayordsche_dayordschelist.getColumn(cur_row1, "orddeptcd"));
  818. ds_send.setColumn(0, "subdeptcd", ds_main_ordsche_dayordsche_dayordschelist.getColumn(cur_row1, "subdeptcd"));
  819. var oParam = {};
  820. oParam.id = "TRPMB00802";
  821. oParam.service = "pambaseinfomngtapp.OrdSche";
  822. oParam.method = "reqGetTimeOrdSche";
  823. oParam.inds = "req=ds_send";
  824. oParam.outds = "ds_main_ordsche_timeordsche_timeordschelist=timeordschelist ds_main_ordsche_timeordsche_dayrsrvstatlist=dayrsrvstatlist";
  825. oParam.async = false;
  826. oParam.callback = "cf_TRPMB00802";
  827. tranf_submit(oParam);
  828. if(arErrorCode.pop("TRPMB00802") > -1)
  829. {
  830. grdf_setRowStyle(grd_timesche, "1^1^1", "S", "reglscheflag");
  831. }
  832. }
  833. else return;
  834. }
  835. function cf_TRPMB00802(sSvcId, nErrorCode, sErrorMsg) {
  836. arErrorCode.push(sSvcId, nErrorCode);
  837. }
  838. function btn_endsearch_onclick(obj:Button, e:ClickEventInfo)
  839. {
  840. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  841. ds_main_ordsche_endsche_endschelist.clearData();
  842. var cur_row = this.objects[grd_orddr.binddataset].rowposition;
  843. if( cur_row >= 0)
  844. {
  845. ds_send_updatedata_datalist.clearData();
  846. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  847. ds_send.setColumn(0, "orddeptcd", ds_init_orddrid_orddridlist.getColumn(cur_row, "dp"));
  848. var oParam = {};
  849. oParam.id = "TXPMB00806";
  850. oParam.service = "pambaseinfomngtapp.OrdSche";
  851. oParam.method = "reqGetOrdScheEnd";
  852. oParam.inds = "req=ds_send";
  853. oParam.outds = "ds_main_ordsche_endsche_endschelist=endschelist";
  854. oParam.async = false;
  855. oParam.callback = "cf_TXPMB00806";
  856. tranf_submit(oParam);
  857. if(arErrorCode.pop("TXPMB00806") > -1)
  858. {
  859. if(utlf_isNull(ds_main_ordsche_endsche_endschelist.getColumnInfo("check")))
  860. {
  861. ds_main_ordsche_endsche_endschelist.addColumn("check", "string");
  862. }
  863. if(utlf_isNull(ds_main_ordsche_endsche_endschelist.getColumnInfo("am")))
  864. {
  865. ds_main_ordsche_endsche_endschelist.addColumn("am", "string");
  866. }
  867. if(utlf_isNull(ds_main_ordsche_endsche_endschelist.getColumnInfo("pm")))
  868. {
  869. ds_main_ordsche_endsche_endschelist.addColumn("pm", "string");
  870. }
  871. if(utlf_isNull(ds_main_ordsche_endsche_endschelist.getColumnInfo("nigt")))
  872. {
  873. ds_main_ordsche_endsche_endschelist.addColumn("nigt", "string");
  874. }
  875. ds_hidden.setColumn(0, "checksearch", 'T');
  876. //마감취소 버튼을 활성화 시킨다.
  877. btn_endCancel.enable = true;
  878. }
  879. }
  880. else
  881. {
  882. sysf_messageBox("진료과코드와 진료의사 ID를 얻어 올 수", "I004");
  883. }
  884. }
  885. function cf_TXPMB00806(sSvcId, nErrorCode, sErrorMsg) {
  886. arErrorCode.push(sSvcId, nErrorCode);
  887. }
  888. function button3_onclick(obj:Button, e:ClickEventInfo)
  889. {
  890. var cur_row = ds_main_ordsche_endsche_endschelist.rowposition;
  891. if( cur_row >= 0 )
  892. {
  893. ds_main_ordsche_endsche_endschelist.deleteRow(cur_row);
  894. }
  895. }
  896. function button1_onclick(obj:Button, e:ClickEventInfo)
  897. {
  898. //마감취소 버튼을 비활성화 시킨다.
  899. btn_endCancel.enable = false;
  900. if( String(ds_hidden.getColumn(0, "togglecalendar")).toUpperCase() == 'F' )
  901. {
  902. //일정달력을 보이게 한다.
  903. import1.visible = true;
  904. btn_close.visible = true;
  905. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  906. ds_main_ordsche_endsche_endschelist.clearData();
  907. //달력 visible 상태값을 저장한다.
  908. ds_hidden.setColumn(0, "togglecalendar", 'T');
  909. //일정마감 정보를 조회한 것이 아니란 상택값 저장
  910. ds_hidden.setColumn(0, "checksearch", 'F');
  911. //달력정보를 조회한다.
  912. fGetCalendarData();
  913. }
  914. else
  915. {
  916. //일정달력을 보이지 않게한다.
  917. import1.visible = false;
  918. btn_close.visible = false;
  919. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  920. ds_main_ordsche_endsche_endschelist.clearData();
  921. //달력 visible 상태값을 저장한다.
  922. ds_hidden.setColumn(0, "togglecalendar", 'F');
  923. }
  924. }
  925. function btn_endCancel_onclick(obj:Button, e:ClickEventInfo)
  926. {
  927. var rows = ds_main_ordsche_endsche_endschelist.rowcount;
  928. var cur_row = ds_main_ordsche_endsche_endschelist.rowposition;
  929. var cnt = "0";
  930. for( var i = 0; i < rows; i++)
  931. {
  932. if(ds_main_ordsche_endsche_endschelist.getColumn(i, "check") == 'Y' )
  933. {
  934. ds_main_ordsche_endsche_endschelist.updatecontrol = false;
  935. ds_main_ordsche_endsche_endschelist.setRowType(i, "d");
  936. ds_main_ordsche_endsche_endschelist.updatecontrol = true;
  937. cnt = parseInt(cnt) + parseInt("1");
  938. }
  939. }
  940. if(cnt <= "0")
  941. {
  942. sysf_messageBox("마감취소할 항목이 선택되지 않았습니다. 확인 후 다시 시도해 주세요", "E999", "");
  943. return;
  944. }
  945. if(sysf_messageBox("일정마감정보를 삭제 하시겠습니까?", "Q999") != 6) return;
  946. var updategrid = grdf_getGridUpdateData(grd_ordscheend);
  947. grdf_setStatusColumn(updategrid, "status");
  948. ds_send_updatedata_datalist.copyData(updategrid, true);
  949. var oParam = {};
  950. oParam.id = "TXPMB00805";
  951. oParam.service = "pambaseinfomngtapp.OrdSche";
  952. oParam.method = "reqSetOrdScheEnd";
  953. oParam.inds = "req=ds_send_updatedata_datalist";
  954. oParam.outds = "";
  955. oParam.async = false;
  956. oParam.callback = "cf_TXPMB00805";
  957. tranf_submit(oParam);
  958. if(arErrorCode.pop("TXPMB00805") > -1)
  959. {
  960. //일별진료일정 재조회
  961. fGetDayOrdShce();
  962. //달력 재조회
  963. fGetCalendarData();
  964. //시간별진료일정 삭제
  965. ds_main_ordsche_timeordsche_timeordschelist.clearData();
  966. //일정마감정보 삭제
  967. ds_main_ordsche_endsche_endschelist.clearData();
  968. btn_endCancel.enable = false;
  969. }
  970. }
  971. function cf_TXPMB00805(sSvcId, nErrorCode, sErrorMsg) {
  972. arErrorCode.push(sSvcId, nErrorCode);
  973. }
  974. function ds_main_ordsche_endsche_endschelist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  975. {
  976. if(e.columnid == "check")
  977. {
  978. obj.setColumn(e.row, "check", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  979. }
  980. if(e.columnid == "am")
  981. {
  982. obj.setColumn(e.row, "am", (e.newvalue == "1" || e.newvalue == 1) ? "1" : "0");
  983. }
  984. if(e.columnid == "pm")
  985. {
  986. obj.setColumn(e.row, "pm", (e.newvalue == "1" || e.newvalue == 1) ? "1" : "0");
  987. }
  988. if(e.columnid == "nigt")
  989. {
  990. obj.setColumn(e.row, "nigt", (e.newvalue == "1" || e.newvalue == 1) ? "1" : "0");
  991. }
  992. }
  993. function btn_saveTimeScheEnd_onclick(obj:Button, e:ClickEventInfo)
  994. {
  995. var rowCount = ds_main_ordsche_endsche_endschelist.rowcount;
  996. if( rowCount > 0 )
  997. {
  998. var rows = ds_main_ordsche_endsche_endschelist.rowcount;
  999. var cnt = "0";
  1000. for( var i = 0; i < rows; i++)
  1001. {
  1002. if(ds_main_ordsche_endsche_endschelist.getColumn(i, "check") == 'Y' )
  1003. {
  1004. cnt = parseInt(cnt) + parseInt("1");
  1005. }
  1006. }
  1007. if(cnt <= "0")
  1008. {
  1009. sysf_messageBox(" 저장할 항목이 선택되지 않았습니다. 확인 후 다시 시도해 주세요", "E999", "");
  1010. return;
  1011. }
  1012. if( fcheckOrdScheEnd(rowCount) )
  1013. {
  1014. if(sysf_messageBox("일정마감정보를 저장/수정 하시겠습니까?", "Q999") != 6) return;
  1015. var updategrid = grdf_getGridUpdateData(grd_ordscheend);
  1016. grdf_setStatusColumn(updategrid, "status");
  1017. ds_send_updatedata_datalist.copyData(updategrid, true);
  1018. var oParam = {};
  1019. oParam.id = "TXPMB00805";
  1020. oParam.service = "pambaseinfomngtapp.OrdSche";
  1021. oParam.method = "reqSetOrdScheEnd";
  1022. oParam.inds = "req=ds_send_updatedata_datalist";
  1023. oParam.outds = "";
  1024. oParam.async = false;
  1025. oParam.callback = "cf_TXPMB00805";
  1026. tranf_submit(oParam);
  1027. if(arErrorCode.pop("TXPMB00805") > -1)
  1028. {
  1029. //진료일정부분마감 초기화
  1030. ds_main_ordsche_endsche_endschelist.clearData();
  1031. //일별진료일정 재조회
  1032. fGetDayOrdShce();
  1033. //시간별진료일정 삭제
  1034. ds_main_ordsche_timeordsche_timeordschelist.clearData();
  1035. //달력정보를 조회한다.
  1036. fGetCalendarData();
  1037. }
  1038. }
  1039. }
  1040. else
  1041. {
  1042. sysf_messageBox("일정마감/수정할 내역이 없습니다.", "E999", "");
  1043. }
  1044. }
  1045. function fcheckOrdScheEnd( rowCount )
  1046. {
  1047. var ordendresn = '';
  1048. var endfromdd = '';
  1049. var endtodd = '';
  1050. var endfromtm = '';
  1051. var endtotm = '';
  1052. var am = '';
  1053. var pm = '';
  1054. var nigt = '';
  1055. for( var i = 0; i < rowCount; i++)
  1056. {
  1057. if(ds_main_ordsche_endsche_endschelist.getColumn(i, "check") == 'Y' )
  1058. {
  1059. ordendresn = ds_main_ordsche_endsche_endschelist.getColumn(i, "ordendresn");
  1060. endfromdd = ds_main_ordsche_endsche_endschelist.getColumn(i, "endfromdd");
  1061. endtodd = ds_main_ordsche_endsche_endschelist.getColumn(i, "endtodd");
  1062. endfromtm = ds_main_ordsche_endsche_endschelist.getColumn(i, "endfromtm");
  1063. endtotm = ds_main_ordsche_endsche_endschelist.getColumn(i, "endtotm");
  1064. am = ds_main_ordsche_endsche_endschelist.getColumn(i, "am");
  1065. pm = ds_main_ordsche_endsche_endschelist.getColumn(i, "pm");
  1066. nigt = ds_main_ordsche_endsche_endschelist.getColumn(i, "nigt");
  1067. if( utlf_isNull(ordendresn) || ordendresn == '-' || ordendresn == '00' || ordendresn == '0')
  1068. {
  1069. sysf_messageBox( parseInt(i+1) + " 번째 줄에 마감사유를 입력하지 않았습니다.", "E999", "");
  1070. return false;
  1071. }
  1072. else if( ! utlf_isValidDateTime(endfromdd, "YYYYMMDD") )
  1073. {
  1074. sysf_messageBox( parseInt(i+1) + " 번째 줄의 마감시작일을 입력하지 않았거나 올바른 날짜 형식이 아닙니다.", "E999", "");
  1075. return false;
  1076. }
  1077. else if( ! utlf_isValidDateTime(endtodd, "YYYYMMDD") )
  1078. {
  1079. sysf_messageBox( parseInt(i+1) + " 번째 줄의 마감종료일을 입력하지 않았거나 올바른 날짜 형식이 아닙니다.", "E999", "");
  1080. return false;
  1081. }
  1082. else if( utlf_isNull(endfromtm) && utlf_isNull(endtotm) && am == '0' && pm == '0' && nigt =='0' )
  1083. {
  1084. sysf_messageBox(parseInt(i+1) + " 번째 줄의 마감시간이 입력되지 않았습니다.", "E999", "");
  1085. return false;
  1086. }
  1087. else if( ! utlf_isValidDateTime(endfromtm, "hhmm") && am == '0' && pm == '0' && nigt =='0')
  1088. {
  1089. sysf_messageBox( parseInt(i+1) + " 번째 줄의 마감시작시간을 입력하지 않았거나 올바른 시간 형식이 아닙니다.", "E999", "");
  1090. return false;
  1091. }
  1092. else if( ! utlf_isValidDateTime(endtotm, "hhmm") && am == '0' && pm == '0' && nigt =='0')
  1093. {
  1094. sysf_messageBox( parseInt(i+1) + " 번째 줄의 마감종료시간을 입력하지 않았거나 올바른 시간 형식이 아닙니다.", "E999", "");
  1095. return false;
  1096. }
  1097. else if( am == '1' || pm == '1' || nigt =='1')
  1098. {
  1099. ds_main_ordsche_endsche_endschelist.setColumn(i, "endfromtm", '');
  1100. ds_main_ordsche_endsche_endschelist.setColumn(i, "endtotm", '');
  1101. }
  1102. }
  1103. }
  1104. return true;
  1105. }
  1106. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  1107. {
  1108. //일정달력을 보이지 않게한다.
  1109. import1.visible = false;
  1110. btn_close.visible = false;
  1111. //기존 조회한 마감정보를 삭제한다. - 이미 마감된 정보와 새로 추가할 마감정보가 섞이지 않게 하기 위해
  1112. ds_main_ordsche_endsche_endschelist.clearData();
  1113. //달력 visible 상태값을 저장한다.
  1114. ds_hidden.setColumn(0, "togglecalendar", 'F');
  1115. }
  1116. function btn_copyrow5_onclick(obj:Button, e:ClickEventInfo)
  1117. {
  1118. fInitialize();
  1119. }
  1120. function btn_saveTimeScheEnd7_onclick(obj:Button, e:ClickEventInfo)
  1121. {
  1122. frmf_open("SMPMB02500", "SMPMB02500", "", "", "", "", "", "", "", "", "", "", "M");
  1123. }
  1124. function btn_saveTimeScheEnd0_onclick(obj:Button, e:ClickEventInfo)
  1125. {
  1126. frmf_open("SMPMB00700", "SMPMB00700", "", "", "", "", "", "", "", "", "", "", "M");
  1127. }
  1128. ]]></Script>
  1129. </Form>
  1130. </FDL>