SMLBP02200_입원환자기간별혈액분출현황.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLBP02200" position="absolute 0 0 1256 805" titletext="입원환자 기간별 혈액분출현황" oninit="model1_oninit" scrollbars="none">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" position="absolute 0 0 1195 13" anchor="default" positiontype="position"/>
  8. <Static id="caption6" text="입원환자 기간별 혈액불출현황" class="tit_1" position="absolute 0 0 221 25"/>
  9. <Div id="group2" taborder="3" style="align:center top;" class="div_SA" position="absolute 0 25 1256 67" anchor="left top right">
  10. <Layouts>
  11. <Layout>
  12. <Static id="caption2" text="입원기간" class="search_name" position="absolute 8 10 82 30" anchor="default"/>
  13. <Button id="button1" taborder="1" text="조회" onlbuttonup="button1_onlbuttonup" class="btn1" position="absolute 1195 10 1251 30" anchor="top right"/>
  14. <Static id="caption5" text="등록번호" class="search_name" position="absolute 322 10 396 30" anchor="default"/>
  15. <CheckBox id="checkbox1" taborder="4" text="재원환자 Only" truevalue="1" position="absolute 489 10 587 30" anchor="default"/>
  16. <Edit id="ipt_pid" taborder="5" class="input_button" position="absolute 396 10 486 30" anchor="default" onkeydown="group2_ipt_pid_onkeydown"/>
  17. <Calendar id="ipt_startdd" taborder="6" dateformat="yyyy-MM-dd" class="input_search" position="absolute 86 10 186 30"/>
  18. <Static id="caption8" text="~" position="absolute 186 10 202 30" style="align:center;"/>
  19. <Calendar id="ipt_enddd" taborder="7" dateformat="yyyy-MM-dd" class="input_search" position="absolute 202 10 302 30"/>
  20. </Layout>
  21. </Layouts>
  22. </Div>
  23. <Static id="caption1" text="환자목록" class="tit_2" position="absolute 0 77 131 97"/>
  24. <Grid id="grd_getinddpatlist" taborder="4" useinputpanel="false" position="absolute 0 97 500 804" onclick="datagrid1_onclick" anchor="left top" autofittype="col" binddataset="ds_grid_grd_getinddpatlist" oncellclick="grd_getinddpatlist_oncellclick">
  25. <Formats>
  26. <Format id="default">
  27. <Columns>
  28. <Column size="30"/>
  29. <Column size="80"/>
  30. <Column size="70"/>
  31. <Column size="80"/>
  32. <Column size="70"/>
  33. <Column size="70"/>
  34. <Column size="84"/>
  35. <Column size="0"/>
  36. </Columns>
  37. <Rows>
  38. <Row size="22" band="head"/>
  39. <Row size="20"/>
  40. </Rows>
  41. <Band id="head">
  42. <Cell text="No."/>
  43. <Cell col="1" text="등록번호"/>
  44. <Cell col="2" text="환자이름"/>
  45. <Cell col="3" text="입원일"/>
  46. <Cell col="4" text="퇴원일"/>
  47. <Cell col="5" text="퇴원부서"/>
  48. <Cell col="6" text="혈액은행불출"/>
  49. <Cell col="7" text="blodbarcd"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell celltype="head" expr="expr:currow+1"/>
  53. <Cell col="1" displaytype="text" text="bind:pid"/>
  54. <Cell col="2" text="bind:hngnm"/>
  55. <Cell col="3" text="bind:indd" mask="expr:indd==null?'':'####-##-##'"/>
  56. <Cell col="4" text="bind:dschgbn"/>
  57. <Cell col="5" text="bind:dept"/>
  58. <Cell col="6" text="bind:dcnt"/>
  59. <Cell col="7"/>
  60. </Band>
  61. </Format>
  62. </Formats>
  63. </Grid>
  64. <Button id="button2" taborder="5" text="엑셀" onlbuttonup="button2_onlbuttonup" class="btn7" position="absolute 446 74 500 94" anchor="default"/>
  65. <Static id="caption4" text="혈액불출 현황" class="tit_2" position="absolute 510 77 685 97"/>
  66. <Grid id="grd_piddelivery" taborder="6" useinputpanel="false" position="absolute 510 97 1256 449" anchor="left top right" autofittype="col" binddataset="ds_grid_grd_getpidbloodlist">
  67. <Formats>
  68. <Format id="default">
  69. <Columns>
  70. <Column size="30"/>
  71. <Column size="70"/>
  72. <Column size="84"/>
  73. <Column size="42"/>
  74. <Column size="56"/>
  75. <Column size="56"/>
  76. <Column size="101"/>
  77. <Column size="54"/>
  78. <Column size="101"/>
  79. <Column size="66"/>
  80. <Column size="43"/>
  81. <Column size="60"/>
  82. </Columns>
  83. <Rows>
  84. <Row size="22" band="head"/>
  85. <Row size="20"/>
  86. </Rows>
  87. <Band id="head">
  88. <Cell text="No."/>
  89. <Cell col="1" text="혈액번호"/>
  90. <Cell col="2" text="성분"/>
  91. <Cell col="3" text="혈액형"/>
  92. <Cell col="4" text="처방수량"/>
  93. <Cell col="5" text="불출수량"/>
  94. <Cell col="6" text="처방일자"/>
  95. <Cell col="7" text="혈액순번"/>
  96. <Cell col="8" text="불출일시"/>
  97. <Cell col="9" text="상태"/>
  98. <Cell col="10" text="병실"/>
  99. <Cell col="11" text="처방부서"/>
  100. </Band>
  101. <Band id="body">
  102. <Cell expr="expr:currow+1"/>
  103. <Cell col="1" text="bind:blodno"/>
  104. <Cell col="2" text="bind:blodcomnm"/>
  105. <Cell col="3" text="bind:btype"/>
  106. <Cell col="4" style="align:right;" text="bind:reqqty"/>
  107. <Cell col="5" style="align:right;" text="bind:deliveqty"/>
  108. <Cell col="6" text="bind:prcpdt"/>
  109. <Cell col="7" text="bind:prepblodseqno"/>
  110. <Cell col="8" text="bind:delivedt"/>
  111. <Cell col="9" text="bind:stat"/>
  112. <Cell col="10" text="bind:roomcd"/>
  113. <Cell col="11" text="bind:orddept"/>
  114. </Band>
  115. </Format>
  116. </Formats>
  117. </Grid>
  118. <Button id="btn_excel" taborder="7" text="엑셀" onlbuttonup="btn_excel_onlbuttonup" class="btn7" visible="false" position="absolute 1201 74 1255 94" anchor="top right"/>
  119. <Static id="caption7" text="혈액불출 수량조회" class="tit_2" position="absolute 510 459 677 479" anchor="default"/>
  120. <Grid id="datagrid5" taborder="8" useinputpanel="false" position="absolute 510 479 1256 804" anchor="left top right" autofittype="col" binddataset="ds_grid_grd_getpiddelivery">
  121. <Formats>
  122. <Format id="default">
  123. <Columns>
  124. <Column size="30"/>
  125. <Column size="120"/>
  126. <Column size="80"/>
  127. <Column size="80"/>
  128. <Column size="80"/>
  129. <Column size="80"/>
  130. <Column size="80"/>
  131. <Column size="80"/>
  132. <Column size="73"/>
  133. </Columns>
  134. <Rows>
  135. <Row size="22" band="head"/>
  136. <Row size="20"/>
  137. </Rows>
  138. <Band id="head">
  139. <Cell text="No."/>
  140. <Cell col="1" text="혈액성분"/>
  141. <Cell col="2" text="처방수량"/>
  142. <Cell col="3" text="불출수량"/>
  143. <Cell col="4" text="검사완료수량"/>
  144. <Cell col="5" text="반환수량"/>
  145. <Cell col="6" text="폐기수량"/>
  146. <Cell col="7" text="병원사유폐기"/>
  147. <Cell col="8" text="준비수량"/>
  148. </Band>
  149. <Band id="body">
  150. <Cell expr="expr:currow+1"/>
  151. <Cell col="1" text="bind:blodcomnm"/>
  152. <Cell col="2" text="bind:reqqty"/>
  153. <Cell col="3" text="bind:deliveqty"/>
  154. <Cell col="4" text="bind:cmqty"/>
  155. <Cell col="5" text="bind:abnqty"/>
  156. <Cell col="6" text="bind:rtnqty"/>
  157. <Cell col="7" text="bind:rtnqty2"/>
  158. <Cell col="8" text="bind:prepqty"/>
  159. </Band>
  160. </Format>
  161. </Formats>
  162. </Grid>
  163. <Button id="btn_print" taborder="9" text="출력" onlbuttonup="btn_print_onlbuttonup" class="btn6" position="absolute 1127 1 1183 22" anchor="top right"/>
  164. <Button id="button5" taborder="10" text="초기화" onclick="button5_onclick" class="btn4" position="absolute 1186 1 1255 21" anchor="top right"/>
  165. </Layout>
  166. </Layouts>
  167. <Objects>
  168. <Dataset id="ds_grid_grd_getinddpatlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  169. <ColumnInfo>
  170. <column id="pid" type="STRING" size="256"/>
  171. <column id="hngnm" type="STRING" size="256"/>
  172. <column id="indd" type="STRING" size="256"/>
  173. <column id="dschgbn" type="STRING" size="256"/>
  174. <column id="dept" type="STRING" size="256"/>
  175. <column id="dcnt" type="STRING" size="256"/>
  176. </ColumnInfo>
  177. </Dataset>
  178. <Dataset id="ds_grid_grd_getpidbloodlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  179. <ColumnInfo>
  180. <column id="blodno" type="STRING" size="256"/>
  181. <column id="blodcomnm" type="STRING" size="256"/>
  182. <column id="btype" type="STRING" size="256"/>
  183. <column id="reqqty" type="STRING" size="256"/>
  184. <column id="deliveqty" type="STRING" size="256"/>
  185. <column id="prcpdt" type="STRING" size="256"/>
  186. <column id="prepblodseqno" type="STRING" size="256"/>
  187. <column id="delivedt" type="STRING" size="256"/>
  188. <column id="stat" type="STRING" size="256"/>
  189. <column id="roomcd" type="STRING" size="256"/>
  190. <column id="orddept" type="STRING" size="256"/>
  191. </ColumnInfo>
  192. </Dataset>
  193. <Dataset id="ds_grid_grd_getpiddelivery" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  194. <ColumnInfo>
  195. <column id="blodcomnm" type="STRING" size="256"/>
  196. <column id="reqqty" type="STRING" size="256"/>
  197. <column id="deliveqty" type="STRING" size="256"/>
  198. <column id="abnqty" type="STRING" size="256"/>
  199. <column id="rtnqty" type="STRING" size="256"/>
  200. <column id="rtnqty2" type="STRING" size="256"/>
  201. <column id="cmqty" type="STRING" size="256"/>
  202. <column id="prepqty" type="STRING" size="256"/>
  203. </ColumnInfo>
  204. </Dataset>
  205. <Dataset id="ds_grid_grd_getinddpatlistPrt" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  206. <ColumnInfo>
  207. <column id="pid" type="STRING" size="256"/>
  208. <column id="patnm" type="STRING" size="256"/>
  209. <column id="indd" type="STRING" size="256"/>
  210. <column id="enddd" type="STRING" size="256"/>
  211. <column id="dept" type="STRING" size="256"/>
  212. <column id="dcnt" type="STRING" size="256"/>
  213. </ColumnInfo>
  214. </Dataset>
  215. </Objects>
  216. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  217. * System Name :
  218. * Job Name :
  219. * Creator :
  220. * Make Date : 2015-05-01
  221. * Description :
  222. *---------------------------------------------------------------------------------------
  223. * Modify Date Modifier Modify Description
  224. *---------------------------------------------------------------------------------------
  225. * 2015-05-01 Live Converter TF->XP
  226. *
  227. *---------------------------------------------------------------------------------------
  228. ****************************************************************************************/
  229. include "com_commonxp::comm_main.xjs";
  230. include "lis_commonxp::LZZ001.xjs";
  231. include "lis_commonxp::LLZ001.xjs";
  232. function lf_setInit() {
  233. group2.ipt_startdd.value = utlf_getCurrentDate();
  234. group2.ipt_enddd.value = utlf_getCurrentDate();
  235. group2.ipt_pid.value = "";
  236. group2.checkbox1.value = "";
  237. ds_grid_grd_getinddpatlist.clearData(); // 환자목록 초기화
  238. ds_grid_grd_getpidbloodlist.clearData(); // 혈액분출 현황 초기화
  239. ds_grid_grd_getpiddelivery.clearData(); // 혈액분출 수량조회 초기화
  240. if(!utlf_isNull(appf_getPatientInfo("pid"))) {
  241. appf_delPatientInfos()(); // 환자정보 전체 삭제
  242. }
  243. }
  244. function lf_getInddPatlist() {
  245. if( utlf_isNull(group2.ipt_startdd.value) || utlf_isNull(group2.ipt_enddd.value) ){
  246. sysf_messageBox("입원기간을 입력하십시오.","E");
  247. return;
  248. }
  249. ds_grid_grd_getinddpatlist.clearData(); // 환자목록 초기화
  250. ds_grid_grd_getpidbloodlist.clearData(); // 혈액분출 현황 초기화
  251. ds_grid_grd_getpiddelivery.clearData(); // 혈액분출 수량조회 초기화
  252. var fromdd = group2.ipt_startdd.value;
  253. var todd = group2.ipt_enddd.value;
  254. var pid = group2.ipt_pid.value;
  255. var dschgbn = group2.checkbox1.value;
  256. var sInDsName = dsf_createDsRow("ds_temp_search"
  257. , [{col: "fromdd", val:fromdd }
  258. , {col: "todd", val:todd }
  259. , {col: "pid", val:pid }
  260. , {col: "dschgbn", val:dschgbn }
  261. ]);
  262. var oParam = {};
  263. oParam.id = "TRLBP02201";
  264. oParam.service = "refprintmngtapp.BloodBankRefPrintMngt";
  265. oParam.method = "reqGetInddPatlist";
  266. oParam.inds = "cond="+sInDsName;
  267. oParam.outds = "ds_grid_grd_getinddpatlist=getInddPatlist";
  268. oParam.async = false;
  269. oParam.callback = "cbf_SMLBP02200";
  270. tranf_submit(oParam);
  271. }
  272. function lf_getPidBloodlist() {
  273. if(ds_grid_grd_getinddpatlist.rowcount < 1) {
  274. sysf_messageBox("환자를 선택하십시오.","E");
  275. return;
  276. }
  277. var fromdd = group2.ipt_startdd.value;
  278. var todd = group2.ipt_enddd.value;
  279. var pid = ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "pid");
  280. var indd = ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "indd");
  281. var sInDsName = dsf_createDsRow("ds_temp_search"
  282. , [{col: "fromdd", val:fromdd }
  283. , {col: "todd", val:todd }
  284. , {col: "pid", val:pid }
  285. , {col: "indd", val:indd }
  286. ]);
  287. var oParam = {};
  288. oParam.id = "TRLBP02202";
  289. oParam.service = "refprintmngtapp.BloodBankRefPrintMngt";
  290. oParam.method = "reqGetPidBloodinfo";
  291. oParam.inds = "cond="+sInDsName;
  292. oParam.outds = "ds_grid_grd_getpidbloodlist=getPidBloodinfo ds_grid_grd_getpiddelivery=getPidDelive";
  293. oParam.async = false;
  294. oParam.callback = "cbf_SMLBP02200";
  295. tranf_submit(oParam);
  296. }
  297. // 출력
  298. function lf_exePrint() {
  299. if(ds_grid_grd_getinddpatlist.rowcount < 1) {
  300. sysf_messageBox("출력할 내용이 없습니다. ","E");
  301. return;
  302. }
  303. ds_grid_grd_getinddpatlistPrt.clearData();
  304. var addRw = ds_grid_grd_getinddpatlistPrt.addRow();
  305. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "pid", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "pid"));
  306. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "patnm", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "hngnm"));
  307. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "indd", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "indd"));
  308. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "enddd", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "dschgbn"));
  309. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "dept", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "dept"));
  310. ds_grid_grd_getinddpatlistPrt.setColumn(addRw, "dcnt", ds_grid_grd_getinddpatlist.getColumn(ds_grid_grd_getinddpatlist.rowposition, "dcnt"));
  311. var objDOM = rptf_createDOM(); // DOM 객체 설정
  312. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/patinfo", ds_grid_grd_getinddpatlistPrt);
  313. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getpidbloodlist", ds_grid_grd_getpidbloodlist);
  314. rptf_setNodeListToDOM(objDOM, "/root/hidden/report/getpiddelivery", ds_grid_grd_getpiddelivery);
  315. var objParam = new Object();
  316. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  317. var option = "open=1;save=1;directprint=0;print=1;zoom=0";
  318. rptf_exeReportPreview30(["RPLBP02201"],[objParam], option);
  319. }
  320. // callback 함수
  321. function cbf_SMLBP02200(strSvcID, nErrorCode, strErrorMag) {
  322. if(nErrorCode != 0) {
  323. sysf_messageBox("ID: "+ strSvcID + " Error: " + strErrorMag, "E009", "");
  324. }else{
  325. switch(strSvcID) {
  326. case "TRLBP02201":
  327. break;
  328. case "TRLBP02202":
  329. break;
  330. default:
  331. break;
  332. }
  333. }
  334. }
  335. function model1_oninit(obj:Form, e:InitEventInfo)
  336. {
  337. //폼 초기화 함수
  338. frmf_initForm(obj);
  339. lf_setInit();
  340. }
  341. function button1_onlbuttonup(obj:Button, e:MouseEventInfo)
  342. {
  343. lf_getInddPatlist();
  344. }
  345. function group2_ipt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  346. {
  347. if(e.keycode == 13) {
  348. group2.ipt_pid.value = frmf_setInputNodeCurPid_Change(group2.ipt_pid.value); //등록번호 9자리로 변경
  349. var curVal = group2.ipt_pid.value;
  350. group2.ipt_pid.value = curVal.toUpperCase();
  351. group2.ipt_pid.setSelect();
  352. lf_getInddPatlist();
  353. }
  354. }
  355. function grd_getinddpatlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  356. {
  357. // 환자목록 선택해서 혈액분출 현황 조회
  358. if(e.row >=0){
  359. lf_getPidBloodlist();
  360. }
  361. }
  362. function button2_onlbuttonup(obj:Button, e:MouseEventInfo)
  363. {
  364. grdf_exportExcel(grd_getinddpatlist, lf_lisGetTitle(this), "sheet1", false);
  365. }
  366. function button5_onclick(obj:Button, e:ClickEventInfo)
  367. {
  368. lf_setInit();
  369. }
  370. function btn_print_onlbuttonup(obj:Button, e:MouseEventInfo)
  371. {
  372. lf_exePrint();
  373. }
  374. function btn_excel_onlbuttonup(obj:Button, e:MouseEventInfo)
  375. {
  376. grdf_exportExcel(grd_piddelivery, lf_lisGetTitle(this), false);
  377. }
  378. ]]></Script>
  379. </Form>
  380. </FDL>