SPPMC05000_VIP환자정보조회.xfdl 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPMC05000" position="absolute 0 0 634 352" titletext="VIP환자기초정보조회" onload="SPPMC05000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_confirm" taborder="1" text="확인" class="btn4" position="absolute 502 322 558 344" onclick="btn_confirm_onclick"/>
  8. <Button id="btn_cancel" taborder="2" text="취소" class="btn4" position="absolute 561 322 617 344" onclick="btn_cancel_onclick"/>
  9. <Shape id="line32" linetype="horizontal" class="line_6" position="absolute 0 314 618 320"/>
  10. <Grid id="grd_patbaseinfo" taborder="3" binddataset="ds_main_patbaseinfo_patbaseinfolist" useinputpanel="false" position="absolute 0 65 617 315" oncelldblclick="grd_patbaseinfo_oncelldblclick">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="68"/>
  15. <Column size="100"/>
  16. <Column size="69"/>
  17. <Column size="67"/>
  18. <Column size="65"/>
  19. <Column size="50"/>
  20. <Column size="50"/>
  21. <Column size="85"/>
  22. <Column size="100"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. <Column size="50"/>
  33. <Column size="50"/>
  34. <Column size="0"/>
  35. <Column size="250"/>
  36. <Column size="250"/>
  37. <Column size="0"/>
  38. <Column size="0"/>
  39. <Column size="100"/>
  40. <Column size="100"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. <Column size="0"/>
  45. <Column size="0"/>
  46. <Column size="0"/>
  47. <Column size="0"/>
  48. <Column size="0"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="0"/>
  54. <Column size="0"/>
  55. <Column size="0"/>
  56. <Column size="0"/>
  57. <Column size="0"/>
  58. <Column size="0"/>
  59. <Column size="0"/>
  60. <Column size="100"/>
  61. <Column size="100"/>
  62. <Column size="100"/>
  63. </Columns>
  64. <Rows>
  65. <Row size="24" band="head"/>
  66. <Row size="24"/>
  67. </Rows>
  68. <Band id="head">
  69. <Cell text="등록번호"/>
  70. <Cell col="1" text="vip등록번호"/>
  71. <Cell col="2" text="vip분류"/>
  72. <Cell col="3" text="vip구분"/>
  73. <Cell col="4" text="환자성명"/>
  74. <Cell col="5" colspan="2" text="주민등록번호" taborder="undefined"/>
  75. <Cell col="7" text="집전화번호"/>
  76. <Cell col="8" text="휴대전화번호"/>
  77. <Cell col="9" text="생일"/>
  78. <Cell col="10" text="성별"/>
  79. <Cell col="11" text="나이"/>
  80. <Cell col="12" text="이메일"/>
  81. <Cell col="13" text="기타전화번호1"/>
  82. <Cell col="14" text="연락방법"/>
  83. <Cell col="15" text="정보공개여부"/>
  84. <Cell col="16" text="시작일자"/>
  85. <Cell col="17" text="종료일자"/>
  86. <Cell col="18" colspan="2" text="우편번호" taborder="undefined"/>
  87. <Cell col="20" text="우편번호순서"/>
  88. <Cell col="21" text="주소"/>
  89. <Cell col="22" text="상세주소"/>
  90. <Cell col="23" text="종료사유"/>
  91. <Cell col="24" text="진료참조사항"/>
  92. <Cell col="25" text="근무처"/>
  93. <Cell col="26" text="직책"/>
  94. <Cell col="27" text="종교"/>
  95. <Cell col="28" text="세례명"/>
  96. <Cell col="29" text="영명축일"/>
  97. <Cell col="30" text="생일"/>
  98. <Cell col="31" text="음력/양력구분"/>
  99. <Cell col="32" text="외국인여부"/>
  100. <Cell col="33" text="국적"/>
  101. <Cell col="34" text="차종"/>
  102. <Cell col="35" text="차량번호"/>
  103. <Cell col="36" text="의뢰자"/>
  104. <Cell col="37" text="의뢰자와의관계"/>
  105. <Cell col="38" text="수행원이름"/>
  106. <Cell col="39" text="수행원과의관계"/>
  107. <Cell col="40" text="수행원연락처"/>
  108. <Cell col="41" text="VIP등록자"/>
  109. <Cell col="42" text="최초등록자ID"/>
  110. <Cell col="43" text="최초등록시간"/>
  111. <Cell col="44" text="최종수정자ID"/>
  112. <Cell col="45" text="최종수정시간"/>
  113. <Cell col="46" text="신청부서"/>
  114. <Cell col="47" text="신청부서명"/>
  115. <Cell col="48" text="vip관리부서"/>
  116. </Band>
  117. <Band id="body">
  118. <Cell text="bind:pid"/>
  119. <Cell col="1" style="align:left middle;" text="bind:viprgstno"/>
  120. <Cell col="2" displaytype="combo" text="bind:vipcls" combodataset="ds_init_P0443list_P0443" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  121. <Cell col="3" displaytype="combo" text="bind:vipflag" combodataset="ds_init_P0444list_P0444" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  122. <Cell col="4" text="bind:hngnm"/>
  123. <Cell col="5" text="bind:rrgstno1"/>
  124. <Cell col="6" text="bind:rrgstno2"/>
  125. <Cell col="7" style="align:left middle;" text="bind:hometel"/>
  126. <Cell col="8" style="align:left middle;" text="bind:mpphontel"/>
  127. <Cell col="9" text="bind:brthdd" mask="yyyy-mm-dd"/>
  128. <Cell col="10" text="bind:sex"/>
  129. <Cell col="11" text="bind:age"/>
  130. <Cell col="12" text="bind:email"/>
  131. <Cell col="13" text="bind:etctel1"/>
  132. <Cell col="14" text="bind:cntcmthd"/>
  133. <Cell col="15" text="bind:infoopenyn"/>
  134. <Cell col="16" text="bind:fromdd" mask="yyyy-mm-dd"/>
  135. <Cell col="17" text="bind:todd" mask="yyyy-mm-dd"/>
  136. <Cell col="18" text="bind:zipcd1"/>
  137. <Cell col="19" text="bind:zipcd2"/>
  138. <Cell col="20" text="bind:zipcdseq"/>
  139. <Cell col="21" style="align:left middle;" text="bind:addr"/>
  140. <Cell col="22" style="align:left middle;" text="bind:detladdr"/>
  141. <Cell col="23" text="bind:endresn"/>
  142. <Cell col="24" text="bind:ordremfact"/>
  143. <Cell col="25" style="align:left middle;" text="bind:dutplce"/>
  144. <Cell col="26" style="align:left middle;" text="bind:jobpos"/>
  145. <Cell col="27" style="align:left middle;" text="bind:religncd"/>
  146. <Cell col="28" style="align:left middle;" text="bind:baptnm"/>
  147. <Cell col="29" style="align:left middle;" text="bind:fairnmfestivday"/>
  148. <Cell col="30" style="align:left middle;" text="bind:brthdate"/>
  149. <Cell col="31" style="align:left middle;" text="bind:lunarsolarflag"/>
  150. <Cell col="32" style="align:left middle;" text="bind:forgneryn"/>
  151. <Cell col="33" style="align:left middle;" text="bind:nati"/>
  152. <Cell col="34" style="align:left middle;" text="bind:carkind"/>
  153. <Cell col="35" style="align:left middle;" text="bind:carno"/>
  154. <Cell col="36" style="align:left middle;" text="bind:requester"/>
  155. <Cell col="37" style="align:left middle;" text="bind:requesterrela"/>
  156. <Cell col="38" style="align:left middle;" text="bind:attendantnm"/>
  157. <Cell col="39" style="align:left middle;" text="bind:attendantrela"/>
  158. <Cell col="40" style="align:left middle;" text="bind:attendanttelno"/>
  159. <Cell col="41" style="align:left middle;" text="bind:viprgstrnm"/>
  160. <Cell col="42" style="align:left middle;" text="bind:fstrgstrid"/>
  161. <Cell col="43" style="align:left middle;" text="bind:fstrgstdt"/>
  162. <Cell col="44" style="align:left middle;" text="bind:lastupdtrid"/>
  163. <Cell col="45" style="align:left middle;" text="bind:lastupdtdt"/>
  164. <Cell col="46" style="align:left middle;" text="bind:vipappdept"/>
  165. <Cell col="47" style="align:left middle;" text="bind:vipappdeptnm"/>
  166. <Cell col="48" style="align:left middle;" text="bind:vipmngtdept"/>
  167. </Band>
  168. </Format>
  169. </Formats>
  170. </Grid>
  171. <Shape id="line1" class="line_1" position="absolute 0 61 617 67" style="strokepen:3 solid #33bbbbff;"/>
  172. <Static id="caption1" text="인적사항" class="tit_2" position="absolute 5 42 100 58"/>
  173. <Div id="group2" taborder="4" class="div_SA2" position="absolute 0 0 618 35">
  174. <Layouts>
  175. <Layout width="618" height="35">
  176. <Static id="caption2" text="검색조건 :" class="search_name" position="absolute 15 9 101 26"/>
  177. <Button id="btn_search" taborder="17" text="조회" class="btn1" position="absolute 545 7 601 29" onclick="group2_btn_search_onclick"/>
  178. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 526 7 532 29"/>
  179. <Edit id="ipt_hngnm" taborder="18" class="input_search" visible="false" position="absolute 224 8 354 27" onkeydown="group2_edit_onkeydown" style="align:left middle;" autoselect="true" imemode="hangul"/>
  180. <Edit id="ipt_rrgstno1" taborder="19" class="input_search" visible="false" position="absolute 247 8 332 27" onkeydown="group2_edit_onkeydown" maxlength="6" inputtype="number" style="align:left middle;" autoselect="true"/>
  181. <Combo id="cmb_cond" taborder="20" innerdataset="@ds_cmb_cond" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 106 8 216 27" index="-1" onitemclick="group2_cmb_cond_onitemclick"/>
  182. <Edit id="ipt_rrgstno2" taborder="21" class="input_search" visible="false" position="absolute 285 8 370 27" onkeydown="group2_edit_onkeydown" style="align:left middle;" autoselect="true" maxlength="7"/>
  183. <MaskEdit id="ipt_pid" taborder="22" mask="9999999999" class="input_search" visible="false" position="absolute 325 8 455 27" onkeydown="group2_mask_edit_onkeydown" style="align:left middle;" autoselect="true"/>
  184. </Layout>
  185. </Layouts>
  186. </Div>
  187. </Layout>
  188. </Layouts>
  189. <Objects>
  190. <Dataset id="ds_init_P0350list_P0350" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  191. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  192. <ColumnInfo>
  193. <Column id="srchcond" type="STRING" size="256"/>
  194. <Column id="pid" type="STRING" size="256"/>
  195. <Column id="hngnm" type="STRING" size="256"/>
  196. <Column id="rrgstno1" type="STRING" size="256"/>
  197. <Column id="rrgstno2" type="STRING" size="256"/>
  198. <Column id="deptflag" type="STRING" size="256"/>
  199. <Column id="checkfnexam" type="STRING" size="256"/>
  200. </ColumnInfo>
  201. <Rows>
  202. <Row>
  203. <Col id="srchcond"/>
  204. <Col id="pid"/>
  205. <Col id="hngnm"/>
  206. <Col id="rrgstno1"/>
  207. <Col id="rrgstno2"/>
  208. <Col id="deptflag"/>
  209. </Row>
  210. </Rows>
  211. </Dataset>
  212. <Dataset id="ds_cmb_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  213. <Dataset id="ds_main_patbaseinfo_patbaseinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  214. <ColumnInfo>
  215. <Column id="viprgstno" type="STRING" size="256" sumtext="vip등록번호"/>
  216. <Column id="vipcls" type="STRING" size="256" sumtext="vip분류"/>
  217. <Column id="vipappno" type="STRING" size="256" sumtext="vip신청번호"/>
  218. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  219. <Column id="hngnm" type="STRING" size="256" sumtext="성명"/>
  220. <Column id="vipflag" type="STRING" size="256" sumtext="vip구분"/>
  221. <Column id="rrgstno1" type="STRING" size="256" sumtext="주민번호1"/>
  222. <Column id="rrgstno2" type="STRING" size="256" sumtext="주민번호2"/>
  223. <Column id="brthdd" type="STRING" size="256" sumtext="생년월일"/>
  224. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  225. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  226. <Column id="cntcmthd" type="STRING" size="256" sumtext="연락방법"/>
  227. <Column id="infoopenyn" type="STRING" size="256" sumtext="정보공개여부"/>
  228. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대폰"/>
  229. <Column id="hometel" type="STRING" size="256" sumtext="전화[집]"/>
  230. <Column id="etctel" type="STRING" size="256" sumtext="전화[기타]"/>
  231. <Column id="email" type="STRING" size="256" sumtext="이메일"/>
  232. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  233. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  234. <Column id="zipcd1" type="STRING" size="256" sumtext="우편번호1"/>
  235. <Column id="zipcd2" type="STRING" size="256" sumtext="우편번호2"/>
  236. <Column id="zipcdseq" type="INT" size="256" sumtext="우편코드번호"/>
  237. <Column id="addr" type="STRING" size="256" sumtext="상위주소"/>
  238. <Column id="detladdr" type="STRING" size="256" sumtext="하위주소"/>
  239. <Column id="endresn" type="STRING" size="256" sumtext="종료사유"/>
  240. <Column id="ordremfact" type="STRING" size="256" sumtext="진료참조사항"/>
  241. <Column id="dutplce" type="STRING" size="256" sumtext="근무처"/>
  242. <Column id="jobpos" type="STRING" size="256" sumtext="직책"/>
  243. <Column id="religncd" type="STRING" size="256" sumtext="종교"/>
  244. <Column id="baptnm" type="STRING" size="256" sumtext="세례명"/>
  245. <Column id="fairnmfestivday" type="STRING" size="256" sumtext="영명축일"/>
  246. <Column id="brthdate" type="STRING" size="256" sumtext="생일"/>
  247. <Column id="lunarsolarflag" type="STRING" size="256" sumtext="음력/양력"/>
  248. <Column id="forgneryn" type="STRING" size="256" sumtext="외국인여부"/>
  249. <Column id="nati" type="STRING" size="256" sumtext="국적"/>
  250. <Column id="carkind" type="STRING" size="256" sumtext="차종"/>
  251. <Column id="carno" type="STRING" size="256" sumtext="차량번호"/>
  252. <Column id="recmerid" type="STRING" size="256" sumtext="의뢰자id"/>
  253. <Column id="requester" type="STRING" size="256" sumtext="의뢰자이름"/>
  254. <Column id="requesterrela" type="STRING" size="256" sumtext="의뢰자와의관계"/>
  255. <Column id="attendantnm" type="STRING" size="256" sumtext="수행원이름"/>
  256. <Column id="attendantrela" type="STRING" size="256" sumtext="수행원과의관계"/>
  257. <Column id="attendanttelno" type="STRING" size="256" sumtext="수행원연락처"/>
  258. <Column id="viprgstrnm" type="STRING" size="256" sumtext="vip등록자"/>
  259. <Column id="vipappdept" type="STRING" size="256" sumtext="vip신청부서"/>
  260. <Column id="vipappdeptnm" type="STRING" size="256" sumtext="vip신청부서명"/>
  261. <Column id="vipmngtdept" type="STRING" size="256" sumtext="vip신청부서명"/>
  262. </ColumnInfo>
  263. </Dataset>
  264. </Objects>
  265. <Bind>
  266. <BindItem id="item0" compid="group2.cmb_cond" propid="value" datasetid="ds_send" columnid="srchcond"/>
  267. <BindItem id="item1" compid="group2.ipt_pid" propid="value" datasetid="ds_send" columnid="pid"/>
  268. <BindItem id="item2" compid="group2.ipt_rrgstno2" propid="value" datasetid="ds_send" columnid="rrgstno2"/>
  269. <BindItem id="item3" compid="group2.ipt_rrgstno1" propid="value" datasetid="ds_send" columnid="rrgstno1"/>
  270. <BindItem id="item4" compid="group2.ipt_hngnm" propid="value" datasetid="ds_send" columnid="hngnm"/>
  271. </Bind>
  272. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  273. * System Name :
  274. * Job Name :
  275. * Creator :
  276. * Make Date : 2016-11-17
  277. * Description :
  278. *---------------------------------------------------------------------------------------
  279. * Modify Date Modifier Modify Description
  280. *---------------------------------------------------------------------------------------
  281. * 2016-11-17 Live Converter TF->XP
  282. *
  283. *---------------------------------------------------------------------------------------
  284. ****************************************************************************************/
  285. //=======================================================================================
  286. // Lib Include
  287. //---------------------------------------------------------------------------------------
  288. include 'com_commonxp::comm_main.xjs';
  289. var arErrorCode = new HashArray();
  290. //=======================================================================================
  291. // Local methods
  292. //---------------------------------------------------------------------------------------
  293. /**
  294. * MaskEdit 에서 입력한 데이터가 format 에 맞는 형식인지 검사 한다
  295. * ontextchange 이벤트에서만 사용 할 것
  296. * @param {[type]} obj:MaskEdit [description]
  297. * @param {[type]} e:TextChangeEventInfo [description]
  298. * @param {[type]} format [description]
  299. * @return {[type]} [description]
  300. */
  301. function checkValid(obj: MaskEdit, e: TextChangeEventInfo, format) {
  302. var dummyDay = '20170101120000';
  303. var postValue = utlf_trim(String(e.posttext).replace(':', '').replace('_', '').replace('-', '').replace(' ', ''));
  304. postValue = (postValue.length == dummyDay.length) ? postValue : postValue + dummyDay.substr(postValue.length, dummyDay.length);
  305. if (!utlf_isValidDateTime(postValue, format)) {
  306. return false;
  307. }
  308. return true;
  309. }
  310. /**
  311. * [lf_getCellBindCol description]
  312. * @param {[type]} cellIdx [description]
  313. * @return {[type]} [description]
  314. */
  315. function lf_getCellBindCol(target: Grid, cellIdx) {
  316. var text = utlf_trim(target.getCellProperty("body", cellIdx, "text"));
  317. return text.replace(/bind:/, "").replace(/BIND:/, "");
  318. }
  319. /**
  320. * @param {*} strBuffer integer 타입으로 변환 할 변수
  321. * @returns {*} integer 타입으로 변환 된 값을 리턴한다. 만약 숫자 형식이 아니라면 0을 리턴한다
  322. */
  323. function lf_parseInt(strBuffer){
  324. var tmpValue = parseInt(utlf_transNullToEmpty(strBuffer).trim());
  325. if(isNaN(tmpValue)){
  326. return 0;
  327. }
  328. return tmpValue
  329. }
  330. /**
  331. * [erasePrefix description]
  332. * @param {[type]} target: Dataset [description]
  333. * @param {[type]} prefix [description]
  334. * @return {[type]} [description]
  335. */
  336. function erasePrefix(target: Dataset, prefix) {
  337. if (target.rowcount < 1) {
  338. return;
  339. }
  340. for (var i = 0; i < target.colcount; i++) {
  341. var updatedId = target.getColID(i).replace(prefix, '');
  342. if (!utlf_isNull(updatedId)) {
  343. target.updateColID(i, updatedId);
  344. }
  345. }
  346. }
  347. /**
  348. * 조회 조건에 맞는 input 컨트롤을 세팅해 준다.
  349. * @param cond
  350. */
  351. function fChangeSearchCondition(cond) {
  352. switch (cond) {
  353. case '1':
  354. group2.ipt_pid.visible = true;
  355. group2.ipt_pid.position.left = 224;
  356. group2.ipt_pid.position.top = 8;
  357. group2.ipt_pid.position.width = 130;
  358. group2.ipt_hngnm.visible = false;
  359. group2.ipt_rrgstno1.visible = false;
  360. group2.ipt_rrgstno2.visible = false;
  361. group2.ipt_pid.setFocus();
  362. break;
  363. case '2':
  364. group2.ipt_hngnm.visible = true;
  365. group2.ipt_hngnm.position.left = 224;
  366. group2.ipt_hngnm.position.top = 8;
  367. group2.ipt_hngnm.position.width = 130;
  368. group2.ipt_pid.visible = false;
  369. group2.ipt_rrgstno1.visible = false;
  370. group2.ipt_rrgstno2.visible = false;
  371. group2.ipt_hngnm.setFocus();
  372. break;
  373. case '3':
  374. group2.ipt_rrgstno1.visible = true;
  375. group2.ipt_rrgstno2.visible = true;
  376. group2.ipt_rrgstno1.position.left = 224;
  377. group2.ipt_rrgstno1.position.top = 8;
  378. group2.ipt_rrgstno1.position.width = 85;
  379. group2.ipt_rrgstno2.position.left = 312;
  380. group2.ipt_rrgstno2.position.top = 8;
  381. group2.ipt_rrgstno2.position.width = 85;
  382. group2.ipt_hngnm.visible = false;
  383. group2.ipt_pid.visible = false;
  384. group2.ipt_rrgstno1.setFocus();
  385. break;
  386. case '4':
  387. group2.ipt_hngnm.visible = true;
  388. group2.ipt_hngnm.position.left = 224;
  389. group2.ipt_hngnm.position.top = 8;
  390. group2.ipt_hngnm.position.width = 125;
  391. group2.ipt_pid.visible = false;
  392. group2.ipt_rrgstno1.visible = true;
  393. group2.ipt_rrgstno1.position.left = 352;
  394. group2.ipt_rrgstno1.position.top = 8;
  395. group2.ipt_rrgstno1.position.width = 85;
  396. group2.ipt_rrgstno2.visible = true;
  397. group2.ipt_rrgstno2.position.left = 440;
  398. group2.ipt_rrgstno2.position.top = 8;
  399. group2.ipt_rrgstno2.position.width = 85;
  400. group2.ipt_hngnm.setFocus();
  401. break;
  402. default:
  403. //messageBox("검색조건이 정확히 선택되지 않았습니다. 확인 후 다시 시도해 주십시요.", "E999", "");
  404. break;
  405. }
  406. }
  407. /**
  408. * 창 생성시 부모창으로 부터 받은 입력값의 유효범위 체크
  409. */
  410. function fInputValueCheckXformsReady() {
  411. var cond = ds_send.getColumn(0, "srchcond");
  412. switch (cond) {
  413. case '1':
  414. //환자등록번호 체크
  415. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'pid')).length >= 1) {
  416. // model.setValue("/root/send/pid", ipt_pid.currentText);
  417. return (true);
  418. } else {
  419. //messageBox("환자등록번호를 정확히", "C001");
  420. return (false);
  421. }
  422. break;
  423. case '2':
  424. //환자이름 체크
  425. //if( ipt_hngnm.currentText.length >= 2 ) return (true);
  426. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'hngnm')).length >= 2) {
  427. // model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  428. return (true);
  429. } else {
  430. //messageBox("환자이름을 2자리 이상", "C001");
  431. return (false);
  432. }
  433. break;
  434. case '3':
  435. //환자 주민번호 체크
  436. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno1')).length >= 1
  437. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno2')).length >= 1) {
  438. // model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  439. // model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  440. return (true);
  441. } else {
  442. //messageBox("환자 주민번호를", "C001");
  443. return (false);
  444. }
  445. break;
  446. case '4':
  447. //환자이름 유효성 체크. 환자 주민번호 체크
  448. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'hngnm')).length >= 2
  449. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno1')).length >= 1
  450. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno2')).length >= 1) {
  451. // model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  452. // model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  453. // model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  454. } else {
  455. //messageBox("환자이름을 2자리 이상", "C001");
  456. return (false);
  457. }
  458. return (true);
  459. break;
  460. default:
  461. group2.cmb_cond.setFocus();
  462. return (false);
  463. break;
  464. }
  465. }
  466. /**
  467. * 입력값의 유효범위 체크
  468. */
  469. function fInputValueCheck() {
  470. var cond = ds_send.getColumn(0, "srchcond");
  471. switch (cond) {
  472. case '1':
  473. //환자등록번호 체크
  474. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'pid')).length >= 1) {
  475. // model.setValue("/root/send/pid", ipt_pid.currentText);
  476. return (true);
  477. } else {
  478. sysf_messageBox("환자등록번호를 정확히", "C001");
  479. return (false);
  480. }
  481. break;
  482. case '2':
  483. //환자이름 체크
  484. //if( ipt_hngnm.currentText.length >= 2 ) return (true);
  485. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'hngnm')).length >= 2) {
  486. // model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  487. return (true);
  488. } else {
  489. sysf_messageBox("환자이름을 2자리 이상", "C001");
  490. return (false);
  491. }
  492. break;
  493. case '3':
  494. //환자 주민번호 체크
  495. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno1')).length >= 1
  496. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno2')).length >= 1) {
  497. // model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  498. // model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  499. return (true);
  500. } else {
  501. sysf_messageBox("환자 주민번호를", "C001");
  502. return (false);
  503. }
  504. break;
  505. case '4':
  506. //환자이름 유효성 체크. 환자 주민번호 체크
  507. if (utlf_transNullToEmpty(ds_send.getColumn(0, 'hngnm')).length >= 2
  508. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno1')).length >= 1
  509. || utlf_transNullToEmpty(ds_send.getColumn(0, 'rrgstno2')).length >= 1) {
  510. // model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  511. // model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  512. // model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  513. } else {
  514. sysf_messageBox("환자이름 또는 주민번호를", "C001");
  515. return (false);
  516. }
  517. return (true);
  518. break;
  519. default:
  520. sysf_messageBox("검색조건이 정확히 선택되지 않았습니다. 확인 후 다시 시도해 주십시요.", "E999", "");
  521. group2.cmb_cond.setFocus();
  522. return (false);
  523. break;
  524. }
  525. }
  526. /**
  527. *
  528. */
  529. function fConfirm() {
  530. var row = grd_patbaseinfo.currentrow;
  531. opener.ds_main.setColumn(0, 'popupendflag', 'cancel');
  532. if (row >= 0) {
  533. if (ds_main_patbaseinfo_patbaseinfolist.rowcount > 0) {
  534. //합번된 등록번호 메세지 처리
  535. var sPid = utlf_transNullToEmpty(ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "pid"));
  536. var sHngnm = utlf_transNullToEmpty(ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "hngnm"));
  537. var sBindPid = utlf_transNullToEmpty(ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "bindpid"));
  538. if (sBindPid != '' && sBindPid != '-') {
  539. alert(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다.");
  540. return false;
  541. }
  542. opener.ds_main_vippatbaseinfo_vippatbaseinfolist.setColumn(0, "pid", ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "pid"));
  543. opener.ds_main_vippatbaseinfo_vippatbaseinfolist.setColumn(0, "rrgstno1", ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "rrgstno1"));
  544. opener.ds_main_vippatbaseinfo_vippatbaseinfolist.setColumn(0, "rrgstno2", ds_main_patbaseinfo_patbaseinfolist.getColumn(row, "rrgstno2"));
  545. opener.BaseInfoSet("Y");
  546. this.close();
  547. }
  548. } else {
  549. sysf_messageBox("행이 정확히 선택되지", "E007");
  550. }
  551. }
  552. /**
  553. * submit 후 호출 될 공통 콜백
  554. * @param {[type]} sSvcId [description]
  555. * @param {[type]} nErrorCode [description]
  556. * @param {[type]} sErrorMsg [description]
  557. * @return {Function} [description]
  558. */
  559. function callback(sSvcId, nErrorCode, sErrorMsg){
  560. arErrorCode.push(sSvcId, nErrorCode);
  561. }
  562. //=======================================================================================
  563. // Events
  564. //---------------------------------------------------------------------------------------
  565. /**
  566. * onload 이벤트 발생 시 호출
  567. * @param {[type]} obj:Form [description]
  568. * @param {[type]} e:LoadEventInfo [description]
  569. */
  570. function SPPMC05000_onload(obj: Form, e: LoadEventInfo) {
  571. frmf_initForm(obj);
  572. appf_getCodeList([{ dsNm: 'ds_init_P0350list_P0350', cdGrpId: 'P0350' }]);
  573. ds_cmb_cond.copyData(ds_init_P0350list_P0350);
  574. var deptflag = utlf_transNullToEmpty(opener.frmf_getParameter("deptcd"));
  575. dsf_makeValue(ds_send, "deptflag", 'string', deptflag);
  576. //플래그 초기화!
  577. opener.ds_main.setColumn(0, 'popupendflag', 'cancel');
  578. //if( getNodesetCount("/root/send/srchcond") > 0 ){
  579. if (ds_send.rowcount > 0) {
  580. if (ds_send.getColumn(0, "checkfnexam") != "1") {
  581. //조회조건에서 '예약일시'를 제거한다.
  582. ds_cmb_cond.filter('cdid != "5"');
  583. }
  584. fChangeSearchCondition(ds_send.getColumn(0, "srchcond"));
  585. try{
  586. ds_send.copyRow(0, arg_ds_hidden_source, 0);
  587. }
  588. catch(e) {}
  589. //값이 부모창에서 입력되었을 경우 조회한다.
  590. if (ds_send.getColumn(0, "srchcond") != '5' && fInputValueCheckXformsReady()) {
  591. var oParam = {};
  592. oParam.id = "TRPMC05001";
  593. oParam.service = "patinfomngtapp.VipPatMngt";
  594. oParam.method = "reqGetBasePatInfo";
  595. oParam.inds = "req=ds_send";
  596. oParam.outds = "ds_main_patbaseinfo_patbaseinfolist=patbaseinfolist";
  597. oParam.async = false;
  598. oParam.callback = "callback";
  599. tranf_submit(oParam);
  600. if (arErrorCode.pop("TRPMC05001") > -1) {
  601. if (ds_main_patbaseinfo_patbaseinfolist.rowcount == 1) {
  602. if (ds_send.getColumn(0, "autoflag").toUpperCase() == "Y") { //조회 내역이 1건일 경우 자동 화면 닫기
  603. grd_patbaseinfo.setFocus();
  604. btn_confirm.click();
  605. this.close();
  606. }
  607. }
  608. if (ds_main_patbaseinfo_patbaseinfolist.rowcount > 1) {
  609. grd_patbaseinfo.setFocus();
  610. } else {
  611. if (ds_send.getColumn(0, "autoflag").toUpperCase() == "NON") { //조회 내역이 없을 경우 자동 화면 닫기
  612. btn_cancel.click();
  613. //window.close();
  614. }
  615. fChangeSearchCondition(ds_send.getColumn(0, 'srchcond'));
  616. }
  617. }
  618. }
  619. } else {
  620. //조회조건에서 '예약일시'를 제거한다.
  621. ds_cmb_cond.filter('cdid != "5"');
  622. // model.makeNode("/root/send/srchcond");
  623. // model.makeNode("/root/send/pid");
  624. // model.makeNode("/root/send/hngnm");
  625. // model.makeNode("/root/send/rrgstno1");
  626. // model.makeNode("/root/send/rrgstno2");
  627. }
  628. }
  629. /**
  630. * cmb_cond 콤보 아이템 클릭 이벤트
  631. * @param obj
  632. * @param e
  633. */
  634. function group2_cmb_cond_onitemclick(obj: Combo, e: ListBoxClickEventInfo) {
  635. ds_send.setColumn(0, 'srchcond', e.itemvalue);
  636. fChangeSearchCondition(ds_send.getColumn(0, 'srchcond'));
  637. }
  638. /**
  639. * group2 의 Edit 컴포넌트 키보드 입력 이벤트
  640. * @param obj
  641. * @param e
  642. */
  643. function group2_edit_onkeydown(obj: Edit, e: KeyEventInfo) {
  644. if (e.keycode == 13) {
  645. obj.updateToDataset();
  646. group2.btn_search.click();
  647. }
  648. }
  649. /**
  650. * group2 의 MaskEdit 컴포넌트 키보드 입력 이벤트
  651. * @param obj
  652. * @param e
  653. */
  654. function group2_mask_edit_onkeydown(obj: MaskEdit, e: KeyEventInfo) {
  655. if (e.keycode == 13) {
  656. obj.updateToDataset();
  657. group2.btn_search.click();
  658. }
  659. }
  660. /**
  661. * 조회 버튼 클릭 이벤트
  662. * @param obj
  663. * @param e
  664. */
  665. function group2_btn_search_onclick(obj: Button, e: ClickEventInfo) {
  666. if (fInputValueCheck()) {
  667. var oParam = {};
  668. oParam.id = "TRPMC05001";
  669. oParam.service = "patinfomngtapp.VipPatMngt";
  670. oParam.method = "reqGetBasePatInfo";
  671. oParam.inds = "req=ds_send";
  672. oParam.outds = "ds_main_patbaseinfo_patbaseinfolist=patbaseinfolist";
  673. oParam.async = false;
  674. oParam.callback = "callback";
  675. tranf_submit(oParam);
  676. if (arErrorCode.pop("TRPMC05001") > -1) {
  677. if (ds_main_patbaseinfo_patbaseinfolist.rowcount > 0) {
  678. grd_patbaseinfo.setFocus();
  679. } else {
  680. fChangeSearchCondition(ds_send.getColumn(0, 'srchcond'));
  681. }
  682. }
  683. }
  684. }
  685. /**
  686. * grd_patbaseinfo 그리드 셀 더블클릭 이벤트
  687. * @param obj
  688. * @param e
  689. */
  690. function grd_patbaseinfo_oncelldblclick(obj: Grid, e: GridClickEventInfo) {
  691. if (frmf_checkOpener()) {
  692. fConfirm();
  693. } else {
  694. sysf_messageBox("상위화면이 변경되어 데이터를 가져올 수", "I004");
  695. }
  696. }
  697. /**
  698. * 확인 버튼 클릭 이벤트
  699. * @param obj
  700. * @param e
  701. */
  702. function btn_confirm_onclick(obj: Button, e: ClickEventInfo) {
  703. if (frmf_checkOpener()) {
  704. fConfirm();
  705. } else {
  706. sysf_messageBox("상위화면이 변경되어 데이터를 가져올 수", "I004");
  707. }
  708. }
  709. /**
  710. * 닫기 버튼 클릭 이벤트
  711. * @param obj
  712. * @param e
  713. */
  714. function btn_cancel_onclick(obj: Button, e: ClickEventInfo) {
  715. this.close();
  716. }
  717. ]]></Script>
  718. </Form>
  719. </FDL>