SMADC20100_약품실시이력조회.xfdl 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADC20100" position="absolute 0 0 1084 752" titletext="약품실시이력 조회" oninit="SMADC20100_oninit" onload="SMADC20100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 25 1081 65" id="group1" class="div_SA" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Static text="등록번호 :" position="absolute 5 13 95 30" id="caption2" class="search_name" anchor="default"/>
  11. <Edit position="absolute 95 10 210 31" id="ipt_pid" class="input_s_essential" anchor="default" onkeydown="group1_ipt_pid_onkeydown" autoselect="true"/>
  12. <Button position="absolute 215 13 231 29" id="button11" class="icon_search" text="" anchor="default" onclick="group1_button11_onclick"/>
  13. <Static text="조회구간 :" position="absolute 245 14 335 31" id="caption3" class="search_name" anchor="default"/>
  14. <Static text="~" position="absolute 435 10 450 30" align="align:center middle;" id="caption4" anchor="default"/>
  15. <Calendar position="absolute 335 10 435 31" id="ipt_fromdd" class="input_search" anchor="default" autoselect="true" dateformat="yyyy-MM-dd" value="null"/>
  16. <Calendar position="absolute 450 10 550 31" id="ipt_todd" class="input_search" anchor="default" autoselect="true" dateformat="yyyy-MM-dd"/>
  17. <Static text="조회구분 :" position="absolute 685 13 775 30" id="caption5" class="search_name" anchor="default"/>
  18. <Combo position="absolute 775 10 925 31" id="cmb_srchflag" class="combo_search" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default" onitemchanged="group1_cmb_srchflag_onitemchanged">
  19. <Dataset id="innerdataset">
  20. <ColumnInfo>
  21. <Column id="codecolumn"/>
  22. <Column id="datacolumn"/>
  23. </ColumnInfo>
  24. <Rows>
  25. <Row>
  26. <Col id="codecolumn">M</Col>
  27. <Col id="datacolumn">월별</Col>
  28. </Row>
  29. <Row>
  30. <Col id="codecolumn">D</Col>
  31. <Col id="datacolumn">일별</Col>
  32. </Row>
  33. <Row>
  34. <Col id="codecolumn">H</Col>
  35. <Col id="datacolumn">시간별</Col>
  36. </Row>
  37. </Rows>
  38. </Dataset>
  39. </Combo>
  40. <Button position="absolute 1018 9 1074 31" id="btn_sea" class="btn1" text="조회" anchor="top right" onclick="group1_btn_sea_onclick"/>
  41. <Shape position="absolute 1005 5 1011 35" linetype="vertical" id="line1" anchor="top right"/>
  42. <cp_checkboxList id="chk_ioflag" titletext="CheckBox List" taborder="1" text="cp_checkboxList00" scrollbars="none" position="absolute 564 9 659 28" style="background:transparent; " col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  43. </Layout>
  44. </Layouts>
  45. </Div>
  46. <Div position="absolute 0 95 1083 715" id="group2" anchor="all">
  47. <Layouts>
  48. <Layout>
  49. <Grid position="absolute 0 2 1081 620" id="grd_medirec" class="datagrid2" binddataset="ds_main_medirecinfo_row" anchor="all" selecttype="cell" oncelldblclick="group2_grd_medirec_oncelldblclick">
  50. <Formats>
  51. <Format id="default">
  52. <Columns>
  53. <Column size="25"/>
  54. <Column size="100"/>
  55. <Column size="100"/>
  56. <Column size="100"/>
  57. <Column size="100"/>
  58. <Column size="100"/>
  59. <Column size="100"/>
  60. <Column size="100"/>
  61. </Columns>
  62. <Rows>
  63. <Row size="28" band="head"/>
  64. <Row size="24"/>
  65. </Rows>
  66. <Band id="head">
  67. <Cell/>
  68. <Cell col="1" text="입원&#10;/외래"/>
  69. <Cell col="2" text="약품코드"/>
  70. <Cell col="3" text="처방명"/>
  71. <Cell col="4" text="용법"/>
  72. <Cell col="5" text="진료/입원일"/>
  73. <Cell col="6" text="실시일자"/>
  74. <Cell col="7" text="ioflag"/>
  75. </Band>
  76. <Band id="body">
  77. <Cell celltype="head" text="expr:currow + 1"/>
  78. <Cell col="1" text="bind:ioflagnm"/>
  79. <Cell col="2" text="bind:prcpcd"/>
  80. <Cell col="3" text="bind:prcpnm"/>
  81. <Cell col="4" text="bind:drugmthdspccd"/>
  82. <Cell col="5" text="bind:orddd"/>
  83. <Cell col="6" text="bind:exectm"/>
  84. <Cell col="7" text="bind:ioflag"/>
  85. </Band>
  86. </Format>
  87. </Formats>
  88. </Grid>
  89. </Layout>
  90. </Layouts>
  91. </Div>
  92. <Button position="absolute 1030 70 1081 92" id="button5" class="btn7" text="엑셀" anchor="top right" onclick="button5_onclick"/>
  93. <Static id="caption1" text="약품실시이력 조회" class="tit_1" position="absolute 0 0 160 25"/>
  94. <Button id="button3" taborder="1" text="확인" class="btn4" position="absolute 959 722 1015 744" anchor="right bottom" onclick="button3_onclick"/>
  95. <Button id="button1" taborder="2" text="닫기" class="btn4" position="absolute 1024 722 1080 744" anchor="right bottom" onclick="button1_onclick"/>
  96. <Div id="group4" taborder="3" visible="false" position="absolute 52 134 1002 289">
  97. <Layouts>
  98. <Layout>
  99. <Grid id="grd_tmedinfo" taborder="1" binddataset="ds_grd_tmedinfo" useinputpanel="false" autofittype="col" position="absolute 5 5 945 125" oncelldblclick="group4_grd_tmedinfo_oncelldblclick">
  100. <Formats>
  101. <Format id="default">
  102. <Columns>
  103. <Column size="219"/>
  104. <Column size="130"/>
  105. <Column size="50"/>
  106. <Column size="60"/>
  107. <Column size="50"/>
  108. <Column size="60"/>
  109. <Column size="60"/>
  110. <Column size="0"/>
  111. <Column size="0"/>
  112. <Column size="0"/>
  113. <Column size="100"/>
  114. <Column size="100"/>
  115. <Column size="0"/>
  116. <Column size="100"/>
  117. <Column size="0"/>
  118. <Column size="0"/>
  119. <Column size="0"/>
  120. <Column size="0"/>
  121. <Column size="0"/>
  122. <Column size="0"/>
  123. <Column size="0"/>
  124. </Columns>
  125. <Rows>
  126. <Row size="24" band="head"/>
  127. <Row size="24"/>
  128. </Rows>
  129. <Band id="head">
  130. <Cell text="처방명"/>
  131. <Cell col="1" text="처방시간"/>
  132. <Cell col="2" text="용량"/>
  133. <Cell col="3" text="용량단위"/>
  134. <Cell col="4" text="수량"/>
  135. <Cell col="5" text="수량단위"/>
  136. <Cell col="6" text="횟수"/>
  137. <Cell col="7" text="일수"/>
  138. <Cell col="8" text="최초복용일시"/>
  139. <Cell col="9" text="최종복용일시"/>
  140. <Cell col="10" text="투여경로"/>
  141. <Cell col="11" text="제조회사"/>
  142. <Cell col="12" text="처방코드"/>
  143. <Cell col="13" text="진료과명"/>
  144. <Cell col="14" text="진료과코드"/>
  145. <Cell col="15" text="rgstseqno"/>
  146. <Cell col="16" text="formrecseq"/>
  147. <Cell col="17" text="처방번호"/>
  148. <Cell col="18" text="실시처방상태"/>
  149. <Cell col="19" text="등록번호"/>
  150. <Cell col="20" text="약품영문명"/>
  151. </Band>
  152. <Band id="body">
  153. <Cell text="bind:prcpnm"/>
  154. <Cell col="1" text="bind:rgstdt" mask="yyyy-mm-dd hh:nn:ss"/>
  155. <Cell col="2" text="bind:prcpvol"/>
  156. <Cell col="3" text="bind:prcpvolunit"/>
  157. <Cell col="4" text="bind:prcpqty"/>
  158. <Cell col="5" text="bind:prcpqtyunit"/>
  159. <Cell col="6" text="bind:prcptims"/>
  160. <Cell col="7" text="bind:prcpdayno"/>
  161. <Cell col="8" text="bind:fsttakedt" edittype="text" displaytype="text" mask="yyyy-mm-dd hh:nn"/>
  162. <Cell col="9" text="bind:lsttakedt" edittype="text" displaytype="text" mask="yyyy-mm-dd hh:nn"/>
  163. <Cell col="10" text="bind:prcpclscd" edittype="combo" displaytype="combo"/>
  164. <Cell col="11" text="bind:prodcmpynm"/>
  165. <Cell col="12" text="bind:prcpcd"/>
  166. <Cell col="13" text="bind:orddeptnm"/>
  167. <Cell col="14" text="bind:orddeptcd"/>
  168. <Cell col="15" text="bind:rgstseqno"/>
  169. <Cell col="16" text="bind:formrecseq"/>
  170. <Cell col="17" text="bind:prcpno"/>
  171. <Cell col="18" text="bind:execprcphistcd"/>
  172. <Cell col="19" text="bind:pid"/>
  173. <Cell col="20" text="bind:engnm"/>
  174. </Band>
  175. </Format>
  176. </Formats>
  177. </Grid>
  178. <Button id="button4" taborder="2" text="닫기" class="btn4" position="absolute 885 130 941 152" onclick="group4_button4_onclick"/>
  179. </Layout>
  180. </Layouts>
  181. </Div>
  182. <Shape id="line00" class="line_1" position="absolute 0 91 1081 97" anchor="left top right"/>
  183. <Shape id="line01" class="line_1" position="absolute 0 92 1081 98" anchor="left top right"/>
  184. <Shape id="line02" class="line_1" position="absolute 0 93 1081 99" anchor="left top right"/>
  185. </Layout>
  186. </Layouts>
  187. <Objects>
  188. <Dataset id="ds_main_medirecinfo_row" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  189. <ColumnInfo>
  190. <Column id="ioflag" type="STRING" size="255"/>
  191. <Column id="ioflagnm" type="STRING" size="255"/>
  192. <Column id="prcpcd" type="STRING" size="255"/>
  193. <Column id="prcpnm" type="STRING" size="255"/>
  194. <Column id="orddd" type="STRING" size="255"/>
  195. <Column id="engnm" type="STRING" size="255"/>
  196. <Column id="drugmthdspccd" type="STRING" size="255"/>
  197. </ColumnInfo>
  198. </Dataset>
  199. <Dataset id="ds_main_medirecinfo_header" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  200. <ColumnInfo>
  201. <Column id="row" type="STRING" size="256"/>
  202. </ColumnInfo>
  203. </Dataset>
  204. <Dataset id="ds_main_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  205. <Dataset id="ds_send_srchinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  206. <ColumnInfo>
  207. <Column id="pid" type="STRING" size="256"/>
  208. <Column id="fromdd" type="STRING" size="256"/>
  209. <Column id="todd" type="STRING" size="256"/>
  210. <Column id="ioflag" type="STRING" size="256"/>
  211. <Column id="srchflag" type="STRING" size="256"/>
  212. </ColumnInfo>
  213. <Rows>
  214. <Row>
  215. <Col id="srchflag">D</Col>
  216. </Row>
  217. </Rows>
  218. </Dataset>
  219. <Dataset id="ds_send_srchtmedinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  220. <ColumnInfo>
  221. <Column id="pid" type="STRING" size="256"/>
  222. <Column id="orddd" type="STRING" size="256"/>
  223. <Column id="ioflag" type="STRING" size="256"/>
  224. <Column id="prcpcd" type="STRING" size="256"/>
  225. <Column id="execdd" type="STRING" size="256"/>
  226. </ColumnInfo>
  227. <Rows>
  228. <Row/>
  229. </Rows>
  230. </Dataset>
  231. <Dataset id="ds_init_baseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  232. <Dataset id="ds_init_ioflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  233. <ColumnInfo>
  234. <Column id="cdid" type="STRING" size="256"/>
  235. <Column id="cdnm" type="STRING" size="256"/>
  236. </ColumnInfo>
  237. <Rows>
  238. <Row>
  239. <Col id="cdid">I</Col>
  240. <Col id="cdnm">입원</Col>
  241. </Row>
  242. <Row>
  243. <Col id="cdid">O</Col>
  244. <Col id="cdnm">외래</Col>
  245. </Row>
  246. </Rows>
  247. </Dataset>
  248. <Dataset id="ds_hidden_tmedinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  249. <Dataset id="ds_temp_medirecinfo_row" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  250. <Dataset id="ds_temp_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  251. <ColumnInfo>
  252. <Column id="pid" type="STRING" size="256"/>
  253. </ColumnInfo>
  254. <Rows>
  255. <Row/>
  256. </Rows>
  257. </Dataset>
  258. <Dataset id="ds_temp_srchgrupid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  259. <Dataset id="ds_temp_medirecinfo_header" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  260. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  261. </Objects>
  262. <Bind>
  263. <BindItem id="item0" compid="group1.ipt_pid" propid="value" datasetid="ds_send_srchinfo" columnid="pid"/>
  264. <BindItem id="item1" compid="group1.ipt_fromdd" propid="value" datasetid="ds_send_srchinfo" columnid="fromdd"/>
  265. <BindItem id="item2" compid="group1.ipt_todd" propid="value" datasetid="ds_send_srchinfo" columnid="todd"/>
  266. <BindItem id="item3" compid="group1.cmb_srchflag" propid="value" datasetid="ds_send_srchinfo" columnid="srchflag"/>
  267. </Bind>
  268. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  269. * System Name :
  270. * Job Name :
  271. * Creator :
  272. * Make Date : 2015-11-13
  273. * Description :
  274. *---------------------------------------------------------------------------------------
  275. * Modify Date Modifier Modify Description
  276. *---------------------------------------------------------------------------------------
  277. * 2015-11-13 Live Converter TF->XP
  278. *
  279. *---------------------------------------------------------------------------------------
  280. ****************************************************************************************/
  281. include "com_commonxp::comm_main.xjs";
  282. include "com_basiccodexp::ZBC001.xjs";
  283. var arErrorCode = new HashArray();
  284. /*
  285. @ 공통변수 선언/초기화
  286. - ColFlagNm : 일반컬럼과 실시컬럼 분리를 위한 값 설정
  287. - OpenID : 부모창의 화면 ID
  288. - AdrUID : 선택된 cell의 조회값이 반영되어질 화면 ID
  289. - popupPid : 부모창에서 넘겨받은 등록번호
  290. - srchpath : 선택된 값의 데이터를 조회하기 위한 인스턴스
  291. - tmedinfopath : 조회되어진 처방정보의 인스턴스
  292. */
  293. var ColFlagNm = "column"; // 일반컬럼과 실시이력에 대한 구분을 위한 구분값 * 변경금지
  294. var OpenID = "";
  295. var AdrUID = "SMADC00600"; // ADR보고서작성 화면 UID
  296. var popupPid = "";
  297. var srchpath = "ds_send_srchtmedinfo";
  298. var tmedinfopath = "ds_hidden_tmedinfo";
  299. /******************************************************************
  300. * Argument :
  301. * Description : 초기화
  302. ******************************************************************/
  303. function SMADC20100_oninit(obj:Form, e:InitEventInfo)
  304. {
  305. frmf_initForm(obj);
  306. }
  307. function SMADC20100_onload(obj:Form, e:LoadEventInfo)
  308. {
  309. finit();
  310. }
  311. function finit(){
  312. // 팝업으로 연 화면인지 메인으로 연 화면인지 구분
  313. // 팝업시
  314. // -등록번호 존재여부 확인
  315. // - open 한 메인창의 화면 아이디 저장
  316. try{
  317. dsf_copyDs(ds_temp_patinfo,arg_ds_temp_patinfo,"replace");
  318. }catch(e){}
  319. if(frmf_isPopup()){
  320. popupPid = ds_temp_patinfo.getColumn(0, "pid");
  321. if( !utlf_isNull(popupPid) ) ds_send_srchinfo.setColumn(0, "pid", popupPid);
  322. OpenID = frmf_getScreenID; // open한 화면의 ID를 가져온다. SMADC00600 일때만 선택한값을 반환하기 위함.
  323. }
  324. var fromdd = new Date();
  325. ds_send_srchinfo.setColumn(0, "fromdd", fromdd.getAddDate(-7).getDateFormat()); // 상대일자 (로컬PC의 시간기준)
  326. ds_send_srchinfo.setColumn(0, "todd", utlf_getCurrentDate()); // 종료일자를 현재일자로 설정
  327. appf_getCodeListSubmit([{cdGrpId: "M0005", dsNm: "ds_init_baseinfo", sortField: "cdid", sortMethod: "desc"}]
  328. , false // 최소 컬럼 조회여부
  329. , false // 비동기 여부
  330. , "");
  331. //입원/외래
  332. var sProp1="col=2,row=1,cellspacing=5,vcellspacing=0,itemWidth=-1,itemHeight=20,overflow=''";
  333. group1.chk_ioflag.setInitComp(sProp1, ds_init_ioflag, "cdid", "cdnm", "fn_ioflag");
  334. fn_getIoflag();
  335. }
  336. /******************************************************************
  337. * Argument :
  338. * Description : 입원/외래 setData
  339. ******************************************************************/
  340. function fn_ioflag(){
  341. var getData = String(group1.chk_ioflag.getData()).replace(",","^|^");
  342. ds_send_srchinfo.setColumn(0, "ioflag", getData);
  343. }
  344. /******************************************************************
  345. * Argument :
  346. * Description : 입원/외래 getData
  347. ******************************************************************/
  348. function fn_getIoflag(){
  349. if(!utlf_isNull(ds_send_srchinfo.getColumn(0, "ioflag"))) {
  350. var getData = ds_send_srchinfo.getColumn(0, "ioflag").split("^|^");;
  351. group1.chk_ioflag.setData(getData);
  352. }
  353. }
  354. /******************************************************************
  355. * Argument :
  356. * Description : 등록번호 inputbox event
  357. ******************************************************************/
  358. function group1_ipt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  359. {
  360. if( e.keycode == 13 ){
  361. obj.updateToDataset();
  362. frmf_inputEnterKey("group1.btn_sea", "onclick", new ClickEventInfo);
  363. }
  364. }
  365. /******************************************************************
  366. * Argument :
  367. * Description : 등록번호 (돋보기) event
  368. ******************************************************************/
  369. function group1_button11_onclick(obj:Button, e:ClickEventInfo)
  370. {
  371. frmf_modal("SPPMC02500", "SPPMC02500", null, null, null, null, null, null, null, null, null, null, "M");
  372. if( !utlf_isNull(ds_patinfolist.getColumn(0, "pid")) ){
  373. ds_send_srchinfo.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  374. }
  375. }
  376. /******************************************************************
  377. * Argument :
  378. * Description : 조회구분 combo event
  379. ******************************************************************/
  380. function group1_cmb_srchflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  381. {
  382. var getSrchflag = ds_send_srchinfo.getColumn(0, "srchflag");
  383. if( getSrchflag != "D" ){
  384. sysf_messageBox("준비중입니다","");
  385. ds_send_srchinfo.setColumn(0, "srchflag", "D");
  386. }
  387. }
  388. /******************************************************************
  389. * Argument :
  390. * Description : 조회 button event
  391. ******************************************************************/
  392. function group1_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  393. {
  394. /* @ 등록번호 입력 체크 (필수입력 사항) */
  395. if( utlf_isNull(ds_send_srchinfo.getColumn(0, "pid")) ) {
  396. sysf_messageBox("등록번호는","I003");
  397. group1.ipt_pid.setFocus();
  398. return;
  399. }
  400. /* @ 조회구간 체크 (필수입력 사항) */
  401. if( utlf_isNull(ds_send_srchinfo.getColumn(0, "fromdd")) && utlf_isNull(ds_send_srchinfo.getColumn(0, "todd")) ) {
  402. var msg = sysf_messageBox("조회구간이 설정되지 않았습니다. 전체","Q005");
  403. if(msg == "7") {
  404. group1.ipt_fromdd.setFocus();
  405. return;
  406. }
  407. }
  408. //grd_medirec.clearStatus();
  409. /*
  410. @ 그리드 설정 초기화
  411. */
  412. //fSetGrdInit();
  413. /*
  414. @ 입원/외래 CheckBox 설정
  415. 전체선택 : 입원/외래 둘다 체크일 경우 혹은 둘다 미체크일경우
  416. */
  417. var ioflag = ds_send_srchinfo.getColumn(0, "ioflag");
  418. var ioflag_I = false;
  419. var ioflag_O = false;
  420. if(utlf_isSearchString(ioflag,"I")) ioflag_I = true;
  421. if(utlf_isSearchString(ioflag,"O")) ioflag_O = true;
  422. if((ioflag_I && ioflag_O) || !(ioflag_I || ioflag_O)){
  423. ioflag = "T";
  424. }else {
  425. if(ioflag_I) ioflag = "I";
  426. else ioflag = "O";
  427. }
  428. ds_send_srchinfo.setColumn(0, "ioflag", ioflag);
  429. var oParam = {};
  430. oParam.id = "TRADC20101";
  431. oParam.service = "pharmacyconsultapp.MediRec";
  432. oParam.method = "reqGetMediRec";
  433. oParam.inds = "req=ds_send_srchinfo";
  434. oParam.outds = "ds_temp_medirecinfo_row=row ds_temp_medirecinfo_header=header";
  435. oParam.async = false;
  436. //oParam.callback = "cf_TRADC20101";
  437. tranf_submit(oParam);
  438. var nFrozenCols = 3;
  439. var grdObj = group2.components["grd_medirec"];
  440. var grdColCnt = grdObj.getCellCount("head");
  441. var oGridDataSet = eval(grdObj.binddataset);
  442. grdObj.enableevent = false;
  443. grdObj.enableredraw = false;
  444. // step1. 그리드 고정 해제
  445. if(!utlf_isNull(nFrozenCols)) {
  446. for(var i = oGridDataSet.colcount - 1; i >= 0; i--) {
  447. if(i <= nFrozenCols)
  448. grdObj.setFormatColProperty(i, "band", "body");
  449. }
  450. }
  451. // step2. 기존그리드 삭제
  452. for( var i=parseInt(grdColCnt)-1; i>0; i-- ){
  453. grdObj.deleteContentsCol(i);
  454. }
  455. // step3. ds_temp_medirecinfo_header 정보에 맞게 컬럼 정보 생성
  456. var grdCaption = utlf_transNullToEmpty(ds_temp_medirecinfo_header.getColumn(0, "caption"));
  457. var grdColref = utlf_transNullToEmpty(ds_temp_medirecinfo_header.getColumn(0, "colref"));
  458. var grdHidden = utlf_transNullToEmpty(ds_temp_medirecinfo_header.getColumn(0, "hidden"));
  459. var grdAttribute = "";
  460. if( ds_temp_medirecinfo_row.rowcount == 0){ sysf_messageBox("조회결과가","I004"); return;}
  461. var grdColrefArray = grdColref.split("^");
  462. var grdHiddenArray = grdHidden.split("^");
  463. var grdCaptionArray = grdCaption.split("^");
  464. for (var i = 0; i < grdColrefArray.length; i++){
  465. var nCol = grdObj.appendContentsCol();
  466. grdObj.setCellProperty("body",nCol,"displaytype", "text");
  467. grdObj.setCellProperty("body",nCol,"text","bind:"+grdColrefArray[i]);
  468. grdObj.setCellProperty("Head",nCol,"text",grdCaptionArray[i]);
  469. if(utlf_isSearchString(grdColrefArray[i],ColFlagNm)){
  470. grdObj.setCellProperty("body",nCol,"align","center");
  471. grdObj.setCellProperty("body",nCol,"background", "expr(!utlf_isNull("+grdColrefArray[i]+") ? '#ffff99' : '')");
  472. grdObj.setCellProperty("body",nCol,"background2", "expr(!utlf_isNull("+grdColrefArray[i]+") ? '#ffff99' : '')");
  473. }else{
  474. grdObj.setCellProperty("body",nCol,"align","left");
  475. }
  476. var nSize = 100;
  477. if( grdColrefArray[i] == "ioflagnm" )
  478. nSize = 40;
  479. else if( grdColrefArray[i] == "prcpnm" || grdColrefArray[i] == "drugmthdspccd" )
  480. nSize = 250;
  481. else if( grdColrefArray[i] == "ioflag" || grdColrefArray[i] == "orddd" || grdColrefArray[i] == "exectm")
  482. nSize = 0;
  483. grdObj.setFormatColProperty(nCol, "size", nSize);
  484. }
  485. ds_main_medirecinfo_row.copyData(ds_temp_medirecinfo_row);
  486. ds_main_medirecinfo_header.copyData(ds_main_medirecinfo_header);
  487. // step4. 그리드 고정 설정
  488. if(!utlf_isNull(nFrozenCols)) {
  489. for(var i = 0; i < oGridDataSet.colcount; i++) {
  490. if(i <= nFrozenCols)
  491. grdObj.setFormatColProperty(i, "band", "left");
  492. else
  493. break;
  494. }
  495. }
  496. grdObj.enableevent = true;
  497. grdObj.enableredraw = true;
  498. //grd_medirec.selectionMode = "free";
  499. //grd_medirec.frozenCols = 3;
  500. }
  501. /******************************************************************
  502. * Argument :
  503. * Description : @ 결과 그리드 컬럼 초기화
  504. ******************************************************************/
  505. function group2_grd_medirec_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  506. {
  507. fCnfm();
  508. }
  509. /******************************************************************
  510. * Argument :
  511. * Description :
  512. ******************************************************************/
  513. function fCnfm(){
  514. var tmedinfopathDS = this.components[tmedinfopath];
  515. if( OpenID == AdrUID ){
  516. if( !fSrchTmedInfo() ) return;
  517. if( ds_hidden_tmedinfo.rowcount > 1 ){
  518. group4.visible = true;
  519. }else{
  520. var v_prcpnm = tmedinfopathDS.getColumn(0, "prcpnm");
  521. var v_rgstdt = tmedinfopathDS.getColumn(0, "rgstdt");
  522. var v_prcpvol = tmedinfopathDS.getColumn(0, "prcpvol");
  523. var v_prcpvolunit = tmedinfopathDS.getColumn(0, "prcpvolunit");
  524. var v_prcpqty = tmedinfopathDS.getColumn(0, "prcpqty");
  525. var v_prcpqtyunit = tmedinfopathDS.getColumn(0, "prcpqtyunit");
  526. var v_prcptims = tmedinfopathDS.getColumn(0, "prcptims");
  527. var v_prcpdayno = tmedinfopathDS.getColumn(0, "prcpdayno");
  528. var v_fsttakedt = tmedinfopathDS.getColumn(0, "fsttakedt");
  529. var v_lsttakedt = tmedinfopathDS.getColumn(0, "lsttakedt");
  530. var v_prcpclscd = tmedinfopathDS.getColumn(0, "prcpclscd");
  531. var v_prodcmpynm = tmedinfopathDS.getColumn(0, "prodcmpynm");
  532. var v_orddeptnm = tmedinfopathDS.getColumn(0, "orddeptnm");
  533. var v_orddeptcd = tmedinfopathDS.getColumn(0, "orddeptcd");
  534. var v_rgstseqno = tmedinfopathDS.getColumn(0, "rgstseqno");
  535. var v_formrecseq = tmedinfopathDS.getColumn(0, "formrecseq");
  536. var v_prcpcd = tmedinfopathDS.getColumn(0, "prcpcd");
  537. var v_prcpno = tmedinfopathDS.getColumn(0, "prcpno");
  538. var v_execprcphistcd = tmedinfopathDS.getColumn(0, "execprcphistcd");
  539. var v_pid = tmedinfopathDS.getColumn(0, "pid");
  540. var v_engnm = tmedinfopathDS.getColumn(0, "engnm");
  541. if( opener.ds_main_patinfolist.getColumn(0, "pid") != v_pid ){
  542. sysf_messageBox("[ADR보고서 작성] 등록번호와 [약품실시이력조회]의 등록번호가 상이합니다.", "E999", "");
  543. return;
  544. }else{
  545. var frow = opener.ds_main_hdruginfo.findRow("prcpno", v_prcpno);
  546. if( frow < 0 ){
  547. var irow = opener.ds_main_hdruginfo.addRow();
  548. opener.ds_main_hdruginfo.setColumn(irow, "prcpnm", v_prcpnm); // 약품명
  549. opener.ds_main_hdruginfo.setColumn(irow, "rgstdt", v_rgstdt); // 처방시간
  550. opener.ds_main_hdruginfo.setColumn(irow, "prcpvol", v_prcpvol); // 1일용량
  551. opener.ds_main_hdruginfo.setColumn(irow, "prcpvolunit", v_prcpvolunit); // 용량단위
  552. opener.ds_main_hdruginfo.setColumn(irow, "prcpqty", v_prcpqty); // 1일수량
  553. opener.ds_main_hdruginfo.setColumn(irow, "prcpqtyunit", v_prcpqtyunit); // 수량단위
  554. opener.ds_main_hdruginfo.setColumn(irow, "prcptims", v_prcptims); // 분할투여횟수
  555. opener.ds_main_hdruginfo.setColumn(irow, "prcpdayno", v_prcpdayno); // 일수
  556. opener.ds_main_hdruginfo.setColumn(irow, "fsttakedt", v_fsttakedt); // 최초복용일시
  557. opener.ds_main_hdruginfo.setColumn(irow, "lsttakedt", v_lsttakedt); // 최종복용일시
  558. opener.ds_main_hdruginfo.setColumn(irow, "prcpclscd", v_prcpclscd); // 투여경로
  559. opener.ds_main_hdruginfo.setColumn(irow, "prodcmpynm", v_prodcmpynm); // 제조회사
  560. opener.ds_main_hdruginfo.setColumn(irow, "orddeptnm", v_orddeptnm); // 진료과
  561. opener.ds_main_hdruginfo.setColumn(irow, "orddeptcd", v_orddeptcd); // 진료과코드
  562. opener.ds_main_hdruginfo.setColumn(irow, "rgstseqno", v_rgstseqno); // 저장일련번호
  563. opener.ds_main_hdruginfo.setColumn(irow, "formrecseq", v_formrecseq); // 서식일련번호
  564. opener.ds_main_hdruginfo.setColumn(irow, "prcpcd", v_prcpcd); // 처방코드
  565. opener.ds_main_hdruginfo.setColumn(irow, "prcpno", v_prcpno); // 처방
  566. opener.ds_main_hdruginfo.setColumn(irow, "execprcphistcd", v_execprcphistcd); // 실시처방상태
  567. opener.ds_main_hdruginfo.setColumn(irow, "pid", v_pid); // 등록번호
  568. }
  569. }
  570. }
  571. }
  572. }
  573. /******************************************************************
  574. * Argument :
  575. * Description : @ 선택약물의 처방정보 조회
  576. ******************************************************************/
  577. function fSrchTmedInfo(){
  578. // 변수초기화
  579. var cRow = ds_main_medirecinfo_row.rowposition;
  580. var cCol = group2.grd_medirec.currentcol;
  581. var pid = ds_send_srchinfo.getColumn(0, "pid");
  582. var orddd = "";
  583. var ioflag = ds_main_medirecinfo_row.getColumn(cRow, "ioflag");
  584. var prcpcd = ds_main_medirecinfo_row.getColumn(cRow, "prcpcd");
  585. var execdd = "";
  586. var srchpathDS = this.components[srchpath];
  587. if(ioflag == "I"){
  588. orddd = ds_main_medirecinfo_row.getColumn(cRow, "orddd");
  589. }else{
  590. orddd = ds_main_medirecinfo_row.getColID(cRow).substr(6,8);
  591. }
  592. // 선택한 행의 실시일자를 가져온다.
  593. // column00000000 형식 컬럼의 ref에서 column을 제외한 나머지 일자를 가져온다. = > 실시일자
  594. if( utlf_isSearchString(ds_main_medirecinfo_row.getColID(cRow),ColFlagNm)){
  595. execdd = ds_main_medirecinfo_row.getColID(cRow).substr(6,8);
  596. }
  597. var errmsg = "";
  598. if( utlf_isNull(pid) ) {
  599. if( !utlf_isNull(errmsg) ) errmsg+=","; errmsg += "등록번호";
  600. }
  601. if( utlf_isNull(orddd) ) {
  602. if( !utlf_isNull(errmsg) ) errmsg+=","; errmsg += "진료/입원일";
  603. }
  604. if( utlf_isNull(ioflag) ) {
  605. if( !utlf_isNull(errmsg) ) errmsg+=","; errmsg += "입원외래구분";
  606. }
  607. if( utlf_isNull(prcpcd) ) {
  608. if( !utlf_isNull(errmsg) ) errmsg+=","; errmsg += "약품코드";
  609. }
  610. if( utlf_isNull(execdd) ) {
  611. if( !utlf_isNull(errmsg) ) errmsg+=","; errmsg += "일자";
  612. }
  613. if( utlf_isNull(errmsg) ){
  614. srchpathDS.setColumn(0, "pid", pid);
  615. srchpathDS.setColumn(0, "orddd", orddd);
  616. srchpathDS.setColumn(0, "ioflag", ioflag);
  617. srchpathDS.setColumn(0, "prcpcd", prcpcd);
  618. srchpathDS.setColumn(0, "execdd", execdd);
  619. var oParam = {};
  620. oParam.id = "TRADC20102";
  621. oParam.service = "pharmacyconsultapp.MediRec";
  622. oParam.method = "reqGetTmedInfo";
  623. oParam.inds = "req=ds_send_srchtmedinfo";
  624. oParam.outds = "ds_hidden=tmedinfo";
  625. oParam.async = false;
  626. oParam.callback = "cf_TRADC20102";
  627. tranf_submit(oParam);
  628. if(arErrorCode.pop("TRADC20102") > -1) return true;
  629. else return false;
  630. }else{
  631. messageBox("["+ errmsg + "] 이(가) 선택되지","E007");
  632. return false;
  633. }
  634. }
  635. function cf_TRADC20102(sSvcId, nErrorCode, sErrorMsg) {
  636. arErrorCode.push(sSvcId, nErrorCode);
  637. }
  638. /******************************************************************
  639. * Argument :
  640. * Description : Excel button event
  641. ******************************************************************/
  642. function button5_onclick(obj:Button, e:ClickEventInfo)
  643. {
  644. if( ds_main_medirecinfo_row.rowcount > 0 ){
  645. grdf_exportExcel(group2.grd_medirec, "약품실시이력조회", "약품실시이력조회", false, "", "user", false);
  646. } else {
  647. sysf_messageBox("조회된 데이터가 ", "I004");
  648. }
  649. }
  650. /******************************************************************
  651. * Argument :
  652. * Description : 확인 button event
  653. ******************************************************************/
  654. function button3_onclick(obj:Button, e:ClickEventInfo)
  655. {
  656. fCnfm();
  657. }
  658. /******************************************************************
  659. * Argument :
  660. * Description : 닫기 button event
  661. ******************************************************************/
  662. function button1_onclick(obj:Button, e:ClickEventInfo)
  663. {
  664. this.close();
  665. }
  666. /******************************************************************
  667. * Argument :
  668. * Description : group4 oncelldblclic
  669. ******************************************************************/
  670. function group4_grd_tmedinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  671. {
  672. var cRow = ds_grd_tmedinfo.rowposition;
  673. var v_prcpnm = ds_grd_tmedinfo.getColumn(cRow, "prcpnm");
  674. var v_rgstdt = ds_grd_tmedinfo.getColumn(cRow, "rgstdt");
  675. var v_prcpvol = ds_grd_tmedinfo.getColumn(cRow, "prcpvol");
  676. var v_prcpvolunit = ds_grd_tmedinfo.getColumn(cRow, "prcpvolunit");
  677. var v_prcpqty = ds_grd_tmedinfo.getColumn(cRow, "prcpqty");
  678. var v_prcpqtyunit = ds_grd_tmedinfo.getColumn(cRow, "prcpqtyunit");
  679. var v_prcptims = ds_grd_tmedinfo.getColumn(cRow, "prcptims");
  680. var v_prcpdayno = ds_grd_tmedinfo.getColumn(cRow, "prcpdayno");
  681. var v_fsttakedt = ds_grd_tmedinfo.getColumn(cRow, "fsttakedt");
  682. var v_lsttakedt = ds_grd_tmedinfo.getColumn(cRow, "lsttakedt");
  683. var v_prcpclscd = ds_grd_tmedinfo.getColumn(cRow, "prcpclscd");
  684. var v_prodcmpynm = ds_grd_tmedinfo.getColumn(cRow, "prodcmpynm");
  685. var v_orddeptnm = ds_grd_tmedinfo.getColumn(cRow, "orddeptnm");
  686. var v_orddeptcd = ds_grd_tmedinfo.getColumn(cRow, "orddeptcd");
  687. var v_rgstseqno = ds_grd_tmedinfo.getColumn(cRow, "rgstseqno");
  688. var v_formrecseq = ds_grd_tmedinfo.getColumn(cRow, "formrecseq");
  689. var v_prcpcd = ds_grd_tmedinfo.getColumn(cRow, "prcpcd");
  690. var v_prcpno = ds_grd_tmedinfo.getColumn(cRow, "prcpno");
  691. var v_execprcphistcd = ds_grd_tmedinfo.getColumn(cRow, "execprcphistcd");
  692. var v_pid = ds_grd_tmedinfo.getColumn(cRow, "pid");
  693. var v_engnm = ds_grd_tmedinfo.getColumn(cRow, "engnm");
  694. if( opener.ds_main_patinfolist.getColumn(0, "pid") != v_pid ){
  695. sysf_messageBox("[ADR보고서 작성] 등록번호와 [약품실시이력조회]의 등록번호가 상이합니다.", "E999", "");
  696. return;
  697. }else{
  698. var frow = opener.ds_main_hdruginfo.findRow("prcpno", v_prcpno);
  699. if (frow < 0){
  700. var irow = opener.ds_main_hdruginfo.addRow();
  701. opener.ds_main_hdruginfo.setColumn(irow, "prcpnm", v_prcpnm); // 약품명
  702. opener.ds_main_hdruginfo.setColumn(irow, "rgstdt", v_rgstdt); // 처방시간
  703. opener.ds_main_hdruginfo.setColumn(irow, "prcpvol", v_prcpvol); // 1일용량
  704. opener.ds_main_hdruginfo.setColumn(irow, "prcpvolunit", v_prcpvolunit); // 용량단위
  705. opener.ds_main_hdruginfo.setColumn(irow, "prcpqty", v_prcpqty); // 1일수량
  706. opener.ds_main_hdruginfo.setColumn(irow, "prcpqtyunit", v_prcpqtyunit); // 수량단위
  707. opener.ds_main_hdruginfo.setColumn(irow, "prcptims", v_prcptims); // 분할투여횟수
  708. opener.ds_main_hdruginfo.setColumn(irow, "prcpdayno", v_prcpdayno); // 일수
  709. opener.ds_main_hdruginfo.setColumn(irow, "fsttakedt", v_fsttakedt); // 최초복용일시
  710. opener.ds_main_hdruginfo.setColumn(irow, "lsttakedt", v_lsttakedt); // 최종복용일시
  711. opener.ds_main_hdruginfo.setColumn(irow, "prcpclscd", v_prcpclscd); // 투여경로
  712. opener.ds_main_hdruginfo.setColumn(irow, "prodcmpynm", v_prodcmpynm); // 제조회사
  713. opener.ds_main_hdruginfo.setColumn(irow, "orddeptnm", v_orddeptnm); // 진료과
  714. opener.ds_main_hdruginfo.setColumn(irow, "orddeptcd", v_orddeptcd); // 진료과코드
  715. opener.ds_main_hdruginfo.setColumn(irow, "rgstseqno", v_rgstseqno); // 저장일련번호
  716. opener.ds_main_hdruginfo.setColumn(irow, "formrecseq", v_formrecseq); // 서식일련번호
  717. opener.ds_main_hdruginfo.setColumn(irow, "prcpcd", v_prcpcd); // 처방코드
  718. opener.ds_main_hdruginfo.setColumn(irow, "prcpno", v_prcpno); // 처방
  719. opener.ds_main_hdruginfo.setColumn(irow, "execprcphistcd", v_execprcphistcd); // 실시처방상태
  720. opener.ds_main_hdruginfo.setColumn(irow, "pid", v_pid); // 등록번호
  721. }
  722. group4.visible = false;
  723. }
  724. }
  725. /******************************************************************
  726. * Argument :
  727. * Description : group4 닫기 button event
  728. ******************************************************************/
  729. function group4_button4_onclick(obj:Button, e:ClickEventInfo)
  730. {
  731. group4.visible = false;
  732. }
  733. ]]></Script>
  734. </Form>
  735. </FDL>