SMADT01101_원외처방전출력(원무).xfdl 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADT01101" position="absolute 0 0 582 352" titletext="원외처방전출력" onload="SMADT01101_onload" scrollbars="none">
  5. <Layouts>
  6. <Layout>
  7. <Div id="div" taborder="5" position="absolute 6 192 568 345" style="border:1 solid #33bbbbff ;" visible="false">
  8. <Layouts>
  9. <Layout>
  10. <Div id="grp2" taborder="0" style="border:1 solid #33bbbbff ;" position="absolute 3 3 313 116" anchor="default">
  11. <Layouts>
  12. <Layout width="310" height="113">
  13. <Button id="button2" taborder="6" text="저장" onclick="grp2_button2_onclick" class="btn5" position="absolute 262 89 304 108" anchor="default"/>
  14. <Button id="button1" taborder="7" text="Sign" onclick="grp2_button1_onclick" class="btn5" position="absolute 216 89 258 108" anchor="default"/>
  15. <Edit id="input2" taborder="8" position="absolute 65 89 208 108" anchor="default"/>
  16. <Static id="caption4" text="요청자 :" position="absolute 12 89 82 109" anchor="default"/>
  17. <Radio id="radio1" taborder="9" columncount="3" rowcount="2" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="grp2_radio1_onitemchanged" position="absolute 8 26 308 84" anchor="default" onitemclick="div_grp2_radio1_onitemclick">
  18. <Dataset id="innerdataset">
  19. <ColumnInfo>
  20. <Column id="codecolumn"/>
  21. <Column id="datacolumn"/>
  22. </ColumnInfo>
  23. <Rows>
  24. <Row>
  25. <Col id="codecolumn">분실</Col>
  26. <Col id="datacolumn">분실</Col>
  27. </Row>
  28. <Row>
  29. <Col id="codecolumn">보험유형변경</Col>
  30. <Col id="datacolumn">보험유형변경</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">보험회사제출</Col>
  34. <Col id="datacolumn">보험회사제출</Col>
  35. </Row>
  36. <Row>
  37. <Col id="codecolumn">기타</Col>
  38. <Col id="datacolumn">기타</Col>
  39. </Row>
  40. </Rows>
  41. </Dataset>
  42. </Radio>
  43. <Edit id="inp_desc" taborder="10" onkillfocus="grp2_inp_desc_onkillfocus" position="absolute 60 60 293 79" anchor="default"/>
  44. <Static id="caption3" text="재출력 구분" position="absolute 7 5 107 25" anchor="default"/>
  45. <Edit id="inp_reprtdesc" taborder="11" position="absolute 103 4 161 23" anchor="default" visible="false"/>
  46. </Layout>
  47. </Layouts>
  48. </Div>
  49. <Grid id="datagrid1" taborder="2" useinputpanel="false" position="absolute 318 2 558 102" anchor="default">
  50. <Formats>
  51. <Format id="default">
  52. <Columns>
  53. <Column size="240"/>
  54. </Columns>
  55. <Rows>
  56. <Row size="24" band="head"/>
  57. <Row size="24"/>
  58. </Rows>
  59. <Band id="head">
  60. <Cell text="전 자 서 명"/>
  61. </Band>
  62. <Band id="body">
  63. <Cell/>
  64. </Band>
  65. </Format>
  66. </Formats>
  67. </Grid>
  68. <Div id="import1" taborder="1" url="pam_pamcomnxp::SPPAO02102_전자서명입력_OCX.xfdl" position="absolute 318 27 559 151" scrollbars="none" anchor="top right" style="background:white;"/>
  69. </Layout>
  70. </Layouts>
  71. </Div>
  72. <Grid position="absolute 380 66 461 131" id="grd_param" visible="false" binddataset="ds_main_paramdata">
  73. <Formats>
  74. <Format id="default">
  75. <Columns>
  76. <Column size="100"/>
  77. <Column size="100"/>
  78. <Column size="100"/>
  79. <Column size="100"/>
  80. <Column size="100"/>
  81. <Column size="100"/>
  82. <Column size="100"/>
  83. <Column size="100"/>
  84. <Column size="100"/>
  85. <Column size="100"/>
  86. </Columns>
  87. <Rows>
  88. <Row size="24" band="head"/>
  89. <Row size="24"/>
  90. </Rows>
  91. <Band id="head">
  92. <Cell text="pid"/>
  93. <Cell col="1" text="orddd"/>
  94. <Cell col="2" text="cretno"/>
  95. <Cell col="3" text="orddeptcd"/>
  96. <Cell col="4" text="orddrid"/>
  97. <Cell col="5" text="prcpdd"/>
  98. <Cell col="6" text="drugdd"/>
  99. <Cell col="7" text="drugno"/>
  100. <Cell col="8" text="caption1"/>
  101. <Cell col="9" text="caption2"/>
  102. </Band>
  103. <Band id="body">
  104. <Cell text="bind:pid"/>
  105. <Cell col="1" text="bind:orddd"/>
  106. <Cell col="2" text="bind:cretno"/>
  107. <Cell col="3" text="bind:orddeptcd"/>
  108. <Cell col="4" text="bind:orddrid"/>
  109. <Cell col="5" text="bind:prcpdd"/>
  110. <Cell col="6" text="bind:drugdd"/>
  111. <Cell col="7" text="bind:drugno"/>
  112. <Cell col="8" text="bind:prntdt"/>
  113. <Cell col="9" text="bind:lblprntdt"/>
  114. </Band>
  115. </Format>
  116. </Formats>
  117. </Grid>
  118. <Shape position="absolute 0 83 570 89" linetype="horizontal" id="line6" class="line_2"/>
  119. <Static text="투약번호" position="absolute 0 87 80 110" align="align:center middle;" id="caption13" class="cell_1"/>
  120. <Static text="투약일자" position="absolute 0 61 80 84" align="align:center middle;" id="caption22" class="cell_1"/>
  121. <MaskEdit position="absolute 85 89 190 108" id="input14" class="input_search" mask="99999" onkeydown="input14_onkeydown" autoselect="true"/>
  122. <Static position="absolute 0 113 80 136" align="align:center middle;" id="caption27" class="cell_1"/>
  123. <Shape position="absolute 0 109 570 115" linetype="horizontal" id="line16" class="line_2"/>
  124. <Shape position="absolute 0 56 570 62" linetype="horizontal" id="line17" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  125. <Calendar position="absolute 85 63 190 82" id="input7" class="input_default" dateformat="yyyy-MM-dd" value="null" autoselect="true" autoskip="true" onkillfocus="input7_onkillfocus"/>
  126. <CheckBox position="absolute 5 117 70 132" id="checkbox3" text="원외" truevalue="Y" falsevalue="N" onclick="checkbox3_onclick"/>
  127. <CheckBox position="absolute 197 89 297 109" id="checkbox16" text="영문명으로" truevalue="E"/>
  128. <CheckBox position="absolute 485 91 570 106" id="checkbox6" visible="false" text="HD환자표함" falsevalue="0" truevalue="1"/>
  129. <Button position="absolute 515 144 571 166" id="btn_prt" class="btn6" text="출력" onclick="btn_prt_onclick"/>
  130. <CheckBox position="absolute 512 113 571 136" id="checkbox11" text="재출력" truevalue="Y" falsevalue="N" onclick="checkbox11_onclick"/>
  131. <Edit position="absolute 87 145 127 164" align="align:center middle;" id="input1" style="padding:0 5 0 5;align:center middle;"/>
  132. <Static text="Tray-No" position="absolute 0 142 80 165" align="align:center middle;" id="caption2" class="cell_1"/>
  133. <Static id="caption6" text="외래처방전출력(Ver 1230)" class="tit_1" position="absolute 0 0 200 25"/>
  134. <Div id="grp" taborder="2" position="absolute 2 26 573 54" style="border:1 solid #33bbbbff ;">
  135. <Layouts>
  136. <Layout width="200" height="150">
  137. <Static id="caption47" text="범 례" class="cell_2" position="absolute 6 3 76 23" anchor="default"/>
  138. <Static id="caption1" text="원내투약번호(1~10000) 원외투약번호(10001~20000) 응급실원외투약번호(90001~)" position="absolute 87 3 551 23" anchor="default"/>
  139. </Layout>
  140. </Layouts>
  141. </Div>
  142. <Shape id="line9" class="line_2" position="absolute 0 135 570 141"/>
  143. <Shape id="line15" class="line_3" position="absolute 0 138 570 144"/>
  144. <CheckBox id="checkbox2" taborder="3" position="absolute 450 62 570 82" text="질병분류기호생략" falsevalue="N" truevalue="Y"/>
  145. <cp_checkboxList id="checkbox1" titletext="CheckBox List" taborder="4" scrollbars="none" position="absolute 85 115 310 135" style="background:transparent; " col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  146. <Button id="But_Allprt" taborder="6" text="일괄출력" position="absolute 360 146 434 166" onclick="But_Allprt_onclick"/>
  147. </Layout>
  148. </Layouts>
  149. <Objects>
  150. <Dataset id="ds_main_paramdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  151. <ColumnInfo>
  152. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  153. <Column id="orddd" type="STRING" size="256" sumtext="처방일자"/>
  154. <Column id="cretno" type="INT" size="256" sumtext="생성번호"/>
  155. <Column id="orddeptcd" type="STRING" size="256" sumtext="과코드"/>
  156. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  157. <Column id="drugdd" type="STRING" size="256" sumtext="투약일자"/>
  158. <Column id="drugno" type="INT" size="256" sumtext="투약번호"/>
  159. <Column id="prntdt" type="STRING" size="256" sumtext="출력일시"/>
  160. <Column id="lblprntdt" type="STRING" size="256" sumtext="라벨출력일시"/>
  161. <Column id="drugchkstat" type="STRING" size="256" sumtext="조제상태"/>
  162. <Column id="rcptyn" type="STRING" size="256" sumtext="수납여부확인"/>
  163. <!-- 20150421 jmkim 원외처방전 수납 상태 확인 위해 추가 -->
  164. </ColumnInfo>
  165. </Dataset>
  166. <Dataset id="ds_hidden_prcpsrch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  167. <ColumnInfo>
  168. <Column id="drugdd" type="STRING" size="256"/>
  169. <Column id="drugno" type="STRING" size="256"/>
  170. <Column id="hosinyn" type="STRING" size="256"/>
  171. <Column id="hosinmpsflag" type="STRING" size="256"/>
  172. <Column id="hosoutyn" type="STRING" size="256"/>
  173. <Column id="hosoutmpsflag" type="STRING" size="256"/>
  174. <Column id="lblyn" type="STRING" size="256"/>
  175. <Column id="lblflag" type="STRING" size="256"/>
  176. <Column id="prntflag" type="STRING" size="256"/>
  177. <Column id="autoinprntyn" type="STRING" size="256"/>
  178. <Column id="autooutprntyn" type="STRING" size="256"/>
  179. <Column id="instcd" type="STRING" size="256"/>
  180. <Column id="autoprcp" type="STRING" size="256"/>
  181. <Column id="reprintyn" type="STRING" size="256"/>
  182. <Column id="autoatcyn" type="STRING" size="256"/>
  183. <Column id="printer" type="STRING" size="256"/>
  184. <Column id="eprntype" type="STRING" size="256"/>
  185. <Column id="reprt" type="STRING" size="256"/>
  186. <Column id="reprnttype" type="STRING" size="256"/>
  187. <Column id="reprntpat" type="STRING" size="256"/>
  188. <Column id="elctsignkey" type="STRING" size="256"/>
  189. <Column id="elctsigncnts" type="STRING" size="256"/>
  190. <Column id="digcdskipyn" type="STRING" size="256"/>
  191. </ColumnInfo>
  192. <Rows>
  193. <Row>
  194. <Col id="drugdd"/>
  195. <Col id="drugno"/>
  196. <Col id="hosinyn"/>
  197. <Col id="hosinmpsflag"/>
  198. <Col id="hosoutyn"/>
  199. <Col id="hosoutmpsflag"/>
  200. <Col id="lblyn"/>
  201. <Col id="lblflag"/>
  202. <Col id="prntflag">Y</Col>
  203. <Col id="autoinprntyn"/>
  204. <Col id="autooutprntyn"/>
  205. <Col id="instcd"/>
  206. <Col id="autoprcp"/>
  207. <Col id="reprintyn"/>
  208. <Col id="autoatcyn"/>
  209. <Col id="printer"/>
  210. <Col id="eprntype"/>
  211. <Col id="reprt"/>
  212. <Col id="reprnttype"/>
  213. <Col id="reprntpat"/>
  214. <Col id="elctsignkey"/>
  215. <Col id="elctsigncnts"/>
  216. <Col id="digcdskipyn"/>
  217. </Row>
  218. </Rows>
  219. </Dataset>
  220. <Dataset id="ds_temp_reqprtdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  221. <ColumnInfo>
  222. <Column id="reqselflag" type="STRING" size="256"/>
  223. <Column id="reqseldesc" type="STRING" size="256"/>
  224. </ColumnInfo>
  225. <Rows>
  226. <Row/>
  227. </Rows>
  228. </Dataset>
  229. <Dataset id="ds_init_mdrugflags" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  230. <ColumnInfo>
  231. <Column id="r002" type="STRING" size="256"/>
  232. </ColumnInfo>
  233. </Dataset>
  234. <Dataset id="ds_hidden_popupinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  235. <ColumnInfo>
  236. <Column id="drugdd" type="STRING" size="256"/>
  237. <Column id="drugno" type="STRING" size="256"/>
  238. </ColumnInfo>
  239. <Rows>
  240. <Row/>
  241. </Rows>
  242. </Dataset>
  243. <Dataset id="ds_send_paramsrch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  244. <Dataset id="ds_init_hosoutmpsflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  245. <ColumnInfo>
  246. <Column id="label" type="STRING" size="256"/>
  247. <Column id="value" type="STRING" size="256"/>
  248. </ColumnInfo>
  249. <Rows>
  250. <Row>
  251. <Col id="label">처방전(약국용)</Col>
  252. <Col id="value">1</Col>
  253. </Row>
  254. <Row>
  255. <Col id="label">처방전(환자용)</Col>
  256. <Col id="value">2</Col>
  257. </Row>
  258. </Rows>
  259. </Dataset>
  260. <Dataset id="ds_sign" 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="input7" propid="value" datasetid="ds_hidden_prcpsrch" columnid="drugdd"/>
  264. <BindItem id="item1" compid="input14" propid="value" datasetid="ds_hidden_prcpsrch" columnid="drugno"/>
  265. <BindItem id="item2" compid="checkbox16" propid="value" datasetid="ds_hidden_prcpsrch" columnid="eprntype"/>
  266. <BindItem id="item3" compid="checkbox2" propid="value" datasetid="ds_hidden_prcpsrch" columnid="digcdskipyn"/>
  267. <BindItem id="item4" compid="checkbox11" propid="value" datasetid="ds_hidden_prcpsrch" columnid="reprintyn"/>
  268. <BindItem id="item5" compid="checkbox3" propid="value" datasetid="ds_hidden_prcpsrch" columnid="hosoutyn"/>
  269. <BindItem id="item10" compid="input1" propid="value" datasetid="ds_hidden_prcpsrch" columnid="printer"/>
  270. <BindItem id="item6" compid="div.grp2.inp_reprtdesc" propid="value" datasetid="ds_hidden_prcpsrch" columnid="reprnttype"/>
  271. <BindItem id="item7" compid="div.grp2.radio1" propid="value" datasetid="ds_temp_reqprtdata" columnid="reqselflag"/>
  272. <BindItem id="item8" compid="div.grp2.inp_desc" propid="value" datasetid="ds_temp_reqprtdata" columnid="reqseldesc"/>
  273. <BindItem id="item9" compid="div.grp2.input2" propid="value" datasetid="ds_hidden_prcpsrch" columnid="reprntpat"/>
  274. </Bind>
  275. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  276. * System Name :
  277. * Job Name :
  278. * Creator :
  279. * Make Date : 2015-11-13
  280. * Description :
  281. *---------------------------------------------------------------------------------------
  282. * Modify Date Modifier Modify Description
  283. *---------------------------------------------------------------------------------------
  284. * 2015-11-13 Live Converter TF->XP
  285. *
  286. *---------------------------------------------------------------------------------------
  287. ****************************************************************************************/
  288. //=======================================================================================
  289. // Lib Include
  290. //---------------------------------------------------------------------------------------
  291. include "com_commonxp::comm_main.xjs";
  292. include "pam_pamcomnxp::PAM.xjs";
  293. var arErrorCode = new HashArray();
  294. var tempInitinstcd = ''; // [ref]/root/temp/initinstcd
  295. //=======================================================================================
  296. // Local methods
  297. //---------------------------------------------------------------------------------------
  298. /****************************************************************************************
  299. * Argument :
  300. * Description : fInit
  301. ****************************************************************************************/
  302. function fInit(){
  303. // 2015년 8월28일 김치국 사용하는 병원정보 등록
  304. tempInitinstcd = sysf_getUserInfo('dutplceinstcd');
  305. if(ds_hidden_prcpsrch.getColumn(0, 'drugdd') == ''){
  306. ds_hidden_prcpsrch.setColumn(0, 'drugdd', utlf_getCurrentDate());
  307. }
  308. // 원외 체크 초기화
  309. ds_hidden_prcpsrch.setColumn(0, 'hosoutyn', 'Y');
  310. fChkHosout_YN();
  311. // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  312. ds_init_mdrugflags.clearData();
  313. ds_init_mdrugflags.addRow();
  314. var oParam = {};
  315. oParam.id = "TRADT01108";
  316. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  317. oParam.method = "reqGetMdrugOutFlag";
  318. oParam.outds = "ds_init_mdrugflags=mdrugflags";
  319. oParam.async = false;
  320. tranf_submit(oParam);
  321. if (!utlf_isNull(ds_hidden_popupinfo.getColumn(0, "drugno"))) {
  322. ds_hidden_prcpsrch.setColumn(0, "drugdd", ds_hidden_popupinfo.getColumn(0, "drugdd"));
  323. ds_hidden_prcpsrch.setColumn(0, "drugno", ds_hidden_popupinfo.getColumn(0, "drugno"));
  324. }
  325. }
  326. /****************************************************************************************
  327. * Argument :
  328. * Description : 원외 변경시 처리
  329. ****************************************************************************************/
  330. function fChkHosout_YN(){
  331. var chk = ds_hidden_prcpsrch.getColumn(0, 'hosoutyn');
  332. if(chk == 'Y'){
  333. ds_hidden_prcpsrch.setColumn(0, 'hosoutmpsflag', '1|2');
  334. checkbox1.setCheckAll(true);
  335. }
  336. else{
  337. ds_hidden_prcpsrch.setColumn(0, 'hosoutmpsflag', '');
  338. checkbox1.setCheckAll(false);
  339. }
  340. }
  341. /****************************************************************************************
  342. * Argument :
  343. * Description : 처방전/라벨 출력
  344. ****************************************************************************************/
  345. function fPrcpMPSPrint() {
  346. var chk_drugno = utlf_transNullToEmpty(ds_hidden_prcpsrch.getColumn(0, "drugno")).toString();
  347. // 자동출력 또는 미출력 처방 출력은 <원내>처방과 응급실원외처방만 출력한다
  348. if (chk_drugno == "") {
  349. ds_send_paramsrch.copyData(ds_hidden_prcpsrch);
  350. dsf_makeValue(ds_send_paramsrch, "autoprcp", "string", "Y");
  351. var oParam = {};
  352. oParam.id = "TRADT01101";
  353. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  354. oParam.method = "reqGetParamData";
  355. oParam.inds = "req=ds_send_paramsrch";
  356. oParam.outds = "ds_main_paramdata=param";
  357. oParam.async = false;
  358. tranf_submit(oParam);
  359. // 원외 처방전 출력
  360. if (ds_hidden_prcpsrch.getColumn(0, "hosoutyn") == "Y" && ds_hidden_prcpsrch.getColumn(0, "autooutprntyn") == "Y") {
  361. fHosOutMPSPrint();
  362. }
  363. } else {
  364. // 원외 처방
  365. if (utlf_isNull(chk_drugno) || !chk_drugno.isNumber()) {
  366. sysf_messageBox("투약번호를 숫자로", "C001")
  367. ds_hidden_prcpsrch.setColumn(0, "drugno", "");
  368. input14.setFocus();
  369. return;
  370. }
  371. chk_drugno = parseInt(chk_drugno);
  372. if (ds_hidden_prcpsrch.getColumn(0, "hosoutyn") == "Y") {
  373. if (fChkDrugNo("Y")) {
  374. ds_hidden_prcpsrch.setColumn(0, "prntflag", "Y");
  375. ds_send_paramsrch.copyData(ds_hidden_prcpsrch);
  376. var oParam = {};
  377. oParam.id = "TRADT01101";
  378. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  379. oParam.method = "reqGetParamData";
  380. oParam.inds = "req=ds_send_paramsrch";
  381. oParam.outds = "ds_main_paramdata=param";
  382. oParam.async = false;
  383. tranf_submit(oParam);
  384. if (ds_main_paramdata.getColumn(0, "drugchkstat") == "NC") {
  385. if (sysf_messageBox('제조보류된 처방입니다. 출력', 'Q004') != 6) {
  386. return;
  387. }
  388. }
  389. // 원외처방전 발행 시 미수납 상태이면 에러메시지 발생
  390. if (!utlf_isNull(ds_main_paramdata.getColumn(0, "rcptyn")) && ds_main_paramdata.getColumn(0, "rcptyn") == "N") {
  391. sysf_messageBox("미수납상태", "I009");
  392. return;
  393. }
  394. var printdt = ds_main_paramdata.getColumn(0, "prntdt");
  395. var rePrint = false;
  396. if (!utlf_isNull(printdt) && printdt != "-" && utlf_isNull(ds_hidden_prcpsrch.getColumn(0, "reprintyn"))) {
  397. var msg = printdt.substring(0, 4) + "년"
  398. + printdt.substring(4, 6) + "월"
  399. + printdt.substring(6, 8) + "일"
  400. + printdt.substring(8, 10) + ':'
  401. + printdt.substring(10, 12) + ':'
  402. + printdt.substring(12, 14);
  403. if (sysf_messageBox(msg + " 에 출력한 처방입니다. 원외처방전 재출력을", "Q003") == 6) {
  404. ds_hidden_prcpsrch.setColumn(0, "reprintyn", "Y");
  405. rePrint = true;
  406. }
  407. } else {
  408. rePrint = true;
  409. }
  410. if (rePrint) {
  411. fHosOutMPSPrint();
  412. }
  413. }
  414. }
  415. }
  416. }
  417. /****************************************************************************************
  418. * Argument :
  419. * Description : 원외 처방전 출력
  420. ****************************************************************************************/
  421. function fHosOutMPSPrint() {
  422. var mdrugflag = ds_init_mdrugflags.getColumn(0, "r002");
  423. for (var i = 0; i < ds_main_paramdata.rowcount; i++) {
  424. var reprintynflag = ds_hidden_prcpsrch.getColumn(0, "reprintyn");
  425. var reprnttype = ds_hidden_prcpsrch.getColumn(0, "reprnttype");
  426. var reprntpat = ds_hidden_prcpsrch.getColumn(0, "reprntpat");
  427. var elctsignkey = ds_hidden_prcpsrch.getColumn(0, "elctsignkey");
  428. var elctsigncnts = ds_hidden_prcpsrch.getColumn(0, "elctsigncnts");
  429. var inisinstcd = tempInitinstcd;
  430. // 칠곡만 정보 등록
  431. if (inisinstcd == "032") {
  432. if (reprintynflag == "Y") {
  433. div.visible = true;
  434. if (utlf_transNullToEmpty(reprnttype) == "") {
  435. alert('재출력이면서 재출력 구분정보가 없습니다.');
  436. return;
  437. }
  438. if (utlf_transNullToEmpty(reprntpat) == "") {
  439. alert('재출력이면서 요청자 정보가 없습니다.');
  440. return;
  441. }
  442. if (utlf_transNullToEmpty(elctsignkey) == "") {
  443. alert('재출력이면서 요청자 싸인정보가 없습니다.');
  444. return;
  445. }
  446. }
  447. }
  448. var param = "drugdd" + "▦"
  449. + "drugno" + "▦"
  450. + "pid" + "▦"
  451. + "orddd" + "▦"
  452. + "cretno" + "▦"
  453. + "orddeptcd" + "▦"
  454. + "prcpgenrflag" + "▦"
  455. + "hosoutmpsflag" + "▦"
  456. + "reprintyn" + "▦"
  457. + "prntflag" + "▦"
  458. + "eprntype" + "▦"
  459. + "printer" + "▦"
  460. + "mdrugflag" + "▦"
  461. + "engprntflag" + "▦"
  462. + "reprnttype" + "▦"
  463. + "reprntpat" + "▦"
  464. + "elctsignkey" + "▦"
  465. + "elctsigncnts" + "▦"
  466. + "digcdskipyn" + "▦"
  467. + "ioflag" + "▦"
  468. + "stocdeptcd" + "▩";
  469. param += ds_main_paramdata.getColumn(i, "drugdd") + "▦" // drugdd
  470. + ds_main_paramdata.getColumn(i, "drugno") + "▦" // drugno
  471. + ds_main_paramdata.getColumn(i, "pid") + "▦" // pid
  472. + ds_main_paramdata.getColumn(i, "orddd") + "▦" // orddd
  473. + ds_main_paramdata.getColumn(i, "cretno") + "▦" // cretno
  474. + ds_main_paramdata.getColumn(i, "orddeptcd") + "▦" // orddeptcd
  475. + ds_main_paramdata.getColumn(i, "prcpgenrflag") + "▦" // prcpgenrflag
  476. + ds_hidden_prcpsrch.getColumn(0, "hosoutmpsflag") + "▦" // hosoutmpsflag
  477. + ds_hidden_prcpsrch.getColumn(0, "reprintyn") + "▦" // reprintyn
  478. + "Y" + "▦" // prntflag
  479. + ds_hidden_prcpsrch.getColumn(0, "stocdeptcd") + "▦" // eprntype
  480. + ds_hidden_prcpsrch.getColumn(0, "printer") + "▦" // printer
  481. + mdrugflag + "▦" // mdrugflag
  482. + ds_hidden_prcpsrch.getColumn(0, "eprntype") + "▦" // engprntflag
  483. + ds_hidden_prcpsrch.getColumn(0, "reprnttype") + "▦" // reprnttype
  484. + ds_hidden_prcpsrch.getColumn(0, "reprntpat") + "▦" // reprntpat
  485. + ds_hidden_prcpsrch.getColumn(0, "elctsignkey") + "▦" // elctsignkey
  486. + ds_hidden_prcpsrch.getColumn(0, "elctsigncnts") + "▦" // elctsigncnts
  487. + ds_hidden_prcpsrch.getColumn(0, "digcdskipyn") + "▦" // digcdskipyn
  488. + "O" + "▦" // ioflag
  489. + "Y" + "▩"; // stocdeptcd
  490. frmf_setParameter("params", param);
  491. frmf_modal("SPADT61100", "SPADT61100", null, null, null, null, null, null, null, null, null, null, "M");
  492. frmf_setParameter("params", "");
  493. }
  494. }
  495. /****************************************************************************************
  496. * Argument :
  497. * Description : 원외 처방전 출력
  498. ****************************************************************************************/
  499. function fChkDrugNo(flag){
  500. var drugno = ds_hidden_prcpsrch.getColumn(0, 'drugno');
  501. var chk_in = ds_hidden_prcpsrch.getColumn(0, 'hosinyn');
  502. var chk_out = ds_hidden_prcpsrch.getColumn(0, 'hosoutyn');
  503. if(utlf_transNullToEmpty(drugno) != ''){
  504. drugno = parseInt(String(drugno));
  505. if(flag == 'Y'){
  506. // 투약번호 40000(외래 의료보호환자 중복방지)2015.4.14 김치국
  507. if((drugno >= 10001 && drugno < 20001) || (drugno >= 90001 && drugno < 100000)
  508. || (drugno >= 40000 && drugno < 41000)){
  509. }
  510. else{
  511. sysf_messageBox('원외 투약번호를', 'C001');
  512. return false;
  513. }
  514. }
  515. else if(flag == 'O'){
  516. if((drugno > 10000 && drugno < 60001) || drugno >= 70000 ){
  517. return false
  518. }
  519. }
  520. }
  521. return true;
  522. }
  523. //=======================================================================================
  524. // callbacks
  525. //---------------------------------------------------------------------------------------
  526. function callback(sSvcId, nErrorCode, sErrorMsg){
  527. arErrorCode.push(sSvcId, nErrorCode);
  528. }
  529. function cb_checkbox(){
  530. var data = String(checkbox1.getData()).replace(',', '|');
  531. ds_hidden_prcpsrch.setColumn(0, 'hosoutmpsflag', data);
  532. }
  533. //=======================================================================================
  534. // Events
  535. //---------------------------------------------------------------------------------------
  536. /****************************************************************************************
  537. * Argument :
  538. * Description : onload
  539. ****************************************************************************************/
  540. function SMADT01101_onload(obj:Form, e:LoadEventInfo){
  541. // 폼 초기화
  542. frmf_initForm(obj);
  543. try {
  544. ds_hidden_prcpsrch.copyData(arg_ds_hidden_prcpsrch);
  545. ds_hidden_prcpsrch.clearData();
  546. ds_hidden_prcpsrch.addRow();
  547. ds_hidden_prcpsrch.copyRow(0, arg_ds_hidden_prcpsrch, 0);
  548. } catch (e) { }
  549. var prop = 'col=5,row=1,cellspacing=5,vcellspacing=0,itemWidth=-1,itemHeight=20,overflow=""';
  550. checkbox1.setInitComp(prop, ds_init_hosoutmpsflag, 'value', 'label', 'cb_checkbox');
  551. // 2009-05-07 원무의 트레이 번호를 가져와야 하나.. 현재는 기본을 '2' Setting ==>
  552. ds_hidden_prcpsrch.setColumn(0, 'printer', '1');
  553. frmf_setParameter("opener_ID", "SMADT01101_원외처방전출력(원무)");
  554. // 공통코드 P0045에서 프린터 명칭과 트레이 호출
  555. fGetPrintName();
  556. frmf_setParameter('opener_printer_name', sysf_getGlobalVariable('SPPAO00100_P0045_9_nm', 'p'));
  557. frmf_setParameter('opener_printer_tray', sysf_getGlobalVariable('SPPAO00100_P0045_9_tray', 'p'));
  558. // 호출끝
  559. fInit();
  560. // 세종병원 이동재 2010.04.23 원외처방번호 있는경우 바로 인쇄!
  561. if(ds_hidden_prcpsrch.getColumn(0, 'drugno') != ''){
  562. fPrcpMPSPrint();
  563. this.close();
  564. }
  565. // 2015년 8월25일 김치국 원외처방전 재출력시
  566. ds_temp_reqprtdata.clearData();
  567. ds_temp_reqprtdata.addRow();
  568. dsf_makeValue(ds_hidden_prcpsrch, 'reprnttype', 'string', '');
  569. dsf_makeValue(ds_hidden_prcpsrch, 'reprntpat', 'string', '');
  570. dsf_makeValue(ds_hidden_prcpsrch, 'elctsignkey', 'string', '');
  571. dsf_makeValue(ds_hidden_prcpsrch, 'elctsigncnts', 'string', '');
  572. dsf_makeValue(ds_hidden_prcpsrch, 'requeprtdesc', 'string', '');
  573. // 질병분류기호 생략 추가 _ 2016.07.07_ by.Shaun
  574. ds_hidden_prcpsrch.setColumn(0, 'digcdskipyn', '');
  575. div.visible = false;
  576. }
  577. /****************************************************************************************
  578. * Argument :
  579. * Description : 출력 버튼 클릭 이벤트
  580. ****************************************************************************************/
  581. function btn_prt_onclick(obj:Button, e:ClickEventInfo){
  582. fPrcpMPSPrint();
  583. }
  584. /****************************************************************************************
  585. * Argument :
  586. * Description : 재출력구분 아이템 변경 이벤트
  587. ****************************************************************************************/
  588. function grp2_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo){
  589. var flag = ds_temp_reqprtdata.getColumn(0, 'reqselflag');
  590. if(flag == '기타'){
  591. ds_hidden_prcpsrch.setColumn(0, 'reprnttype', ds_temp_reqprtdata.getColumn(0, 'reqseldesc'));
  592. }
  593. else{
  594. ds_hidden_prcpsrch.setColumn(0, 'reprnttype', flag);
  595. }
  596. }
  597. /****************************************************************************************
  598. * Argument :
  599. * Description : 재출력구분 기재사항 포커스 상실 이벤트
  600. ****************************************************************************************/
  601. function grp2_inp_desc_onkillfocus(obj:Edit, e:KillFocusEventInfo){
  602. ds_hidden_prcpsrch.setColumn(0, 'requeprtdesc', ds_temp_reqprtdata.getColumn(0, 'reqseldesc'));
  603. ds_hidden_prcpsrch.setColumn(0, 'reprnttype', ds_temp_reqprtdata.getColumn(0, 'reqseldesc'));
  604. }
  605. /****************************************************************************************
  606. * Argument :
  607. * Description : sign 버튼 클릭 이벤트
  608. ****************************************************************************************/
  609. function grp2_button1_onclick(obj:Button, e:ClickEventInfo){
  610. div.import1.fsignpad_init();
  611. div.import1.fsignpad_request();
  612. }
  613. /****************************************************************************************
  614. * Argument :
  615. * Description : 저장 버튼 클릭 이벤트
  616. ****************************************************************************************/
  617. function grp2_button2_onclick(obj:Button, e:ClickEventInfo){
  618. var signData = div.import1.fsignpad_save();
  619. // ds_hidden_prcpsrch.setColumn(0, 'elctsignkey', opener.frmf_getParameter('SPPAO02101_ELCTSIGNKEY'));
  620. // ds_hidden_prcpsrch.setColumn(0, 'elctsigncnts', opener.frmf_getParameter('SPPAO02101_ELCTSIGNCNTS'));
  621. if(!utlf_isNull(signData)) {
  622. ds_hidden_prcpsrch.setColumn(0, "elctsignkey", signData.key);
  623. ds_hidden_prcpsrch.setColumn(0, "elctsigncnts", signData.img);
  624. }
  625. }
  626. /****************************************************************************************
  627. * Argument :
  628. * Description : 투약일자 텍스트 변경 이벤트
  629. ****************************************************************************************/
  630. function input7_onkillfocus(obj:Calendar, e:KillFocusEventInfo){
  631. fChkHosout_YN();
  632. }
  633. function input14_onkeydown(obj:MaskEdit, e:KeyEventInfo){
  634. if (e.keycode == 13) {
  635. obj.updateToDataset();
  636. fPrcpMPSPrint();
  637. }
  638. }
  639. function checkbox11_onclick(obj: CheckBox, e: ClickEventInfo) {
  640. var value = ds_hidden_prcpsrch.getColumn(0, 'reprintyn');
  641. switch (value) {
  642. case 'Y':
  643. div.visible = true;
  644. break;
  645. case 'N':
  646. div.visible = false;
  647. break;
  648. }
  649. }
  650. // function div_grp2_radio1_onitemclick(obj:Radio, e:RadioMouseEventInfo)
  651. // {
  652. // var flag = utlf_transNullToEmpty(ds_temp_reqprtdata.getColumn(0, 'reqselflag'));
  653. //
  654. // if(flag == '기타'){
  655. // ds_hidden_prcpsrch.setColumn(0, 'reprnttype', ds_temp_reqprtdata.getColumn(0, 'reqseldesc'));
  656. // }
  657. // else{
  658. // ds_hidden_prcpsrch.setColumn(0, 'reprnttype', flag);
  659. // }
  660. // }
  661. function checkbox3_onclick(obj:CheckBox, e:ClickEventInfo){
  662. fChkHosout_YN();
  663. }
  664. function But_Allprt_onclick(obj:Button, e:ClickEventInfo)
  665. {
  666. frmf_open("SMADT01103", "SMADT01103", null, null, null, null, null, null, null, null, null, null, "M");
  667. }
  668. ]]></Script>
  669. </Form>
  670. </FDL>