SMMMR03100_아파치기간조회.xfdl 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMR03100" position="absolute 0 0 1178 750" titletext="APACHE II 기간조회" oninit="SMMMR03100_oninit" onload="SMMMR03100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape position="absolute 477 100 1117 124" id="roundrect2" type="roundrectangle" text="* A : APACHE|| score (점) D : Predicted death rate (%) D(Adjusted) : Predicted death rate (%)"/>
  8. <Grid position="absolute 0 128 1178 750" align="align:center middle;" id="grd_apachelist" binddataset="ds_grd_apachelist" autoenter="select" cellsizingtype="both" onexpanddown="grd_apachelist_onexpanddown" oncellclick="grd_apachelist_oncellclick">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="20" band="left"/>
  13. <Column size="70" band="left"/>
  14. <Column size="100" band="left"/>
  15. <Column size="50" band="left"/>
  16. <Column size="0" band="left"/>
  17. <Column size="0" band="left"/>
  18. <Column size="0" band="left"/>
  19. <Column size="120" band="left"/>
  20. <Column size="70" band="left"/>
  21. <Column size="70" band="left"/>
  22. <Column size="0" band="left"/>
  23. <Column size="50" band="left"/>
  24. <Column size="45" band="left"/>
  25. </Columns>
  26. <Rows>
  27. <Row size="24" band="head"/>
  28. <Row size="24" band="head"/>
  29. <Row size="24"/>
  30. </Rows>
  31. <Band id="head">
  32. <Cell rowspan="2" celltype="none"/>
  33. <Cell col="1" rowspan="2" text="환자번호"/>
  34. <Cell col="2" rowspan="2" text="성명"/>
  35. <Cell col="3" rowspan="2" text="S/A"/>
  36. <Cell col="4" rowspan="2" text="AGE"/>
  37. <Cell col="5" rowspan="2" text="입원일자"/>
  38. <Cell col="6" rowspan="2" text="원무번호"/>
  39. <Cell col="7" rowspan="2" text="진료과"/>
  40. <Cell col="8" rowspan="2" text="입실일자"/>
  41. <Cell col="9" rowspan="2" text="퇴실일자"/>
  42. <Cell col="10" rowspan="2" text="퇴실일자2"/>
  43. <Cell col="11" rowspan="2" text="ICU재원&#13;&#10;기간"/>
  44. <Cell col="12" rowspan="2" text="그래프&#13;&#10;보기"/>
  45. </Band>
  46. <Band id="body">
  47. <Cell celltype="head" text="expr:currow + 1"/>
  48. <Cell col="1" celltype="head" text="bind:pid"/>
  49. <Cell col="2" celltype="head" text="bind:hngnm"/>
  50. <Cell col="3" celltype="head" text="bind:sexage"/>
  51. <Cell col="4" celltype="head" text="bind:age"/>
  52. <Cell col="5" celltype="head" text="bind:orddd"/>
  53. <Cell col="6" celltype="head" text="bind:cretno"/>
  54. <Cell col="7" celltype="head" text="bind:depthngnm"/>
  55. <Cell col="8" celltype="head" text="bind:fromdd"/>
  56. <Cell col="9" celltype="head" text="bind:todd"/>
  57. <Cell col="10" celltype="head" text="bind:todd2"/>
  58. <Cell col="11" celltype="head" text="bind:ining"/>
  59. <Cell col="12" celltype="head" text="bind:graph"/>
  60. </Band>
  61. </Format>
  62. </Formats>
  63. </Grid>
  64. <Div position="absolute 0 24 1178 89" id="roundrect1" type="roundrectangle" class="div_SA">
  65. <Layouts>
  66. <Layout>
  67. <Static id="caption2" text="조회기준" class="search_name" position="absolute 12 9 92 26" anchor="default"/>
  68. <Calendar id="ipt_reqstnddd" taborder="1" class="input_essential" position="absolute 97 9 192 28" mask="yyyy-mm-dd" anchor="default" onchanged="roundrect1_ipt_reqstnddd_onchanged"/>
  69. <Static id="caption1" text="~" position="absolute 197 11 212 26" anchor="default"/>
  70. <Calendar id="ipt_reqenddd" taborder="2" class="input_essential" position="absolute 212 9 307 28" mask="yyyy-mm-dd" anchor="default" onchanged="roundrect1_ipt_reqenddd_onchanged"/>
  71. <Combo id="cmb_term" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 312 9 372 28" anchor="default" onitemchanged="roundrect1_cmb_term_onitemchanged">
  72. <Dataset id="innerdataset">
  73. <ColumnInfo>
  74. <Column id="codecolumn"/>
  75. <Column id="datacolumn"/>
  76. </ColumnInfo>
  77. <Rows>
  78. <Row>
  79. <Col id="codecolumn">0</Col>
  80. <Col id="datacolumn"/>
  81. </Row>
  82. <Row>
  83. <Col id="codecolumn">90</Col>
  84. <Col id="datacolumn">3개월</Col>
  85. </Row>
  86. <Row>
  87. <Col id="codecolumn">180</Col>
  88. <Col id="datacolumn">6개월</Col>
  89. </Row>
  90. <Row>
  91. <Col id="codecolumn">270</Col>
  92. <Col id="datacolumn">9개월</Col>
  93. </Row>
  94. <Row>
  95. <Col id="codecolumn">365</Col>
  96. <Col id="datacolumn">1년</Col>
  97. </Row>
  98. <Row>
  99. <Col id="codecolumn">730</Col>
  100. <Col id="datacolumn">2년</Col>
  101. </Row>
  102. </Rows>
  103. </Dataset>
  104. </Combo>
  105. <Radio id="rdo_status" taborder="4" columncount="3" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 377 11 587 27" anchor="default">
  106. <Dataset id="innerdataset">
  107. <ColumnInfo>
  108. <Column id="codecolumn"/>
  109. <Column id="datacolumn"/>
  110. </ColumnInfo>
  111. <Rows>
  112. <Row>
  113. <Col id="codecolumn">0</Col>
  114. <Col id="datacolumn">재원중</Col>
  115. </Row>
  116. <Row>
  117. <Col id="codecolumn">1</Col>
  118. <Col id="datacolumn">퇴실일자</Col>
  119. </Row>
  120. <Row>
  121. <Col id="codecolumn">2</Col>
  122. <Col id="datacolumn">입실일자</Col>
  123. </Row>
  124. </Rows>
  125. </Dataset>
  126. </Radio>
  127. <Static id="caption29" text="중환자실" class="search_name" position="absolute 602 11 687 28" anchor="default"/>
  128. <Combo id="cmb_icu" taborder="5" innerdataset="ds_init_cmb_icu" codecolumn="deptcd" datacolumn="deptnm" class="combo_search" position="absolute 687 11 817 30" anchor="default" onitemchanged="roundrect1_cmb_icu_onitemchanged"/>
  129. <Static id="caption3" text="진 료 과" class="search_name" position="absolute 827 11 912 28" anchor="default"/>
  130. <Combo id="cmb_orddeptcd" taborder="6" innerdataset="ds_init_cmb_orddeptcd" codecolumn="deptcd" datacolumn="depthngnm" class="combo_search" position="absolute 902 11 1032 30" anchor="default" onitemchanged="roundrect1_cmb_orddeptcd_onitemchanged"/>
  131. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1064 9 1070 59" anchor="default"/>
  132. <Button id="btn_srchall" taborder="7" text="조회" class="btn1" position="absolute 1097 24 1153 46" anchor="default" onclick="roundrect1_btn_srchall_onclick"/>
  133. <CheckBox id="opt_scoredown" taborder="8" position="absolute 377 41 552 56" anchor="default" text="APACHE Score 21 ~ 25점" truevalue="Y" falsevalue="false"/>
  134. <CheckBox id="opt_scoreup" taborder="9" position="absolute 582 41 762 56" anchor="default" text="APACHE Score 26점 이상" truevalue="Y" falsevalue="false"/>
  135. <CheckBox id="opt_scorechk" taborder="10" position="absolute 167 41 357 56" anchor="default" text="APACHE Score 20점 이하" truevalue="Y" falsevalue="false"/>
  136. <CheckBox id="opt_outchk" taborder="11" position="absolute 32 41 132 56" anchor="default" text="퇴실환자 포함" truevalue="Y" falsevalue="false"/>
  137. </Layout>
  138. </Layouts>
  139. </Div>
  140. <Static text="APACHE II" position="absolute 0 0 106 25" id="caption6" class="tit_1"/>
  141. <Shape position="absolute 0 124 1178 130" linetype="horizontal" id="line12" class="line_1"/>
  142. <Static text="환자리스트" position="absolute 0 105 95 122" id="caption17" class="tit_2"/>
  143. <Button position="absolute 1127 103 1178 122" id="btn_excel" class="btn7" text="엑셀" onclick="btn_excel_onclick"/>
  144. <Grid position="absolute 70 370 975 600" id="datagrid2" visible="false" binddataset="ds_datagrid2">
  145. <Formats>
  146. <Format id="default">
  147. <Columns>
  148. <Column size="60"/>
  149. <Column size="60"/>
  150. <Column size="60"/>
  151. <Column size="60"/>
  152. <Column size="60"/>
  153. <Column size="60"/>
  154. <Column size="60"/>
  155. <Column size="60"/>
  156. <Column size="60"/>
  157. <Column size="60"/>
  158. <Column size="60"/>
  159. <Column size="60"/>
  160. <Column size="60"/>
  161. <Column size="60"/>
  162. <Column size="60"/>
  163. </Columns>
  164. <Rows>
  165. <Row size="24" band="head"/>
  166. <Row size="24"/>
  167. </Rows>
  168. <Band id="head">
  169. <Cell text="환자번호"/>
  170. <Cell col="1" text="성명"/>
  171. <Cell col="2" text="S/A"/>
  172. <Cell col="3" text="AGE"/>
  173. <Cell col="4" text="ORDDD"/>
  174. <Cell col="5" text="CRETNO"/>
  175. <Cell col="6" text="진료과"/>
  176. <Cell col="7" text="입실일자"/>
  177. <Cell col="8" text="퇴실일자"/>
  178. <Cell col="9" text="퇴실일자2"/>
  179. <Cell col="10" text="ICU재원기간"/>
  180. <Cell col="11" text="작성일자"/>
  181. <Cell col="12" text="1"/>
  182. <Cell col="13" text="2"/>
  183. <Cell col="14" text="3"/>
  184. </Band>
  185. <Band id="body">
  186. <Cell text="bind:pid"/>
  187. <Cell col="1" text="bind:hngnm"/>
  188. <Cell col="2" text="bind:sexage"/>
  189. <Cell col="3" text="bind:age"/>
  190. <Cell col="4" text="bind:orddd"/>
  191. <Cell col="5" text="bind:cretno"/>
  192. <Cell col="6" text="bind:depthngnm"/>
  193. <Cell col="7" text="bind:fromdd"/>
  194. <Cell col="8" text="bind:todd"/>
  195. <Cell col="9" text="bind:todd2"/>
  196. <Cell col="10" text="bind:ining"/>
  197. <Cell col="11" text="bind:apchdd"/>
  198. <Cell col="12" text="bind:apchscore"/>
  199. <Cell col="13" text="bind:dethrate"/>
  200. <Cell col="14" text="bind:adjusted"/>
  201. </Band>
  202. </Format>
  203. </Formats>
  204. </Grid>
  205. <Grid position="absolute 1000 370 1065 600" id="grd_apchday" visible="false" binddataset="ds_grd_apchday">
  206. <Formats>
  207. <Format id="default">
  208. <Columns>
  209. <Column size="60"/>
  210. </Columns>
  211. <Rows>
  212. <Row size="24" band="head"/>
  213. <Row size="24"/>
  214. </Rows>
  215. <Band id="head">
  216. <Cell text="작성일자"/>
  217. </Band>
  218. <Band id="body">
  219. <Cell text="bind:apchdd"/>
  220. </Band>
  221. </Format>
  222. </Formats>
  223. </Grid>
  224. </Layout>
  225. </Layouts>
  226. <Objects>
  227. <Dataset id="ds_grd_apachelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_apachelist_onrowposchanged">
  228. <ColumnInfo>
  229. <Column id="pid" type="STRING"/>
  230. <Column id="hngnm" type="STRING"/>
  231. <Column id="sexage" type="STRING"/>
  232. <Column id="age" type="STRING"/>
  233. <Column id="orddd" type="STRING"/>
  234. <Column id="cretno" type="STRING"/>
  235. <Column id="depthngnm" type="STRING"/>
  236. <Column id="fromdd" type="STRING"/>
  237. <Column id="todd" type="STRING"/>
  238. <Column id="todd2" type="STRING"/>
  239. <Column id="ining" type="STRING"/>
  240. <Column id="graph" type="STRING"/>
  241. </ColumnInfo>
  242. </Dataset>
  243. <Dataset id="ds_init_cmb_icu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  244. <ColumnInfo>
  245. <Column id="deptnm" type="STRING"/>
  246. <Column id="deptcd" type="STRING"/>
  247. </ColumnInfo>
  248. </Dataset>
  249. <Dataset id="ds_init_cmb_orddeptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  250. <ColumnInfo>
  251. <Column id="depthngnm" type="STRING"/>
  252. <Column id="deptcd" type="STRING"/>
  253. </ColumnInfo>
  254. </Dataset>
  255. <Dataset id="ds_datagrid2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  256. <ColumnInfo>
  257. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  258. <Column id="hngnm" type="STRING" size="256" sumtext="성명"/>
  259. <Column id="sexage" type="STRING" size="256" sumtext="성별나이"/>
  260. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  261. <Column id="orddd" type="STRING" size="256" sumtext="입원일자"/>
  262. <Column id="cretno" type="STRING" size="256" sumtext="원무번호"/>
  263. <Column id="depthngnm" type="STRING" size="256" sumtext="진료과"/>
  264. <Column id="fromdd" type="STRING" size="256" sumtext="입실일자"/>
  265. <Column id="todd" type="STRING" size="256" sumtext="퇴실일자"/>
  266. <Column id="todd2" type="STRING" size="256" sumtext="퇴실일자2"/>
  267. <Column id="ining" type="STRING" size="256" sumtext="재원기간"/>
  268. <Column id="apchdd" type="STRING" size="256" sumtext="아파치날짜"/>
  269. <Column id="graph" type="STRING" size="256" sumtext="그래프"/>
  270. <Column id="apchscore" type="STRING" size="256" sumtext="apchscore"/>
  271. <Column id="dethrate" type="STRING" size="256" sumtext="dethrate"/>
  272. <Column id="adjusted" type="STRING" size="256" sumtext="adjusted"/>
  273. </ColumnInfo>
  274. </Dataset>
  275. <Dataset id="ds_grd_apchday" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  276. <ColumnInfo>
  277. <Column id="apchdd" type="STRING" size="256" sumtext="아파치날짜"/>
  278. </ColumnInfo>
  279. </Dataset>
  280. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  281. <ColumnInfo>
  282. <Column id="stnddd" type="STRING" size="256"/>
  283. <Column id="enddd" type="STRING" size="256"/>
  284. <Column id="range" type="STRING" size="256"/>
  285. <Column id="status" type="STRING" size="256"/>
  286. <Column id="ward" type="STRING" size="256"/>
  287. <Column id="orddept" type="STRING" size="256"/>
  288. <Column id="outchk" type="STRING" size="256"/>
  289. <Column id="scorechk" type="STRING" size="256"/>
  290. <Column id="scoredown" type="STRING" size="256"/>
  291. <Column id="scoreup" type="STRING" size="256"/>
  292. </ColumnInfo>
  293. <Rows>
  294. <Row>
  295. <Col id="stnddd"/>
  296. <Col id="enddd"/>
  297. <Col id="range"/>
  298. <Col id="status"/>
  299. <Col id="ward"/>
  300. <Col id="orddept"/>
  301. <Col id="outchk"/>
  302. <Col id="scorechk"/>
  303. <Col id="scoredown"/>
  304. <Col id="scoreup"/>
  305. </Row>
  306. </Rows>
  307. </Dataset>
  308. </Objects>
  309. <Bind>
  310. <BindItem id="item0" compid="roundrect1.ipt_reqstnddd" propid="value" datasetid="ds_send" columnid="stnddd"/>
  311. <BindItem id="item1" compid="roundrect1.ipt_reqenddd" propid="value" datasetid="ds_send" columnid="enddd"/>
  312. <BindItem id="item2" compid="roundrect1.cmb_icu" propid="value" datasetid="ds_send" columnid="ward"/>
  313. <BindItem id="item3" compid="roundrect1.opt_scorechk" propid="value" datasetid="ds_send" columnid="scorechk"/>
  314. <BindItem id="item4" compid="roundrect1.cmb_term" propid="value" datasetid="ds_send" columnid="range"/>
  315. <BindItem id="item5" compid="roundrect1.opt_scoreup" propid="value" datasetid="ds_send" columnid="scoreup"/>
  316. <BindItem id="item6" compid="roundrect1.cmb_orddeptcd" propid="value" datasetid="ds_send" columnid="orddept"/>
  317. <BindItem id="item7" compid="roundrect1.opt_outchk" propid="value" datasetid="ds_send" columnid="outchk"/>
  318. <BindItem id="item8" compid="roundrect1.rdo_status" propid="value" datasetid="ds_send" columnid="status"/>
  319. <BindItem id="item9" compid="roundrect1.opt_scoredown" propid="value" datasetid="ds_send" columnid="scoredown"/>
  320. </Bind>
  321. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  322. * System Name :
  323. * Job Name :
  324. * Creator :
  325. * Make Date : 2014-10-22
  326. * Description :
  327. *---------------------------------------------------------------------------------------
  328. * Modify Date Modifier Modify Description
  329. *---------------------------------------------------------------------------------------
  330. * 2014-10-22 Live Converter TF->XP
  331. *
  332. *---------------------------------------------------------------------------------------
  333. ****************************************************************************************/
  334. //=======================================================================================
  335. // Lib Include
  336. //---------------------------------------------------------------------------------------
  337. include "com_commonxp::comm_main.xjs"
  338. include "emr_prcpmngtxp::MMOCommon.xjs" // lf_mmbfGetDeptCodeComboList include
  339. //=======================================================================================
  340. // Global Form Variable
  341. //---------------------------------------------------------------------------------------
  342. var arErrorCode = new HashArray();
  343. var screenIdx1 = 0;
  344. //=======================================================================================
  345. // Function
  346. //---------------------------------------------------------------------------------------
  347. /****************************************************************************************
  348. * Argument : 01.sKey : 코드아이디
  349. * : 02.sValue : 코드명
  350. * Description : 공통코드를 가져온다.
  351. ****************************************************************************************/
  352. //초기화
  353. function fSetInit(){
  354. var vNowDD = utlf_getCurrentDate();
  355. ds_send.setColumn(0, "stnddd",vNowDD);
  356. ds_send.setColumn(0, "enddd",vNowDD);
  357. ds_send.setColumn(0, "status", "2");
  358. ds_send.setColumn(0, "range", "0");
  359. ds_send.setColumn(0, "orddept", "-");
  360. var node = sysf_getGlobalVariable("paminfo");
  361. dsf_setCSVToDs("ds_main_paminfo", node);
  362. lf_mmbfGetDeptCodeComboList(ds_init_cmb_orddeptcd, "A", utlf_getCurrentDate());
  363. frmf_addComboItem( "roundrect1.cmb_orddeptcd", "전체" , "-" , "above" ); //부서콤보 Item '전체'추가
  364. var wardinfo = ds_main_paminfo.getColumn(0, "wardcd");
  365. var jobkind = sysf_getUserInfo("jobkindcd").substring(0, 2);
  366. if(jobkind != "03")//의사가 아닌경우
  367. {
  368. ds_send.setColumn(0, "ward", sysf_getUserInfo("dutplcecd")); // 근무부서
  369. }
  370. else
  371. {
  372. ds_send.setColumn(0, "ward", wardinfo); // 병동정보
  373. }
  374. var oParam = {};
  375. oParam.id = "TRMMR03100";
  376. oParam.service = "anstrecapp.ApacheRec";
  377. oParam.method = "reqGetTermICUList";
  378. oParam.inds = "req=ds_send";
  379. oParam.outds = "ds_init_cmb_icu=icudept";
  380. oParam.async = false;
  381. oParam.callback = "cf_TRMMR03100";
  382. tranf_submit(oParam);
  383. // if(submit("TRMMR03100")){
  384. // copyNodesetType("/root/init/ward","/root/temp/initlist/icudept","replace", model, model);
  385. // }
  386. frmf_addComboItem( "roundrect1.cmb_icu", "전체" , "-" , "above" ); //중환자실 부서콤보 Item '전체'추가
  387. ds_send.setColumn(0, "ward", "-");
  388. }
  389. function fGetRefInfo(){
  390. init_grid();
  391. var oParam = {};
  392. oParam.id = "TRMMR03102";
  393. oParam.service = "anstrecapp.ApacheRec";
  394. oParam.method = "reqGetApacheDDList";
  395. oParam.inds = "req=ds_send";
  396. oParam.outds = "ds_grd_apchday=apchddlist";
  397. oParam.async = false;
  398. oParam.callback = "cf_TRMMR03102";
  399. tranf_submit(oParam); //apchdd 리스트
  400. var oParam = {};
  401. oParam.id = "TRMMR03101";
  402. oParam.service = "anstrecapp.ApacheRec";
  403. oParam.method = "reqGetApacheTermList";
  404. oParam.inds = "req=ds_send";
  405. oParam.outds = "ds_datagrid2=apch";
  406. oParam.async = false;
  407. oParam.callback = "cf_TRMMR03101";
  408. tranf_submit(oParam); // 아파치 리스트 가져오기
  409. grd_apachelist.enableevent = false;
  410. ds_grd_apachelist.enableevent = false;
  411. // 원본 데이터 그리드 : datagrid2
  412. // 그래프 생성 될 데이터 그리드 : grd_apachelist
  413. // 티챠트가 거지 같아서 그리드 이름은 꼭 datagrid1 이어야 제대로 가져 온다.
  414. // 원본 데이터 갯수
  415. var row_cnt = ds_datagrid2.rowcount; // 아파치 전체 리스트
  416. var day_cnt = ds_grd_apchday.rowcount; // 아파치 작성일자 리스트
  417. // 캡션 날짜, inputdate의 최소 날짜에서 최대 날짜 까지를 그리드에 몽땅 그려 준다.
  418. var min_date = "2100-12-31";
  419. var max_date = "2000-12-31";
  420. // min,max 날짜 구하기 , full search 할 수 밖에 없다.
  421. // for( i = 1 ; i < row_cnt ; i++ ){
  422. // if( min_date > datagrid2.textmatrix(i,7)){
  423. // min_date = datagrid2.textmatrix(i,7);
  424. // }
  425. //
  426. // if( max_date < datagrid2.textmatrix(i,7)){
  427. // max_date = datagrid2.textmatrix(i,7);
  428. // }
  429. // }
  430. for( i = 0 ; i < day_cnt ; i++ ){
  431. if( min_date > ds_grd_apchday.getColumn(i, 0)){
  432. min_date = ds_grd_apchday.getColumn(i, 0);
  433. }
  434. if( max_date < ds_grd_apchday.getColumn(i, 0)){
  435. max_date = ds_grd_apchday.getColumn(i, 0);
  436. }
  437. }
  438. // 구한 날짜를 날짜 형식으로 변형한다. ( 날짜가 하루씩 증가해야 하니까.. )
  439. var minyear = min_date.substr(0,4);
  440. var minmon = min_date.substr(4,2);
  441. var minday = min_date.substr(6,2);
  442. // 날짜 계산을 위해서 여기서 1달 작은 값을 넣고 밑에서는 +1달을 해 준다.
  443. // 월을 0~11 까지로 출력하기 때문에 이런 뻘짓이 필요하다. 이렇게 안 하면 내년에 1월이 00으로 찍힌다.
  444. var tmp_min_date = new Date(minyear,minmon-1,minday);
  445. // 성능 대박 향상을 위한 caption_tmp!!! 컬럼 추가 될때 마다 캡션값을 입력하면 컬럼 하나씩 들어가는게 눈에 보인다.
  446. // 고로.. 변수에 저장해 두었다가 마지막에 찍어 주자.
  447. var caption_tmp = grd_apachelist.caption;
  448. // 날짜가 하루 더 많다. 그래서 하루 빼줬다.
  449. tmp_min_date.setDate(tmp_min_date.getDate()-1);
  450. // 컬럼 추가, 그리드 캡션 지정
  451. for(k = 0; k < day_cnt; k++){
  452. /*
  453. tmp_min_date.setDate(tmp_min_date.getDate()+1);
  454. // 그리드에서 비교를 위해 날짜 포맷 설정
  455. ty = tmp_min_date.getYear();
  456. tm = tmp_min_date.getMonth()+1;
  457. td = tmp_min_date.getDate();
  458. if(tm < 10)
  459. tm = "0" + tm;
  460. if(td < 10)
  461. td = "0" + td;
  462. tt = ty + "-" + tm + "-" + td;
  463. to = ty + tm + td;
  464. */
  465. s = "A";
  466. d = "D";
  467. a = "D(Adjusted)";
  468. var idx1 = grd_apachelist.insertContentsCol("body", grd_apachelist.getFormatColCount() + 1, false);
  469. var idx2 = grd_apachelist.insertContentsCol("body", grd_apachelist.getFormatColCount() + 1, false);
  470. var idx3 = grd_apachelist.insertContentsCol("body", grd_apachelist.getFormatColCount() + 1, false);
  471. //sysf_trace("getFormatColCount() : " + grd_apachelist.getFormatColCount());
  472. grd_apachelist.setCellProperty("head", idx1, "text", ds_grd_apchday.getColumn(k,0));
  473. // 총 열의 크기에서 merge된 컬럼 제외 후 생성된 idx 로 값 설정.
  474. grd_apachelist.setCellProperty("head", grd_apachelist.getFormatColCount() - 13 +idx1 , "text", s);
  475. grd_apachelist.setCellProperty("head", grd_apachelist.getFormatColCount() - 13 +idx2 , "text", d);
  476. grd_apachelist.setCellProperty("head", grd_apachelist.getFormatColCount() - 13 +idx3 , "text", a);
  477. // expand Button show
  478. grd_apachelist.setCellProperty("body", idx3 , "expandshow", "show");
  479. grd_apachelist.setCellProperty("body", idx3 , "displaytype", "text");
  480. grd_apachelist.setCellProperty("body", idx3 , "edittype", "readonly");
  481. grd_apachelist.setCellProperty("body", idx3 , "align", "center middle");
  482. // column binding
  483. grd_apachelist.setCellProperty("body", idx1 , "text", "bind:"+idx1);
  484. grd_apachelist.setCellProperty("body", idx2 , "text", "bind:"+idx2);
  485. grd_apachelist.setCellProperty("body", idx3 , "text", "bind:"+idx3);
  486. // dataset addColumn
  487. ds_grd_apachelist.addColumn(idx1, "string");
  488. ds_grd_apachelist.addColumn(idx2, "string");
  489. ds_grd_apachelist.addColumn(idx3, "string");
  490. // 열 크기 조절
  491. grd_apachelist.setFormatColProperty(idx1,"size",80);
  492. grd_apachelist.setFormatColProperty(idx2,"size",80);
  493. grd_apachelist.setFormatColProperty(idx3,"size",80);
  494. /*
  495. // 최대날짜까지 컬럼 추가
  496. grd_apachelist.addColumn("ref:s" + tt + s + ";; type: output;",false);
  497. //grd_apachelist.colWidth(grd_apachelist.cols-12) = 80;
  498. grd_apachelist.addColumn("ref:d" + tt + d + ";; type: output;",false);
  499. //grd_apachelist.colWidth(grd_apachelist.cols-13) = 80;
  500. grd_apachelist.addColumn("ref:a" + tt + a + ";; type: inputbutton;",false);
  501. //grd_apachelist.colWidth(grd_apachelist.cols-14) = 80;
  502. */
  503. }
  504. // Merge는 값을 저장한 다음 나중에... merge 하는 순간 idx 가 꼬임...
  505. var sidx = 13;
  506. var tmp_idx = 13;
  507. for(k = 0; k < day_cnt; k++){
  508. //grd_apachelist.mergeContentsCell("head",0,13,0,15,13,false);
  509. grd_apachelist.mergeContentsCell("head",0,tmp_idx,0,tmp_idx+2,(sidx+k),false);
  510. tmp_idx=tmp_idx+3;
  511. }
  512. //sysf_trace(grd_apachelist.getCurFormatString());
  513. /*
  514. for(j = 1; j < day_cnt; j++){
  515. //아파치 작성일자 추가
  516. //아파치 일자와 그리드 날짜가 동일할 때
  517. if(grd_apachelist.textmatrix(0,(13+3*j-3)) != grd_apchday.textmatrix(j,0)){
  518. grd_apachelist.textmatrix(0,(13+3*j-3)) = grd_apchday.textmatrix(j,0); //날짜는 0 로우에..add_row_cnt-i-1
  519. grd_apachelist.textmatrix(0,(14+3*j-3)) = grd_apchday.textmatrix(j,0);
  520. grd_apachelist.textmatrix(0,(15+3*j-3)) = grd_apchday.textmatrix(j,0);
  521. grd_apachelist.textmatrix(1,(13+3*j-3)) = "A"; //항목은 1 로우에
  522. grd_apachelist.colWidth(13+3*j-3) = 80;
  523. grd_apachelist.textmatrix(1,(14+3*j-3)) = "D";
  524. grd_apachelist.colWidth(14+3*j-3) = 80;
  525. grd_apachelist.textmatrix(1,(15+3*j-3)) = "D(Adjusted)";
  526. grd_apachelist.colWidth(15+3*j-3) = 80;
  527. }
  528. }
  529. */
  530. // 로우 생성, subteam,dev 입력
  531. var add_row_cnt = 0;
  532. var col_cnt = 12;
  533. var cmp_dev = "시작은암것두엄는거다";
  534. var cmp_team = "시작은암것두엄는거다";
  535. var cmp_day = "시작은암것두엄는거다";
  536. // 원본 데이터를 첨 부터 끝까지 읽어 내려가면서 그래프 기준이 될 데이터 그리드를 생성한다.
  537. for( i = 0 ; i < row_cnt ; i++ ){
  538. // 앞에 이름과 현재 로우의 dev가 다르면 로우를 추가한다. (dev로 sort 해서 가져 왔심)
  539. // 앞에 이름과 같은데 팀이 달라도 로우를 추가 한다. 두탕 뛰는 개발자 색출
  540. if (cmp_dev != ds_datagrid2.getColumn(i,"pid") || (cmp_dev == ds_datagrid2.getColumn(i,"pid") && cmp_team != ds_datagrid2.getColCount(i,"hngnm"))){
  541. add_row_cnt = ds_grd_apachelist.addRow();
  542. // fixed컬럼에 dev, subteam에 해당팀, 개발자 입력
  543. //grd_apachelist.textmatrix(add_row_cnt,0) = datagrid2.textmatrix(i,0);
  544. ds_grd_apachelist.setColumn(add_row_cnt,"pid", ds_datagrid2.getColumn(i,"pid"));
  545. ds_grd_apachelist.setColumn(add_row_cnt,"hngnm", ds_datagrid2.getColumn(i,"hngnm"));
  546. ds_grd_apachelist.setColumn(add_row_cnt,"sexage", ds_datagrid2.getColumn(i,"sexage"));
  547. ds_grd_apachelist.setColumn(add_row_cnt,"age", ds_datagrid2.getColumn(i,"age"));
  548. ds_grd_apachelist.setColumn(add_row_cnt,"orddd", ds_datagrid2.getColumn(i,"orddd"));
  549. ds_grd_apachelist.setColumn(add_row_cnt,"cretno", ds_datagrid2.getColumn(i,"cretno"));
  550. ds_grd_apachelist.setColumn(add_row_cnt,"depthngnm", ds_datagrid2.getColumn(i,"depthngnm"));
  551. ds_grd_apachelist.setColumn(add_row_cnt,"fromdd", ds_datagrid2.getColumn(i,"fromdd"));
  552. ds_grd_apachelist.setColumn(add_row_cnt,"todd", ds_datagrid2.getColumn(i,"todd"));
  553. ds_grd_apachelist.setColumn(add_row_cnt,"todd2", ds_datagrid2.getColumn(i,"todd2"));
  554. ds_grd_apachelist.setColumn(add_row_cnt,"ining", ds_datagrid2.getColumn(i,"ining"));
  555. // add_row_cnt = add_row_cnt + 1;
  556. }
  557. // 데이터 맵핑
  558. // sysf_trace("grd_apachelist.getCellCount : " +grd_apachelist.getCellCount("body"));
  559. var tmp_sidx = 13;
  560. for (var c = 13 ; c < grd_apachelist.getCellCount("body"); c+=3 ){
  561. // input date가 같다면 해당 셀에 데이터 맵핑
  562. // sysf_trace("grd_apachelist.getCellProperty : " + grd_apachelist.getCellProperty("head", tmp_sidx, "text"));
  563. if (grd_apachelist.getCellProperty("head", tmp_sidx, "text") == ds_datagrid2.getColumn(i,"apchdd")){
  564. // 통계 데이터 맵핑
  565. ds_grd_apachelist.setColumn(add_row_cnt,(c).toString(), ds_datagrid2.getColumn(i,"apchscore")); //apchscore
  566. ds_grd_apachelist.setColumn(add_row_cnt,(c+1).toString(), ds_datagrid2.getColumn(i,"dethrate")); //dethrate
  567. ds_grd_apachelist.setColumn(add_row_cnt,(c+2).toString(), ds_datagrid2.getColumn(i,"adjusted")); //adjusted
  568. }else{
  569. if(utlf_isNull(ds_grd_apachelist.getColumn(add_row_cnt,(c).toString()))){
  570. // 빈 셀은 0으로 채워 준다 -> 값이 비었을 경우 티차트에서 에러 발생.
  571. ds_grd_apachelist.setColumn(add_row_cnt,c.toString(),"0"); //apchscore
  572. ds_grd_apachelist.setColumn(add_row_cnt,(c+1).toString(),"0"); //dethrate
  573. }
  574. }
  575. tmp_sidx++;
  576. /*
  577. var colNum = grd_apachelist.colRef("graph");
  578. grd_apachelist.cellstyle("background-image", add_row_cnt-1, 12) = "../../../emr/anstrecweb/images/barchart.gif"
  579. grd_apachelist.cellstyle("background-position", add_row_cnt-1, 12) = "center center"
  580. */
  581. }
  582. // 현재 행의 개발자,Subteam 을 저장해 두었다가 다음 행과 비교한다.
  583. cmp_dev = ds_datagrid2.getColumn(i,"pid");//0
  584. cmp_team = ds_datagrid2.getColumn(i,"hngnm");//1
  585. cmp_day = ds_datagrid2.getColumn(i,"ining");//10
  586. }
  587. grd_apachelist.setCellProperty("body", grd_apachelist.getBindCellIndex("body","graph"), "background", "URL('theme://images\\barchart.png') center center stretch");
  588. grd_apachelist.setCellProperty("body", grd_apachelist.getBindCellIndex("body","graph"), "background2", "URL('theme://images\\barchart.png') center center stretch");
  589. grd_apachelist.enableevent = true;
  590. ds_grd_apachelist.enableevent = true;
  591. }
  592. function init_grid(){
  593. /*
  594. // 컬럼 캡션 초기화
  595. grd_apachelist.caption = "환자번호^성명^S/A^AGE^ORDDD^CRETNO^진료과^입실일자^퇴실일자^퇴실일자2^ICU재원기간^그래프보기|환자번호^성명^S/A^AGE^ORDDD^CRETNO^진료과^입실일자^퇴실일자^퇴실일자2^ICU재원기간^그래프보기";
  596. var cols = grd_apachelist.cols-grd_apachelist.fixedCols+1;
  597. for( var i = 0; i < cols; i++ ) {
  598. //그리드의 컬럼 삭제
  599. grd_apachelist.removeColumn(false);
  600. }
  601. */
  602. grd_apachelist.formats = grd_apachelist.userdata;
  603. // 노드 초기화
  604. ds_datagrid2.clearData()
  605. ds_grd_apachelist.clearData();
  606. /*
  607. model.removeNodeset("/root/main/apachelist/list/apch");
  608. model.removeNodeset("/root/grd_temp/grid");
  609. model.resetInstanceNode("/root/grd_temp/grid");
  610. model.resetInstanceNode("/root/main/apachelist/list/apch");
  611. */
  612. }
  613. //************************************** MMR03100 ****************************************//
  614. function fMakeChart(){
  615. //var hrcheck = model.getValue("/root/main/chrtsetup/hryn");
  616. //var rrcheck = model.getValue("/root/main/chrtsetup/rryn");
  617. //var btcheck = model.getValue("/root/main/chrtsetup/btyn");
  618. TChart1.RemoveAllSeries();
  619. TChart1.Axis.RemoveAllCustom();
  620. //margin 값 정하기
  621. TChart1.Panel.MarginTop = 0;
  622. TChart1.Panel.MarginLeft = 11;
  623. TChart1.Panel.MarginRight = 0;
  624. TChart1.Panel.MarginBottom = -5;
  625. TChart1.Axis.Bottom.TickLength = 1027;
  626. //시간 생성
  627. //var stDate = new Date(2005, 2, 3, 0, 0);
  628. //var endDate = new Date(2005, 2, 10, 0, 0);
  629. //alert(Date.UTC(2005, 2, 3));
  630. //하단축 칸 수 정하기와 눈금 없애기
  631. //TChart1.Axis.Bottom.SetMinMax (0, MinTimeConst * 60 * 24 * 7 - 1); //7일 동안 좌표를 표현
  632. TChart1.Axis.Bottom.SetMinMax (0, 30); //7일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
  633. TChart1.Axis.Bottom.Increment = 1;
  634. TChart1.Axis.Bottom.MinorTickCount = 1;
  635. TChart1.Axis.Bottom.AxisPen.Color = 0x000000;
  636. //TChart1.Axis.Bottom.GridPen.Color = 0x0000ff; //축 점선의 색 설정
  637. TChart1.Axis.Bottom.Labels.Font.Color = 0xffffff; //하단 축 눈금 명칭 색을 하얀색으로 하여 보이지 않게 처리
  638. TChart1.Header.Visible = false;
  639. TChart1.Header.Text(0)="Vital Sign"; //헤더제목넣기
  640. TChart1.Header.Font.Bold = true; //헤더 굵게
  641. TChart1.Header.Font.Size = 10; //헤더 사이즈
  642. TChart1.Aspect.View3D = 0; //2d 로 표현하기
  643. //TChart1.Aspect.Chart3DPercent = 2;
  644. TChart1.Zoom.enable = false; // zoom 사용하지 않기
  645. TChart1.Scroll.Enable = true; // scroll 사용하지 않기
  646. TChart1.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  647. TChart1.Environment.MouseWheelScroll = true;
  648. TChart1.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  649. TChart1.Panel.Gradient.StartColor = 0xffffff;
  650. TChart1.Panel.Gradient.EndColor = 0xffffff;
  651. var cus_axis1 = TChart1.Axis.AddCustom(false); // BT
  652. TChart1.Axis.Custom(0).AxisPen.Color = 0x00ff00;
  653. TChart1.Axis.Custom(0).Title.Caption = "BT";
  654. TChart1.Axis.Custom(0).Title.Font.Size = 8;
  655. TChart1.Axis.Custom(0).Title.Font.Bold = true;
  656. TChart1.Axis.Custom(0).Title.Angle = 90;
  657. TChart1.Axis.Custom(0).PositionPercent = -4.5;
  658. TChart1.Axis.Custom(0).Automatic = false;
  659. TChart1.Axis.Custom(0).Maximum = 100;
  660. TChart1.Axis.Custom(0).Minimum = 0;
  661. TChart1.Axis.Custom(0).Increment = 10;
  662. var cus_axis2 = TChart1.Axis.AddCustom(false); // RR
  663. TChart1.Axis.Custom(1).AxisPen.Color = 0xff0000;
  664. TChart1.Axis.Custom(1).Title.Caption = "RR";
  665. TChart1.Axis.Custom(1).Title.Font.Size = 8;
  666. TChart1.Axis.Custom(1).Title.Font.Bold = true;
  667. TChart1.Axis.Custom(1).Title.Angle = 90;
  668. TChart1.Axis.Custom(1).PositionPercent = -8.5;
  669. TChart1.Axis.Custom(1).Automatic = false;
  670. TChart1.Axis.Custom(1).Maximum = 110;
  671. TChart1.Axis.Custom(1).Minimum = 10;
  672. TChart1.Axis.Custom(1).Increment = 10;
  673. TChart1.AddSeries(11); // 혈압
  674. TChart1.AddSeries(11); // abp
  675. TChart1.AddSeries(0); // 맥박
  676. TChart1.AddSeries(0); // 체온
  677. TChart1.AddSeries(0); // 호흡
  678. TChart1.AddSeries(0); // 38선
  679. TChart1.Series(0).VerticalAxisCustom = cus_axis1;
  680. TChart1.Series(1).VerticalAxisCustom = cus_axis1;
  681. TChart1.Series(2).VerticalAxisCustom = cus_axis1;
  682. TChart1.Series(3).VerticalAxisCustom = cus_axis2;
  683. TChart1.Series(4).VerticalAxisCustom = cus_axis2;
  684. TChart1.Series(5).VerticalAxisCustom = cus_axis2;
  685. //라인의 굵기를 정해준다.
  686. TChart1.Series(0).asCandle.CandleStyle = 2;
  687. TChart1.Series(0).asCandle.CandleWidth = 4;
  688. TChart1.Series(1).asCandle.CandleStyle = 2;
  689. TChart1.Series(1).asCandle.CandleWidth = 1;
  690. TChart1.Series(2).asLine.LinePen.Width = 1;
  691. TChart1.Series(3).asLine.LinePen.Width = 2;
  692. TChart1.Series(4).asLine.LinePen.Width = 1;
  693. TChart1.Series(5).asLine.LinePen.Width = 2;
  694. TChart1.Series(0).Color = 0x000000; //black
  695. TChart1.Series(1).Color = 0x000000; //black
  696. TChart1.Series(2).Color = 0x0000ff; //red HR/BP
  697. TChart1.Series(3).Color = 0x00ff00; //green BT
  698. TChart1.Series(4).Color = 0xff0000; //blue RR
  699. TChart1.Series(5).Color = 0x656565; //38선
  700. // error bar test
  701. //Series(0).AsErrorBar.AddErrorBar (1234, 5678, 23, "MyErrorBar", model.rgb(0,255,255));
  702. TChart1.Series(2).asLine.Pointer.Visible = true;
  703. TChart1.Series(2).asLine.Pointer.Style = 1;
  704. TChart1.Series(2).asLine.Pointer.VerticalSize = 2;
  705. TChart1.Series(2).asLine.Pointer.HorizontalSize = 2;
  706. TChart1.Series(3).asLine.Pointer.Visible = true;
  707. TChart1.Series(3).asLine.Pointer.Style = 1;
  708. TChart1.Series(3).asLine.Pointer.VerticalSize = 2;
  709. TChart1.Series(3).asLine.Pointer.HorizontalSize = 2;
  710. TChart1.Series(4).asLine.Pointer.Visible = true;
  711. TChart1.Series(4).asLine.Pointer.Style = 1;
  712. TChart1.Series(4).asLine.Pointer.VerticalSize = 2;
  713. TChart1.Series(4).asLine.Pointer.HorizontalSize = 2;
  714. //기준선 그리기
  715. TChart1.Series(5).AddXY (-5, 38 , "", TChart1.Series(5).Color );
  716. TChart1.Series(5).AddXY (50, 38 , "", TChart1.Series(5).Color );
  717. //depth 정하기
  718. TChart1.Series(1).Depth = 1;
  719. TChart1.Series(2).Depth = 2;
  720. TChart1.Series(3).Depth = 3;
  721. TChart1.Series(4).Depth = 4;
  722. TChart1.Series(5).Depth = 5;
  723. var iRow = grd_apachelist.row - grd_apachelist.fixedRows + 1;
  724. //if (hrcheck == "Y"){
  725. for(i =1 ; i <31 ; i ++ ){
  726. //if(model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) != "?"
  727. //&& model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) != "?"){
  728. // TChart1.Series(0).asCandle.AddCandle ( i, model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ), 0, 0, model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ));
  729. //} else if (model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) != "?"
  730. // && model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) == "" && model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) == "?"){
  731. // TChart1.Series(1).asCandle.AddCandle ( i, model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ), 0, 0, model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ));
  732. //} else if (model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) == "" && model.getValue("/root/main/recinfo/reclist/grid[2]/mnt" + i + "" ) == "?"
  733. // && model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[3]/mnt" + i + "" ) != "?"){
  734. //TChart1.Series(1).asCandle.AddCandle ( i, model.getValue("/root/main/apachelist/row["+ iRow +"]/a" + i + "" ), 0, 0, model.getValue("/root/main/apachelist/row["+ iRow +"]/a" + i + "" ));
  735. //}
  736. //if(model.getValue("/root/main/recinfo/reclist/grid[4]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[4]/mnt" + i + "" ) != "?"){
  737. alert(model.getValue("/root/main/apachelist/row["+ iRow +"]/a" + i + "" ));
  738. TChart1.Series(1).AddXY (i, model.getValue("/root/main/apachelist/row["+ iRow +"]/a" + i + "" ), "", TChart1.Series(2).Color);
  739. //}
  740. }
  741. //}
  742. //if (btcheck == "Y"){
  743. for(i =1 ; i <31 ; i ++ ){
  744. //if(model.getValue("/root/main/recinfo/reclist/grid[6]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[6]/mnt" + i + "" ) != "?" ){
  745. TChart1.Series(2).AddXY (i, model.getValue("/root/main/apachelist/row["+ iRow +"]/d" + i + "" ), "", TChart1.Series(3).Color);
  746. //}
  747. }
  748. //}
  749. //if (rrcheck == "Y"){
  750. for(i =1 ; i <31 ; i ++ ){
  751. //if(model.getValue("/root/main/recinfo/reclist/grid[5]/mnt" + i + "" ) != "" && model.getValue("/root/main/recinfo/reclist/grid[5]/mnt" + i + "" ) != "?"){
  752. TChart1.Series(3).AddXY (i, model.getValue("/root/main/apachelist/row["+ iRow +"]/a" + i + "" ), "", TChart1.Series(4).Color);
  753. //}
  754. }
  755. //}
  756. }
  757. function fDisPatchTermSearch()
  758. {
  759. fTermSearch();
  760. }
  761. function fTermSearch()
  762. {
  763. init_grid();
  764. fGetRefInfo();
  765. }
  766. //=======================================================================================
  767. // Transaction Callback
  768. //---------------------------------------------------------------------------------------
  769. /****************************************************************************************
  770. * Argument : 01.sSvcId : 서비스 ID
  771. * : 02.nErrorCode : 에러코드
  772. * : 03.sErrorMsg : 에러메시지
  773. * Description : tr_getCodeList의 콜백함수
  774. ****************************************************************************************/
  775. function cf_TRMMR03100(sSvcId, nErrorCode, sErrorMsg) {
  776. if(nErrorCode < 0) return;
  777. arErrorCode.push(sSvcId, nErrorCode);
  778. sysf_trace("***** cf_TRMMR03100 *****");
  779. }
  780. function cf_TRMMR03102(sSvcId, nErrorCode, sErrorMsg) {
  781. if(nErrorCode < 0) return;
  782. arErrorCode.push(sSvcId, nErrorCode);
  783. sysf_trace("***** cf_TRMMR03102 *****");
  784. }
  785. function cf_TRMMR03101(sSvcId, nErrorCode, sErrorMsg) {
  786. if(nErrorCode < 0) return;
  787. arErrorCode.push(sSvcId, nErrorCode);
  788. sysf_trace("***** cf_TRMMR03101 *****");
  789. }
  790. //=======================================================================================
  791. // Event
  792. //---------------------------------------------------------------------------------------
  793. /****************************************************************************************
  794. * Components :
  795. * Components ID : button5
  796. * Event : onlbuttonup
  797. * Argument : 01.obj : Object Event has occurred
  798. * : 02.e : Event Object
  799. * Description :
  800. ****************************************************************************************/
  801. function SMMMR03100_oninit(obj:Form, e:InitEventInfo)
  802. {
  803. frmf_initForm(obj);
  804. }
  805. function SMMMR03100_onload(obj:Form, e:LoadEventInfo)
  806. {
  807. var sForm = grd_apachelist.getFormatString();
  808. grd_apachelist.userdata = sForm;
  809. grdf_setGridSort(grd_apachelist);
  810. //sysf_trace(grd_apachelist.userdata);
  811. fSetInit();
  812. }
  813. function grd_apachelist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  814. {
  815. var iRow = e.row;
  816. var iCol = e.col;
  817. if (iCol != 12) {
  818. frmf_setParameter("SPMMR03200_pid", ds_grd_apachelist.getColumn(iRow, "pid"));
  819. frmf_setParameter("SPMMR03200_hngnm", ds_grd_apachelist.getColumn(iRow, "hngnm"));
  820. frmf_setParameter("SPMMR03200_orddd", ds_grd_apachelist.getColumn(iRow, "orddd"));
  821. frmf_setParameter("SPMMR03200_cretno", ds_grd_apachelist.getColumn(iRow, "cretno"));
  822. var apchdd = grd_apachelist.getCellProperty("head", iCol-2, "text")
  823. frmf_setParameter("SPMMR03200_apchdd", apchdd);
  824. frmf_setParameter("SPMMR03200_age", ds_grd_apachelist.getColumn(iRow, "age"));
  825. frmf_setParameter("SPMMR03200_fromdd", ds_grd_apachelist.getColumn(iRow, "fromdd"));
  826. var fromdd = ds_grd_apachelist.getColumn(iRow, "fromdd");
  827. frmf_setParameter("SPMMR03200_todd", ds_grd_apachelist.getColumn(iRow, "todd"));
  828. if(apchdd < fromdd){
  829. sysf_messageBox("입실일자 ","E012");
  830. return;
  831. }else{
  832. //modal("SPMMR03200", "", "", "", "", "/root/send/param", "/root/send");
  833. //window.load("SPMMR03200_아파치기록정보.xrw", "modeless", "pop1", "width:900px; height:980;");
  834. var objPopForm = frmf_findPopup("SPMMR03200");
  835. if( !utlf_isNull(objPopForm) ){
  836. objPopForm.fInit();
  837. objPopForm.setFocus();
  838. }else{
  839. //765 + 26 + 4 = 795
  840. //740 + 16 = 756
  841. frmf_open("SPMMR03200", "SPMMR03200", null, false, 1, null, null, 756, 795, null, null, null, "M");
  842. }
  843. //inputEnterKey("btn_srch", "DOMActivate"); //의미없다...
  844. }
  845. }
  846. }
  847. function grd_apachelist_oncellclick(obj:Grid, e:GridClickEventInfo)
  848. {
  849. var iRow = e.row;
  850. var iCol = e.col;
  851. if (iCol == 12) {
  852. frmf_setParameter("SPMMR03300_pid", ds_grd_apachelist.getColumn(iRow, "pid"));
  853. frmf_setParameter("SPMMR03300_fromdd", ds_grd_apachelist.getColumn(iRow, "fromdd"));
  854. frmf_setParameter("SPMMR03300_todd", ds_grd_apachelist.getColumn(iRow, "todd"));
  855. frmf_setParameter("SPMMR03300_orddd", ds_grd_apachelist.getColumn(iRow, "orddd"));
  856. frmf_setParameter("SPMMR03300_range", ds_send.getColumn(0, "range"));
  857. frmf_setParameter("SPMMR03300_status", ds_send.getColumn(0, "status"));
  858. frmf_setParameter("SPMMR03300_ward", ds_send.getColumn(0, "ward"));
  859. frmf_setParameter("SPMMR03300_orddept", ds_send.getColumn(0, "orddept"));
  860. frmf_setParameter("SPMMR03300_outchk", ds_send.getColumn(0, "outchk"));
  861. frmf_setParameter("SPMMR03300_scorechk", ds_send.getColumn(0, "scorechk"));
  862. frmf_setParameter("SPMMR03300_scoredown", ds_send.getColumn(0, "scoredown"));
  863. frmf_setParameter("SPMMR03300_scoreup", ds_send.getColumn(0, "scoreup"));
  864. frmf_open("SPMMR03300_"+screenIdx1, "SPMMR03300", null, null, 1, 300, 100, null, null, null, null, null, "M");
  865. screenIdx1++;
  866. //window.load("SPMMR03300_아파치환자그래프.xrw", "modeless", "pop1", "left:300px; top:100px; width:700px; height:780;");
  867. }
  868. }
  869. function ds_grd_apachelist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  870. {
  871. var iRow = e.newrow;
  872. var iCol = grd_apachelist.getCellPos();
  873. if (iCol == 12) {
  874. frmf_setParameter("SPMMR03300_pid", ds_grd_apachelist.getColumn(iRow, "pid"));
  875. frmf_setParameter("SPMMR03300_fromdd", ds_grd_apachelist.getColumn(iRow, "fromdd"));
  876. frmf_setParameter("SPMMR03300_todd", ds_grd_apachelist.getColumn(iRow, "todd"));
  877. frmf_setParameter("SPMMR03300_orddd", ds_grd_apachelist.getColumn(iRow, "orddd"));
  878. frmf_setParameter("SPMMR03300_range", ds_send.getColumn(0, "range"));
  879. frmf_setParameter("SPMMR03300_status", ds_send.getColumn(0, "status"));
  880. frmf_setParameter("SPMMR03300_ward", ds_send.getColumn(0, "ward"));
  881. frmf_setParameter("SPMMR03300_orddept", ds_send.getColumn(0, "orddept"));
  882. frmf_setParameter("SPMMR03300_outchk", ds_send.getColumn(0, "outchk"));
  883. frmf_setParameter("SPMMR03300_scorechk", ds_send.getColumn(0, "scorechk"));
  884. frmf_setParameter("SPMMR03300_scoredown", ds_send.getColumn(0, "scoredown"));
  885. frmf_setParameter("SPMMR03300_scoreup", ds_send.getColumn(0, "scoreup"));
  886. // var objPopForm = frmf_findPopup("SPMMR03300");
  887. // if( !utlf_isNull(objPopForm) ){
  888. // objPopForm.fGetRefInfo();
  889. // objPopForm.setFocus();
  890. // }else{
  891. // frmf_open("SPMMR03300", "SPMMR03300", null, null, 1, 300, 100, null, null, null, null, null, "M");
  892. // }
  893. frmf_open("SPMMR03300_"+screenIdx1, "SPMMR03300", null, null, 1, 300, 100, null, null, null, null, null, "M");
  894. screenIdx1++;
  895. //window.load("SPMMR03300_아파치환자그래프.xrw", "modeless", "pop1", "left:300px; top:100px; width:700px; height:780;");
  896. }
  897. }
  898. function roundrect1_btn_srchall_onclick(obj:Button, e:ClickEventInfo)
  899. {
  900. fTermSearch();
  901. }
  902. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  903. {
  904. // var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  905. //
  906. // if (fileName != "")
  907. // {
  908. // grd_apachelist.saveExcel(fileName, "SheetName", true, false, "", "", true);
  909. // }
  910. grdf_exportExcel(grd_apachelist, "excel", "SheetName");
  911. }
  912. function roundrect1_ipt_reqstnddd_onchanged(obj:Calendar, e:ChangeEventInfo)
  913. {
  914. //model.setValue("/root/send/stnddd", model.getValue("/root/send/stnddd"));
  915. roundrect1.ipt_reqstnddd.updateToDataset();
  916. }
  917. function roundrect1_ipt_reqenddd_onchanged(obj:Calendar, e:ChangeEventInfo)
  918. {
  919. //model.setValue("/root/send/enddd", model.getValue("/root/send/enddd"));
  920. roundrect1.ipt_reqenddd.updateToDataset();
  921. }
  922. function roundrect1_cmb_icu_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  923. {
  924. //model.setValue("/root/send/ward", model.getValue("/root/send/ward"));
  925. roundrect1.cmb_icu.updateToDataset();
  926. }
  927. function roundrect1_cmb_term_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  928. {
  929. var date2 = roundrect1.ipt_reqenddd.value;
  930. var term = roundrect1.cmb_term.value;
  931. roundrect1.ipt_reqstnddd.value = date2.getAddDate(-term,"D").getDateFormat("YYYYMMDD") ;
  932. }
  933. function roundrect1_cmb_orddeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  934. {
  935. //model.setValue("/root/send/orddept", model.getValue("/root/send/orddept"));
  936. roundrect1.cmb_orddeptcd.updateToDataset();
  937. }
  938. ]]></Script>
  939. </Form>
  940. </FDL>