SMMMI00900_당직스케쥴관리.xfdl 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMI00900" position="absolute 0 0 1073 802" titletext="당직스케줄 관리" oninit="SMMMI00900_oninit" onload="SMMMI00900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="당직 스케줄 관리" position="absolute 0 0 157 25" id="caption6" class="tit_1"/>
  8. <Div id="grp_right" anchor="all" taborder="2" position="absolute 327 62 1072 800">
  9. <Layouts>
  10. <Layout>
  11. <Static id="cpt_worktitle" text="당직 리스트" class="tit_2" position="absolute 2 7 114 23" anchor="left top"/>
  12. <Shape id="line3" class="line_10" position="absolute 2 20 745 32" anchor="left top right"/>
  13. <Grid id="grd_workschelist" taborder="3" binddataset="ds_workschelist" useinputpanel="false" selecttype="multiarea" cellsizingtype="col" position="absolute 2 28 745 730" anchor="all" autofittype="none" onenterdown="grp_right_grd_workschelist_onenterdown" onrbuttondown="grp_right_grd_workschelist_onrbuttondown" onlbuttondown="grp_right_grd_workschelist_onlbuttondown" oncelldblclick="grp_right_grd_workschelist_oncelldblclick">
  14. <Formats>
  15. <Format id="default">
  16. <Columns>
  17. <Column size="80"/>
  18. <Column size="30"/>
  19. <Column size="130"/>
  20. <Column size="130"/>
  21. <Column size="130"/>
  22. <Column size="190"/>
  23. <Column size="35"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. </Columns>
  28. <Rows>
  29. <Row size="24" band="head"/>
  30. <Row size="22"/>
  31. </Rows>
  32. <Band id="head">
  33. <Cell text="일자" taborder="undefined"/>
  34. <Cell col="1" text="요일" taborder="undefined"/>
  35. <Cell col="2" text="D"/>
  36. <Cell col="3" text="E"/>
  37. <Cell col="4" text="N"/>
  38. <Cell col="5" text="비고"/>
  39. <Cell col="6" text="확인" taborder="undefined"/>
  40. <Cell col="7" text="drid_d"/>
  41. <Cell col="8" text="drid_e"/>
  42. <Cell col="9" text="drid_n"/>
  43. </Band>
  44. <Band id="body">
  45. <Cell displaytype="date" style="color:EXPR(fChngGrdCellColor(color));color2:EXPR(fChngGrdCellColor(color));" text="bind:workdd" calendardisplaynulltype="none"/>
  46. <Cell col="1" style="color:EXPR(fChngGrdCellColor(color));color2:EXPR(fChngGrdCellColor(color));" text="bind:datenm"/>
  47. <Cell col="2" text="bind:drnm_d"/>
  48. <Cell col="3" text="bind:drnm_e"/>
  49. <Cell col="4" text="bind:drnm_n"/>
  50. <Cell col="5" displaytype="text" edittype="textarea" style="align:left top;" text="bind:rmk" wordwrap="char" editautoselect="true" autosizerow="limitmin"/>
  51. <Cell col="6" displaytype="combo" style="align:center;" text="bind:confirmyn" combodataset="ds_confirmyn" combocodecol="value" combodatacol="label"/>
  52. <Cell col="7" text="bind:drid_d"/>
  53. <Cell col="8" text="bind:drid_e"/>
  54. <Cell col="9" text="bind:drid_n"/>
  55. </Band>
  56. </Format>
  57. </Formats>
  58. </Grid>
  59. <Button id="btn_prt00" taborder="4" text="출력" class="btn6" position="absolute 109 1 165 23" anchor="top right" onclick="grp_right_btn_prt00_onclick"/>
  60. <Button id="btn_cnfm" taborder="5" text="근무확인" class="btn4" enable="false" position="absolute 669 1 745 23" anchor="top right" tooltiptext="관리부서만 최종 저장 가능 합니다." tooltiptype="default" onclick="grp_right_btn_cnfm_onclick"/>
  61. <Button id="btn_payview" taborder="6" text="수당조회" class="btn4" enable="true" position="absolute 587 1 667 23" anchor="top right" onclick="grp_right_btn_payview_onclick" visible="false"/>
  62. <Button id="btn_dupview" taborder="7" text="중복조회" class="btn4" visible="false" position="absolute 505 1 585 23" anchor="top right" onclick="grp_right_btn_dupview_onclick"/>
  63. <Button id="btn_prt03" taborder="8" text="ICU3" class="btn6" position="absolute 283 1 339 23" anchor="top right" onclick="grp_right_btn_prt03_onclick"/>
  64. <Button id="btn_prt01" taborder="9" text="ICU1" class="btn6" position="absolute 167 1 223 23" anchor="top right" onclick="grp_right_btn_prt01_onclick"/>
  65. <Button id="btn_prt02" taborder="10" text="ICU2" class="btn6" position="absolute 225 1 281 23" anchor="top right" onclick="grp_right_btn_prt02_onclick"/>
  66. <Button id="btn_exceldown" taborder="11" text="다운로드" class="btn7" position="absolute 342 2 416 22" anchor="top right" onclick="grp_right_btn_exceldown_onclick"/>
  67. <Button id="btn_excelup" taborder="12" text="업로드" class="btn7" position="absolute 420 2 483 22" anchor="top right" onclick="grp_right_btn_excelup_onclick" visible="false"/>
  68. <Grid id="grd_sampleexcel" taborder="13" useinputpanel="false" visible="false" position="absolute 17 74 519 178" binddataset="ds_sampleexcel" anchor="default">
  69. <Formats>
  70. <Format id="default">
  71. <Columns>
  72. <Column size="80"/>
  73. <Column size="60"/>
  74. <Column size="150"/>
  75. <Column size="80"/>
  76. <Column size="80"/>
  77. </Columns>
  78. <Rows>
  79. <Row size="24" band="head"/>
  80. <Row size="24"/>
  81. </Rows>
  82. <Band id="head">
  83. <Cell text="일자"/>
  84. <Cell col="1" text="근무"/>
  85. <Cell col="2" text="근무자부서"/>
  86. <Cell col="3" text="근무자명"/>
  87. <Cell col="4" text="근무자사번"/>
  88. </Band>
  89. <Band id="body">
  90. <Cell text="bind:workdd" mask="####-##-##"/>
  91. <Cell col="1" text="bind:dutynm"/>
  92. <Cell col="2" text="bind:deptnm"/>
  93. <Cell col="3" text="bind:usernm"/>
  94. <Cell col="4" displaytype="text" edittype="text" text="bind:userid"/>
  95. </Band>
  96. </Format>
  97. </Formats>
  98. </Grid>
  99. </Layout>
  100. </Layouts>
  101. </Div>
  102. <Div id="grp_top" anchor="left top right" taborder="3" position="absolute 0 25 1072 59" class="div_SA">
  103. <Layouts>
  104. <Layout>
  105. <Button id="btn_search" taborder="5" text="조회" class="btn1" position="absolute 1007 7 1063 29" anchor="top right" onclick="grp_top_btn_search_onclick"/>
  106. <Static id="caption4" text="기준일자 :" class="search_name" position="absolute 5 9 96 26" anchor="default"/>
  107. <Static id="caption1" text="당직선택 :" class="search_name" position="absolute 373 9 464 26" anchor="default"/>
  108. <Combo id="cmb_workcd" taborder="6" innerdataset="@ds_workcdlist" codecolumn="workcd" datacolumn="worknm" position="absolute 448 8 638 27" anchor="default" onitemchanged="grp_top_cmb_workcd_onitemchanged"/>
  109. <Button id="btn_bfyear" taborder="7" class="icon_pre_year" position="absolute 80 9 96 25" anchor="default" onclick="grp_top_btn_bfyear_onclick"/>
  110. <Button id="btn_bfmonth" taborder="8" class="icon_pre_month" position="absolute 98 9 114 25" anchor="default" onclick="grp_top_btn_bfmonth_onclick"/>
  111. <Button id="btn_afmonth" taborder="9" class="icon_next_month" position="absolute 227 9 243 25" anchor="default" onclick="grp_top_btn_afmonth_onclick"/>
  112. <Button id="btn_afyear" taborder="10" class="icon_next_year" position="absolute 245 9 261 25" anchor="default" onclick="grp_top_btn_afyear_onclick"/>
  113. <Calendar id="ipt_basedd" taborder="11" autoselect="true" dateformat="yyyy-MM-dd" position="absolute 117 7 224 27" style="align:center middle;" anchor="default" onchanged="grp_top_ipt_basedd_onchanged"/>
  114. <Button id="btn_uploaddoctor" taborder="12" text="불러오기" class="btn2" visible="false" position="absolute 643 7 708 29" anchor="top right" onclick="grp_top_btn_uploaddoctor_onclick"/>
  115. <Button id="btn_check" taborder="13" text="당직검증" class="btn2" visible="false" position="absolute 709 7 774 29" anchor="top right" onclick="grp_top_btn_check_onclick"/>
  116. <Button id="btn_deletereason" taborder="14" text="삭제사유" class="btn2" visible="false" position="absolute 775 7 840 29" anchor="top right" onclick="grp_top_btn_deletereason_onclick"/>
  117. </Layout>
  118. </Layouts>
  119. </Div>
  120. <Div id="grp_left" taborder="6" position="absolute 1 61 326 800">
  121. <Layouts>
  122. <Layout>
  123. <Static id="caption00" text="당직 의사 선택" class="tit_2" position="absolute 2 7 233 23" anchor="left top"/>
  124. <Div id="grp_sa" taborder="5" position="absolute 1 26 320 61" class="div_SA2" anchor="default">
  125. <Layouts>
  126. <Layout>
  127. <Static id="caption1" text="진 료 과 :" position="absolute 11 10 78 27" style="font:Dotum,9,bold;" anchor="default"/>
  128. <Combo id="cmb_orddeptcd" taborder="1" innerdataset="@ds_appdeptlist" codecolumn="appid" datacolumn="appidnm" position="absolute 95 8 300 27" anchor="default" onitemchanged="grp_left_grp_sa_cmb_orddeptcd_onitemchanged"/>
  129. </Layout>
  130. </Layouts>
  131. </Div>
  132. <Grid id="grd_workdrlist" taborder="4" binddataset="ds_workdrlist" useinputpanel="false" cellsizingtype="col" position="absolute 1 64 320 476" autofittype="col" onlbuttonup="grp_left_grd_workdrlist_onlbuttonup" anchor="default">
  133. <Formats>
  134. <Format id="default">
  135. <Columns>
  136. <Column size="70"/>
  137. <Column size="80"/>
  138. <Column size="60"/>
  139. <Column size="105"/>
  140. <Column size="0"/>
  141. </Columns>
  142. <Rows>
  143. <Row size="24" band="head"/>
  144. <Row size="22"/>
  145. </Rows>
  146. <Band id="head">
  147. <Cell text="사번"/>
  148. <Cell col="1" text="이름"/>
  149. <Cell col="2" text="nzone"/>
  150. <Cell col="3" text="Hp No"/>
  151. <Cell col="4"/>
  152. </Band>
  153. <Band id="body">
  154. <Cell style="selectbackground:#7fef0fff;" text="bind:drid"/>
  155. <Cell col="1" style="selectbackground:#7fef0fff;" text="bind:drnm"/>
  156. <Cell col="2" style="selectbackground:#7fef0fff;" text="bind:nzone"/>
  157. <Cell col="3" style="selectbackground:#7fef0fff;" text="bind:hpno"/>
  158. <Cell col="4" text="bind:orddeptcd"/>
  159. </Band>
  160. </Format>
  161. </Formats>
  162. </Grid>
  163. <Static id="caption01" text="당직 정보" class="tit_2" position="absolute 1 484 104 500" anchor="left top"/>
  164. <Static id="caption23" text="관리부서" class="cell_1" position="absolute 1 503 86 523" style="font:돋움,9,bold;" anchor="default"/>
  165. <Edit id="ipt_authdeptnm" taborder="6" enable="false" position="absolute 89 503 319 522" anchor="default"/>
  166. <Static id="caption02" text="안내사항" class="cell_1" position="absolute 1 527 86 603" style="font:돋움,9,bold;" anchor="default"/>
  167. <TextArea id="tar_msg" taborder="7" wordwrap="char" enable="false" position="absolute 88 527 319 603" anchor="default"/>
  168. <Static id="caption03" text="근무 정보" class="tit_2" position="absolute 1 605 104 621" anchor="left top"/>
  169. <Grid id="grd_dutylist" taborder="8" binddataset="ds_dutylist" useinputpanel="false" cellsizingtype="col" position="absolute 1 624 318 739" autofittype="none" anchor="default">
  170. <Formats>
  171. <Format id="default">
  172. <Columns>
  173. <Column size="0"/>
  174. <Column size="0"/>
  175. <Column size="0"/>
  176. <Column size="40"/>
  177. <Column size="70"/>
  178. <Column size="40"/>
  179. <Column size="60"/>
  180. <Column size="40"/>
  181. <Column size="60"/>
  182. <Column size="70"/>
  183. <Column size="70"/>
  184. </Columns>
  185. <Rows>
  186. <Row size="24" band="head"/>
  187. <Row size="24"/>
  188. </Rows>
  189. <Band id="head">
  190. <Cell text="instcd"/>
  191. <Cell col="1" text="workcd"/>
  192. <Cell col="2" text="dutyno"/>
  193. <Cell col="3" text="코드"/>
  194. <Cell col="4" text="근무명"/>
  195. <Cell col="5" text="인원"/>
  196. <Cell col="6" text="시작시간"/>
  197. <Cell col="7" text="익일"/>
  198. <Cell col="8" text="종료시간"/>
  199. <Cell col="9" text="시작일자"/>
  200. <Cell col="10" text="종료일자"/>
  201. </Band>
  202. <Band id="body">
  203. <Cell text="bind:instcd"/>
  204. <Cell col="1" text="bind:workcd"/>
  205. <Cell col="2" text="bind:dutyno"/>
  206. <Cell col="3" displaytype="combo" edittype="none" style="align:center middle;" text="bind:dutycd" combodataset="ds_dutycd" combocodecol="value" combodatacol="label"/>
  207. <Cell col="4" edittype="none" style="align:left middle;" text="bind:dutynm"/>
  208. <Cell col="5" displaytype="combo" edittype="none" style="align:center;" text="bind:maxcnt" combodataset="ds_maxcnt" combocodecol="value" combodatacol="label"/>
  209. <Cell col="6" displaytype="date" edittype="none" style="align:center middle;" text="bind:fromtm" mask="HH:mm"/>
  210. <Cell col="7" displaytype="combo" edittype="none" style="align:center;" text="bind:nextyn" combodataset="ds_nextyn" combocodecol="value" combodatacol="label"/>
  211. <Cell col="8" displaytype="date" edittype="none" style="align:center middle;" text="bind:totm" mask="HH:mm"/>
  212. <Cell col="9" displaytype="date" text="bind:fromdd"/>
  213. <Cell col="10" displaytype="date" text="bind:todd"/>
  214. </Band>
  215. </Format>
  216. </Formats>
  217. </Grid>
  218. </Layout>
  219. </Layouts>
  220. </Div>
  221. <Static id="caption7" text="※ 당직 및 진료과 선택 후 당직의사를 클릭하고 당직리스트에서 해당근무를 더블클릭 하여 등록/삭제 합니다." position="absolute 379 4 1072 24" style="color:#0000ffff;font:Dotum,10,bold;"/>
  222. <PopupMenu id="pmn_menu" position="absolute 1088 58 1172 80" innerdataset="@ds_menu" captioncolumn="label" idcolumn="func" levelcolumn="level" onmenuclick="pmn_menu_onmenuclick"/>
  223. <PopupMenu id="pmn_menu_icudoc" innerdataset="ds_menu_icudoc" idcolumn="func" captioncolumn="label" levelcolumn="level" onmenuclick="pmn_menu_onmenuclick" position="absolute 1088 82 1172 168"/>
  224. </Layout>
  225. </Layouts>
  226. <Objects>
  227. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  228. <ColumnInfo>
  229. <Column id="flag" type="STRING" size="256"/>
  230. <Column id="superyn" type="STRING" size="256"/>
  231. <Column id="authyn" type="STRING" size="256"/>
  232. <Column id="basedd" type="STRING" size="256"/>
  233. <Column id="authdeptcd" type="STRING" size="256"/>
  234. <Column id="workcd" type="STRING" size="256"/>
  235. <Column id="worktype" type="STRING" size="256"/>
  236. <Column id="orddeptcd" type="STRING" size="256"/>
  237. <Column id="orddeptnm" type="STRING" size="256"/>
  238. <Column id="appuseryn" type="STRING" size="256"/>
  239. <Column id="comuseryn" type="STRING" size="256"/>
  240. <Column id="comuserid" type="STRING" size="256"/>
  241. <Column id="comusernm" type="STRING" size="256"/>
  242. </ColumnInfo>
  243. <Rows>
  244. <Row/>
  245. </Rows>
  246. </Dataset>
  247. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  248. <ColumnInfo>
  249. <Column id="actgubun" type="STRING" size="256"/>
  250. <Column id="workcd" type="STRING" size="256"/>
  251. <Column id="workdd" type="STRING" size="256"/>
  252. <Column id="worktype" type="STRING" size="256"/>
  253. <Column id="dutycd" type="STRING" size="256"/>
  254. <Column id="deptcd" type="STRING" size="256"/>
  255. <Column id="userid" type="STRING" size="256"/>
  256. <Column id="rmk" type="STRING" size="256"/>
  257. <Column id="confirmyn" type="STRING" size="256"/>
  258. <Column id="workallhalf" type="STRING" size="256" sumtext="전일, 반일, 대체"/>
  259. <Column id="reason" type="STRING" size="256" sumtext="사유"/>
  260. </ColumnInfo>
  261. <Rows>
  262. <Row/>
  263. </Rows>
  264. </Dataset>
  265. <Dataset id="ds_workschelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  266. <ColumnInfo>
  267. <Column id="workdd" type="STRING" size="256" sumtext="당직일자"/>
  268. <Column id="datenm" type="STRING" size="256" sumtext="요일"/>
  269. <Column id="drid_d" type="STRING" size="256" sumtext="당직의사id"/>
  270. <Column id="drid_e" type="STRING" size="256" sumtext="당직의사id"/>
  271. <Column id="drid_n" type="STRING" size="256" sumtext="당직의사id"/>
  272. <Column id="drnm_d" type="STRING" size="256" sumtext="당직의사이름"/>
  273. <Column id="drnm_e" type="STRING" size="256" sumtext="당직의사id"/>
  274. <Column id="drnm_n" type="STRING" size="256" sumtext="당직의사이름"/>
  275. <Column id="rmk" type="STRING" size="256" sumtext="비고"/>
  276. <Column id="confirmyn" type="STRING" size="256" sumtext="최종저장여부"/>
  277. <Column id="bgcolor" type="STRING" size="256" sumtext="비고"/>
  278. </ColumnInfo>
  279. </Dataset>
  280. <Dataset id="ds_workdrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  281. <ColumnInfo>
  282. <Column id="drid" type="STRING" size="256" sumtext="의사사번"/>
  283. <Column id="drnm" type="STRING" size="256" sumtext="의사이름"/>
  284. <Column id="nzone" type="STRING" size="256" sumtext="nzone"/>
  285. <Column id="hpno" type="STRING" size="256" sumtext="휴대전화"/>
  286. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과"/>
  287. <Column id="jobposcd" type="STRING" size="256" sumtext="jobposcd"/>
  288. </ColumnInfo>
  289. </Dataset>
  290. <Dataset id="ds_workcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  291. <ColumnInfo>
  292. <Column id="workcd" type="STRING"/>
  293. <Column id="worknm" type="STRING"/>
  294. </ColumnInfo>
  295. <Rows>
  296. <Row/>
  297. </Rows>
  298. </Dataset>
  299. <Dataset id="ds_workcdinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  300. <ColumnInfo>
  301. <Column id="workcd" type="STRING"/>
  302. <Column id="worknm" type="STRING"/>
  303. <Column id="msg" type="STRING"/>
  304. <Column id="rmk" type="STRING"/>
  305. <Column id="fromdd" type="STRING"/>
  306. <Column id="todd" type="STRING"/>
  307. <Column id="useyn" type="STRING"/>
  308. <Column id="authdeptcd" type="STRING"/>
  309. <Column id="authdeptnm" type="STRING"/>
  310. </ColumnInfo>
  311. <Rows>
  312. <Row/>
  313. </Rows>
  314. </Dataset>
  315. <Dataset id="ds_appdeptlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  316. <ColumnInfo>
  317. <Column id="instcd" type="STRING"/>
  318. <Column id="workcd" type="STRING"/>
  319. <Column id="appno" type="STRING"/>
  320. <Column id="apptype" type="STRING"/>
  321. <Column id="appid" type="STRING"/>
  322. <Column id="appidnm" type="STRING"/>
  323. <Column id="comuserid" type="STRING"/>
  324. <Column id="comusernm" type="STRING"/>
  325. <Column id="fromdd" type="STRING"/>
  326. <Column id="todd" type="STRING"/>
  327. </ColumnInfo>
  328. <Rows>
  329. <Row/>
  330. </Rows>
  331. </Dataset>
  332. <Dataset id="ds_appuserlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  333. <ColumnInfo>
  334. <Column id="instcd" type="STRING"/>
  335. <Column id="workcd" type="STRING"/>
  336. <Column id="appno" type="STRING"/>
  337. <Column id="apptype" type="STRING"/>
  338. <Column id="appid" type="STRING"/>
  339. <Column id="appidnm" type="STRING"/>
  340. <Column id="comuserid" type="STRING"/>
  341. <Column id="comusernm" type="STRING"/>
  342. <Column id="fromdd" type="STRING"/>
  343. <Column id="todd" type="STRING"/>
  344. </ColumnInfo>
  345. <Rows>
  346. <Row/>
  347. </Rows>
  348. </Dataset>
  349. <Dataset id="ds_dutylist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_dutylist_oncolumnchanged">
  350. <ColumnInfo>
  351. <Column id="gubun" type="STRING"/>
  352. <Column id="instcd" type="STRING"/>
  353. <Column id="workcd" type="STRING"/>
  354. <Column id="dutyno" type="STRING"/>
  355. <Column id="dutycd" type="STRING"/>
  356. <Column id="dutynm" type="STRING"/>
  357. <Column id="maxcnt" type="STRING"/>
  358. <Column id="fromtm" type="STRING"/>
  359. <Column id="totm" type="STRING"/>
  360. <Column id="nextyn" type="STRING"/>
  361. <Column id="holigubun" type="STRING"/>
  362. <Column id="weekpay" type="STRING"/>
  363. <Column id="holipay" type="STRING"/>
  364. <Column id="fromdd" type="STRING"/>
  365. <Column id="todd" type="STRING"/>
  366. </ColumnInfo>
  367. </Dataset>
  368. <Dataset id="ds_dutycd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  369. <ColumnInfo>
  370. <Column id="label" type="STRING" size="256"/>
  371. <Column id="value" type="STRING" size="256"/>
  372. </ColumnInfo>
  373. <Rows>
  374. <Row>
  375. <Col id="label">D</Col>
  376. <Col id="value">D</Col>
  377. </Row>
  378. <Row>
  379. <Col id="label">E</Col>
  380. <Col id="value">E</Col>
  381. </Row>
  382. <Row>
  383. <Col id="label">N</Col>
  384. <Col id="value">N</Col>
  385. </Row>
  386. </Rows>
  387. </Dataset>
  388. <Dataset id="ds_maxcnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  389. <ColumnInfo>
  390. <Column id="label" type="STRING" size="256"/>
  391. <Column id="value" type="STRING" size="256"/>
  392. </ColumnInfo>
  393. <Rows>
  394. <Row>
  395. <Col id="label">1명</Col>
  396. <Col id="value">1</Col>
  397. </Row>
  398. <Row>
  399. <Col id="label">2명</Col>
  400. <Col id="value">2</Col>
  401. </Row>
  402. <Row>
  403. <Col id="label">3명</Col>
  404. <Col id="value">3</Col>
  405. </Row>
  406. <Row>
  407. <Col id="label">4명</Col>
  408. <Col id="value">4</Col>
  409. </Row>
  410. <Row>
  411. <Col id="label">5명</Col>
  412. <Col id="value">5</Col>
  413. </Row>
  414. <Row>
  415. <Col id="label">6명</Col>
  416. <Col id="value">6</Col>
  417. </Row>
  418. <Row>
  419. <Col id="label">7명</Col>
  420. <Col id="value">7</Col>
  421. </Row>
  422. <Row>
  423. <Col id="label">8명</Col>
  424. <Col id="value">8</Col>
  425. </Row>
  426. <Row>
  427. <Col id="label">9명</Col>
  428. <Col id="value">9</Col>
  429. </Row>
  430. </Rows>
  431. </Dataset>
  432. <Dataset id="ds_nextyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  433. <ColumnInfo>
  434. <Column id="label" type="STRING" size="256"/>
  435. <Column id="value" type="STRING" size="256"/>
  436. </ColumnInfo>
  437. <Rows>
  438. <Row>
  439. <Col id="label">당일</Col>
  440. <Col id="value">N</Col>
  441. </Row>
  442. <Row>
  443. <Col id="label">익일</Col>
  444. <Col id="value">Y</Col>
  445. </Row>
  446. </Rows>
  447. </Dataset>
  448. <Dataset id="ds_confirmyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  449. <ColumnInfo>
  450. <Column id="label" type="STRING" size="256"/>
  451. <Column id="value" type="STRING" size="256"/>
  452. </ColumnInfo>
  453. <Rows>
  454. <Row>
  455. <Col id="label"/>
  456. <Col id="value">N</Col>
  457. </Row>
  458. <Row>
  459. <Col id="label">부서</Col>
  460. <Col id="value">D</Col>
  461. </Row>
  462. <Row>
  463. <Col id="label">최종</Col>
  464. <Col id="value">Y</Col>
  465. </Row>
  466. </Rows>
  467. </Dataset>
  468. <Dataset id="ds_print00" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  469. <ColumnInfo>
  470. <Column id="instcd" type="STRING" size="256"/>
  471. <Column id="workcd" type="STRING" size="256"/>
  472. <Column id="workdd" type="STRING" size="256"/>
  473. <Column id="datenm" type="STRING" size="256"/>
  474. <Column id="dutycd" type="STRING" size="256"/>
  475. <Column id="dutynm" type="STRING" size="256"/>
  476. <Column id="deptcd" type="STRING" size="256"/>
  477. <Column id="deptnm" type="STRING" size="256"/>
  478. <Column id="userid" type="STRING" size="256"/>
  479. <Column id="usernm" type="STRING" size="256"/>
  480. <Column id="holiyn" type="STRING" size="256"/>
  481. <Column id="confirmyn" type="STRING" size="256"/>
  482. <Column id="fromdt" type="STRING" size="256"/>
  483. <Column id="todt" type="STRING" size="256"/>
  484. </ColumnInfo>
  485. </Dataset>
  486. <Dataset id="ds_print01" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  487. <Dataset id="ds_print02" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  488. <Dataset id="ds_print03" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  489. <ColumnInfo>
  490. <Column id="instcd" type="STRING" size="256"/>
  491. <Column id="weekno" type="STRING" size="256"/>
  492. <Column id="dutycd" type="STRING" size="256"/>
  493. <Column id="rank" type="STRING" size="256"/>
  494. <Column id="workdeptcd" type="STRING" size="256"/>
  495. <Column id="placenm" type="STRING" size="256"/>
  496. <Column id="confirmdrid" type="STRING" size="256"/>
  497. <Column id="confirmdrnm" type="STRING" size="256"/>
  498. <Column id="confirmdrsign" type="STRING" size="256"/>
  499. <Column id="confirmdrid2" type="STRING" size="256"/>
  500. <Column id="confirmdrnm2" type="STRING" size="256"/>
  501. <Column id="confirmdrsign2" type="STRING" size="256"/>
  502. <Column id="workdd1" type="STRING" size="256"/>
  503. <Column id="drid1" type="STRING" size="256"/>
  504. <Column id="drnm1" type="STRING" size="256"/>
  505. <Column id="drsign1" type="STRING" size="256"/>
  506. <Column id="workdd2" type="STRING" size="256"/>
  507. <Column id="drid2" type="STRING" size="256"/>
  508. <Column id="drnm2" type="STRING" size="256"/>
  509. <Column id="drsign2" type="STRING" size="256"/>
  510. <Column id="workdd3" type="STRING" size="256"/>
  511. <Column id="drid3" type="STRING" size="256"/>
  512. <Column id="drnm3" type="STRING" size="256"/>
  513. <Column id="drsign3" type="STRING" size="256"/>
  514. <Column id="workdd4" type="STRING" size="256"/>
  515. <Column id="drid4" type="STRING" size="256"/>
  516. <Column id="drnm4" type="STRING" size="256"/>
  517. <Column id="drsign4" type="STRING" size="256"/>
  518. <Column id="workdd5" type="STRING" size="256"/>
  519. <Column id="drid5" type="STRING" size="256"/>
  520. <Column id="drnm5" type="STRING" size="256"/>
  521. <Column id="drsign5" type="STRING" size="256"/>
  522. <Column id="workdd6" type="STRING" size="256"/>
  523. <Column id="drid6" type="STRING" size="256"/>
  524. <Column id="drnm6" type="STRING" size="256"/>
  525. <Column id="drsign6" type="STRING" size="256"/>
  526. <Column id="workdd7" type="STRING" size="256"/>
  527. <Column id="drid7" type="STRING" size="256"/>
  528. <Column id="drnm7" type="STRING" size="256"/>
  529. <Column id="drsign7" type="STRING" size="256"/>
  530. <Column id="rmk" type="STRING" size="256"/>
  531. </ColumnInfo>
  532. </Dataset>
  533. <Dataset id="ds_menu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  534. <ColumnInfo>
  535. <Column id="label" type="STRING" size="256"/>
  536. <Column id="func" type="STRING" size="256"/>
  537. <Column id="level" type="STRING" size="256"/>
  538. </ColumnInfo>
  539. <Rows>
  540. <Row>
  541. <Col id="label">삭제</Col>
  542. <Col id="func">fDeleteWork</Col>
  543. <Col id="level">0</Col>
  544. </Row>
  545. </Rows>
  546. </Dataset>
  547. <Dataset id="ds_sampleexcel" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  548. <ColumnInfo>
  549. <Column id="workdd" type="STRING" size="256"/>
  550. <Column id="dutynm" type="STRING" size="256"/>
  551. <Column id="deptnm" type="STRING" size="256"/>
  552. <Column id="usernm" type="STRING" size="256"/>
  553. <Column id="userid" type="STRING" size="256"/>
  554. <Column id="dutycd" type="STRING" size="256"/>
  555. <Column id="deptcd" type="STRING" size="256"/>
  556. <Column id="workcd" type="STRING" size="256"/>
  557. <Column id="instcd" type="STRING" size="256"/>
  558. <Column id="datenm" type="STRING" size="256"/>
  559. </ColumnInfo>
  560. </Dataset>
  561. <Dataset id="ds_uploadexcel" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  562. <ColumnInfo>
  563. <Column id="workdd" type="STRING" size="256"/>
  564. <Column id="dutynm" type="STRING" size="256"/>
  565. <Column id="deptnm" type="STRING" size="256"/>
  566. <Column id="usernm" type="STRING" size="256"/>
  567. <Column id="userid" type="STRING" size="256"/>
  568. <Column id="dutycd" type="STRING" size="256"/>
  569. <Column id="deptcd" type="STRING" size="256"/>
  570. <Column id="workcd" type="STRING" size="256"/>
  571. <Column id="instcd" type="STRING" size="256"/>
  572. <Column id="datenm" type="STRING" size="256"/>
  573. </ColumnInfo>
  574. </Dataset>
  575. <Dataset id="ds_result_icu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  576. <Dataset id="ds_result_icu_uploaddoc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  577. <Dataset id="ds_send_list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  578. <ColumnInfo>
  579. <Column id="actgubun" type="STRING" size="256"/>
  580. <Column id="workcd" type="STRING" size="256"/>
  581. <Column id="workdd" type="STRING" size="256"/>
  582. <Column id="worktype" type="STRING" size="256"/>
  583. <Column id="dutycd" type="STRING" size="256"/>
  584. <Column id="deptcd" type="STRING" size="256"/>
  585. <Column id="userid" type="STRING" size="256"/>
  586. <Column id="rmk" type="STRING" size="256"/>
  587. <Column id="confirmyn" type="STRING" size="256"/>
  588. <Column id="workallhalf" type="STRING" size="256" sumtext="전일, 반일"/>
  589. </ColumnInfo>
  590. </Dataset>
  591. <Dataset id="ds_menu_icudoc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  592. <ColumnInfo>
  593. <Column id="label" type="STRING" size="256"/>
  594. <Column id="func" type="STRING" size="256"/>
  595. <Column id="level" type="STRING" size="256"/>
  596. </ColumnInfo>
  597. <Rows>
  598. <Row>
  599. <Col id="label">전일</Col>
  600. <Col id="func">fAllDayICUDoc</Col>
  601. <Col id="level">0</Col>
  602. </Row>
  603. <Row>
  604. <Col id="label">반일</Col>
  605. <Col id="level">0</Col>
  606. <Col id="func">fHalfDayICUDoc</Col>
  607. </Row>
  608. <Row>
  609. <Col id="label">대체</Col>
  610. <Col id="level">0</Col>
  611. <Col id="func">fReplDayICUDoc</Col>
  612. </Row>
  613. </Rows>
  614. </Dataset>
  615. <Dataset id="ds_result_icualldoc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  616. <Dataset id="ds_result_icuhalfdoc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  617. </Objects>
  618. <Bind>
  619. <BindItem id="item2" compid="group3.group4.cmb_orddeptcd" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  620. <BindItem id="item3" compid="group3.group1.cpt_worktitle" propid="text" datasetid="ds_main_titleinfo" columnid="worktitle"/>
  621. <BindItem id="item10" compid="group3.group4.ipt_srchdd" propid="value" datasetid="ds_cond" columnid="srchdd"/>
  622. <BindItem id="item0" compid="grp_top.ipt_basedd" propid="value" datasetid="ds_cond" columnid="basedd"/>
  623. <BindItem id="item1" compid="SMMMI00900" propid="text" datasetid="ds_cond" columnid="srchdd"/>
  624. <BindItem id="item4" compid="grp_top.cmb_workcd" propid="value" datasetid="ds_cond" columnid="workcd"/>
  625. <BindItem id="item5" compid="grp_left.grp_sa.cmb_orddeptcd" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  626. <BindItem id="item8" compid="grp_left.ipt_authdeptnm" propid="value" datasetid="ds_workcdinfo" columnid="authdeptnm"/>
  627. <BindItem id="item9" compid="grp_left.tar_msg" propid="value" datasetid="ds_workcdinfo" columnid="msg"/>
  628. </Bind>
  629. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  630. * System Name : 경대 의료정보시스템
  631. * Job Name :
  632. * Creator : 엄영만
  633. * Make Date : 2018-05-21
  634. * Description :
  635. ****************************************************************************************/
  636. //=======================================================================================
  637. // Lib Include
  638. //---------------------------------------------------------------------------------------
  639. include "com_commonxp::comm_main.xjs";
  640. include "emr_prcpmngtxp::MMOCommon.xjs";
  641. include "emr_prcpmngtxp::MMO001.xjs";
  642. include "emr_prcpinfoxp::SMMMI00900.xjs";
  643. //=======================================================================================
  644. // Global Form Variable
  645. //---------------------------------------------------------------------------------------
  646. //이전 셀의 행,열 인덱스를 저장하는 변수
  647. var col = -1;
  648. var row = -1;
  649. var arErrorCode = new HashArray();
  650. //=======================================================================================
  651. // Function
  652. //---------------------------------------------------------------------------------------
  653. //=======================================================================================
  654. // Event
  655. //---------------------------------------------------------------------------------------
  656. /****************************************************************************************
  657. * Components : Form
  658. * Components ID : SMMMI00900
  659. * Event : oninit
  660. * Argument : 01.obj : Object Event has occurred
  661. * : 02.e : Event Object
  662. * Description : 화면 처음 초기화시
  663. ****************************************************************************************/
  664. function SMMMI00900_oninit(obj:Form, e:InitEventInfo)
  665. {
  666. frmf_initForm(obj); //폼 초기화
  667. }
  668. /****************************************************************************************
  669. * Components : Form
  670. * Components ID : SMMMI00900
  671. * Event : onload
  672. * Argument : 01.obj : Object Event has occurred
  673. * : 02.e : Event Object
  674. * Description : 화면 로딩 완료시
  675. ****************************************************************************************/
  676. function SMMMI00900_onload(obj:Form, e:LoadEventInfo)
  677. {
  678. grdf_setToolTipBind(grp_right.grd_workschelist);
  679. fInit();
  680. }
  681. /****************************************************************************************
  682. * Components : Button
  683. * Components ID : btn_cnfm
  684. * Event : onclick
  685. * Argument : 01.obj : Object Event has occurred
  686. * : 02.e : Event Object
  687. * Description : 최종저장버튼 클릭시
  688. ****************************************************************************************/
  689. function grp_right_btn_cnfm_onclick(obj:Button, e:ClickEventInfo)
  690. {
  691. fConfirm();
  692. }
  693. /****************************************************************************************
  694. * Components : Button
  695. * Components ID : btn_search
  696. * Event : onclick
  697. * Argument : 01.obj : Object Event has occurred
  698. * : 02.e : Event Object
  699. * Description : 조회버튼 클릭시
  700. ****************************************************************************************/
  701. function grp_top_btn_search_onclick(obj:Button, e:ClickEventInfo)
  702. {
  703. // 당직정보 가져오기
  704. fGetWorkCdInfo();
  705. }
  706. /****************************************************************************************
  707. * Components : Combo
  708. * Components ID : cmb_workcd
  709. * Event : onitemchanged
  710. * Argument : 01.obj : Object Event has occurred
  711. * : 02.e : Event Object
  712. * Description : 콤보 값 변경시
  713. ****************************************************************************************/
  714. function grp_top_cmb_workcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  715. {
  716. //20190923 이돈희 : 중환자실 전일, 반일 의사 일괄 업로드 기능 구현할 당직 중 진료행정과만 버튼 활성화
  717. if(ds_result_icu.findRow("rmk", obj.value) > -1){
  718. if(sysf_getUserInfo("dutplceinstcd") == "031"){
  719. if(sysf_getUserInfo("dutplcecd") == "3310000000" || sysf_getUserInfo("dutplcecd") == "3310200000" || sysf_getUserInfo("userid") == "EMR"){ // 진료행정과 진료지원팀
  720. grp_top.btn_uploaddoctor.visible = true;
  721. grp_top.btn_check.visible = true;
  722. grp_top.btn_deletereason.visible = true;
  723. }
  724. }
  725. }
  726. fGetWorkCdInfo();
  727. }
  728. function grp_top_ipt_basedd_onchanged(obj:Calendar, e:ChangeEventInfo)
  729. {
  730. fGetWorkCdInfo();
  731. }
  732. function grp_left_grp_sa_cmb_orddeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  733. {
  734. // 당직 의사 가져오기
  735. fGetWorkDrList();
  736. var sWorkType = ds_cond.getColumn(0, "worktype");
  737. if(sWorkType == "D") {
  738. // 당직 근무 가져오기
  739. fGetWorkScheList();
  740. }
  741. }
  742. /****************************************************************************************
  743. * Components : Button
  744. * Components ID : btn_bfyear
  745. * Event : onclick
  746. * Argument : 01.obj : Object Event has occurred
  747. * : 02.e : Event Object
  748. * Description : <<버튼 클릭시
  749. ****************************************************************************************/
  750. function grp_top_btn_bfyear_onclick(obj:Button, e:ClickEventInfo)
  751. {
  752. fClkArrowBtn(obj.name);
  753. }
  754. /****************************************************************************************
  755. * Components : Button
  756. * Components ID : btn_bfmonth
  757. * Event : onclick
  758. * Argument : 01.obj : Object Event has occurred
  759. * : 02.e : Event Object
  760. * Description : <버튼 클릭시
  761. ****************************************************************************************/
  762. function grp_top_btn_bfmonth_onclick(obj:Button, e:ClickEventInfo)
  763. {
  764. fClkArrowBtn(obj.name);
  765. }
  766. /****************************************************************************************
  767. * Components : Button
  768. * Components ID : btn_afmonth
  769. * Event : onclick
  770. * Argument : 01.obj : Object Event has occurred
  771. * : 02.e : Event Object
  772. * Description : >버튼 클릭시
  773. ****************************************************************************************/
  774. function grp_top_btn_afmonth_onclick(obj:Button, e:ClickEventInfo)
  775. {
  776. fClkArrowBtn(obj.name);
  777. }
  778. /****************************************************************************************
  779. * Components : Button
  780. * Components ID : btn_afyear
  781. * Event : onclick
  782. * Argument : 01.obj : Object Event has occurred
  783. * : 02.e : Event Object
  784. * Description : >>버튼 클릭시
  785. ****************************************************************************************/
  786. function grp_top_btn_afyear_onclick(obj:Button, e:ClickEventInfo)
  787. {
  788. fClkArrowBtn(obj.name);
  789. }
  790. function grp_right_grd_workschelist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  791. {
  792. if(e.col == obj.getBindCellIndex("body", "drnm_d") || e.col == obj.getBindCellIndex("body", "drnm_e") || e.col == obj.getBindCellIndex("body", "drnm_n")) {
  793. //20190924 이돈희 : 전일, 반일 등록 중환자실 인 경우 입력, 삭제시 메뉴 추가
  794. if(ds_result_icu.findRow("rmk", ds_cond.getColumn(0, "workcd")) > -1){
  795. var curUserRow = grp_left.grd_workdrlist.currentrow
  796. if (curUserRow < 0) {
  797. sysf_messageBox('선택된 당직의가 없습니다.', 'E999');
  798. return false;
  799. }
  800. //전문의는 전일, 반일, 대체자 메뉴를 표시하고, 전공의는 자동 입력
  801. if(ds_workdrlist.getColumn(curUserRow, "jobposcd") == "1782"){
  802. pmn_menu_icudoc.trackPopup(e.screenX,e.screenY);
  803. } else {
  804. fInsertWorkScheList("");
  805. }
  806. } else {
  807. fInsertWorkScheList("");
  808. }
  809. } else if(e.col == obj.getBindCellIndex("body", "rmk")){
  810. fInsertWorkScheList("");
  811. } else {
  812. //do Nothing
  813. }
  814. }
  815. function grp_left_grd_workdrlist_onlbuttonup(obj:Grid, e:GridMouseEventInfo)
  816. {
  817. if(e.row < 0) return;
  818. grdf_setSelectedCell(obj, e);
  819. }
  820. function grp_right_btn_payview_onclick(obj:Button, e:ClickEventInfo)
  821. {
  822. var mon = sysf_getCurrentMonitorNumber();
  823. var xpt = this.getOwnerFrame().position.x + 200;
  824. var ypt = this.getOwnerFrame().position.y + 100;
  825. var objArg = new Object();
  826. objArg.arg_cond = ds_cond;
  827. frmf_modal("SMMMI00910", "SMMMI00910", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M");
  828. }
  829. function grp_right_btn_dupview_onclick(obj:Button, e:ClickEventInfo)
  830. {
  831. var mon = sysf_getCurrentMonitorNumber();
  832. var xpt = this.getOwnerFrame().position.x + 200;
  833. var ypt = this.getOwnerFrame().position.y + 100;
  834. var objArg = new Object();
  835. objArg.arg_cond = ds_cond;
  836. frmf_modal("SMMMI00920", "SMMMI00920", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M");
  837. }
  838. function grp_right_grd_workschelist_onenterdown(obj:Grid, e:GridEditEventInfo)
  839. {
  840. var sDeptcd = "";
  841. var sWorkCd = "";
  842. var sWorkDd = "";
  843. var sConfirmYn = "";
  844. var sSuperYn = "";
  845. var sAuthYn = "";
  846. var sRmk = "";
  847. var curSchekRow = grp_right.grd_workschelist.currentrow;
  848. if (curSchekRow < 0) return;
  849. if (obj.currentcol == obj.getBindCellIndex("body", "rmk")) {
  850. if (sysf_messageBox("해당 일자의 비고사항을 저장하시겠습니까?", "Q") == "6") {
  851. sWorkCd = ds_cond.getColumn(0, "workcd");
  852. sDeptcd = ds_cond.getColumn(0, "orddeptcd");
  853. sSuperYn = ds_cond.getColumn(0, "superyn");
  854. sAuthYn = ds_cond.getColumn(0, "authyn");
  855. sWorkDd = ds_workschelist.getColumn(curSchekRow, "workdd");
  856. sConfirmYn = ds_workschelist.getColumn(curSchekRow, "confirmyn");
  857. sRmk = ds_workschelist.getColumn(curSchekRow, "rmk");
  858. if(utlf_isNull(sWorkCd) || utlf_isNull(sDeptcd) || utlf_isNull(sWorkDd)) {
  859. return;
  860. }
  861. if(sSuperYn != "Y" && sAuthYn != "Y") {
  862. sysf_messageBox('비고사항은 당직 관리부서에서만 수정 가능 합니다.\r\n당직 관리부서로 연락바랍니다.', 'E999');
  863. return;
  864. }
  865. fSetRmkInfo(sWorkCd, sWorkDd, sRmk); // 비고정보 설정
  866. }
  867. }
  868. }
  869. function fChngGrdCellColor(color){
  870. if(color == undefined || color == "" || color == "ffffff")
  871. color = "default";
  872. else
  873. color = "#" + color;
  874. return color;
  875. }
  876. /****************************************************************************************
  877. * Components : Button
  878. * Components ID : btn_prt
  879. * Event : onclick
  880. * Argument : 01.obj : Object Event has occurred
  881. * : 02.e : Event Object
  882. * Description : 출력버튼 클릭시
  883. ****************************************************************************************/
  884. function grp_right_btn_prt00_onclick(obj:Button, e:ClickEventInfo)
  885. {
  886. fExecPrint00();
  887. }
  888. function grp_right_btn_prt01_onclick(obj:Button, e:ClickEventInfo)
  889. {
  890. fExecPrint01();
  891. }
  892. function grp_right_btn_prt02_onclick(obj:Button, e:ClickEventInfo)
  893. {
  894. fExecPrint02();
  895. }
  896. function grp_right_btn_prt03_onclick(obj:Button, e:ClickEventInfo)
  897. {
  898. fExecPrint03();
  899. }
  900. function grp_right_grd_workschelist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  901. {
  902. if(e.row < 0) return;
  903. if(e.col == obj.getBindCellIndex("body", "drnm_d") || e.col == obj.getBindCellIndex("body", "drnm_e") || e.col == obj.getBindCellIndex("body", "drnm_n") || e.col == obj.getBindCellIndex("body", "rmk")) {
  904. grdf_setSelectedCell(obj, e);
  905. pmn_menu.trackPopup(e.screenX,e.screenY);
  906. }
  907. }
  908. function pmn_menu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  909. {
  910. eval(e.id + "()");
  911. }
  912. function fDeleteWork() {
  913. var sUserId = "";
  914. var sDeptcd = "";
  915. var sWorkCd = "";
  916. var sWorkDd = "";
  917. var sWorkType = "";
  918. var sWorkDrId = "";
  919. var sDutyCd = "";
  920. var sActGubun = "";
  921. var sConfirmYn = "";
  922. var sSuperYn = "";
  923. var sAuthYn = "";
  924. var sCol = grp_right.grd_workschelist.currentcol;
  925. var sColNm = grp_right.grd_workschelist.getCellProperty("Body", sCol, "text").replace("bind:", "");
  926. if(sColNm != "drnm_d" && sColNm != "drnm_e" && sColNm != "drnm_n" && sColNm != "rmk" ) {
  927. return;
  928. }
  929. var curSchekRow = grp_right.grd_workschelist.currentrow
  930. if (curSchekRow < 0) {
  931. sysf_messageBox('선택된 항목이 없습니다.', 'E999');
  932. return;
  933. }
  934. sWorkCd = ds_cond.getColumn(0, "workcd");
  935. sWorkType = ds_cond.getColumn(0, "worktype");
  936. sDeptcd = ds_cond.getColumn(0, "orddeptcd");
  937. sSuperYn = ds_cond.getColumn(0, "superyn");
  938. sAuthYn = ds_cond.getColumn(0, "authyn");
  939. sWorkDd = ds_workschelist.getColumn(curSchekRow, "workdd");
  940. sConfirmYn = ds_workschelist.getColumn(curSchekRow, "confirmyn");
  941. if(utlf_isNull(sWorkCd) || utlf_isNull(sDeptcd) || utlf_isNull(sWorkDd)) {
  942. return;
  943. }
  944. if(sSuperYn != "Y" && sAuthYn != "Y") {
  945. if(sDeptcd != sysf_getUserInfo("dutplcecd")) {
  946. sysf_messageBox("로그인 부서의 당직 정보만 저장 가능 합니다.", "E999");
  947. return;
  948. }
  949. if (sConfirmYn != "N") {
  950. sysf_messageBox('근무확인 된 자료는 수정할 수 없습니다.\r\n당직 관리부서로 연락바랍니다.', 'E999');
  951. return;
  952. }
  953. }
  954. //선택된 당직대상자정보(id, nm)
  955. if (sColNm == "drnm_d" || sColNm == "drnm_e" || sColNm == "drnm_n") {
  956. sActGubun = "D";
  957. if (sColNm == "drnm_d") {
  958. sWorkDrNm = ds_workschelist.getColumn(curSchekRow, "drnm_d");
  959. sWorkDrId = ds_workschelist.getColumn(curSchekRow, "drid_d");
  960. sDutyCd = "D";
  961. } else if (sColNm == "drnm_e") {
  962. sWorkDrNm = ds_workschelist.getColumn(curSchekRow, "drnm_e");
  963. sWorkDrId = ds_workschelist.getColumn(curSchekRow, "drid_e");
  964. sDutyCd = "E";
  965. } else if (sColNm == "drnm_n") {
  966. sWorkDrNm = ds_workschelist.getColumn(curSchekRow, "drnm_n");
  967. sWorkDrId = ds_workschelist.getColumn(curSchekRow, "drid_n");
  968. sDutyCd = "N";
  969. }
  970. if(utlf_isNull(sWorkDrId)) {
  971. sysf_messageBox('삭제할 근무자가 없습니다.', 'E999');
  972. return;
  973. }
  974. if (sysf_messageBox("해당 일자의 근무자(" + sWorkDrNm +")를 삭제하시겠습니까?", "Q") == "6") {
  975. var arrUser = sWorkDrId.split(",");
  976. for(var i = 0; i < arrUser.length; i++){
  977. sUserId = arrUser[i];
  978. fSetWorkInfo(sActGubun, sWorkCd, sWorkDd, sWorkType, sDutyCd, sDeptcd, sUserId, sConfirmYn); // 근무정보 설정
  979. }
  980. }
  981. } else if (sColNm == "rmk") {
  982. if(sSuperYn != "Y" && sAuthYn != "Y") {
  983. sysf_messageBox('비고사항은 당직 관리부서에서만 수정 가능 합니다.\r\n당직 관리부서로 연락바랍니다.', 'E999');
  984. return;
  985. }
  986. if (sysf_messageBox("해당 일자의 비고사항을 삭제하시겠습니까?", "Q") == "6") {
  987. fSetRmkInfo(sWorkCd, sWorkDd, "-"); // 비고정보 설정
  988. }
  989. }
  990. fSetWorkInfo(sActGubun, sWorkCd, sWorkDd, sWorkType, sDutyCd, sDeptcd, sUserId, sConfirmYn); // 근무정보 설정
  991. }
  992. function grp_right_btn_exceldown_onclick(obj:Button, e:ClickEventInfo)
  993. {
  994. fExcelDownlode();
  995. }
  996. function grp_right_btn_excelup_onclick(obj:Button, e:ClickEventInfo)
  997. {
  998. fExcelUplode();
  999. }
  1000. //20190923 이돈희 : 중환자실 전일, 반일 의사 일괄 업로드 기능 구현
  1001. function grp_top_btn_uploaddoctor_onclick(obj:Button, e:ClickEventInfo)
  1002. {
  1003. if(sysf_messageBox("중복되어 입력하지 않도록 주의해주십시오.\n\n진행하시겠습니까?", "Q999") == "6"){
  1004. fUploadIICUExclusiveChargeDoctor();
  1005. }
  1006. }
  1007. //29189825 이돈희 : 중환자실 당직 검증용으로 주, 의사별 전일, 반일, 대체 횟수 조회
  1008. function grp_top_btn_check_onclick(obj:Button, e:ClickEventInfo)
  1009. {
  1010. var objArg = new Object();
  1011. objArg.arg_ds_cond = ds_cond;
  1012. frmf_modal("SMMMI00940", "SMMMI00940", objArg, null, null, null, null, null, null, null, null, null, "M");
  1013. }
  1014. function grp_top_btn_deletereason_onclick(obj:Button, e:ClickEventInfo)
  1015. {
  1016. var objArg = new Object();
  1017. objArg.arg_ds_cond = ds_cond;
  1018. frmf_modal("SMMMI00950", "SMMMI00950", objArg, null, null, null, null, null, null, null, null, null, "M");
  1019. }
  1020. ]]></Script>
  1021. </Form>
  1022. </FDL>