SMPPI00400_환자별약제관리.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml" />
  4. <Form id="SMPPI00400" position="absolute 0 0 1280 1024" titletext="환자별약제관리" onload="SMPPI00400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" position="absolute 0 0 1211 13" style="">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption6" class="tit_1" position="absolute 0 0 155 14" style="" text="환자별 약제관리" />
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div id="group3" scrollbars="autoboth" position="absolute 0 13 1211 745" style="">
  15. <Layouts>
  16. <Layout>
  17. <Div id="group2" position="absolute 0 10 1211 50" style="align: top;">
  18. <Layouts>
  19. <Layout>
  20. <Shape id="roundrect1" anchor="default" type="roundrectangle" position="absolute 0 0 1211 40" style="" />
  21. <Button id="btn_search" class="btn1_letter2" taborder="6" position="absolute 1130 10 1186 32" style="" text="조회" onclick="group3_group2_btn_search_onclick" />
  22. <Shape id="line13" class="line_4" linetype="vertical" position="absolute 1107 7 1110 34" style="" anchor="default" />
  23. <Static id="caption5" class="search_name" position="absolute 30 11 116 28" style="" text="환자번호 :" />
  24. <Static id="caption2" class="search_name" position="absolute 424 11 510 28" style="" text="제어코드 :" />
  25. <Static id="caption3" class="search_name" position="absolute 875 10 961 27" style="" text="수가코드 :" />
  26. <Static id="caption4" class="search_name" position="absolute 655 11 741 28" style="" text="적 용 일 :" />
  27. <Edit id="ipt_rulecd" class="input_search" visible="false" position="absolute 515 10 618 29" style="" anchor="default" onkeyup="group3_group2_ipt_rulecd_onkeyup" />
  28. <Edit id="ipt_prcpcd" class="input_search" visible="false" position="absolute 966 9 1069 28" style="" anchor="default" onkeyup="group3_group2_ipt_prcpcd_onkeyup" />
  29. <Calendar id="ipt_aplydd" class="input_search" mask="yyyy-mm-dd" position="absolute 743 10 846 29" style="" anchor="default" onkeyup="group3_group2_ipt_aplydd_onkeyup" />
  30. <Button id="button2" class="icon_search" taborder="5" position="absolute 233 11 249 27" style="" text="" onclick="group3_group2_button2_onclick" />
  31. <Edit id="ipt_pid" class="input_search" position="absolute 124 10 227 29" style="" anchor="default" />
  32. <Edit id="ipt_hngnm" class="input_search" position="absolute 255 10 400 29" style="" anchor="default" />
  33. </Layout>
  34. </Layouts>
  35. </Div>
  36. <Static id="caption1" class="tit_2" position="absolute 5 63 162 76" style="" text="환자별 약제관리 List" />
  37. <Shape id="line1" class="line_1" linetype="horizontal" position="absolute 0 79 1204 82" style="" anchor="default" />
  38. <Grid id="grd_picmdrrulist" binddataset="ds_main_picmdrrulist" class="datagrid2" position="absolute 0 85 1205 725" style="" onlbuttonup="group3_grd_picmdrrulist_onlbuttonup">
  39. <Formats>
  40. <Format id="default">
  41. <Columns>
  42. <Column size="97" />
  43. <Column size="100" />
  44. <Column size="80" />
  45. <Column size="106" />
  46. <Column size="250" />
  47. <Column size="75" />
  48. <Column size="110" />
  49. <Column size="160" />
  50. <Column size="100" />
  51. <Column size="100" />
  52. <Column size="0" />
  53. </Columns>
  54. <Rows>
  55. <Row size="23" band="head" />
  56. <Row size="23" />
  57. </Rows>
  58. <Band id="head">
  59. <Cell text="환자번호" />
  60. <Cell col="1" text="환자명" />
  61. <Cell col="2" text="제어코드" />
  62. <Cell col="3" text="수가코드" />
  63. <Cell col="4" text="처방명" />
  64. <Cell col="5" text="타병원일수" />
  65. <Cell col="6" text="진료과" />
  66. <Cell col="7" text="비고" />
  67. <Cell col="8" text="시작일" />
  68. <Cell col="9" text="종료일" />
  69. <Cell col="10" text="기관코드" />
  70. </Band>
  71. <Band id="body">
  72. <Cell text="bind:pid" />
  73. <Cell col="1" text="bind:hngnm" />
  74. <Cell col="2" text="bind:rulecd" />
  75. <Cell col="3" text="bind:prcpcd" />
  76. <Cell col="4" text="bind:prcpnm" />
  77. <Cell col="5" text="bind:thospdayno" />
  78. <Cell col="6" text="bind:orddeptcd" />
  79. <Cell col="7" text="bind:remark" />
  80. <Cell col="8" text="bind:fromdd" />
  81. <Cell col="9" text="bind:todd" />
  82. <Cell col="10" text="bind:instcd" />
  83. </Band>
  84. </Format>
  85. </Formats>
  86. </Grid>
  87. <Button id="button5" class="btn2_letter4" visible="true" position="absolute 1140 57 1204 76" style="" text="엑셀저장" onclick="group3_button5_onclick" />
  88. <Button id="btn_rowdel" class="btn2_letter3" position="absolute 1084 57 1137 76" style="" text="행삭제" onclick="group3_btn_rowdel_onclick" />
  89. <Button id="btn_rowadd" class="btn2_letter3" position="absolute 1028 57 1081 76" style="" text="행추가" onclick="group3_btn_rowadd_onclick" />
  90. </Layout>
  91. </Layouts>
  92. </Div>
  93. <Div id="group4" scrollbars="autoboth" position="absolute 0 744 1211 784" style="">
  94. <Layouts>
  95. <Layout>
  96. <Shape id="line23" class="line_6" linetype="horizontal" position="absolute 0 3 1211 6" style="" anchor="default" />
  97. <Button id="button1" class="btn4_letter3" position="absolute 1134 10 1202 32" style="" text="저 장" onclick="group4_button1_onclick" />
  98. </Layout>
  99. </Layouts>
  100. </Div>
  101. </Layout>
  102. </Layouts>
  103. <Objects>
  104. <Dataset id="ds_main_picmrudtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  105. <ColumnInfo>
  106. <Column id="rulecd" type="STRING" size="256" />
  107. </ColumnInfo>
  108. <Rows>
  109. <Row>
  110. <Col id="rulecd"></Col>
  111. </Row>
  112. </Rows>
  113. </Dataset>
  114. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  115. <ColumnInfo>
  116. <Column id="data2" type="STRING" size="256" />
  117. </ColumnInfo>
  118. </Dataset>
  119. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  120. <ColumnInfo>
  121. <Column id="picmdrrulist" type="STRING" size="256" />
  122. </ColumnInfo>
  123. <Rows>
  124. <Row>
  125. <Col id="picmdrrulist"></Col>
  126. </Row>
  127. </Rows>
  128. </Dataset>
  129. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  130. <ColumnInfo>
  131. <Column id="calcscorcd" type="STRING" size="256" />
  132. <Column id="aplydd" type="STRING" size="256" />
  133. <Column id="sflag" type="STRING" size="256" />
  134. </ColumnInfo>
  135. <Rows>
  136. <Row>
  137. <Col id="calcscorcd"></Col>
  138. <Col id="aplydd"></Col>
  139. <Col id="sflag"></Col>
  140. </Row>
  141. </Rows>
  142. </Dataset>
  143. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  144. <ColumnInfo>
  145. <Column id="hidden" type="STRING" size="256" />
  146. </ColumnInfo>
  147. <Rows>
  148. <Row>
  149. <Col id="hidden"></Col>
  150. </Row>
  151. </Rows>
  152. </Dataset>
  153. <Dataset id="ds_source" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  154. <ColumnInfo>
  155. <Column id="srchcond" type="STRING" size="256" />
  156. <Column id="pid" type="STRING" size="256" />
  157. <Column id="hngnm" type="STRING" size="256" />
  158. <Column id="rrgstno1" type="STRING" size="256" />
  159. <Column id="rrgstno2" type="STRING" size="256" />
  160. <Column id="acptdd" type="STRING" size="256" />
  161. </ColumnInfo>
  162. </Dataset>
  163. <Dataset id="ds_send_data1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  164. <ColumnInfo>
  165. <Column id="pid" type="STRING" size="256" />
  166. <Column id="rulecd" type="STRING" size="256" />
  167. <Column id="prcpcd" type="STRING" size="256" />
  168. <Column id="aplydd" type="STRING" size="256" />
  169. <Column id="hngnm" type="STRING" size="256" />
  170. </ColumnInfo>
  171. <Rows>
  172. <Row>
  173. <Col id="pid"></Col>
  174. <Col id="rulecd"></Col>
  175. <Col id="prcpcd"></Col>
  176. <Col id="aplydd"></Col>
  177. <Col id="hngnm"></Col>
  178. </Row>
  179. </Rows>
  180. </Dataset>
  181. <Dataset id="ds_main_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  182. <ColumnInfo>
  183. <Column id="patinfolist" type="STRING" size="256" />
  184. </ColumnInfo>
  185. <Rows>
  186. <Row>
  187. <Col id="patinfolist"></Col>
  188. </Row>
  189. </Rows>
  190. </Dataset>
  191. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  192. <ColumnInfo>
  193. <Column id="init" type="STRING" size="256" />
  194. </ColumnInfo>
  195. <Rows>
  196. <Row>
  197. <Col id="init"></Col>
  198. </Row>
  199. </Rows>
  200. </Dataset>
  201. </Objects>
  202. <Bind>
  203. <BindItem id="item0" compid="group3.group2.ipt_rulecd" propid="value" datasetid="ds_send_data1" columnid="rulecd" />
  204. <BindItem id="item1" compid="group3.group2.ipt_prcpcd" propid="value" datasetid="ds_send_data1" columnid="prcpcd" />
  205. <BindItem id="item2" compid="group3.group2.ipt_aplydd" propid="value" datasetid="ds_send_data1" columnid="aplydd" />
  206. <BindItem id="item3" compid="group3.group2.ipt_pid" propid="value" datasetid="ds_send_data1" columnid="pid" />
  207. <BindItem id="item4" compid="group3.group2.ipt_hngnm" propid="value" datasetid="ds_send_data1" columnid="hngnm" />
  208. </Bind>
  209. <Script type="xscript4.0"><![CDATA[include '../../.._com_commonweb_js_common.js'
  210. include '../../.._com_commonweb_js_utilHelper.js'
  211. include '../../.._com_commonweb_js_numericHelper.js'
  212. include '../../.._com_commonweb_js_stringHelper.js'
  213. include '../../.._com_commonweb_js_dateHelper.js'
  214. include '../../.._com_commonweb_js_tfHelper.js'
  215. include '../../.._com_batchinfoweb_js_ZSB001.js'
  216. include '../../.._pam_pamcomnweb_js_PAM.js'
  217. function SMPPI00400_onload(obj:Form, e:LoadEventInfo) {
  218. frmf_initForm(obj);
  219. //grdf_initGrid(grd_XXX);
  220. //grdf_setGridSort(grd_XXX);
  221. //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
  222. ds_main_picmdrrulist.clearData();
  223. // (PAM.js) submission id="TRPAM00101" 를 사용하여 진료과 / 의사명 Combo item을 가져온다.
  224. pamGetDeptCDDrIDList();
  225. group3.group2.ipt_aplydd.value = utlf_getCurrentDate();
  226. }
  227. function group3_group2_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  228. // submit("TRPPI00401");
  229. var oParam = {};
  230. oParam.id = "TRPPI00401";
  231. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  232. oParam.method = "reqGetPicmdrruList";
  233. oParam.inds = "req=ds_";
  234. oParam.outds = "ds_=picmdrrulist";
  235. oParam.async = false;
  236. oParam.callback = "cf_TRPPI00401";
  237. tranf_submit(oParam);
  238. /*
  239. function cf_TRPPI00401(sSvcId, nErrorCode, sErrorMsg) {
  240. if(nErrorCode < 0) return;
  241. }
  242. function cf_TRPPI00401(sSvcId, nErrorCode, sErrorMsg) {
  243. arErrorCode.push(sSvcId, nErrorCode);
  244. }
  245. arErrorCode.pop("TRPPI00401") > -1
  246. arErrorCode.pop("TRPPI00401") < 0
  247. */
  248. }
  249. function group3_group2_ipt_rulecd_onkeyup(obj:Edit, e:KeyEventInfo) {
  250. if (event.keyCode == '13') {
  251. inputEnterKey("group3.group2.btn_search", "DOMActivate");
  252. }
  253. }
  254. function group3_group2_ipt_prcpcd_onkeyup(obj:Edit, e:KeyEventInfo) {
  255. if (event.keyCode == '13') {
  256. inputEnterKey("group3.group2.btn_search", "DOMActivate");
  257. }
  258. }
  259. function group3_group2_ipt_aplydd_onkeyup(obj:Calendar, e:KeyEventInfo) {
  260. if (event.keyCode == '13') {
  261. inputEnterKey("group3.group2.btn_search", "DOMActivate");
  262. }
  263. }
  264. function group3_group2_button2_onclick(obj:Button, e:ClickEventInfo) {
  265. var srch_pid = ds_send_data1.getColumn(0, "pid");
  266. if(srch_pid) {
  267. ds_source.setColumn( 0, "pid", srch_pid);
  268. ds_source.setColumn( 0, "srchcond", "1");
  269. } else {
  270. ds_source.clearData(); ds_source.addRow();
  271. }
  272. frmf_modal("SPPMC02500", "SPPMC02500", "ds_source""-"ds_send"", "", "1", "150", "150", "", "", "", "", "", "M");
  273. var srch_pid = ds_main_patinfo_patinfolist.getColumn(0, "pid");
  274. var srch_hngnm = ds_main_patinfo_patinfolist.getColumn(0, "hngnm");
  275. if (srch_pid) { // SPPMC02500_환자조회 화면에서 조회한 경우임
  276. ds_main_patinfo_patinfolist.clearData(); // patinfolist가 제거됨 (resetInstanceNode의 경우 값은 지우고 노드는 남아있음)
  277. dsf_makeValue( ds_main_patinfo, "patinfolist", "string", "" ); // SPPMC02500_환자조회 팝업을 다시 조회할 경우를 위해 다시 노드를 추가함
  278. ds_send_data1.setColumn( 0, "pid", srch_pid);
  279. ds_send_data1.setColumn( 0, "hngnm", srch_hngnm);
  280. }
  281. //model.refresh();
  282. }
  283. function group3_grd_picmdrrulist_onlbuttonup(obj:Grid, e:MouseEventInfo) {
  284. var rowno = group3.grd_picmdrrulist.row;
  285. if(group3.grd_picmdrrulist.col == group3.grd_picmdrrulist.colRef("prcpcd")) {
  286. frmf_modal("../../.._pam_calcscormngtweb_xrw_SMPIC00200_수가조회", "SMPIC00200_수가조회", ""-"", "", "", "200", "200", "", "", "", "", "", "M");
  287. var vprcpcd = ds_temp_picmmech.getColumn(0, "picmmech_calcscorcd");
  288. var vprcpnm = ds_temp_picmmech.getColumn(0, "picmmech_ordnm");
  289. ds_temp.setColumn( 0, "calcscorcd", vprcpcd);
  290. ds_temp.setColumn( 0, "aplydd", ds_send_data1.getColumn(0, "aplydd"));
  291. ds_temp.setColumn( 0, "sflag", "Y");
  292. // submit("TRPPI00101");
  293. var oParam = {};
  294. oParam.id = "TRPPI00101";
  295. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  296. oParam.method = "reqGetPicmruleList";
  297. oParam.inds = "req=ds_";
  298. oParam.outds = "ds_=picmrulelist ds_=picmrudtlist";
  299. oParam.async = false;
  300. oParam.callback = "cf_TRPPI00101";
  301. tranf_submit(oParam);
  302. /*
  303. function cf_TRPPI00101(sSvcId, nErrorCode, sErrorMsg) {
  304. if(nErrorCode < 0) return;
  305. }
  306. function cf_TRPPI00101(sSvcId, nErrorCode, sErrorMsg) {
  307. arErrorCode.push(sSvcId, nErrorCode);
  308. }
  309. arErrorCode.pop("TRPPI00101") > -1
  310. arErrorCode.pop("TRPPI00101") < 0
  311. */
  312. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("prcpcd")) = vprcpcd;
  313. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("prcpnm")) = vprcpnm;
  314. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("rulecd")) = ds_main_picmrudtlist.getColumn(0, "rulecd");
  315. ds_temp.clearData(); ds_temp.addRow();
  316. }
  317. if(group3.grd_picmdrrulist.col == group3.grd_picmdrrulist.colRef("pid")) {
  318. var srch_pid = group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("pid"));
  319. if(srch_pid) {
  320. ds_source.setColumn( 0, "pid", srch_pid);
  321. ds_source.setColumn( 0, "srchcond", "1");
  322. } else {
  323. ds_source.clearData(); ds_source.addRow();
  324. }
  325. frmf_modal("SPPMC02500", "SPPMC02500", "ds_source""-"ds_send"", "", "1", "150", "150", "", "", "", "", "", "M");
  326. var srch_pid = ds_main_patinfo_patinfolist.getColumn(0, "pid");
  327. var srch_hngnm = ds_main_patinfo_patinfolist.getColumn(0, "hngnm");
  328. if (srch_pid) { // SPPMC02500_환자조회 화면에서 조회한 경우임
  329. ds_main_patinfo_patinfolist.clearData(); // patinfolist가 제거됨 (resetInstanceNode의 경우 값은 지우고 노드는 남아있음)
  330. dsf_makeValue( ds_main_patinfo, "patinfolist", "string", "" ); // SPPMC02500_환자조회 팝업을 다시 조회할 경우를 위해 다시 노드를 추가함
  331. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("pid")) = srch_pid;
  332. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("hngnm")) = srch_hngnm;
  333. }
  334. }
  335. //model.refresh();
  336. }
  337. function group3_button5_onclick(obj:Button, e:ClickEventInfo) {
  338. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  339. if (fileName != "")
  340. {
  341. grdf_exportExcel(group3.grd_picmdrrulist, "Sheet1", fileName, false, "" , 'user' , true);
  342. }
  343. }
  344. function group3_btn_rowdel_onclick(obj:Button, e:ClickEventInfo) {
  345. var row = group3.grd_picmdrrulist.row;
  346. group3.grd_picmdrrulist.deleteRow(row);
  347. }
  348. function group3_btn_rowadd_onclick(obj:Button, e:ClickEventInfo) {
  349. group3.grd_picmdrrulist.addRow();
  350. var rowno = group3.grd_picmdrrulist.row;
  351. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("fromdd")) = utlf_getCurrentDate();
  352. group3.grd_picmdrrulist.valueMatrix(rowno, group3.grd_picmdrrulist.colRef("todd")) = "99991231";
  353. //model.refresh();
  354. }
  355. function group4_button1_onclick(obj:Button, e:ClickEventInfo) {
  356. if ( sysf_messageBox("","Q002")==6 ) {
  357. var update = getGridUpdateData( group3.grd_picmdrrulist);
  358. if(update == ""){
  359. sysf_messageBox("업데이트 정보가 없습니다.", "I");
  360. return 0;
  361. } else {
  362. ds_send.setColumn( 0, "data2", update);
  363. // submit("TXPPI00401");
  364. var oParam = {};
  365. oParam.id = "TXPPI00401";
  366. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  367. oParam.method = "reqSetPicmdrruList";
  368. oParam.inds = "req=ds_";
  369. oParam.outds = "ds_=item";
  370. oParam.async = false;
  371. oParam.callback = "cf_TXPPI00401";
  372. tranf_submit(oParam);
  373. /*
  374. function cf_TXPPI00401(sSvcId, nErrorCode, sErrorMsg) {
  375. if(nErrorCode < 0) return;
  376. }
  377. function cf_TXPPI00401(sSvcId, nErrorCode, sErrorMsg) {
  378. arErrorCode.push(sSvcId, nErrorCode);
  379. }
  380. arErrorCode.pop("TXPPI00401") > -1
  381. arErrorCode.pop("TXPPI00401") < 0
  382. */
  383. }
  384. }
  385. group3.group2.btn_search.dispatch("DOMActivate");
  386. }
  387. ]]></Script>
  388. </Form>
  389. </FDL>