SPCCM00100_환자검색.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPCCM00100" position="absolute 0 0 598 350" titletext="환자 조회" oninit="SPCCM00100_oninit" onload="SPCCM00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group2" taborder="0" class="div_SA2" position="absolute 0 0 589 40">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption1" text="검색조건" class="search_name" position="absolute 11 10 128 27"/>
  11. <Shape id="line1" linetype="vertical" position="absolute 500 8 506 30"/>
  12. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 518 8 574 30" onclick="group2_btn_search_onclick"/>
  13. <Edit id="ipt_search_item" taborder="2" class="input_s_essential" position="absolute 321 9 443 28" autoselect="true" onkeyup="group2_ipt_search_item_onkeyup"/>
  14. <Combo id="combo1" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 169 9 299 28" index="0" value="pid" text="등록번호">
  15. <Dataset id="innerdataset">
  16. <ColumnInfo>
  17. <Column id="codecolumn"/>
  18. <Column id="datacolumn"/>
  19. </ColumnInfo>
  20. <Rows>
  21. <Row>
  22. <Col id="codecolumn">pid</Col>
  23. <Col id="datacolumn">등록번호</Col>
  24. </Row>
  25. <Row>
  26. <Col id="codecolumn">patnm</Col>
  27. <Col id="datacolumn">환자명</Col>
  28. </Row>
  29. <Row>
  30. <Col id="codecolumn">resdnrgstno</Col>
  31. <Col id="datacolumn">주민번호 앞 6자리</Col>
  32. </Row>
  33. <Row>
  34. <Col id="codecolumn">mpphonno</Col>
  35. <Col id="datacolumn">휴대폰번호</Col>
  36. </Row>
  37. <Row>
  38. <Col id="codecolumn">hometelno</Col>
  39. <Col id="datacolumn">집 전화번호</Col>
  40. </Row>
  41. </Rows>
  42. </Dataset>
  43. </Combo>
  44. </Layout>
  45. </Layouts>
  46. </Div>
  47. <Static id="caption9" text="환자 조회" class="tit_2" position="absolute 0 47 111 69"/>
  48. <Shape id="line12" class="line_10" position="absolute 0 63 589 69"/>
  49. <Grid id="grd_patlist" taborder="1" binddataset="ds_main_list_patlist" useinputpanel="false" position="absolute 0 68 589 311" autoenter="select" cellsizingtype="col" oncelldblclick="grd_patlist_oncelldblclick">
  50. <Formats>
  51. <Format id="default">
  52. <Columns>
  53. <Column size="21"/>
  54. <Column size="100"/>
  55. <Column size="130"/>
  56. <Column size="130"/>
  57. <Column size="100"/>
  58. <Column size="100"/>
  59. <Column size="100"/>
  60. <Column size="100"/>
  61. <Column size="0"/>
  62. <Column size="0"/>
  63. <Column size="0"/>
  64. <Column size="0"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. <Column size="0"/>
  68. <Column size="0"/>
  69. <Column size="0"/>
  70. </Columns>
  71. <Rows>
  72. <Row size="24" band="head"/>
  73. <Row size="24"/>
  74. </Rows>
  75. <Band id="head">
  76. <Cell/>
  77. <Cell col="1" text="등록번호"/>
  78. <Cell col="2" text="고객명"/>
  79. <Cell col="3" text="주민번호"/>
  80. <Cell col="4" text="휴대폰번호"/>
  81. <Cell col="5" text="집 전화번호"/>
  82. <Cell col="6" text="이메일"/>
  83. <Cell col="7" text="최종내원일시"/>
  84. <Cell col="8" text="주민번호1"/>
  85. <Cell col="9" text="주민번호2"/>
  86. <Cell col="10" text="성별"/>
  87. <Cell col="11" text="우편번호1"/>
  88. <Cell col="12" text="우편번호2"/>
  89. <Cell col="13" text="우편번호일련번호"/>
  90. <Cell col="14" text="우편번호주소"/>
  91. <Cell col="15" text="상세주소"/>
  92. <Cell col="16" text="기타전화번호"/>
  93. </Band>
  94. <Band id="body">
  95. <Cell celltype="head" expr="currow+1"/>
  96. <Cell col="1" text="bind:pid"/>
  97. <Cell col="2" text="bind:hngnm"/>
  98. <Cell col="3" text="bind:rrgstno"/>
  99. <Cell col="4" text="bind:mpphontel"/>
  100. <Cell col="5" text="bind:hometel"/>
  101. <Cell col="6" text="bind:email"/>
  102. <Cell col="7" text="bind:lastchosdt"/>
  103. <Cell col="8" text="bind:rrgstno1"/>
  104. <Cell col="9" text="bind:rrgstno2"/>
  105. <Cell col="10" text="bind:sex"/>
  106. <Cell col="11" text="bind:zipcd1"/>
  107. <Cell col="12" text="bind:zipcd2"/>
  108. <Cell col="13" text="bind:zipcdseq"/>
  109. <Cell col="14" text="bind:zipcdaddr"/>
  110. <Cell col="15" text="bind:detladdr"/>
  111. <Cell col="16" text="bind:etctelno1"/>
  112. </Band>
  113. </Format>
  114. </Formats>
  115. </Grid>
  116. <Button id="button2" taborder="2" text="확인" class="btn4" position="absolute 473 317 529 339" onclick="button2_onclick"/>
  117. <Button id="button3" taborder="3" text="닫기" class="btn4" position="absolute 532 317 588 339" onclick="button3_onclick"/>
  118. </Layout>
  119. </Layouts>
  120. <Objects>
  121. <Dataset id="ds_main_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  122. <ColumnInfo>
  123. <Column id="searchcondition" type="STRING" size="256"/>
  124. <Column id="searchterm" type="STRING" size="256"/>
  125. <Column id="instcd" type="STRING" size="256"/>
  126. </ColumnInfo>
  127. <Rows>
  128. <Row>
  129. <Col id="searchcondition">cintnm</Col>
  130. <Col id="searchterm"/>
  131. <Col id="instcd"/>
  132. </Row>
  133. </Rows>
  134. </Dataset>
  135. <Dataset id="ds_main_list_patlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  136. <ColumnInfo>
  137. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  138. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  139. <Column id="rrgstno" type="STRING" size="256" sumtext="주민번호"/>
  140. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대폰"/>
  141. <Column id="hometel" type="STRING" size="256" sumtext="집전화"/>
  142. <Column id="email" type="STRING" size="256" sumtext="이메일"/>
  143. <Column id="lastchosdd" type="STRING" size="256" sumtext="최종내원일"/>
  144. <Column id="rrgstno1" type="STRING" size="256" sumtext="주민번호1"/>
  145. <Column id="rrgstno2" type="STRING" size="256" sumtext="주민번호2"/>
  146. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  147. <Column id="zipcd1" type="STRING" size="256" sumtext="우편번호1"/>
  148. <Column id="zipcd2" type="STRING" size="256" sumtext="우편번호2"/>
  149. <Column id="zipcdseq" type="STRING" size="256" sumtext="일련번호"/>
  150. <Column id="zipcdaddr" type="STRING" size="256" sumtext="우편번호주소"/>
  151. <Column id="detladdr" type="STRING" size="256" sumtext="상세주소"/>
  152. <Column id="etctelno1" type="STRING" size="256" sumtext="기타 번호"/>
  153. </ColumnInfo>
  154. </Dataset>
  155. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  156. </Objects>
  157. <Bind>
  158. <BindItem id="item0" compid="group2.ipt_search_item" propid="value" datasetid="ds_main_search" columnid="searchterm"/>
  159. <BindItem id="item1" compid="group2.combo1" propid="value" datasetid="ds_main_search" columnid="searchcondition"/>
  160. </Bind>
  161. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  162. * System Name :
  163. * Job Name :
  164. * Creator :
  165. * Make Date : 2016-05-24
  166. * Description :
  167. *---------------------------------------------------------------------------------------
  168. * Modify Date Modifier Modify Description
  169. *---------------------------------------------------------------------------------------
  170. * 2016-05-24 Live Converter TF->XP
  171. *
  172. *---------------------------------------------------------------------------------------
  173. ****************************************************************************************/
  174. include "com_commonxp::comm_main.xjs";
  175. function SPCCM00100_oninit(obj:Form, e:InitEventInfo)
  176. {
  177. frmf_initForm(obj);
  178. }
  179. function SPCCM00100_onload(obj:Form, e:LoadEventInfo)
  180. {
  181. grdf_initGrid(grd_patlist);
  182. /*
  183. 오브젝트로 return 하는 방식으로 수정함.
  184. 불필요한 파라미터 제거함.
  185. 부모창에서 해당 파라미터에 맞게 데이터셋에 저장하도록 구현.
  186. */
  187. var search_condition = opener.frmf_getParameter("search_condition");
  188. var search_term = opener.frmf_getParameter("search_term");
  189. var receive_path = opener.frmf_getParameter("receive_path");
  190. // 두번째 검색시 첫번째 검색내용을 초기화시킴.
  191. ds_main_list_patlist.clearData();
  192. ds_main_search.setColumn(0, "searchcondition", search_condition);
  193. ds_main_search.setColumn(0, "searchterm", search_term);
  194. dsf_makeValue(ds_send_data, "insttype", "string", "dutplceinstcd");
  195. dsf_makeValue(ds_send_data, "searchcondition", "string", search_condition);
  196. dsf_makeValue(ds_send_data, "searchterm", "string", search_term);
  197. // 처음 검색 팝업을 띄울 때에는 기본 정보를 안 보여주고, 한번 검색 한 이후에는 최종선택한 정보를 기본적으로 가져옴..
  198. if ( utlf_isNull(search_term))
  199. {
  200. group2.ipt_search_item.setFocus();
  201. }
  202. else if ((search_condition == "patnm") && (String(group2.ipt_search_item.value).length < 2))
  203. {
  204. sysf_messageBox("환자 이름 검색은 최소 2글자 이상 ", "C001");
  205. group2.ipt_search_item.setFocus();
  206. }
  207. else
  208. {
  209. var oParam = {};
  210. oParam.id = "TRCCM00101";
  211. oParam.service = "crmapp.Common";
  212. oParam.method = "reqGetPatCodeList";
  213. oParam.inds = "req=ds_send_data";
  214. oParam.outds = "ds_main_list_patlist=patlist";
  215. oParam.async = false;
  216. //oParam.callback = "cf_TRCCM00101";
  217. tranf_submit(oParam);
  218. grd_patlist.setFocus();
  219. }
  220. if (ds_main_list_patlist.rowcount == 2)
  221. {
  222. fGetOneRow();
  223. }
  224. }
  225. function fGetOneRow()
  226. {
  227. var receive_path = opener.frmf_getParameter("receive_path");
  228. var row = 0;
  229. var pid = ds_main_list_patlist.getColumn(row, "pid");
  230. var patnm = ds_main_list_patlist.getColumn(row, "hngnm");
  231. var mpphontel = ds_main_list_patlist.getColumn(row, "mpphontel");
  232. var email = ds_main_list_patlist.getColumn(row, "email");
  233. var resdnrgstno1 = ds_main_list_patlist.getColumn(row, "rrgstno1");
  234. var resdnrgstno2 = ds_main_list_patlist.getColumn(row, "rrgstno2");
  235. var gndr = ds_main_list_patlist.getColumn(row, "sex");
  236. var zipcd1 = ds_main_list_patlist.getColumn(row, "zipcd1");
  237. var zipcd2 = ds_main_list_patlist.getColumn(row, "zipcd2");
  238. var zipcdseq = ds_main_list_patlist.getColumn(row, "zipcdseq");
  239. var zipcdaddr = ds_main_list_patlist.getColumn(row, "zipcdaddr");
  240. var detladdr = ds_main_list_patlist.getColumn(row, "detladdr");
  241. var etctelno1 = ds_main_list_patlist.getColumn(row, "etctelno1");
  242. // frmf_getParameter로 노드 받아와서 데이터셋에 입력하는 방식을 오브젝트형식으로 변경함.
  243. var objParam = new Object();
  244. objParam.pid = pid;
  245. objParam.hngnm = patnm;
  246. objParam.mpphontel = mpphontel;
  247. objParam.email = email;
  248. objParam.rrgstno1 = resdnrgstno1;
  249. objParam.rrgstno2 = resdnrgstno2;
  250. objParam.sex = gndr;
  251. objParam.zipcd1 = zipcd1;
  252. objParam.zipcd2 = zipcd2;
  253. objParam.zipcdseq = zipcdseq;
  254. objParam.zipcdaddr = zipcdaddr;
  255. objParam.detladdr = detladdr;
  256. objParam.etctelno1 = etctelno1;
  257. if (!utlf_isNull(receive_path) && receive_path == "voc")
  258. {
  259. opener.ds_temp_piddata.copyData(ds_main_list_patlist);
  260. opener.ds_temp_piddata.clearData();
  261. opener.ds_temp_piddata.addRow();
  262. opener.ds_temp_piddata.copyRow(0, ds_main_list_patlist, ds_main_list_patlist.rowposition);
  263. opener.ds_main_vocdata_customer.setColumn(0, "patrela", "");
  264. opener.frmf_getComponents("cmb_PatRela").setFocus();
  265. }
  266. if (!utlf_isNull(receive_path) && receive_path == "crmpid")
  267. {
  268. objParam.arg_ds_temp_key = ds_temp_key;
  269. opener.frmf_openForm("SMCMS00400", "", objParam);
  270. this.close();
  271. return false;
  272. }
  273. this.close(objParam);
  274. }
  275. function group2_ipt_search_item_onkeyup(obj:Edit, e:KeyEventInfo)
  276. {
  277. if(e.keycode == 13)
  278. {
  279. obj.updateToDataset();
  280. group2.btn_search.click();
  281. }
  282. }
  283. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  284. {
  285. var search_condition = ds_main_search.getColumn(0, "searchcondition");
  286. var search_term = ds_main_search.getColumn(0, "searchterm");
  287. arrCompId = new Array("group2.ipt_search_item");
  288. if(frmf_isRequiredControls(arrCompId))
  289. {
  290. if (search_condition == "patnm" && String(group2.ipt_search_item.value).length < 2)
  291. {
  292. sysf_messageBox("환자 이름 검색은 최소 2글자 이상 ", "C001");
  293. group2.ipt_search_item.setFocus();
  294. }
  295. else
  296. {
  297. ds_main_list_patlist.clearData();
  298. dsf_makeValue(ds_send_data, "searchcondition", "string", search_condition);
  299. dsf_makeValue(ds_send_data, "searchterm", "string", search_term);
  300. dsf_makeValue(ds_send_data, "insttype", "string", "dutplceinstcd");
  301. var oParam = {};
  302. oParam.id = "TRCCM00101";
  303. oParam.service = "crmapp.Common";
  304. oParam.method = "reqGetPatCodeList";
  305. oParam.inds = "req=ds_send_data";
  306. oParam.outds = "ds_main_list_patlist=patlist";
  307. oParam.async = false;
  308. //oParam.callback = "cf_TRCCM00101";
  309. tranf_submit(oParam);
  310. grd_patlist.setFocus();
  311. }
  312. }
  313. }
  314. function grd_patlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  315. {
  316. // 불필요한 파라미터는 제거함
  317. var receive_path = opener.frmf_getParameter("receive_path");
  318. var row = ds_main_list_patlist.rowposition;
  319. var pid = ds_main_list_patlist.getColumn(row, "pid");
  320. var patnm = ds_main_list_patlist.getColumn(row, "hngnm");
  321. var mpphontel = ds_main_list_patlist.getColumn(row, "mpphontel");
  322. var email = ds_main_list_patlist.getColumn(row, "email");
  323. var resdnrgstno1 = ds_main_list_patlist.getColumn(row, "rrgstno1");
  324. var resdnrgstno2 = ds_main_list_patlist.getColumn(row, "rrgstno2");
  325. var gndr = ds_main_list_patlist.getColumn(row, "sex");
  326. var zipcd1 = ds_main_list_patlist.getColumn(row, "zipcd1");
  327. var zipcd2 = ds_main_list_patlist.getColumn(row, "zipcd2");
  328. var zipcdseq = ds_main_list_patlist.getColumn(row, "zipcdseq");
  329. var zipcdaddr = ds_main_list_patlist.getColumn(row, "zipcdaddr");
  330. var detladdr = ds_main_list_patlist.getColumn(row, "detladdr");
  331. var etctelno1 = ds_main_list_patlist.getColumn(row, "etctelno1");
  332. if (ds_main_list_patlist.rowposition >= 0)
  333. {
  334. var objParam = new Object(); // frmf_getParameter로 노드 받아와서 데이터셋에 입력하는 방식을 오브젝트형식으로 변경함.
  335. objParam.pid = pid;
  336. objParam.hngnm = patnm;
  337. objParam.mpphontel = mpphontel;
  338. objParam.email = email;
  339. objParam.rrgstno1 = resdnrgstno1;
  340. objParam.rrgstno2 = resdnrgstno2;
  341. objParam.sex = gndr;
  342. objParam.zipcd1 = zipcd1;
  343. objParam.zipcd2 = zipcd2;
  344. objParam.zipcdseq = zipcdseq;
  345. objParam.zipcdaddr = zipcdaddr;
  346. objParam.detladdr = detladdr;
  347. objParam.etctelno1 = etctelno1;
  348. if (!utlf_isNull(receive_path) && receive_path == "voc")
  349. {
  350. opener.ds_temp_piddata.copyData(ds_main_list_patlist);
  351. opener.ds_temp_piddata.clearData();
  352. opener.ds_temp_piddata.addRow();
  353. opener.ds_temp_piddata.copyRow(0, ds_main_list_patlist, ds_main_list_patlist.rowposition);
  354. opener.ds_main_vocdata_customer.setColumn(0, "patrela", "");
  355. opener.frmf_getComponents("cmb_PatRela").setFocus();
  356. }
  357. if (!utlf_isNull(receive_path) && receive_path == "crmpid")
  358. { // ds_temp_key 데이터셋이 없으므로 1.0 에 오류나는 부분 제거함
  359. opener.frmf_openForm("SMCMS00400", "", objParam);
  360. this.close();
  361. return false;
  362. }
  363. this.close(objParam);
  364. }
  365. }
  366. function button2_onclick(obj:Button, e:ClickEventInfo)
  367. {
  368. var receive_path = opener.frmf_getParameter("receive_path");
  369. var row = ds_main_list_patlist.rowposition;
  370. var pid = ds_main_list_patlist.getColumn(row, "pid");
  371. var patnm = ds_main_list_patlist.getColumn(row, "hngnm");
  372. var mpphontel = ds_main_list_patlist.getColumn(row, "mpphontel");
  373. var email = ds_main_list_patlist.getColumn(row, "email");
  374. var resdnrgstno1 = ds_main_list_patlist.getColumn(row, "rrgstno1");
  375. var resdnrgstno2 = ds_main_list_patlist.getColumn(row, "rrgstno2");
  376. var gndr = ds_main_list_patlist.getColumn(row, "sex");
  377. var zipcd1 = ds_main_list_patlist.getColumn(row, "zipcd1");
  378. var zipcd2 = ds_main_list_patlist.getColumn(row, "zipcd2");
  379. var zipcdseq = ds_main_list_patlist.getColumn(row, "zipcdseq");
  380. var zipcdaddr = ds_main_list_patlist.getColumn(row, "zipcdaddr");
  381. var detladdr = ds_main_list_patlist.getColumn(row, "detladdr");
  382. var etctelno1 = ds_main_list_patlist.getColumn(row, "etctelno1");
  383. if (ds_main_list_patlist.rowposition >= 0)
  384. {
  385. var objParam = new Object(); // frmf_getParameter로 노드 받아와서 데이터셋에 입력하는 방식을 오브젝트형식으로 변경함.
  386. objParam.pid = pid;
  387. objParam.hngnm = patnm;
  388. objParam.mpphontel = mpphontel;
  389. objParam.email = email;
  390. objParam.rrgstno1 = resdnrgstno1;
  391. objParam.rrgstno2 = resdnrgstno2;
  392. objParam.sex = gndr;
  393. objParam.zipcd1 = zipcd1;
  394. objParam.zipcd2 = zipcd2;
  395. objParam.zipcdseq = zipcdseq;
  396. objParam.zipcdaddr = zipcdaddr;
  397. objParam.detladdr = detladdr;
  398. objParam.etctelno1 = etctelno1;
  399. if (!utlf_isNull(receive_path) && receive_path == "voc")
  400. {
  401. opener.ds_temp_piddata.copyData(ds_main_list_patlist);
  402. opener.ds_temp_piddata.clearData();
  403. opener.ds_temp_piddata.addRow();
  404. opener.ds_temp_piddata.copyRow(0, ds_main_list_patlist, ds_main_list_patlist.rowposition);
  405. opener.ds_main_vocdata_customer.setColumn(0, "patrela", "");
  406. opener.frmf_getComponents("cmb_PatRela").setFocus();
  407. }
  408. if (!utlf_isNull(receive_path) && receive_path == "crmpid")
  409. { // ds_temp_key 데이터셋이 없으므로 1.0 에 오류나는 부분 제거함
  410. opener.frmf_openForm("SMCMS00400", "", objParam);
  411. this.close();
  412. return false;
  413. }
  414. this.close(objParam);
  415. }
  416. else
  417. {
  418. sysf_messageBox("조회하신 후 목록을 ","C002");
  419. grd_patlist.setFocus();
  420. }
  421. }
  422. function button3_onclick(obj:Button, e:ClickEventInfo)
  423. {
  424. this.close();
  425. }
  426. ]]></Script>
  427. </Form>
  428. </FDL>