SMAEA03400_미예약자 조회(통합예약).xfdl 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAEA03400" position="absolute 0 0 1200 789" titletext="미예약자조회" oninit="SMAEA03400_oninit" onload="SMAEA03400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="미예약자조회" class="tit_1" position="absolute 0 0 155 24"/>
  8. <Div id="grp_sea" taborder="1" class="div_SA" position="absolute 0 24 1195 84">
  9. <Layouts>
  10. <Layout>
  11. <Static id="caption2" text="처방일자 :" class="search_name" position="absolute 10 11 104 28"/>
  12. <Calendar id="ipt_date1" taborder="3" autoselect="true" autoskip="true" class="input_default" position="absolute 94 10 197 29"/>
  13. <Calendar id="ipt_date2" taborder="4" autoselect="true" class="input_default" position="absolute 222 10 325 29"/>
  14. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1108 10 1114 52" anchor="top right"/>
  15. <Static id="caption1" text="~" position="absolute 206 11 223 30"/>
  16. <Button id="btn_sea" taborder="5" text="조회" class="btn1" position="absolute 1125 21 1181 43" anchor="top right" onclick="grp_sea_btn_sea_onclick"/>
  17. <Edit id="ipt_pid" taborder="6" class="input_search" position="absolute 433 8 513 27" autoselect="true" onkeyup="grp_sea_ipt_pid_onkeyup"/>
  18. <Edit id="opt_patnm" taborder="7" readonly="true" position="absolute 535 8 640 27" autoselect="true"/>
  19. <Button id="button61" taborder="8" class="icon_search" position="absolute 517 9 533 25" onclick="grp_sea_button61_onclick"/>
  20. <Static id="caption3" text="등록번호" class="search_name" position="absolute 348 10 434 27"/>
  21. <Combo id="cmb_deptcd" taborder="9" innerdataset="@ds_init_cmb_info_suppdept" codecolumn="suppdeptcd" datacolumn="depthngnm" position="absolute 745 10 895 29" type="filterlike"/>
  22. <Static id="caption15" text="지원부서 :" class="search_name" position="absolute 663 11 741 28"/>
  23. <Radio id="radio1" taborder="10" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 94 35 285 53" style="font:Dotum,9,bold;">
  24. <Dataset id="innerdataset">
  25. <ColumnInfo>
  26. <Column id="codecolumn"/>
  27. <Column id="datacolumn"/>
  28. </ColumnInfo>
  29. <Rows>
  30. <Row>
  31. <Col id="codecolumn"/>
  32. <Col id="datacolumn">전체</Col>
  33. </Row>
  34. <Row>
  35. <Col id="codecolumn">Y</Col>
  36. <Col id="datacolumn">수납</Col>
  37. </Row>
  38. <Row>
  39. <Col id="codecolumn">N</Col>
  40. <Col id="datacolumn">미수납</Col>
  41. </Row>
  42. </Rows>
  43. </Dataset>
  44. </Radio>
  45. <Static id="caption5" text="수납여부 :" class="search_name" position="absolute 10 36 96 53"/>
  46. <Static id="caption4" text="입원/외래" class="search_name" position="absolute 348 34 426 51"/>
  47. <Radio id="radio2" taborder="11" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 435 33 570 51" style="font:Dotum,9,bold;">
  48. <Dataset id="innerdataset">
  49. <ColumnInfo>
  50. <Column id="codecolumn"/>
  51. <Column id="datacolumn"/>
  52. </ColumnInfo>
  53. <Rows>
  54. <Row>
  55. <Col id="codecolumn">Y</Col>
  56. <Col id="datacolumn">전체</Col>
  57. </Row>
  58. <Row>
  59. <Col id="codecolumn">N</Col>
  60. <Col id="datacolumn">외래만</Col>
  61. </Row>
  62. </Rows>
  63. </Dataset>
  64. </Radio>
  65. </Layout>
  66. </Layouts>
  67. </Div>
  68. <Grid id="datagrid1" taborder="2" binddataset="ds_main_booklist_detail" useinputpanel="false" position="absolute 0 116 1195 761" autoenter="select" cellsizingtype="col" anchor="all" oncelldblclick="datagrid1_oncelldblclick">
  69. <Formats>
  70. <Format id="default">
  71. <Columns>
  72. <Column size="31"/>
  73. <Column size="70"/>
  74. <Column size="70"/>
  75. <Column size="90"/>
  76. <Column size="90"/>
  77. <Column size="45"/>
  78. <Column size="45"/>
  79. <Column size="80"/>
  80. <Column size="55"/>
  81. <Column size="80"/>
  82. <Column size="360"/>
  83. <Column size="100"/>
  84. <Column size="80"/>
  85. <Column size="0"/>
  86. </Columns>
  87. <Rows>
  88. <Row size="24" band="head"/>
  89. <Row size="24"/>
  90. </Rows>
  91. <Band id="head">
  92. <Cell/>
  93. <Cell col="1" text="등록번호"/>
  94. <Cell col="2" text="성명"/>
  95. <Cell col="3" text="집전화"/>
  96. <Cell col="4" text="이동전화"/>
  97. <Cell col="5" text="입/외"/>
  98. <Cell col="6" text="병실"/>
  99. <Cell col="7" text="처방일자"/>
  100. <Cell col="8" text="수납"/>
  101. <Cell col="9" text="처방코드"/>
  102. <Cell col="10" text="처방명"/>
  103. <Cell col="11" text="처방과"/>
  104. <Cell col="12" text="처방의"/>
  105. <Cell col="13" text="caption3"/>
  106. </Band>
  107. <Band id="body">
  108. <Cell celltype="head" expr="currow+1"/>
  109. <Cell col="1" style="align:left middle;padding:0 0 0 2;" text="bind:pid"/>
  110. <Cell col="2" style="align:left middle;padding:0 0 0 2;" text="bind:hngnm"/>
  111. <Cell col="3" style="align:left middle;padding:0 0 0 2;" text="bind:hometel"/>
  112. <Cell col="4" style="align:left middle;padding:0 0 0 2;" text="bind:mpphontel"/>
  113. <Cell col="5" style="align:left middle;padding:0 0 0 2;" text="bind:prcpgenrflag"/>
  114. <Cell col="6" style="align:left middle;padding:0 0 0 2;" text="bind:roomcd"/>
  115. <Cell col="7" displaytype="date" style="align:left middle;padding:0 0 0 2;" text="bind:prcpdd" calendardisplaynulltype="nulltext"/>
  116. <Cell col="8" style="align:left middle;padding:0 0 0 2;" text="bind:rcptyn"/>
  117. <Cell col="9" style="align:left middle;padding:0 0 0 2;" text="bind:prcpcd"/>
  118. <Cell col="10" style="align:left middle;padding:0 0 0 2;" text="bind:prcpnm"/>
  119. <Cell col="11" style="align:left middle;padding:0 0 0 2;" text="bind:orddepthngnm"/>
  120. <Cell col="12" style="align:left middle;padding:0 0 0 2;" text="bind:rgstrid"/>
  121. <Cell col="13" text="bind:gigan"/>
  122. </Band>
  123. </Format>
  124. </Formats>
  125. </Grid>
  126. <Static id="caption10" text="미예약자 현황" class="tit_2" position="absolute 0 95 130 116"/>
  127. <Shape id="line3" class="line_10" position="absolute 0 111 1195 117" anchor="left top right"/>
  128. <Button id="button12" taborder="3" text="엑셀저장" class="btn7" position="absolute 1115 92 1195 111" anchor="top right" onclick="button12_onclick"/>
  129. <Button id="button89" taborder="4" text="출력" class="btn6" position="absolute 0 762 56 784" anchor="left bottom" onclick="button89_onclick"/>
  130. </Layout>
  131. </Layouts>
  132. <Objects>
  133. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  134. <ColumnInfo>
  135. <Column id="pid" type="STRING" size="256"/>
  136. <Column id="deptcd" type="STRING" size="256"/>
  137. <Column id="fromDate" type="STRING" size="256"/>
  138. <Column id="toDate" type="STRING" size="256"/>
  139. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  140. <Column id="rcpt" type="STRING" size="256"/>
  141. <Column id="inptflag" type="STRING" size="256"/>
  142. </ColumnInfo>
  143. <Rows>
  144. <Row>
  145. <Col id="pid"/>
  146. <Col id="deptcd"/>
  147. <Col id="fromDate"/>
  148. <Col id="toDate"/>
  149. <Col id="basesuppdeptcd"/>
  150. <Col id="rcpt"/>
  151. <Col id="inptflag">A</Col>
  152. </Row>
  153. </Rows>
  154. </Dataset>
  155. <Dataset id="ds_hidden_source" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  156. <ColumnInfo>
  157. <Column id="hngnm" type="STRING" size="256"/>
  158. </ColumnInfo>
  159. <Rows>
  160. <Row/>
  161. </Rows>
  162. </Dataset>
  163. <Dataset id="ds_main_booklist_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  164. <ColumnInfo>
  165. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  166. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  167. <Column id="hometel" type="STRING" size="256" sumtext="집전화"/>
  168. <Column id="mpphontel" type="STRING" size="256" sumtext="이동전화"/>
  169. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일"/>
  170. <Column id="rcptyn" type="STRING" size="256" sumtext="수납여부"/>
  171. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  172. <Column id="prcpnm" type="STRING" size="256" sumtext="처방병"/>
  173. <Column id="orddepthngnm" type="STRING" size="256" sumtext="처방과"/>
  174. <Column id="rgstrid" type="STRING" size="256" sumtext="처방의사"/>
  175. <Column id="gigan" type="STRING" size="256" sumtext="조회기간"/>
  176. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="입원외래"/>
  177. <Column id="roomcd" type="STRING" size="256" sumtext="병실"/>
  178. </ColumnInfo>
  179. </Dataset>
  180. <Dataset id="ds_init_cmb_info_suppdept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  181. <Dataset id="ds_init_baseinfo_initinptflag_A660" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  182. <Dataset id="ds_send_globalinstance" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  183. <ColumnInfo>
  184. <Column id="instance1" type="STRING" size="256"/>
  185. </ColumnInfo>
  186. <Rows>
  187. <Row/>
  188. </Rows>
  189. </Dataset>
  190. <Dataset id="ds_patinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  191. </Objects>
  192. <Bind>
  193. <BindItem id="item0" compid="grp_sea.ipt_date1" propid="value" datasetid="ds_send_data" columnid="fromDate"/>
  194. <BindItem id="item1" compid="grp_sea.ipt_date2" propid="value" datasetid="ds_send_data" columnid="toDate"/>
  195. <BindItem id="item2" compid="grp_sea.ipt_pid" propid="value" datasetid="ds_send_data" columnid="pid"/>
  196. <BindItem id="item3" compid="grp_sea.opt_patnm" propid="value" datasetid="ds_hidden_source" columnid="hngnm"/>
  197. <BindItem id="item4" compid="grp_sea.cmb_deptcd" propid="value" datasetid="ds_send_data" columnid="suppdeptcd"/>
  198. <BindItem id="item5" compid="grp_sea.radio1" propid="value" datasetid="ds_send_data" columnid="rcpt"/>
  199. <BindItem id="item6" compid="grp_sea.radio2" propid="value" datasetid="ds_send_data" columnid="inptflag"/>
  200. </Bind>
  201. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  202. * System Name :
  203. * Job Name :
  204. * Creator :
  205. * Make Date : 2015-11-13
  206. * Description :
  207. *---------------------------------------------------------------------------------------
  208. * Modify Date Modifier Modify Description
  209. *---------------------------------------------------------------------------------------
  210. * 2015-11-13 Live Converter TF->XP
  211. *
  212. *---------------------------------------------------------------------------------------
  213. ****************************************************************************************/
  214. include "com_commonxp::comm_main.xjs";
  215. include "ast_examcurexp::AEZ0001.xjs";
  216. include "ast_examcurexp::combolist.xjs";
  217. function SMAEA03400_oninit(obj:Form, e:InitEventInfo)
  218. {
  219. frmf_initForm(obj);
  220. }
  221. function SMAEA03400_onload(obj:Form, e:LoadEventInfo)
  222. {
  223. grdf_initGrid(datagrid1);
  224. lf_aezfSetSuppDeptcd();
  225. ds_send_globalinstance.setColumn(0, "instance1", frmf_getParameter("AST_DEPTCD"));
  226. if(utlf_isNull(ds_init_cmb_info_suppdept.lookup("suppdeptcd", ds_send_globalinstance.getColumn("instance1"))))
  227. {
  228. ds_send_data.setColumn(0, "basesuppdeptcd", "");
  229. }
  230. else
  231. {
  232. ds_send_data.setColumn(0, "basesuppdeptcd", ds_send_globalinstance.getColumn("instance1"));
  233. }
  234. //2010.09.29 통합예약 미예약자 조회시 입원조회여부 체크 - 박재영
  235. var arrParam = [{dsNm: "ds_init_baseinfo_initinptflag_A660", cdGrpId: "A660"}]
  236. lf_getAstCodeList(arrParam); //astGetComboList( new Array("A660"), new Array("/root/init/baseinfo/initinptflag") );
  237. //submit("TRAAA00001", false);
  238. ds_init_baseinfo_initinptflag_A660.deleteRow(0);
  239. ds_send_data.setColumn(0, "inptflag", ds_init_baseinfo_initinptflag_A660.getColumn(0, "cdid"));
  240. //검사실코드 갖고오기
  241. dsf_setFixVal(ds_send_data, "rbasecdflag:R,ebasecdflag:E,initflag:1");
  242. var oParam = {};
  243. oParam.id = "TRAEA01301";
  244. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  245. oParam.method = "reqGetInitExamCureRoomGrpCodeList";
  246. oParam.inds = "reqparam=ds_send_data";
  247. oParam.outds = "ds_=initexcuroomgrp "
  248. +"ds_=initexcuroomgrp2 "
  249. +"ds_=initexcuroom "
  250. +"ds_=initexecrid "
  251. +"ds_=initexecrid "
  252. +"ds_=initexecrid "
  253. +"ds_=initexecrid "
  254. +"ds_=initexcuward "
  255. +"ds_init_cmb_info_suppdept=suppdept "
  256. +"ds_=initsystgrd "
  257. +"ds_=initsystmdl "
  258. +"ds_=initsystchief";
  259. oParam.async = false;
  260. //oParam.callback = "cf_TRAEA01301";
  261. tranf_submit(oParam);
  262. grp_sea.ipt_date1.value = utlf_getCurrentDate().toDate().getAddDate(-1,"D").getDateFormat("YYYYMMDD");
  263. grp_sea.ipt_date2.value = utlf_getCurrentDate().toDate().getAddDate(-1,"D").getDateFormat("YYYYMMDD");
  264. ds_main_booklist_detail.clearData();
  265. }
  266. function grp_sea_ipt_pid_onkeyup(obj:Edit, e:KeyEventInfo)
  267. {
  268. if(e.keycode == 13)
  269. {
  270. obj.updateToDataset();
  271. grp_sea.btn_sea.click();
  272. }
  273. }
  274. function grp_sea_button61_onclick(obj:Button, e:ClickEventInfo)
  275. {
  276. // 환자조회
  277. var objArg = new Object();
  278. objArg.arg_ds_send = ds_send_data;
  279. frmf_modal("SPPMC02500", "SPPMC02500", objArg, "", "", "", "", "", "", "", "", "", "M");
  280. ds_hidden_source.setColumn(0, "hngnm", ds_patinfolist.getColumn(0, "hngnm"));
  281. ds_send_data.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  282. }
  283. function grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  284. {
  285. if (utlf_isNull(ds_send_data.getColumn(0, "pid")))
  286. {
  287. ds_hidden_source.setColumn(0, "hngnm", "");
  288. }
  289. readfunc();
  290. }
  291. function readfunc()
  292. { // 해당 조건에 대한 검사내역을 조회한다.
  293. if (utlf_isNull(ds_send_data.getColumn(0, "fromDate")))
  294. {
  295. sysf_messageBox("처방 시작일자는 필수 입력 또는 선택 항목", "E008");
  296. grp_sea.ipt_date1.setFocus();
  297. return;
  298. }
  299. if (utlf_isNull(ds_send_data.getColumn(0, "toDate")))
  300. {
  301. sysf_messageBox("처방 종료일자는 필수 입력 또는 선택 항목", "E008");
  302. grp_sea.ipt_date2.setFocus();
  303. return;
  304. }
  305. if (isDate(String(ds_send_data.getColumn(0, "fromDate"))) == false)
  306. {
  307. sysf_messageBox("처방 시작일자의 날짜 형식이 잘못 입력되어 처리", "E001");
  308. grp_sea.ipt_date1.setFocus();
  309. return;
  310. }
  311. if (isDate(String(ds_send_data.getColumn(0, "toDate"))) == false)
  312. {
  313. sysf_messageBox("처방 종료일자의 날짜 형식이 잘못 입력되어 처리", "E001");
  314. grp_sea.ipt_date2.setFocus();
  315. return;
  316. }
  317. if (ds_send_data.getColumn(0, "fromDate") > ds_send_data.getColumn(0, "toDate"))
  318. {
  319. sysf_messageBox("처방 시작일자가 종료일자 보다 커서 처리", "E001");
  320. grp_sea.ipt_date2.setFocus();
  321. return;
  322. }
  323. if (utlf_isNull(ds_send_data.getColumn(0, "pid")))
  324. {
  325. var date = ds_send_data.getColumn(0, "fromDate").toDate().getAddDate(-1,"M").getDateFormat("YYYYMMDD");
  326. if (ds_send_data.getColumn(0, "fromDate") < date)
  327. {
  328. sysf_messageBox("처방 조회기간은 최대 한달 기간만 조회가 가능합니다.", "E999", "");
  329. grp_sea.ipt_date1.setFocus();
  330. return;
  331. }
  332. }
  333. ds_main_booklist_detail.clearData();
  334. ds_send_data.updateColID("fromDate", "fromdate");
  335. ds_send_data.updateColID("toDate", "todate");
  336. var oParam = {};
  337. oParam.id = "TRAEA03401";
  338. oParam.service = "examcurersrvapp.RsrvRef";
  339. oParam.method = "reqGetUnRsrvPresCond";
  340. oParam.inds = "req=ds_send_data";
  341. oParam.outds = "ds_main_booklist_detail=item";
  342. oParam.async = false;
  343. //oParam.callback = "cf_TRAEA03401";
  344. tranf_submit(oParam);
  345. ds_send_data.updateColID("fromdate", "fromDate");
  346. ds_send_data.updateColID("todate", "toDate");
  347. if (utlf_isNull(ds_main_booklist_detail.getColumn(0, "pid")))
  348. {
  349. ds_main_booklist_detail.clearData();
  350. }
  351. }
  352. function isDate(str)
  353. { // 날짜 형식에 대한 적합여부 체크
  354. if (utlf_isNull(str)) return true; // 빈건 체크안함
  355. if (trim(str) == "") return true; // 빈건 체크안함
  356. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  357. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  358. var yy = new Number(str.substring(0, 4));
  359. var mm = new Number(str.substring(4, 6)) - 1;
  360. var dd = new Number(str.substring(6, 8));
  361. var date = new Date(yy, mm, dd);
  362. if (yy != date.getFullYear() || mm != date.getMonth() || dd != date.getDate())
  363. {
  364. return false; // 존재하지 않는 날짜
  365. }
  366. return true; // 존재하는 날짜
  367. }
  368. function trim(data)
  369. { // 문자에 대한 TRIM 작업
  370. return data.replace(/(^\s*)|(\s*$)/g, "");
  371. }
  372. function datagrid1_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  373. {
  374. var main = frmf_getMainViewer();
  375. var scrnID = main.frmf_getScreenID();
  376. var pid = ds_main_booklist_detail.getColumn(ds_main_booklist_detail.rowposition, "pid");
  377. //검사예약화면에서 테스트가 필요
  378. //화면 title 가져오는 방식 수정함
  379. if(!utlf_isNull(scrnID))
  380. {
  381. if(scrnID == "SMPEA00100")
  382. {
  383. main.ds_send_data.setColumn(0, "pid", pid);
  384. sysf_setGlobalVariable("menuparam", "T");
  385. main.frmf_openForm("SMPEA00100", "", "");
  386. }
  387. else
  388. {
  389. frmf_openForm("SMPEA00100", "", "");
  390. }
  391. }
  392. }
  393. function button12_onclick(obj:Button, e:ClickEventInfo)
  394. {
  395. grdf_exportExcel(datagrid1, "excel", "Sheet1", "true", "", "");
  396. }
  397. function button89_onclick(obj:Button, e:ClickEventInfo)
  398. {
  399. var objDOM = rptf_createDOM();
  400. rptf_setNodeListToDOM(objDOM, "/root/main/booklist/detail", ds_main_booklist_detail);
  401. var objParam = new Object();
  402. objParam.xml_data_XML1 = objDOM.documentElement.source;
  403. var option = null;
  404. rptf_exeReportPreview30(["RPAEA03400"],[objParam], option);
  405. }
  406. ]]></Script>
  407. </Form>
  408. </FDL>