SPMNP00001_수술사용자조회.xfdl 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNP00001" position="absolute 0 0 604 412" titletext="수술사용자 조회" oninit="SPMNP00001_oninit" onload="SPMNP00001_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 604 412" id="group5" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 0 0 604 35" align="align:center top;" id="group2" class="div_SA2" anchor="default">
  11. <Layouts>
  12. <Layout>
  13. <Static text="검색조건" position="absolute 8 10 71 27" id="caption1" class="search_name" anchor="default"/>
  14. <Shape position="absolute 522 7 528 29" linetype="vertical" id="line1" anchor="default"/>
  15. <Button position="absolute 534 8 590 28" id="btn_search" class="btn1" text="조회" onclick="group5_group2_btn_search_onclick" anchor="default"/>
  16. <Edit position="absolute 405 8 510 28" id="ipt_search_item" class="input_s_essential" onkeydown="group5_group2_ipt_search_item_onkeydown" autoselect="true" anchor="default" imemode="hangul"/>
  17. <Radio position="absolute 256 8 400 28" id="radio1" class="s" columncount="2" innerdataset="@ds_init_flag" datacolumn="lable" codecolumn="value" anchor="default"/>
  18. <Combo position="absolute 75 8 154 28" id="cmb_deptflag" class="combo_default" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group5_group2_cmb_deptflag_onitemchanged" anchor="default">
  19. <Dataset id="innerdataset">
  20. <ColumnInfo>
  21. <Column id="codecolumn"/>
  22. <Column id="datacolumn"/>
  23. </ColumnInfo>
  24. <Rows>
  25. <Row>
  26. <Col id="codecolumn">
  27. </Col>
  28. <Col id="datacolumn">전체</Col>
  29. </Row>
  30. <Row>
  31. <Col id="codecolumn">011</Col>
  32. <Col id="datacolumn">집도과</Col>
  33. </Row>
  34. <Row>
  35. <Col id="codecolumn">012</Col>
  36. <Col id="datacolumn">마취과</Col>
  37. </Row>
  38. <Row>
  39. <Col id="codecolumn">013</Col>
  40. <Col id="datacolumn">CCR</Col>
  41. </Row>
  42. <Row>
  43. <Col id="codecolumn">014</Col>
  44. <Col id="datacolumn">수술방</Col>
  45. </Row>
  46. <Row>
  47. <Col id="codecolumn">015</Col>
  48. <Col id="datacolumn">수술실_간호</Col>
  49. </Row>
  50. <Row>
  51. <Col id="codecolumn">016</Col>
  52. <Col id="datacolumn">회복실_간호</Col>
  53. </Row>
  54. <Row>
  55. <Col id="codecolumn">017</Col>
  56. <Col id="datacolumn">마취과_간호</Col>
  57. </Row>
  58. <Row>
  59. <Col id="codecolumn">018</Col>
  60. <Col id="datacolumn">중앙공급실</Col>
  61. </Row>
  62. <Row>
  63. <Col id="codecolumn">019</Col>
  64. <Col id="datacolumn">중앙공급실 간호</Col>
  65. </Row>
  66. </Rows>
  67. </Dataset>
  68. </Combo>
  69. <Combo position="absolute 155 8 249 28" id="cmb_orddept" class="combo_default" innerdataset="@ds_hidedata_DeptLists_deptlist" datacolumn="depthngnm" codecolumn="deptcd" anchor="default"/>
  70. </Layout>
  71. </Layouts>
  72. </Div>
  73. <Static text="사용자리스트" position="absolute 0 44 169 64" align="align:center middle;" id="caption9" class="tit_2" anchor="default"/>
  74. <Grid position="absolute 0 66 604 412" id="grd_userlist" binddataset="ds_main_list_userlist" oncelldblclick="group5_grd_userlist_oncelldblclick" autofittype="col" anchor="default">
  75. <Formats>
  76. <Format id="default">
  77. <Columns>
  78. <Column size="20"/>
  79. <Column size="100"/>
  80. <Column size="100"/>
  81. <Column size="158"/>
  82. <Column size="206"/>
  83. <Column size="0"/>
  84. <Column size="0"/>
  85. </Columns>
  86. <Rows>
  87. <Row size="24" band="head"/>
  88. <Row size="24"/>
  89. </Rows>
  90. <Band id="head">
  91. <Cell/>
  92. <Cell col="1" text="사용자ID"/>
  93. <Cell col="2" text="사용자명"/>
  94. <Cell col="3" text="근무지기관명"/>
  95. <Cell col="4" text="근무지부서명"/>
  96. <Cell col="5" text="소속기관코드"/>
  97. <Cell col="6" text="소속부서코드"/>
  98. </Band>
  99. <Band id="body">
  100. <Cell celltype="head"/>
  101. <Cell col="1" style="align:left;" text="bind:userid"/>
  102. <Cell col="2" style="align:left;" text="bind:usernm"/>
  103. <Cell col="3" style="align:left;" text="bind:posinstnm"/>
  104. <Cell col="4" style="align:left;" text="bind:posdeptnm"/>
  105. <Cell col="5" text="bind:posinstcd"/>
  106. <Cell col="6" text="bind:posdeptcd"/>
  107. </Band>
  108. </Format>
  109. </Formats>
  110. </Grid>
  111. <Edit readonly="true" position="absolute 417 41 517 61" id="output1" visible="false" anchor="default"/>
  112. <Shape id="Shape00" position="absolute 0 62 604 66" class="line_10" anchor="default"/>
  113. <Button id="Button00" taborder="1" text="해당 없음" position="absolute 528 41 596 59" onclick="group5_Button00_onclick"/>
  114. </Layout>
  115. </Layouts>
  116. </Div>
  117. </Layout>
  118. </Layouts>
  119. <Objects>
  120. <Dataset id="ds_init_flag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="lable" type="STRING"/>
  123. <Column id="value" type="STRING"/>
  124. </ColumnInfo>
  125. <Rows>
  126. <Row>
  127. <Col id="lable">사용자ID</Col>
  128. <Col id="value">userid</Col>
  129. </Row>
  130. <Row>
  131. <Col id="lable">사용자명</Col>
  132. <Col id="value">usernm</Col>
  133. </Row>
  134. </Rows>
  135. </Dataset>
  136. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  137. <ColumnInfo>
  138. <Column id="searchitem" type="STRING" size="256" sumtext="사용자코드또는사용자명"/>
  139. <Column id="flag" type="STRING" size="256" sumtext="사용자코드or명flag "/>
  140. <Column id="selectflag" type="STRING" size="256" sumtext="조회구분 "/>
  141. <Column id="deptflag" type="STRING" size="256" sumtext="부서조회구분 "/>
  142. <Column id="orddeptcd" type="STRING" size="256" sumtext="집도과 선택시 부서코드"/>
  143. <Column id="searchdd" type="STRING" size="256" sumtext="조회 기준일자"/>
  144. </ColumnInfo>
  145. <Rows>
  146. <Row/>
  147. </Rows>
  148. </Dataset>
  149. <Dataset id="ds_main_list_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  150. <ColumnInfo>
  151. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  152. <Column id="usernm" type="STRING" size="256" sumtext="사용자명"/>
  153. <Column id="posinstnm" type="STRING" size="256" sumtext="소속기관명"/>
  154. <Column id="posinstcd" type="STRING" size="256" sumtext="소속기관코드"/>
  155. <Column id="posdeptnm" type="STRING" size="256" sumtext="부서명"/>
  156. <Column id="posdeptcd" type="STRING" size="256" sumtext="부서코드"/>
  157. </ColumnInfo>
  158. <Rows>
  159. <Row/>
  160. </Rows>
  161. </Dataset>
  162. <Dataset id="ds_hidedata_DeptLists_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  163. <ColumnInfo>
  164. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드 "/>
  165. <Column id="depthngnm" type="STRING" size="256" sumtext="부서코드 통합 마스터의 통합부서명 "/>
  166. <Column id="depthngabbr" type="STRING" size="256" sumtext="부서한글 약어 "/>
  167. <Column id="deptengnm" type="STRING" size="256" sumtext="부서코드의 영문명칭 "/>
  168. <Column id="deptengabbr" type="STRING" size="256" sumtext="진료과가 사용하고 있는 영문 약어 "/>
  169. <Column id="deptplce" type="STRING" size="256" sumtext="부서위치(층정보+부서명으로 Text구성)"/>
  170. </ColumnInfo>
  171. </Dataset>
  172. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="searchitem" type="STRING" size="256"/>
  175. <Column id="deptflag" type="STRING" size="256"/>
  176. <Column id="orddeptcd" type="STRING" size="256"/>
  177. <Column id="searchdd" type="STRING" size="256"/>
  178. </ColumnInfo>
  179. <Rows>
  180. <Row/>
  181. </Rows>
  182. </Dataset>
  183. </Objects>
  184. <Bind>
  185. <BindItem id="item0" compid="group5.group2.cmb_deptflag" propid="value" datasetid="ds_init" columnid="deptflag"/>
  186. <BindItem id="item1" compid="group5.group2.cmb_orddept" propid="value" datasetid="ds_init" columnid="orddeptcd"/>
  187. <BindItem id="item2" compid="group5.group2.ipt_search_item" propid="value" datasetid="ds_init" columnid="searchitem"/>
  188. <BindItem id="item3" compid="group5.output1" propid="value" datasetid="ds_init" columnid="searchdd"/>
  189. </Bind>
  190. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  191. * System Name : 경대 의료정보시스템
  192. * Job Name : emr_opanstxp -> SPMNP00001
  193. * Creator : yjh
  194. * Make Date : 2016-07-21
  195. * Description :
  196. *---------------------------------------------------------------------------------------
  197. * Modify Date Modifier Modify Description
  198. *---------------------------------------------------------------------------------------
  199. * 2016-07-21 yjh TF->XP
  200. *
  201. *---------------------------------------------------------------------------------------
  202. ****************************************************************************************/
  203. //=======================================================================================
  204. // Lib Include
  205. //---------------------------------------------------------------------------------------
  206. include "com_commonxp::comm_main.xjs";
  207. include "emr_carecomxp::SPMNP00001.xjs";
  208. //=======================================================================================
  209. // Global Form Variable
  210. //---------------------------------------------------------------------------------------
  211. //=======================================================================================
  212. // Function
  213. //---------------------------------------------------------------------------------------
  214. /*
  215. 초기화 작업을 합니다.
  216. */
  217. function fInitialize(){
  218. if( frmf_checkOpener() ){
  219. opener.frmf_setParameter("SendData", "");
  220. }
  221. //특정 기준일자별 조회 이 값이 없을 경우 sysdate로 조회한다. 2008-07-26
  222. //================================================================
  223. var sSearchdd = opener.frmf_getParameter("SendData_Searchdd");
  224. if( !utlf_isNull(sSearchdd) ){
  225. ds_init.setColumn(0, "searchdd", sSearchdd);
  226. opener.frmf_setParameter("SendData_Searchdd", "");
  227. }
  228. var sSearchnm = opener.frmf_getParameter("SendData_SearchNM");
  229. if( !utlf_isNull(sSearchnm) ){
  230. ds_init.setColumn(0, "searchitem", sSearchnm);
  231. opener.frmf_setParameter("SendData_SearchNM", "");
  232. }
  233. //================================================================
  234. group5.group2.radio1.index = 1;
  235. group5.group2.ipt_search_item.setFocus();
  236. ds_hidedata_DeptLists_deptlist.clearData();
  237. group5.group2.cmb_deptflag.index = 0;
  238. if( !utlf_isNull(sSearchnm) ){
  239. group5.group2.btn_search.click();
  240. }
  241. }
  242. /*
  243. 버튼 컨트롤들을 클릭했을때 공통으로 타는 함수입니다.
  244. control : "search" 는 조회 버튼 클릭
  245. "init"은 신규 버튼 클릭
  246. "save"는 저장 버튼 클릭
  247. grid : 그리드 컨트롤을 넘겨줍니다.
  248. param : 기타 param을 넘겨줍니다.
  249. */
  250. function fClicked(control, grid, param){
  251. if ("search" == control){
  252. fSearchClick(grid, param);
  253. } else if ("init" == control){
  254. this.reload();
  255. } else {
  256. sysf_messageBox("처리를 수행","E002");
  257. }
  258. }
  259. /*
  260. 조회버튼 클릭 타는 함수입니다.
  261. grid.explorerbar = "sortshow" sort설정합니다.
  262. ipt_usercdnm_flag는 검색조건의 사용자코드 or 사용자명입니다.
  263. radio1은 사용자코드 or 사용자명 선택 라디오 버튼입니다.
  264. 을 날립니다.
  265. .
  266. */
  267. function fSearchClick(grid,param){
  268. var isearchitem = group5.group2.ipt_search_item.value;
  269. ds_main_list_userlist.clearData();
  270. //model.resetInstanceNode("/root/send");
  271. ds_send.setColumn(0, "searchitem", group5.group2.ipt_search_item.value);
  272. ds_send.setColumn(0, "flag", group5.group2.radio1.value);
  273. ds_send.setColumn(0, "selectflag", group5.group2.radio1.value);
  274. ds_send.setColumn(0, "deptflag", ds_init.getColumn(0, "deptflag"));
  275. ds_send.setColumn(0, "orddeptcd", ds_init.getColumn(0, "orddeptcd"));
  276. ds_send.setColumn(0, "searchdd", ds_init.getColumn(0, "searchdd"));
  277. var oParam = {};
  278. oParam.id = "TRMNP00001";
  279. oParam.service = "opanstapp.OpAnstRec";
  280. oParam.method = "reqGetUserList";
  281. oParam.inds = "req=ds_send";
  282. oParam.outds = "ds_main_list_userlist=userlist";
  283. oParam.async = false;
  284. //oParam.callback = "cf_TRMNP00001";
  285. tranf_submit(oParam);
  286. }
  287. function fDblclick(pRow) {
  288. //alert("pRow : "+pRow);
  289. var iParam="";
  290. var iNode = ds_main_list_userlist;
  291. var iParam_userid = fGetValue(iNode, pRow, "userid");
  292. var iParam_usernm = fGetValue(iNode, pRow, "usernm");
  293. var iParam_posinstnm = fGetValue(iNode, pRow, "posinstnm");
  294. var iParam_posinstcd = fGetValue(iNode, pRow, "posinstcd");
  295. var iParam_posdeptnm = fGetValue(iNode, pRow, "posdeptnm");
  296. var iParam_posdeptcd = fGetValue(iNode, pRow, "posdeptcd");
  297. iParam = iParam_userid +"|"+iParam_usernm +"|"
  298. + iParam_posinstcd +"|"+iParam_posinstnm +"|"
  299. + iParam_posdeptcd +"|"+iParam_posdeptnm;
  300. // alert(iParam);
  301. if ( frmf_checkOpener() ) {
  302. opener.frmf_setParameter("SendData", iParam);
  303. close();
  304. }
  305. }
  306. /*
  307. model.getValue(); 를 함수로 만들었습니다.
  308. param1 : node는 grid의 xPath입니다.
  309. param2 : row는 grid에서 선택한 row값입니다.
  310. param3 : element는 getvalue할 해당 element 명입니다.
  311. 해당 getvalue값을 return 해줍니다.
  312. return 하지 않으면 해당값을 가져올 수 없습니다.
  313. */
  314. function fGetValue(node, row, element) {
  315. var rtnValue = node.getColumn(row, element);
  316. return rtnValue;
  317. }
  318. //=======================================================================================
  319. // Event
  320. //---------------------------------------------------------------------------------------
  321. /****************************************************************************************
  322. * Components : Form
  323. * Components ID : SPMNP00001
  324. * Event : oninit
  325. * Argument : 01.obj : Object Event has occurred
  326. * : 02.e : Event Object
  327. * Description : 화면 처음 초기화시
  328. ****************************************************************************************/
  329. function SPMNP00001_oninit(obj:Form, e:InitEventInfo)
  330. {
  331. frmf_initForm(obj); //폼 초기화
  332. }
  333. /****************************************************************************************
  334. * Components : Form
  335. * Components ID : SPMNP00001
  336. * Event : onload
  337. * Argument : 01.obj : Object Event has occurred
  338. * : 02.e : Event Object
  339. * Description : 화면 로딩 완료시
  340. ****************************************************************************************/
  341. function SPMNP00001_onload(obj:Form, e:LoadEventInfo)
  342. {
  343. grdf_setRowTypeIcon(group5.grd_userlist, 0);
  344. fInitialize();
  345. }
  346. /****************************************************************************************
  347. * Components : Button
  348. * Components ID : btn_search
  349. * Event : onclick
  350. * Argument : 01.obj : Object Event has occurred
  351. * : 02.e : Event Object
  352. * Description : 조회버튼 클릭시
  353. ****************************************************************************************/
  354. function group5_group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  355. {
  356. var param = group5.group2.ipt_search_item.text;
  357. // alert(ipt_search_item.attribute("ref"));
  358. fClicked("search", group5.grd_userlist);
  359. }
  360. /****************************************************************************************
  361. * Components : Edit
  362. * Components ID : ipt_search_item
  363. * Event : onkeydown
  364. * Argument : 01.obj : Object Event has occurred
  365. * : 02.e : Event Object
  366. * Description : 에디터 키 입력시
  367. ****************************************************************************************/
  368. function group5_group2_ipt_search_item_onkeydown(obj:Edit, e:KeyEventInfo)
  369. {
  370. if( e.keycode == 13 ){
  371. var param = group5.group2.ipt_search_item.value;
  372. // alert(ipt_search_item.attribute("ref"));
  373. fClicked("search", group5.grd_userlist);
  374. group5.group2.ipt_search_item.value = "";
  375. }
  376. }
  377. /****************************************************************************************
  378. * Components : Combo
  379. * Components ID : cmb_deptflag
  380. * Event : onitemchanged
  381. * Argument : 01.obj : Object Event has occurred
  382. * : 02.e : Event Object
  383. * Description : 콤보 값 변경시
  384. ****************************************************************************************/
  385. function group5_group2_cmb_deptflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  386. {
  387. //부서구분 값이 변경되었을 경우 이벤트
  388. var sConValue = group5.group2.cmb_deptflag.value;
  389. if(sConValue == "011"){
  390. ds_hidedata_DeptLists_deptlist.clearData();
  391. ds_send.setColumn(0, "flag", "X");
  392. ds_send.setColumn(0, "selectflag", "X");
  393. ds_send.setColumn(0, "searchitem", "XX");
  394. ds_send.setColumn(0, "deptflag", "011");
  395. var oParam = {};
  396. oParam.id = "TRMNP00102";
  397. oParam.service = "opanstapp.OpAnstPatMngt";
  398. oParam.method = "reqGetDeptList";
  399. oParam.inds = "req=ds_send";
  400. oParam.outds = "ds_hidedata_DeptLists_deptlist=deptlist";
  401. oParam.async = false;
  402. //oParam.callback = "cf_TRMNP00102";
  403. tranf_submit(oParam);
  404. frmf_addComboItem("group5.group2.cmb_orddept" , "전 체", "all", "above" );
  405. //cmb_orddept.vlsible = true;
  406. }else{
  407. ds_hidedata_DeptLists_deptlist.clearData();
  408. }
  409. }
  410. /****************************************************************************************
  411. * Components : Grid
  412. * Components ID : grd_userlist
  413. * Event : oncelldblclick
  414. * Argument : 01.obj : Object Event has occurred
  415. * : 02.e : Event Object
  416. * Description : 그리드 셀 더블클릭시
  417. ****************************************************************************************/
  418. function group5_grd_userlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  419. {
  420. var iRow = group5.grd_userlist.currentrow;
  421. fDblclick(iRow);
  422. }
  423. // 20190318 김현석, 해당 없음 항목 추가
  424. function group5_Button00_onclick(obj:Button, e:ClickEventInfo)
  425. {
  426. var pRow = group5.grd_userlist.currentrow;
  427. //alert("pRow : "+pRow);
  428. var iParam="";
  429. var iNode = ds_main_list_userlist;
  430. var iParam_userid = "-";
  431. var iParam_usernm = "해당없음";
  432. var iParam_posinstnm = fGetValue(iNode, pRow, "posinstnm");
  433. var iParam_posinstcd = fGetValue(iNode, pRow, "posinstcd");
  434. var iParam_posdeptnm = fGetValue(iNode, pRow, "posdeptnm");
  435. var iParam_posdeptcd = fGetValue(iNode, pRow, "posdeptcd");
  436. iParam = iParam_userid +"|"+iParam_usernm +"|"
  437. + iParam_posinstcd +"|"+iParam_posinstnm +"|"
  438. + iParam_posdeptcd +"|"+iParam_posdeptnm;
  439. // alert(iParam);
  440. if ( frmf_checkOpener() ) {
  441. opener.frmf_setParameter("SendData", iParam);
  442. close();
  443. }
  444. }
  445. ]]></Script>
  446. </Form>
  447. </FDL>