SMPMB04000_방문객대장관리.xfdl 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPMB04000" classname="SMPMB03800_질환군분류정보조회" inheritanceid="" position="absolute 0 0 1195 800" titletext="방문객대장관리" onload="SMPMB03800_onload" ontimer="SMPMB04000_ontimer" onmouseleave="SMPMB04000_onmouseleave">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_pmohvist" taborder="18" binddataset="ds_main_pmohvist" useinputpanel="false" autofittype="col" onkeydown="grd_pmohvist_onkeydown" position="absolute 0 94 1194 785" anchor="all" tooltiptype="hover" onrbuttonup="grd_pmohvist_onrbuttonup">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="30"/>
  12. <Column size="60"/>
  13. <Column size="80"/>
  14. <Column size="120"/>
  15. <Column size="40"/>
  16. <Column size="120"/>
  17. <Column size="100"/>
  18. <Column size="80"/>
  19. <Column size="120"/>
  20. <Column size="350"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="120"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="30" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1" text="구분"/>
  37. <Cell col="2" text="식별번호"/>
  38. <Cell col="3" text="이름"/>
  39. <Cell col="4" text="성별"/>
  40. <Cell col="5" text="전화번호"/>
  41. <Cell col="6" text="방문목적"/>
  42. <Cell col="7" text="출입구"/>
  43. <Cell col="8" text="방문일시"/>
  44. <Cell col="9" text="비고(감역정보 상세내역)"/>
  45. <Cell col="10" text="주민번호&#13;&#10;(외국인등록번호)"/>
  46. <Cell col="11" text="생년월일"/>
  47. <Cell col="12" text="성별"/>
  48. <Cell col="13" text="여권번호"/>
  49. <Cell col="14" text="외국인&#13;&#10;구분"/>
  50. <Cell col="15" text="감염정보&#13;&#10;유무"/>
  51. <Cell col="16" text="SEQNO"/>
  52. <Cell col="17" text="IP"/>
  53. </Band>
  54. <Band id="body">
  55. <Cell celltype="head" text="expr:currow+1"/>
  56. <Cell col="1" displaytype="combo" style="padding:0 0 0 3;" text="bind:gubun" combodataset="ds_init_gubun" combocodecol="cdid" combodatacol="cdnm"/>
  57. <Cell col="2" displaytype="text" text="bind:issueno2" tooltiptext="bind:issueno"/>
  58. <Cell col="3" displaytype="text" text="bind:name2" tooltiptext="bind:name"/>
  59. <Cell col="4" displaytype="combo" style="align:center middle;" text="bind:sex" combodataset="ds_init_sex" combocodecol="cdid" combodatacol="cdnm"/>
  60. <Cell col="5" displaytype="text" text="bind:phone2" maskchar="_" tooltiptext="bind:phone"/>
  61. <Cell col="6" displaytype="combo" style="padding:0 0 0 3;" text="bind:visitpurpose" combodataset="ds_init_visitpurpose" combocodecol="cdid" combodatacol="cdnm"/>
  62. <Cell col="7" displaytype="combo" style="padding:0 0 0 3;" text="bind:inposgbn" combodataset="ds_init_PK259" combocodecol="cdid" combodatacol="cdnm"/>
  63. <Cell col="8" text="bind:visitdt" mask="####-##-## ##:##"/>
  64. <Cell col="9" displaytype="text" text="bind:bigo" tooltiptext="bind:bigo"/>
  65. <Cell col="10" text="bind:rrgstno" mask="expr:utlf_isNull(rrgstno)?'':'######-#######'"/>
  66. <Cell col="11" text="bind:brthdd" mask="expr:utlf_isNull(brthdd)?'':'####-##-##'"/>
  67. <Cell col="12" displaytype="combo" text="bind:sex" combodataset="ds_init_sex" combocodecol="cdid" combodatacol="cdnm"/>
  68. <Cell col="13" displaytype="text" text="bind:psptno"/>
  69. <Cell col="14" text="bind:forgeryn"/>
  70. <Cell col="15" text="bind:duryn"/>
  71. <Cell col="16" text="bind:seqno"/>
  72. <Cell col="17" text="bind:ipinfo"/>
  73. </Band>
  74. </Format>
  75. </Formats>
  76. </Grid>
  77. <Shape id="line3" class="line_10" position="absolute 0 89 1194 95" anchor="left top right" style="strokepen:3 solid #33bbbbff;"/>
  78. <Static id="caption4" text="현재 주상병으로 적용 가능한 질환군 분류" class="tit_2" position="absolute 0 73 315 95"/>
  79. <Div id="grp_srch" anchor="left top right" taborder="19" onkeydown="grp_srch_onkeydown" class="div_SA" position="absolute 0 25 1194 65">
  80. <Layouts>
  81. <Layout>
  82. <Static id="caption5" text="번호 :" class="search_name" position="absolute 15 13 74 30"/>
  83. <Static id="cap_term" text="기간 : " class="search_name" visible="false" position="absolute 815 13 866 30"/>
  84. <Edit id="ipt_srch_issueno" taborder="12" imemode="alpha" inputmode="upper" inputfilter="dot,comma,sign,symbol,space" inputtype="numberandenglish" autoselect="true" onsetfocus="grp_srch_ipt_srch_issueno_onsetfocus" onkillfocus="grp_srch_ipt_srch_issueno_onkillfocus" onkeydown="grp_srch_ipt_srch_issueno_onkeydown" position="absolute 71 7 195 35" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;font:Dotum,10,bold;"/>
  85. <Shape id="line2" linetype="vertical" class="line_4" position="absolute 1103 9 1109 31" anchor="top right"/>
  86. <Button id="btn_search" taborder="13" text="조회" onclick="grp_srch_btn_search_onclick" class="btn1" position="absolute 1122 9 1178 31" anchor="top right"/>
  87. <Calendar id="cal_srch_fromdd" taborder="14" dateformat="yyyy-MM-dd" visible="false" position="absolute 870 10 962 30"/>
  88. <Calendar id="cal_srch_todd" taborder="15" dateformat="yyyy-MM-dd" visible="false" position="absolute 982 10 1074 30"/>
  89. <Static id="sta_term" text="~" visible="false" position="absolute 966 14 978 26"/>
  90. <Static id="caption01" text="출입구 :" class="search_name" position="absolute 341 13 408 30"/>
  91. <Combo id="cmb_srch_inposgbn" taborder="16" innerdataset="@ds_init_PK259" codecolumn="cdid" datacolumn="cdnm" onitemchanged="grp_srch_cmb_srch_inposgbn_onitemchanged" oncloseup="grp_srch_cmb_srch_inposgbn_oncloseup" position="absolute 409 10 493 30"/>
  92. <CheckBox id="chk_srch_yn" taborder="17" text="해당번호만 조회" value="N" truevalue="Y" falsevalue="N" position="absolute 202 10 325 30" onchanged="grp_srch_chk_srch_yn_onchanged"/>
  93. <Combo id="cmb_employee" taborder="18" value="Y" text="직원" codecolumn="codecolumn" datacolumn="datacolumn" index="0" onitemchanged="grp_srch_cmb_employee_onitemchanged" visible="false" position="absolute 1030 18 1098 38">
  94. <Dataset id="innerdataset">
  95. <ColumnInfo>
  96. <Column id="codecolumn" size="256"/>
  97. <Column id="datacolumn" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row>
  101. <Col id="codecolumn">Y</Col>
  102. <Col id="datacolumn">직원</Col>
  103. </Row>
  104. <Row>
  105. <Col id="codecolumn">N</Col>
  106. <Col id="datacolumn">일반</Col>
  107. </Row>
  108. </Rows>
  109. </Dataset>
  110. </Combo>
  111. <Static id="caption02" text="구분 :" class="search_name" visible="false" position="absolute 973 21 1040 38"/>
  112. <Static id="caption03" text="IP Address : " class="search_name" position="absolute 529 13 628 30"/>
  113. <Edit id="ipt_srch_ipaddress" taborder="19" readonly="true" position="absolute 629 10 737 30"/>
  114. <CheckBox id="chk_srch_yn2" taborder="20" text="전체" value="N" truevalue="Y" falsevalue="N" visible="false" position="absolute 746 10 805 30"/>
  115. <Edit id="ipt_srch_issueno2" taborder="21" imemode="alpha" inputmode="upper" inputfilter="dot,comma,sign,symbol,space" inputtype="numberandenglish" autoselect="true" position="absolute 71 7 195 35" style="background:URL('theme://images/bg_edit_N.png') stretch 5,5;font:Dotum,10,bold;" visible="false" onkeydown="grp_srch_ipt_srch_issueno2_onkeydown"/>
  116. </Layout>
  117. </Layouts>
  118. </Div>
  119. <Static id="cap_title" text="방문객 대장 관리" onclick="group3_cap_title_onclick" class="tit_1" position="absolute 0 0 180 25"/>
  120. <Div id="grp_messege" taborder="17" text="Div00" class="div_SA2" visible="false" position="absolute 292 257 918 477">
  121. <Layouts>
  122. <Layout>
  123. <Static id="cap_messege" text="보호자증은 사용할 수 없습니다.&#13;&#10;&#13;&#10;출입증을 발급받으시기 바랍니다." position="absolute 8 8 618 180" style="background:lightgoldenrodyellow;align:center middle;font:Dotum,24,bold;"/>
  124. <Button id="btn_close" taborder="1" text="확인" onclick="grp_messege_btn_close_onclick" class="btn4" position="absolute 287 191 340 211"/>
  125. </Layout>
  126. </Layouts>
  127. </Div>
  128. <Div id="grp_messegeError" taborder="16" class="div_SA2" visible="false" position="absolute 300 265 926 485">
  129. <Layouts>
  130. <Layout>
  131. <Static id="cap_messegeError" text="커서가 화면을 벗어났습니다. &#13;&#10;&#13;&#10;확인버튼을 눌러주세요." position="absolute 8 8 618 180" style="background:lightgoldenrodyellow;align:center middle;font:Dotum,24,bold;"/>
  132. <Button id="btn_closeError" taborder="1" text="확인" onclick="grp_messegeError_btn_closeError_onclick" class="btn4" position="absolute 287 191 340 211"/>
  133. </Layout>
  134. </Layouts>
  135. </Div>
  136. <Div id="grp_etc" taborder="20" position="absolute 201 54 491 93" class="div_SA2" visible="false">
  137. <Layouts>
  138. <Layout>
  139. <Static id="cap_messegeEtc" position="absolute 4 4 286 35" style="background:lightgoldenrodyellow;color:red;align:left top;font:Dotum,11,bold;" text="조회만 가능한 상태입니다. 대장입력을 위해선 체크를 해제하세요." anchor="default"/>
  140. </Layout>
  141. </Layouts>
  142. </Div>
  143. </Layout>
  144. </Layouts>
  145. <Bind>
  146. <BindItem id="item3" compid="grp_srch.ipt_srch_issueno" propid="value" datasetid="ds_send_srch" columnid="issueno"/>
  147. <BindItem id="item0" compid="grp_srch.cal_srch_fromdd" propid="value" datasetid="ds_send_srch" columnid="fromdd"/>
  148. <BindItem id="item1" compid="grp_srch.cal_srch_todd" propid="value" datasetid="ds_send_srch" columnid="todd"/>
  149. <BindItem id="item2" compid="grp_srch.cmb_srch_inposgbn" propid="value" datasetid="ds_send_srch" columnid="inposgbn"/>
  150. <BindItem id="item4" compid="grp_srch.cmb_employee" propid="value" datasetid="ds_send_srch" columnid="employee"/>
  151. <BindItem id="item5" compid="grp_srch.chk_srch_yn" propid="value" datasetid="ds_send_srch" columnid="srchyn"/>
  152. <BindItem id="item6" compid="grp_srch.ipt_srch_ipaddress" propid="value" datasetid="ds_send_srch" columnid="ipinfo"/>
  153. <BindItem id="item7" compid="grp_srch.chk_srch_yn2" propid="value" datasetid="ds_send_srch" columnid="srchyn2"/>
  154. <BindItem id="item8" compid="grp_srch.ipt_srch_issueno2" propid="value" datasetid="ds_send_srch" columnid="issueno"/>
  155. </Bind>
  156. <Objects>
  157. <Dataset id="ds_send_srch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  158. <ColumnInfo>
  159. <Column id="issueno" type="STRING" size="256"/>
  160. <Column id="fromdd" type="STRING" size="256"/>
  161. <Column id="todd" type="STRING" size="256"/>
  162. <Column id="inposgbn" type="STRING" size="256"/>
  163. <Column id="employee" type="STRING" size="256"/>
  164. <Column id="srchyn" type="STRING" size="256"/>
  165. <Column id="ipinfo" type="STRING" size="256"/>
  166. <Column id="srchyn2" type="STRING" size="256"/>
  167. </ColumnInfo>
  168. <Rows>
  169. <Row>
  170. <Col id="issueno"/>
  171. <Col id="fromdd"/>
  172. <Col id="todd"/>
  173. <Col id="inposgbn">1</Col>
  174. <Col id="employee">N</Col>
  175. <Col id="srchyn">N</Col>
  176. <Col id="ipinfo"/>
  177. </Row>
  178. </Rows>
  179. </Dataset>
  180. <Dataset id="ds_main_pmohvist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  181. <Dataset id="ds_init_gubun" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  182. <ColumnInfo>
  183. <Column id="cdid" type="STRING" size="256"/>
  184. <Column id="cdnm" type="STRING" size="256"/>
  185. </ColumnInfo>
  186. <Rows>
  187. <Row>
  188. <Col id="cdid">1</Col>
  189. <Col id="cdnm">환자</Col>
  190. </Row>
  191. <Row>
  192. <Col id="cdid">2</Col>
  193. <Col id="cdnm">직원</Col>
  194. </Row>
  195. <Row>
  196. <Col id="cdid">3</Col>
  197. <Col id="cdnm">외부직원</Col>
  198. </Row>
  199. <Row>
  200. <Col id="cdid">4</Col>
  201. <Col id="cdnm">보호자</Col>
  202. </Row>
  203. <Row>
  204. <Col id="cdid">5</Col>
  205. <Col id="cdnm">기타</Col>
  206. </Row>
  207. </Rows>
  208. </Dataset>
  209. <Dataset id="ds_init_visitpurpose" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  210. <ColumnInfo>
  211. <Column id="cdid" type="STRING" size="256"/>
  212. <Column id="cdnm" type="STRING" size="256"/>
  213. </ColumnInfo>
  214. <Rows>
  215. <Row>
  216. <Col id="cdid">1</Col>
  217. <Col id="cdnm">진료</Col>
  218. </Row>
  219. <Row>
  220. <Col id="cdid">2</Col>
  221. <Col id="cdnm">출근</Col>
  222. </Row>
  223. <Row>
  224. <Col id="cdid">3</Col>
  225. <Col id="cdnm">간병</Col>
  226. </Row>
  227. <Row>
  228. <Col id="cdid">4</Col>
  229. <Col id="cdnm">병문안</Col>
  230. </Row>
  231. <Row>
  232. <Col id="cdid">5</Col>
  233. <Col id="cdnm">편의시설</Col>
  234. </Row>
  235. <Row>
  236. <Col id="cdnm">납품</Col>
  237. <Col id="cdid">6</Col>
  238. </Row>
  239. <Row>
  240. <Col id="cdnm">계약</Col>
  241. <Col id="cdid">7</Col>
  242. </Row>
  243. <Row>
  244. <Col id="cdnm">기타</Col>
  245. <Col id="cdid">8</Col>
  246. </Row>
  247. </Rows>
  248. </Dataset>
  249. <Dataset id="ds_init_PK259" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  250. <Dataset id="ds_temp_visitorinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  251. <Dataset id="ds_temp_dur" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  252. <Dataset id="ds_init_sex" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  253. <ColumnInfo>
  254. <Column id="cdid" type="STRING" size="256"/>
  255. <Column id="cdnm" type="STRING" size="256"/>
  256. </ColumnInfo>
  257. <Rows>
  258. <Row>
  259. <Col id="cdid">M</Col>
  260. <Col id="cdnm">남</Col>
  261. </Row>
  262. <Row>
  263. <Col id="cdid">F</Col>
  264. <Col id="cdnm">여</Col>
  265. </Row>
  266. </Rows>
  267. </Dataset>
  268. <Dataset id="ds_main_nondurlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  269. </Objects>
  270. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
  271. include "pam_pamcomnxp::PAM.xjs";
  272. include 'pam_pamcomnxp::PAM001.xjs';
  273. // 방문객 대장리스트 조회
  274. function fGetPmohvistList() {
  275. ds_main_pmohvist.clearData();
  276. var oParam = {};
  277. oParam.id = "getPmohvistList";
  278. oParam.service = "pambaseinfomngtapp.Etc";
  279. oParam.method = "reqGetPmohvistList";
  280. oParam.inds = "req=ds_send_srch";
  281. oParam.outds = "ds_main_pmohvist=item";
  282. oParam.force = true;
  283. oParam.async = false;
  284. tranf_submit(oParam);
  285. if(ds_send_srch.getColumn(0, "srchyn") == "Y") {
  286. grp_srch.ipt_srch_issueno2.setFocus();
  287. } else {
  288. ds_send_srch.setColumn(0, "issueno", "");
  289. grp_srch.ipt_srch_issueno.setFocus();
  290. }
  291. }
  292. // 방문객(직원) 정보조회
  293. function fGetVisitorInfo(issueno, gubun) {
  294. ds_temp_visitorinfo.clearData();
  295. dsf_createDsRow("ds_req", [{col: "issueno", val: issueno}
  296. , {col: "gubun", val : gubun}]);
  297. var oParam = {};
  298. oParam.id = "getVisitorInfo";
  299. oParam.service = "pambaseinfomngtapp.Etc";
  300. oParam.method = "reqGetVisitorInfo";
  301. oParam.inds = "req=ds_req";
  302. oParam.outds = "ds_temp_visitorinfo=item";
  303. oParam.force = true;
  304. oParam.async = false;
  305. tranf_submit(oParam);
  306. }
  307. // 등록정보 없는 방문객 저장
  308. function fSaveVisitNoRgst(issueno) {
  309. var ipinfo = ds_send_srch.getColumn(0, "ipinfo") ;
  310. dsf_createDsRow("ds_req", [{col:"visitdd", val:utlf_getCurrentDate()}
  311. ,{col:"issueno", val:issueno}
  312. ,{col:"gubun", val:"5"} //기타
  313. ,{col:"inposgbn", val:ds_send_srch.getColumn(0, "inposgbn")}
  314. ,{col:"ipinfo", val:ipinfo}]);
  315. // 출입대장정보 저장
  316. var oParam = {};
  317. oParam.id = "setVisitNoRgst";
  318. oParam.service = "pambaseinfomngtapp.Etc";
  319. oParam.method = "reqSetVisitNoRgst";
  320. oParam.inds = "req=ds_req";
  321. oParam.force = true;
  322. oParam.async = false;
  323. tranf_submit(oParam);
  324. fGetPmohvistList();
  325. }
  326. // 출입정보 저장
  327. function fSetPmohvistList() {
  328. var issueno = ds_send_srch.getColumn(0, "issueno");
  329. if(utlf_isNull(issueno)) {
  330. grp_srch.ipt_srch_issueno.setFocus();
  331. return;
  332. }
  333. if(issueno.substr(0,1) == "R") {
  334. grp_messege.cap_messege.text = "보호자증은 사용할 수 없습니다.\n\n출입증을 발급받으시기 바랍니다.";
  335. grp_messege.visible = true;
  336. fSaveVisitNoRgst(issueno);
  337. grp_messege.btn_close.setFocus();
  338. return;
  339. } else if(issueno.substr(0,1) == "Z") { //방문객 마스터조회
  340. fGetVisitorInfo(issueno, "Z");
  341. if(ds_temp_visitorinfo.rowcount < 1) {
  342. grp_messege.cap_messege.text = "방문객정보가 없습니다.\n\n출입증을 발급받으시기 바랍니다.";
  343. grp_messege.visible = true;
  344. fSaveVisitNoRgst(issueno);
  345. grp_messege.btn_close.setFocus();
  346. return;
  347. }
  348. } else if(issueno.substr(0,1) == "T") { //직원정보조회
  349. issueno = issueno.substr(1,5);
  350. fGetVisitorInfo(issueno, "T");
  351. if(ds_temp_visitorinfo.rowcount < 1) {
  352. grp_messege.cap_messege.text = "직원정보가 없습니다.\n\n출입증을 발급받으시기 바랍니다.";
  353. grp_messege.visible = true;
  354. fSaveVisitNoRgst(issueno);
  355. grp_messege.btn_close.setFocus();
  356. return;
  357. }
  358. } else if(issueno.length == 12) { //칠곡직원정보조회 T 없이 12자리
  359. issueno = issueno.substr(0,5);
  360. fGetVisitorInfo(issueno, "T");
  361. if(ds_temp_visitorinfo.rowcount < 1) {
  362. grp_messege.cap_messege.text = "직원정보가 없습니다.\n\n출입증을 발급받으시기 바랍니다.";
  363. grp_messege.visible = true;
  364. fSaveVisitNoRgst(issueno);
  365. grp_messege.btn_close.setFocus();
  366. return;
  367. }
  368. } else { //pam.pmcmptbs && 직원정보조회
  369. if(issueno.substr(0,1) == "P") {
  370. issueno = String(Number(issueno.substr(1, 9)));
  371. }
  372. fGetVisitorInfo(issueno, "E");
  373. if(ds_temp_visitorinfo.rowcount < 1) {
  374. grp_messege.cap_messege.text = "환자정보가 없습니다.\n\n출입증을 발급받으시기 바랍니다.";
  375. grp_messege.visible = true;
  376. fSaveVisitNoRgst(issueno);
  377. grp_messege.btn_close.setFocus();
  378. return;
  379. } else if(ds_temp_visitorinfo.rowcount > 1) {
  380. dsf_createDs("ds_temp_visitorinfo2");
  381. dsf_copyColInfo(ds_temp_visitorinfo2, ds_temp_visitorinfo);
  382. var cRow = -1;
  383. if(sysf_messageBox("직원 이십니까?","Q") == 6) {
  384. cRow = ds_temp_visitorinfo.findRow("gubun", "2");
  385. } else {
  386. cRow = ds_temp_visitorinfo.findRow("gubun", "1");
  387. }
  388. ds_temp_visitorinfo2.copyRow(ds_temp_visitorinfo2.addRow(), ds_temp_visitorinfo, cRow);
  389. ds_temp_visitorinfo.clear();
  390. ds_temp_visitorinfo.copyData(ds_temp_visitorinfo2);
  391. dsf_deleteDs("ds_temp_visitorinfo2");
  392. }
  393. }
  394. // dur예외정보 조회
  395. dsf_createDsRow("ds_req", [{col:"issueno", val:issueno}
  396. ,{col:"rrgstno", val:ds_temp_visitorinfo.getColumn(0, "rrgstno")}]);
  397. var oParam = {};
  398. oParam.id = "getNonDurList";
  399. oParam.service = "pambaseinfomngtapp.Etc";
  400. oParam.method = "reqGetNonDurList";
  401. oParam.inds = "req=ds_req";
  402. oParam.outds = "ds_main_nondurlist=item";
  403. oParam.async = false;
  404. tranf_submit(oParam);
  405. if(ds_main_nondurlist.rowcount < 1) {
  406. sysf_trace("DUR정보조회");
  407. // dur정보 조회
  408. var birth = ds_temp_visitorinfo.getColumn(0, "brthdd");
  409. if(utlf_isNull(birth) || birth.length < 8) birth = "00000000";
  410. dsf_createDsRow("ds_req", [{col:"hngnm", val:ds_temp_visitorinfo.getColumn(0, "name")}
  411. ,{col:"birth", val:birth}
  412. ,{col:"sex", val:ds_temp_visitorinfo.getColumn(0, "sex")}
  413. ,{col:"rrgstno", val:ds_temp_visitorinfo.getColumn(0, "rrgstno")}
  414. ,{col:"psptno", val:ds_temp_visitorinfo.getColumn(0, "psptno")}
  415. ,{col:"forgeryn", val:ds_temp_visitorinfo.getColumn(0, "forgeryn")}]);
  416. var oParam = {};
  417. oParam.id = "getKimsInfectionIFInfo";
  418. oParam.service = "pambaseinfomngtapp.Etc";
  419. oParam.method = "reqGetKimsInfectionIFInfo";
  420. oParam.inds = "req=ds_req";
  421. oParam.outds = "ds_temp_dur=item";
  422. oParam.force = true;
  423. oParam.async = false;
  424. tranf_submit(oParam);
  425. } else {
  426. sysf_trace("DUR정보조회 예외적용");
  427. }
  428. var duryn = "N";
  429. var srchrsltdetl = "";
  430. if(ds_temp_dur.rowcount > 0 && !utlf_isNull(ds_temp_dur.getColumn(0, "srchrsltdetl"))) {
  431. duryn = "Y";
  432. srchrsltdetl = ds_temp_dur.getColumn(0, "srchrsltdetl").substr(0,65);
  433. }
  434. dsf_makeValue(ds_temp_visitorinfo, "visitdd", "string", utlf_getCurrentDate());
  435. //dsf_makeValue(ds_temp_visitorinfo, "visittm", "string", utlf_getCurrentTime());
  436. dsf_makeValue(ds_temp_visitorinfo, "issueno", "string", issueno);
  437. dsf_makeValue(ds_temp_visitorinfo, "inposgbn", "string", ds_send_srch.getColumn(0, "inposgbn"));
  438. dsf_makeValue(ds_temp_visitorinfo, "duryn", "string", duryn);
  439. dsf_makeValue(ds_temp_visitorinfo, "bigo", "string", srchrsltdetl);
  440. dsf_makeValue(ds_temp_visitorinfo, "ipinfo", "string", ds_send_srch.getColumn(0, "ipinfo"));
  441. // 출입대장정보 저장
  442. var oParam = {};
  443. oParam.id = "setPmohvistList";
  444. oParam.service = "pambaseinfomngtapp.Etc";
  445. oParam.method = "reqSetPmohvistList";
  446. oParam.inds = "req=ds_temp_visitorinfo";
  447. oParam.callback = "cf_setPmohvistList";
  448. oParam.force = true;
  449. oParam.async = false;
  450. tranf_submit(oParam);
  451. }
  452. function cf_setPmohvistList(sSvcId, nErrorCode, sErrorMsg) {
  453. if(nErrorCode < 0) {
  454. alert("저장시 오류가 발생하였습니다.");
  455. return;
  456. }
  457. if(!utlf_isNull(ds_temp_dur.getColumn(0, "srchrsltdetl"))) {
  458. var durerror = ds_temp_dur.getColumn(0, "srchrsltdetl").substr(0,65);
  459. if(durerror == "ERROR"){
  460. grp_messege.cap_messege.text = "인식되지 않았습니다. \n\n다시한번 인식해 주십시요!";
  461. } else {
  462. var durint = durerror.indexOf("@@");
  463. var durinfo = durerror.substr(2,durint-2);
  464. if(!utlf_isNull(durinfo)){
  465. grp_messege.cap_messege.text = durinfo + " \n\n직원 안내를 받으시기 바랍니다.";
  466. } else {
  467. grp_messege.cap_messege.text = "감염증 발생지역 입국자 대상입니다.\n\n직원 안내를 받으시기 바랍니다.";
  468. }
  469. }
  470. grp_messege.visible = true;
  471. fGetPmohvistList();
  472. grp_messege.btn_close.setFocus();
  473. } else {
  474. fGetPmohvistList();
  475. }
  476. }
  477. function fPopupMenu(obj:PopupMenu, e:MenuClickEventInfo) {
  478. if(e.id == "AddNonDurList") {
  479. dsf_createDs("ds_temp");
  480. dsf_copyColInfo(ds_temp, ds_main_pmohvist);
  481. ds_temp.copyRow(ds_temp.addRow(), ds_main_pmohvist, ds_main_pmohvist.rowposition);
  482. var objArg = new Object();
  483. objArg.arg_ds_pmohvist = ds_temp;
  484. frmf_modal("SMPMB04001", "SMPMB04001", objArg, "", "", "", "", "", "", "", "", "", "M");
  485. grp_srch.ipt_srch_issueno.setFocus();
  486. grp_srch.ipt_srch_issueno.style.background = "URL('theme://images/bg_edit_N.png') stretch 5,5";
  487. grp_srch.ipt_srch_issueno.value = "";
  488. grp_srch.ipt_srch_issueno.style.color = "#262626ff";
  489. }
  490. }
  491. // 화면초기화
  492. function SMPMB03800_onload(obj:Form, e:LoadEventInfo)
  493. {
  494. frmf_initForm(obj);
  495. //grdf_setToolTipBind(grd_pmohvist);
  496. var vUserid = sysf_getUserId();
  497. // trace(vUserid);
  498. // trace(vUserid.toUpperCase().substr(0,4));
  499. if(vUserid.toUpperCase() != "PAM" && vUserid.toUpperCase().substr(0,4) != "PASS" && vUserid.toUpperCase() != "NCOV001" && vUserid.toUpperCase() != "15023") {
  500. alert("화면 사용권한이 없습니다.");
  501. this.close();
  502. } else if(vUserid.toUpperCase() == "PAM" || vUserid.toUpperCase() == "15023") {
  503. grp_srch.chk_srch_yn2.visible = true;
  504. grp_srch.cap_term.visible = true;
  505. grp_srch.cal_srch_fromdd.visible = true;
  506. grp_srch.cal_srch_todd.visible = true;
  507. grp_srch.sta_term.visible = true;
  508. }
  509. ds_send_srch.setColumn(0, "fromdd", utlf_getCurrentDate());
  510. ds_send_srch.setColumn(0, "todd", utlf_getCurrentDate());
  511. ds_send_srch.setColumn(0, "ipinfo", sysf_getIPAddress());
  512. var arrParam = new Array();
  513. arrParam = [{dsNm: "ds_init_PK259", cdGrpId: "PK259", showValue: false}];
  514. pamfGetCodeList(arrParam, true, "");
  515. grp_srch.ipt_srch_issueno.setFocus();
  516. frmf_createPopupMenu("grd_pmohvist_popupmenu" ,"fPopupMenu"
  517. ,[{id: "AddNonDurList", level: "0", title: "DUR체크 예외리스트 추가"}
  518. ]);
  519. //this.setTimer(0, 5000);
  520. }
  521. // 조회버튼 클릭
  522. function grp_srch_btn_search_onclick(obj:Button, e:ClickEventInfo)
  523. {
  524. fGetPmohvistList();
  525. }
  526. function grp_srch_ipt_srch_issueno_onkeydown(obj:Edit, e:KeyEventInfo)
  527. {
  528. if(e.keycode == 13) {
  529. obj.updateToDataset();
  530. fSetPmohvistList();
  531. }
  532. }
  533. function grp_messege_btn_close_onclick(obj:Button, e:ClickEventInfo)
  534. {
  535. ds_send_srch.setColumn(0, "issueno", "");
  536. grp_srch.ipt_srch_issueno.setFocus();
  537. grp_messege.visible = false;
  538. }
  539. function grp_srch_cmb_employee_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  540. {
  541. fGetPmohvistList();
  542. }
  543. function grp_srch_cmb_srch_inposgbn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  544. {
  545. fGetPmohvistList();
  546. }
  547. function grp_srch_ipt_srch_issueno_onkillfocus(obj:Edit, e:KillFocusEventInfo)
  548. {
  549. if(e.newcomponent.name == "chk_srch_yn") return;
  550. obj.style.background = "gainsboro";
  551. obj.value = "Click here!!";
  552. obj.style.color = "red";
  553. this.setTimer(1, 1000);
  554. }
  555. function grp_srch_ipt_srch_issueno_onsetfocus(obj:Edit, e:SetFocusEventInfo)
  556. {
  557. obj.style.background = "URL('theme://images/bg_edit_N.png') stretch 5,5";
  558. obj.value = "";
  559. obj.style.color = "#262626ff";
  560. }
  561. function SMPMB04000_ontimer(obj:Form, e:TimerEventInfo)
  562. {
  563. if(e.timerid == 0) {
  564. grp_srch.ipt_srch_issueno.setFocus();
  565. }
  566. if(e.timerid == 1) {
  567. this.killTimer(e.timerid);
  568. if(this.getFocus()=="[object Grid]" || this.getFocus()=="[object CheckBox]" || this.getFocus()=="[object Edit]") grp_srch.ipt_srch_issueno.setFocus();
  569. else return;
  570. }
  571. }
  572. function grp_srch_cmb_srch_inposgbn_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
  573. {
  574. grp_srch.ipt_srch_issueno.setFocus();
  575. }
  576. function grp_messegeError_btn_closeError_onclick(obj:Button, e:ClickEventInfo)
  577. {
  578. grp_messegeError.visible = false;
  579. if(grp_messege.visible) grp_messege.btn_close.setFocus();
  580. else grp_srch.ipt_srch_issueno.setFocus();
  581. }
  582. function SMPMB04000_onmouseleave(obj:Form, e:MouseEventInfo)
  583. {
  584. // if(e.fromreferenceobject.name == "SMPMB04000") {
  585. // grp_messegeError.visible = true;
  586. // grp_messegeError.setFocus();
  587. // }
  588. }
  589. function grd_pmohvist_onrbuttonup(obj:Grid, e:GridMouseEventInfo)
  590. {
  591. if(e.row > -1) {
  592. grdf_setSelectedCell(obj, e); // 선택된 행 확실히 선택해줌
  593. grd_pmohvist_popupmenu.trackPopup(e.screenX,e.screenY);
  594. }
  595. return true;
  596. }
  597. function grp_srch_chk_srch_yn_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  598. {
  599. if(e.postvalue == "Y") {
  600. grp_srch.ipt_srch_issueno.visible = false;
  601. grp_srch.ipt_srch_issueno2.visible = true;
  602. grp_etc.visible = true;
  603. grp_srch.ipt_srch_issueno2.setFocus();
  604. } else {
  605. grp_srch.ipt_srch_issueno.visible = true;
  606. grp_srch.ipt_srch_issueno2.visible = false;
  607. grp_etc.visible = false;
  608. grp_srch.ipt_srch_issueno.setFocus();
  609. }
  610. }
  611. function grp_srch_ipt_srch_issueno2_onkeydown(obj:Edit, e:KeyEventInfo)
  612. {
  613. if(e.keycode == 13) {
  614. obj.updateToDataset();
  615. fGetPmohvistList();
  616. }
  617. }
  618. ]]></Script>
  619. </Form>
  620. </FDL>