SMMNE09600_감염관리실근무관리.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNE09000" position="absolute 0 0 1020 886" titletext="감염관리의사 근무관리" oninit="SMMNE09600_oninit" onload="SMMNE09600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 1 128 320 858" id="grd_drlist" binddataset="ds_grd_drlist">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="70"/>
  12. <Column size="80"/>
  13. <Column size="50"/>
  14. <Column size="100"/>
  15. <Column size="0"/>
  16. </Columns>
  17. <Rows>
  18. <Row size="24" band="head"/>
  19. <Row size="24"/>
  20. </Rows>
  21. <Band id="head">
  22. <Cell text="사번"/>
  23. <Cell col="1" text="이름"/>
  24. <Cell col="2" text="nzone"/>
  25. <Cell col="3" text="Hp No"/>
  26. <Cell col="4"/>
  27. </Band>
  28. <Band id="body">
  29. <Cell text="bind:drid"/>
  30. <Cell col="1" text="bind:drnm"/>
  31. <Cell col="2" text="bind:nzone"/>
  32. <Cell col="3" text="bind:hpno"/>
  33. <Cell col="4" text="bind:orddeptcd"/>
  34. </Band>
  35. </Format>
  36. </Formats>
  37. </Grid>
  38. <Static text="근무 의사 선택" position="absolute 5 72 293 85" id="caption3" class="tit_2"/>
  39. <Div position="absolute 1 18 996 63" align="align:center top;" id="group4">
  40. <Layouts>
  41. <Layout/>
  42. </Layouts>
  43. </Div>
  44. <Grid position="absolute 322 88 995 858" align="align:center middle;" id="grd_workerlist" binddataset="ds_grd_workerlist" selecttype="cell" oncelldblclick="grd_workerlist_oncelldblclick">
  45. <Formats>
  46. <Format id="default">
  47. <Columns>
  48. <Column size="75"/>
  49. <Column size="45"/>
  50. <Column size="0"/>
  51. <Column size="110"/>
  52. <Column size="140"/>
  53. <Column size="140"/>
  54. <Column size="145"/>
  55. <Column size="0"/>
  56. <Column size="0"/>
  57. <Column size="0"/>
  58. <Column size="0"/>
  59. <Column size="0"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. <Column size="0"/>
  63. <Column size="0"/>
  64. <Column size="0"/>
  65. </Columns>
  66. <Rows>
  67. <Row size="24" band="head"/>
  68. <Row size="24"/>
  69. </Rows>
  70. <Band id="head">
  71. <Cell text="일자" taborder="undefined"/>
  72. <Cell col="1" text="요일" taborder="undefined"/>
  73. <Cell col="2" text="구분"/>
  74. <Cell col="3" text="위치" taborder="undefined"/>
  75. <Cell col="4" text="오전"/>
  76. <Cell col="5" text="오후"/>
  77. <Cell col="6" text="비고" taborder="undefined"/>
  78. <Cell col="7" text="drid_d"/>
  79. <Cell col="8" text="drid_d2"/>
  80. <Cell col="9" text="drid_n"/>
  81. <Cell col="10" text="ddeptcd"/>
  82. <Cell col="11" text="ddeptnm"/>
  83. <Cell col="12" text="d2deptcd"/>
  84. <Cell col="13" text="d2deptnm"/>
  85. <Cell col="14" text="ndeptcd"/>
  86. <Cell col="15" text="ndeptnm"/>
  87. <Cell col="16" text="placecd"/>
  88. </Band>
  89. <Band id="body">
  90. <Cell displaytype="date" text="bind:workdd" mask="yyyy-MM-dd"/>
  91. <Cell col="1" text="bind:datenm"/>
  92. <Cell col="2" displaytype="combo" edittype="combo" text="bind:gbn" enable="false"/>
  93. <Cell col="3" text="bind:placenm"/>
  94. <Cell col="4" text="bind:drnm_am"/>
  95. <Cell col="5" text="bind:drnm_pm"/>
  96. <Cell col="6" displaytype="text" edittype="text" text="bind:bigo"/>
  97. <Cell col="7" text="bind:drid_d"/>
  98. <Cell col="8" text="bind:drid_d2"/>
  99. <Cell col="9" text="bind:drid_n"/>
  100. <Cell col="10" text="bind:ddeptcd"/>
  101. <Cell col="11" text="bind:ddeptnm"/>
  102. <Cell col="12" text="bind:d2deptcd"/>
  103. <Cell col="13" text="bind:d2deptnm"/>
  104. <Cell col="14" text="bind:ndeptcd"/>
  105. <Cell col="15" text="bind:ndeptnm"/>
  106. <Cell col="16" text="bind:placecd"/>
  107. </Band>
  108. </Format>
  109. </Formats>
  110. </Grid>
  111. <Static text="근무 현황" position="absolute 322 72 715 85" id="cpt_worktitle" class="tit_2"/>
  112. <Button position="absolute 728 0 808 22" id="button2" class="btn3" enable="true" taborder="3" visible="true" text="처방현황" onclick="button2_onclick"/>
  113. <Button position="absolute 890 0 1006 22" id="button3" class="btn3" taborder="3" text="진료일정(외래)" onclick="button3_onclick"/>
  114. <Button position="absolute 809 0 889 22" id="button4" class="btn3" taborder="3" text="휴진일정" onclick="button4_onclick"/>
  115. <Static text="※ 근무시간: 오전 - 08:30 ~ 12:30, 오후 - 13:30 ~ 17:30" position="absolute 10 861 995 879" id="cap_worktime"/>
  116. <Static id="caption6" text="감염관리의사 근무스케쥴" class="tit_1" position="absolute 0 0 191 26"/>
  117. <Div id="grp_srch" taborder="4" class="div_SA" position="absolute 0 26 1006 66">
  118. <Layouts>
  119. <Layout>
  120. <Shape id="line20" linetype="vertical" class="line_4" position="absolute 754 10 760 33" anchor="default"/>
  121. <Button id="btn_search00" taborder="8" text="조회" class="btn1" position="absolute 764 9 820 31" anchor="default" onclick="grp_srch_btn_search00_onclick"/>
  122. <Button id="btn_afyear" taborder="10" class="icon_next_year" position="absolute 259 14 275 30" onclick="grp_srch_btn_afyear_onclick"/>
  123. <Button id="btn_afmonth" taborder="11" class="icon_next_month" position="absolute 241 14 257 30" onclick="grp_srch_btn_afmonth_onclick"/>
  124. <Button id="btn_bfmonth" taborder="13" class="icon_pre_month" position="absolute 108 14 124 30" onclick="grp_srch_btn_bfmonth_onclick"/>
  125. <Button id="btn_bfyear" taborder="14" class="icon_pre_year" position="absolute 90 14 106 30" onclick="grp_srch_btn_bfyear_onclick"/>
  126. <Static id="caption4" text="근무년월 :" class="search_name" position="absolute 5 13 88 30"/>
  127. <Button id="button6" taborder="17" text="근무표출력" class="btn2" position="absolute 840 9 934 31" onclick="grp_srch_button6_onclick"/>
  128. <Button id="button5" taborder="18" text="Excel" onclick="button5_onclick" class="btn7" position="absolute 936 9 999 31"/>
  129. <Calendar id="ipt_srchdd" taborder="19" autoselect="true" dateformat="yyyy-MM-dd" position="absolute 131 12 238 32" style="align:center middle;"/>
  130. </Layout>
  131. </Layouts>
  132. </Div>
  133. <Shape id="roundrect2" type="roundrectangle" position="absolute 1 88 320 123"/>
  134. <Static id="caption1" text="진 료 과 :" position="absolute 10 96 101 113"/>
  135. <Combo id="cmb_orddeptcd" taborder="5" innerdataset="ds_init_cmb_orddeptcd" codecolumn="hardcd" datacolumn="hardcdnm" position="absolute 95 96 300 115" onitemchanged="cmb_orddeptcd_onitemchanged"/>
  136. </Layout>
  137. </Layouts>
  138. <Objects>
  139. <Dataset id="ds_grd_drlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  140. <ColumnInfo>
  141. <Column id="drid" type="STRING"/>
  142. <Column id="drnm" type="STRING"/>
  143. <Column id="nzone" type="STRING"/>
  144. <Column id="hpno" type="STRING"/>
  145. <Column id="orddeptcd" type="STRING"/>
  146. </ColumnInfo>
  147. </Dataset>
  148. <Dataset id="ds_grd_workerlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_workerlist_oncolumnchanged">
  149. <ColumnInfo>
  150. <Column id="workdd" type="STRING"/>
  151. <Column id="datenm" type="STRING"/>
  152. <Column id="gbn" type="STRING"/>
  153. <Column id="placecd" type="STRING"/>
  154. <Column id="placenm" type="STRING"/>
  155. <Column id="drid_am" type="STRING"/>
  156. <Column id="drnm_am" type="STRING"/>
  157. <Column id="drid_pm" type="STRING"/>
  158. <Column id="drnm_pm" type="STRING"/>
  159. <Column id="amdeptcd" type="STRING"/>
  160. <Column id="amdeptnm" type="STRING"/>
  161. <Column id="pmdeptcd" type="STRING"/>
  162. <Column id="pmdeptnm" type="STRING"/>
  163. <Column id="bigo" type="STRING"/>
  164. </ColumnInfo>
  165. </Dataset>
  166. <Dataset id="ds_init_cmb_orddeptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  167. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_cond_oncolumnchanged">
  168. <ColumnInfo>
  169. <Column id="gbn" type="STRING"/>
  170. <Column id="placecd" type="STRING"/>
  171. <Column id="srchym" type="STRING"/>
  172. <Column id="srchdd" type="STRING"/>
  173. <Column id="orddeptcd" type="STRING"/>
  174. <Column id="adminyn" type="STRING"/>
  175. </ColumnInfo>
  176. <Rows>
  177. <Row/>
  178. </Rows>
  179. </Dataset>
  180. <Dataset id="ds_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  181. <ColumnInfo>
  182. <Column id="actgubun" type="STRING"/>
  183. <Column id="gbn" type="STRING"/>
  184. <Column id="orddeptcd" type="STRING"/>
  185. <Column id="placecd" type="STRING"/>
  186. <Column id="workdd" type="STRING"/>
  187. <Column id="duty" type="STRING"/>
  188. <Column id="drid" type="STRING"/>
  189. <Column id="fromtm" type="STRING"/>
  190. <Column id="totm" type="STRING"/>
  191. <Column id="bigo" type="STRING"/>
  192. <Column id="ipinfo" type="STRING"/>
  193. </ColumnInfo>
  194. </Dataset>
  195. <Dataset id="ds_temp_printinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  196. <ColumnInfo>
  197. <Column id="weekno" type="STRING" size="256"/>
  198. <Column id="drid" type="STRING" size="256"/>
  199. <Column id="drnm" type="STRING" size="256"/>
  200. <Column id="weektime" type="STRING" size="256"/>
  201. <Column id="workdd1" type="STRING" size="256"/>
  202. <Column id="workam1" type="STRING" size="256"/>
  203. <Column id="workpm1" type="STRING" size="256"/>
  204. <Column id="workdd2" type="STRING" size="256"/>
  205. <Column id="workam2" type="STRING" size="256"/>
  206. <Column id="workpm2" type="STRING" size="256"/>
  207. <Column id="workdd3" type="STRING" size="256"/>
  208. <Column id="workam3" type="STRING" size="256"/>
  209. <Column id="workpm3" type="STRING" size="256"/>
  210. <Column id="workdd4" type="STRING" size="256"/>
  211. <Column id="workam4" type="STRING" size="256"/>
  212. <Column id="workpm4" type="STRING" size="256"/>
  213. <Column id="workdd5" type="STRING" size="256"/>
  214. <Column id="workam5" type="STRING" size="256"/>
  215. <Column id="workpm5" type="STRING" size="256"/>
  216. <Column id="workdd6" type="STRING" size="256"/>
  217. <Column id="workam6" type="STRING" size="256"/>
  218. <Column id="workpm6" type="STRING" size="256"/>
  219. <Column id="workdd7" type="STRING" size="256"/>
  220. <Column id="workam7" type="STRING" size="256"/>
  221. <Column id="workpm7" type="STRING" size="256"/>
  222. <Column id="workpm7" type="STRING" size="256"/>
  223. </ColumnInfo>
  224. </Dataset>
  225. </Objects>
  226. <Bind>
  227. <BindItem id="item1" compid="cmb_orddeptcd" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  228. <BindItem id="item10" compid="grp_srch.ipt_srchdd" propid="value" datasetid="ds_cond" columnid="srchdd"/>
  229. </Bind>
  230. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  231. * System Name :
  232. * Job Name :
  233. * Creator :
  234. * Make Date : 2016-08-30
  235. * Description :
  236. ****************************************************************************************/
  237. include "com_commonxp::comm_main.xjs";
  238. include "emr_prcpmngtxp::MMO001.xjs";
  239. include "emr_ercarexp::SMMNE09600.xjs";
  240. function SMMNE09600_oninit(obj:Form, e:InitEventInfo)
  241. {
  242. frmf_initForm(obj);
  243. grdf_initGrid(grd_drlist);
  244. }
  245. function SMMNE09600_onload(obj:Form, e:LoadEventInfo)
  246. {
  247. fInitialize_SMMNE09600();
  248. grdf_setToolTipBind(grd_drlist);
  249. grdf_setToolTipBind(grd_workerlist);
  250. }
  251. function grp_srch_btn_bfyear_onclick(obj:Button, e:ClickEventInfo)
  252. {
  253. fClkArrowBtn(obj.name);
  254. }
  255. function grp_srch_btn_bfmonth_onclick(obj:Button, e:ClickEventInfo)
  256. {
  257. fClkArrowBtn(obj.name);
  258. }
  259. function grp_srch_btn_afmonth_onclick(obj:Button, e:ClickEventInfo)
  260. {
  261. fClkArrowBtn(obj.name);
  262. }
  263. function grp_srch_btn_afyear_onclick(obj:Button, e:ClickEventInfo)
  264. {
  265. fClkArrowBtn(obj.name);
  266. }
  267. /****************************************************************************************
  268. * Function : fClkArrowBtn
  269. * Description : 당직년월 화살표 클릭시 날자변경
  270. * Argument : objName : 버튼명
  271. * return type :
  272. * Creator :
  273. ****************************************************************************************/
  274. function fClkArrowBtn(objName){
  275. var srchdd = ds_cond.getColumn(0,"srchdd");
  276. var sNewdd = "";
  277. if(objName == "btn_bfyear") {
  278. sNewdd = srchdd.toDate("YYYYMMDD").getAddDate(-1, "Y").getDateFormat();
  279. } else if(objName == "btn_bfmonth") {
  280. sNewdd = srchdd.toDate("YYYYMMDD").getAddDate(-1, "M").getDateFormat();
  281. } else if(objName == "btn_afmonth") {
  282. sNewdd = srchdd.toDate("YYYYMMDD").getAddDate(1, "M").getDateFormat();
  283. } else if(objName == "btn_afyear"){
  284. sNewdd = srchdd.toDate("YYYYMMDD").getAddDate(1, "Y").getDateFormat();
  285. }
  286. if (!utlf_isNull(sNewdd)) {
  287. ds_cond.setColumn(0,"srchdd", sNewdd);
  288. ds_cond.setColumn(0,"srchym", sNewdd.substr(0, 6));
  289. }
  290. }
  291. function cmb_orddeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  292. {
  293. fgetDrList(); // 근무의사 조회
  294. }
  295. function grd_workerlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  296. {
  297. var oDsBind = eval(obj.binddataset);
  298. var sActGubun = "";
  299. var sGbn = "";
  300. var sWorkDd = "";
  301. var sDuty = "";
  302. var sDrid = "";
  303. var sOrdDeptcd = "";
  304. var sWorkDrId = "";
  305. var sBigo = "";
  306. if(e.col == 4 || e.col == 5) { // 오전 또는 오후 클릭시에만
  307. var nRow = ds_grd_drlist.rowposition;
  308. if( nRow < 0 ){
  309. sysf_messageBox("근무의사를 선택해주십시오.", "I");
  310. return;
  311. }
  312. sDrid = ds_grd_drlist.getColumn(nRow, "drid");
  313. sOrdDeptcd = ds_grd_drlist.getColumn(nRow, "orddeptcd");
  314. sGbn = oDsBind.getColumn(e.row, "gbn");
  315. sWorkDd = oDsBind.getColumn(e.row, "workdd");
  316. sBigo = oDsBind.getColumn(e.row, "bigo");
  317. if(e.col == 4) { // 오전 근무
  318. sDuty = "AM";
  319. sWorkDrId = oDsBind.getColumn(e.row, "drid_am");
  320. } else { // 오후 근무
  321. sDuty = "PM";
  322. sWorkDrId = oDsBind.getColumn(e.row, "drid_pm");
  323. }
  324. if(utlf_isNull(sWorkDrId) || sWorkDrId.indexOf(sDrid) == -1) { // 기존에 등록되지 않았으면
  325. sActGubun = "I";
  326. } else {// 기존에 등록되었으면
  327. sActGubun = "D";
  328. }
  329. fsetWorkInfo(sActGubun, sGbn, sWorkDd, sDuty, sOrdDeptcd, sDrid, sBigo); // 근무정보 설정
  330. }
  331. }
  332. function grp_srch_btn_search00_onclick(obj:Button, e:ClickEventInfo)
  333. {
  334. fgetWorkList(); // 근무정보 조회
  335. }
  336. function ds_grd_workerlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  337. {
  338. var sActGubun = "U";
  339. var sGbn = "";
  340. var sWorkDd = "";
  341. var sBigo = "";
  342. var sDridAm = "";
  343. var sDridPm = "";
  344. if(e.columnid == "bigo"){
  345. sDridAm = ds_grd_workerlist.getColumn(e.row, "drid_am");
  346. sDridPm = ds_grd_workerlist.getColumn(e.row, "drid_pm");
  347. if(utlf_isNull(sDridAm) && utlf_isNull(sDridPm)) {
  348. sysf_messageBox("해당일자에 등록된 근무자가 없습니다.", "I");
  349. return;
  350. }
  351. sGbn = ds_grd_workerlist.getColumn(e.row, "gbn");
  352. sWorkDd = ds_grd_workerlist.getColumn(e.row, "workdd");
  353. sBigo = ds_grd_workerlist.getColumn(e.row, "bigo");
  354. fsetWorkInfo(sActGubun, sGbn, sWorkDd, "", "", "", sBigo); // 근무정보 설정
  355. }
  356. }
  357. function button4_onclick(obj:Button, e:ClickEventInfo)
  358. {
  359. frmf_modal("SMPMB00900","SMPMB00900","","","","","","","","","","","M");
  360. }
  361. function button3_onclick(obj:Button, e:ClickEventInfo)
  362. {
  363. frmf_modal("SMPMB01900","SMPMB01900","","","","","","","","","","","M");
  364. }
  365. function button2_onclick(obj:Button, e:ClickEventInfo)
  366. {
  367. frmf_modal("SPMMO33910","SPMMO33910","","","","","","","","","","","M");
  368. }
  369. function button5_onclick(obj:Button, e:ClickEventInfo)
  370. {
  371. grdf_exportExcel(grd_workerlist, "감염관리실 근무 리스트", "근무",false,"","user",true);
  372. }
  373. function ds_cond_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  374. {
  375. if(e.columnid == "srchym"){
  376. fgetDrList(); // 근무의사 조회
  377. fgetWorkList(); // 근무정보 조회
  378. }
  379. }
  380. function grp_srch_button6_onclick(obj:Button, e:ClickEventInfo)
  381. {
  382. fPrintWorkSche();
  383. }
  384. ]]></Script>
  385. </Form>
  386. </FDL>