SMMNR07800.xjs 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************************
  3. *
  4. * @ create-date : 2008-06-16
  5. * @ author : dhkim
  6. * @ pgm-name : 중증도조회
  7. * @ pgm-code : SMMNR07800
  8. * @ src : emr/carerecweb/xrw/SMMNR07800_중증도조회.xrw
  9. * @ description : 중증도 조회 화면에서 사용하는 스크립트
  10. *
  11. ***************************************************************************************************/
  12. /*********************************************************************************************************************************************
  13. * + description +
  14. * 20080902
  15. * 왼편의 화면의 트리를 클릭했을때 보여지는 오른쪽 그리드들은 각각 switch case별로 별도의 화면으로 분리되어있다.
  16. * 중증도및 위험사정에서 기록한 내역들을 조회하는 화면이며,
  17. * 중증기록화면에서 입력하는 중증도기록, 낙상기록, 욕창기록이 따로 작성되는 것과 마찬가지로
  18. * 본 조회화면도 중증도(중환자실, 일반병동), 낙상(성인, 아동), 욕창별로 별도의 화면에서 조회기능을 구현한다.
  19. * 각 상세분류화면의 경우 중환자실, 일반병동, 낙상성인, 낙상소아, 욕창 5가지가 있는데,
  20. * 기록화면에서 항목별 필수입력+single체크 로 작성되는 일반병동, 욕창은 조회시 그리드항목타이틀과 점수를 각각 따로 조회하고,
  21. * 기록화면에서 항목별 필수입력이아니고 multi체크로 작성되는 중환자실, 낙상성인, 낙상소아 는 조회시 그리드의 항목은 fix되어있으며, sql이 client에서 구현된다.
  22. * == 추후에는 욕창, 일반병동 상세분류도 같은형식으로 수정하여 패턴을 똑같이 맞추는게 관리가 편할듯...
  23. *********************************************************************************************************************************************/
  24. /**
  25. * @group :
  26. * @ver : 2008-06-16
  27. * @by : dhkim
  28. * @------------------------------------------------------------------------------------------------
  29. * @type : function
  30. * @access : public
  31. * @param :
  32. * @return :
  33. * @desc : 화면을 초기화한다.
  34. * @------------------------------------------------------------------------------------------------
  35. */
  36. function fInit(){
  37. //중증도 기록에서 사용하는 부서코드 조회_20090416_SMY추가(EMR_MNWMCODE)
  38. var oParam = {};
  39. oParam.id = "TRMNW04001";
  40. oParam.service = "carerecapp.AsesRec";
  41. oParam.method = "reqGetICUWardList";
  42. oParam.inds = "refCond=ds_send";
  43. oParam.outds = "ds_init_icucdgrup_icucdgruplist=icucdgruplist";
  44. oParam.async = false;
  45. tranf_submit(oParam);
  46. ds_hidden_treeitem_serdiaglist.rowposition = 1; //트리뷰 디폴트 선택
  47. var trv_idx = ds_hidden_treeitem_serdiaglist.rowposition;
  48. if(trv_idx == -1){
  49. trv_idx = 1;//default
  50. }
  51. //조회조건을 초기화
  52. ds_cond.addColumn("grupcd", "string");
  53. dsf_makeValue(ds_cond,"schfromdd","string", utlf_getCurrentDate());
  54. dsf_makeValue(ds_cond,"schtodd","string", utlf_getCurrentDate());
  55. dsf_makeValue(ds_cond,"infromdd","string", '');
  56. dsf_makeValue(ds_cond,"intodd","string", '');
  57. dsf_makeValue(ds_cond,"schtomon","string", utlf_getCurrentDate().substring(0, 6));
  58. dsf_makeValue(ds_cond,"schtoyear","string", utlf_getCurrentDate().substring(0, 4));
  59. dsf_makeValue(ds_cond,"schcode","string", ds_cond.getColumn(0, "grupcd"));
  60. dsf_makeValue(ds_cond,"wardflag","string", '1');
  61. //병동 조회
  62. fGetWard();
  63. frmf_addComboItem("group5.grp_sea.cmb_bspntcd", "- 전체 -", "", "above");
  64. //20080820 세션의 부서코드를 디폴트로 세팅
  65. var wardcd = sysf_getUserInfo("dutplcecd");
  66. dsf_makeValue(ds_cond,"wardcd","string", wardcd);//로그인한 사원의부서 default
  67. }
  68. /**
  69. * @group :
  70. * @ver : 2008-06-16
  71. * @by : dhkim
  72. * @------------------------------------------------------------------------------------------------
  73. * @type : function
  74. * @access : public
  75. * @param :
  76. * @return :
  77. * @desc : 병동 분류별, 트리뷰(중증도, 낙상, 욕창)구분별 분류군 코드 조회
  78. * [병동코드정보wardcd]
  79. * 3060000000 - 중환자실
  80. * 3060100000 - 내과중환자실
  81. * 3060200000 - 외과중환자실
  82. * 3060300000 - 신경외과중환자실
  83. * 3060400000 - 순환기계중환자실
  84. * 3060600000 - 2층중환자실
  85. * 2110201000 - 신생아중환자실
  86. * 3050122000 - 10층동병동
  87. * [분류군정보recflag]
  88. * 1 - 중증도
  89. * 2 - 낙상
  90. * 3 - 욕창
  91. * clsflag(recflag=1)(1:일반병동, 2:신생아ICU, 3: 혈액투석, 4:중환자실, 5: 정신과병동)
  92. * (recflag=2)(1:아동, 2: 성인)
  93. * (recflag=3)(1:욕창)
  94. * @------------------------------------------------------------------------------------------------
  95. */
  96. function fGetClsFlag(wardcd, recflag){ //사용하지 않음_20090319_SMY확인_호출하는 부분은 다 주석처리함
  97. var clsflag;//분류군구분
  98. //병동분류별
  99. if( utlf_isNull(wardcd) && utlf_isNull(recflag) ){
  100. group5.grp_sea.cmb_bspntcd.visible = false;
  101. return;
  102. }else{
  103. group5.grp_sea.cmb_bspntcd.visible = true;
  104. }
  105. //1. tree view 가 중증도일때
  106. // wardcd가 중환자실, 내과중환자실, 외과중환자실, 신경외과중환자실, 순환기계중환자실 이면 중환자실의 분류군 load
  107. // wardcd가 신생아중환자실 이면 신생아ICU 분류군 load
  108. // wardcd가 10층동병동 이면 정신과병동 분류군 load
  109. // wardcd가 그 나머지일때는 일반병동 분류군 load
  110. //2. tree view 가 낙상성인일때 낙상성인 분류군 load
  111. //3. tree view 가 낙상소아일때 낙상소아 분류군 load
  112. //4. tree view 가 욕창일때 욕창 분류군 load
  113. if(recflag == '1'){
  114. if(wardcd == '3060000000' || wardcd == '3060100000' || wardcd == '3060200000' || wardcd == '3060300000' || wardcd == '3060400000'|| wardcd == '3060600000'){
  115. clsflag = '4';//중환자실
  116. }else if(wardcd == '3050122000'){
  117. clsflag = '5';//정신과병동
  118. }else if(wardcd == '2110201000'){
  119. clsflag = '2';//신생아ICU
  120. }else{
  121. clsflag = '1';//일반병동
  122. }
  123. }else if(recflag == '2'){
  124. clsflag = '1';//낙상소아
  125. }else if(recflag == '2'){
  126. clsflag = '2';//낙상성인
  127. }else if(recflag == '3'){
  128. clsflag = '1';//욕창
  129. }
  130. var oParam = {};
  131. oParam.id = "TRMNR07801";
  132. oParam.service = "carerecapp.AsesRec";
  133. oParam.method = "reqGetPntList";
  134. oParam.inds = "refCond=ds_send";
  135. oParam.outds = "ds_hidden_pntgrup_pntgruplist=wardcdgruplist";
  136. oParam.async = false;
  137. oParam.callback = "cf_TRMNR07801";
  138. tranf_submit(oParam);
  139. if(arErrorCode.pop("TRMNR07801") > -1){ //return null
  140. sysf_messageBox('분류군조회를', 'E004');
  141. return;
  142. }
  143. }
  144. /**
  145. * @group :
  146. * @ver : 2008-06-16
  147. * @by : dhkim
  148. * @------------------------------------------------------------------------------------------------
  149. * @type : function
  150. * @access : public
  151. * @param :
  152. * @return :
  153. * @desc : 전체 병동 검색
  154. * @------------------------------------------------------------------------------------------------
  155. */
  156. function fGetWard(){
  157. ds_send.clearData();
  158. dsf_makeValue(ds_send,"wardflag" ,"string", ds_cond.getColumn(0, "wardflag"));
  159. //병동 조회
  160. var oParam = {};
  161. oParam.id = "TRMNW04003";
  162. oParam.service = "carerecapp.AsesRec";
  163. oParam.method = "reqGetWardList";
  164. oParam.inds = "refCond=ds_send";
  165. oParam.outds = "ds_hidden_wardcdgrup_wardcdgruplist=wardcdgruplist";
  166. oParam.async = false;
  167. tranf_submit(oParam);
  168. frmf_addComboItem("group5.grp_sea.cmb_wardcd", "- 전체 -", "", "above");
  169. group5.grp_sea.cmb_wardcd.index = 0;
  170. }
  171. /**
  172. * @group :
  173. * @ver : 2008-06-16
  174. * @by : dhkim
  175. * @------------------------------------------------------------------------------------------------
  176. * @type : function
  177. * @access : public
  178. * @param :
  179. * @return :
  180. * @desc : 트리뷰의 인덱스가 변경될 때마다 화면에 보여지는 그룹을 트리뷰의 인덱스에 맞게 변경한다.
  181. * @------------------------------------------------------------------------------------------------
  182. */
  183. function fShowSelectedIndexGrup(idx){
  184. if( ds_cond.getColumn(0, "wardflag") == "3") {//혈액투석선택
  185. group5.grp_sea2.cmb_wardcd2.visible=false;
  186. if(idx == "9" ||idx == "10" ){
  187. sysf_messageBox("부서가 혈액투석인 경우는 조회", "E001");
  188. return;
  189. }else if(idx == "12" ||idx == "13" ){
  190. sysf_messageBox("부서가 혈액투석인 경우는 조회", "E001");
  191. return;
  192. }else if(idx == "15"||idx == "16" ){
  193. sysf_messageBox("부서가 혈액투석인 경우는 조회", "E001");
  194. return;
  195. }
  196. }else {
  197. group5.grp_sea2.cmb_wardcd2.visible=true;
  198. }
  199. if(idx == -1 || idx == 0){
  200. idx = 2;//default
  201. }
  202. if(ds_hidden_treeitem_serdiaglist.rowposition == "4") {
  203. if( ds_cond.getColumn(0, "wardflag") == "1" || ds_cond.getColumn(0, "wardflag") == "3") {
  204. var trv_idx = idx+1;
  205. var hngnm = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "hngnm");
  206. var grupcd = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "grupcd");
  207. if(grupcd !=0){
  208. group5.switch1.tabindex = grupcd - 1;
  209. }
  210. //model.toggle("case" + grupcd);
  211. var recflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "recflag");
  212. var clsflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "clsflag");
  213. var sqlflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "hnsqlflaggnm");
  214. } else {
  215. var hngnm = "중증도 통계-기간별(중환자)";
  216. var grupcd = "15";
  217. if(grupcd !=0){
  218. group5.switch1.tabindex = grupcd - 1;
  219. }
  220. //model.toggle("case" + grupcd);
  221. var recflag = "1";
  222. var clsflag = "'2','4'";
  223. var sqlflag = '9';
  224. }
  225. }
  226. else{
  227. var trv_idx = idx+1;
  228. var hngnm = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "hngnm");
  229. var grupcd = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "grupcd");
  230. if(grupcd !=0){
  231. group5.switch1.tabindex = grupcd - 1;
  232. }
  233. //model.toggle("case" + grupcd);
  234. var recflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "recflag");
  235. var clsflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "clsflag");
  236. var sqlflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx-1, "sqlflag");
  237. }
  238. if( ds_cond.getColumn(0, "wardflag") =="3") {
  239. var clsflag = "3";
  240. }
  241. if(sqlflag == "7" || sqlflag =="8") { //중증도 월별, 년별.
  242. group5.grp_sea.visible = false;
  243. group5.grp_sea2.visible = true;
  244. if(grupcd == "13") { //중증도 월별
  245. group5.grp_sea2.ipt_schtomon.visible = true;
  246. group5.grp_sea2.ipt_schtoyear.visible = false;
  247. } else if(grupcd == "14") { //중증도 년별
  248. group5.grp_sea2.ipt_schtomon.visible = false;
  249. group5.grp_sea2.ipt_schtoyear.visible = true;
  250. }
  251. } else {
  252. group5.grp_sea.visible = true;
  253. group5.grp_sea2.visible = false;
  254. }
  255. dsf_makeValue(ds_cond,"recflag", "string", recflag);
  256. dsf_makeValue(ds_cond,"clsflag", "string", clsflag);
  257. dsf_makeValue(ds_cond,"sqlflag", "string", sqlflag);
  258. fSearch();
  259. }
  260. function fSaveExcel() {
  261. var idx = ds_hidden_treeitem_serdiaglist.rowposition;
  262. if(idx == 0 ){
  263. idx = 3;//default
  264. }
  265. if(idx == -1) {
  266. idx = 2;
  267. }
  268. var trv_idx = ds_hidden_treeitem_serdiaglist.rowposition;
  269. if(trv_idx == "-1") {
  270. trv_idx =1;
  271. }
  272. // var grupcd = model.getValue('/root/hidden/treeitem/serdiaglist[' + trv_idx + ']/grupcd');
  273. var grupcd = 0;
  274. if(ds_cond.getColumn(0, "wardflag") == "1") {//병동선택
  275. if(trv_idx == "1") {
  276. grupcd = "1";
  277. }else if(trv_idx == "2") {
  278. grupcd = "5";
  279. }else if(trv_idx == "3") {
  280. grupcd = "6";
  281. }else if(trv_idx == "4") {
  282. grupcd = "12";
  283. }else if(trv_idx == "5") {
  284. grupcd = "13";
  285. }else if(trv_idx == "6") {
  286. grupcd = "14";
  287. }else if(trv_idx == "9") {
  288. grupcd = "7";
  289. }else if(trv_idx == "10") {
  290. grupcd = "8";
  291. }else if(trv_idx == "12") {
  292. grupcd = "7";
  293. }else if(trv_idx == "13") {
  294. grupcd = "9";
  295. }else if(trv_idx == "15") {
  296. grupcd = "10";
  297. }else if(trv_idx == "16") {
  298. grupcd = "11";
  299. }
  300. }else if( ds_cond.getColumn(0, "wardflag") == '2') {//중환자실선택
  301. if(trv_idx == "1") {
  302. grupcd = "1";
  303. }else if(trv_idx == "2") {
  304. grupcd = "4";
  305. }else if(trv_idx == "3") {
  306. return;
  307. }else if(trv_idx == "4") {
  308. grupcd = "15";
  309. }else if(trv_idx == "5") {
  310. grupcd = "13";
  311. }else if(trv_idx == "6") {
  312. grupcd = "14";
  313. }else if(trv_idx == "9") {
  314. grupcd = "7";
  315. }else if(trv_idx == "10") {
  316. grupcd = "8";
  317. }else if(trv_idx == "12") {
  318. grupcd = "7";
  319. }else if(trv_idx == "13") {
  320. grupcd = "9";
  321. }else if(trv_idx == "15") {
  322. grupcd = "10";
  323. }else if(trv_idx == "16") {
  324. grupcd = "11";
  325. }
  326. } else if( ds_cond.getColumn(0, "wardflag") == '3') {//혈액투석
  327. if(trv_idx == "1") {
  328. grupcd = "17";
  329. }else if(trv_idx == "2") {
  330. grupcd = "16";
  331. }else if(trv_idx == "3") {
  332. return;
  333. }else if(trv_idx == "4") {
  334. grupcd = "12";
  335. }else if(trv_idx == "5") {
  336. grupcd = "13";
  337. }else if(trv_idx == "6") {
  338. grupcd = "14";
  339. }else if(trv_idx == "9") {
  340. return;
  341. }else if(trv_idx == "10") {
  342. return;
  343. }else if(trv_idx == "12") {
  344. return;
  345. }else if(trv_idx == "13") {
  346. return;
  347. }else if(trv_idx == "15") {
  348. return;
  349. }else if(trv_idx == "16") {
  350. return;
  351. }
  352. }
  353. var hngnm = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx, "hngnm");
  354. hngnm=hngnm.setReplaceWord("/","_");
  355. var grdName;
  356. if(grupcd == "1") {
  357. grdName="group5.switch1.case1.grd_seridiag";
  358. }else if(grupcd == "2") {
  359. grdName = "group5.switch1.case2.grd_seriindsch";
  360. }else if(grupcd == "3") {
  361. grdName = "group5.switch1.case3.grd_seritotal";
  362. }else if(grupcd == "4") {
  363. grdName = "group5.switch1.case4.grd_seriroom";
  364. }else if(grupcd == "5") {
  365. grdName = "group5.switch1.case5.grd_ward";
  366. }else if(grupcd == "6") {
  367. grdName = "group5.switch1.case6.grd_basecare";
  368. }else if(grupcd == "7") {
  369. grdName = "group5.switch1.case7.grd_fallseridiag";
  370. }else if(grupcd == "8") {
  371. grdName = "group5.switch1.case8.grd_falladult";
  372. }else if(grupcd == "9") {
  373. grdName = "group5.switch1.case9.grd_fallchild";
  374. }else if(grupcd == "10") {
  375. grdName = "group5.switch1.case10.grd_bedsrseridiag";
  376. }else if(grupcd == "11") {
  377. grdName = "group5.switch1.case11.grd_bedsr";
  378. }else if(grupcd == "12") {
  379. grdName = "group5.switch1.case12.grd_totalwardterm";
  380. }else if(grupcd == "13") {
  381. grdName = "group5.switch1.case13.grd_totalwardmon";
  382. }else if(grupcd == "14") {
  383. grdName = "group5.switch1.case14.grd_totalwardyear";
  384. }else if(grupcd == "15") {
  385. grdName = "group5.switch1.case15.grd_totalserterm";
  386. }else if(grupcd == "16") {
  387. grdName = "group5.switch1.case16.grd_bloodroom1";
  388. }else if(grupcd == "17") {
  389. grdName = "group5.switch1.case17.grd_dmpg1";
  390. }
  391. grdf_exportExcel(eval(grdName), hngnm, "SheetName" , true, "" , "" , true);
  392. }
  393. /**
  394. * @group :
  395. * @ver : 2008-06-16
  396. * @by : dhkim
  397. * @------------------------------------------------------------------------------------------------
  398. * @type : function
  399. * @access : public
  400. * @param :
  401. * @return :
  402. * @desc : 중증도 조회
  403. * @------------------------------------------------------------------------------------------------
  404. */
  405. function fSearch(){
  406. //중증도 기록에서 사용하는 부서코드 조회_20090416_SMY추가
  407. var icuwardcd = "";
  408. var wardcd = "";
  409. var grupcd = "";
  410. var recflag = "";
  411. var clsflag = "";
  412. var sqlflag = "";
  413. var trv_idx = ds_hidden_treeitem_serdiaglist.rowposition;
  414. if(trv_idx == -1){
  415. trv_idx = 1;//default
  416. }
  417. for(i = 0; i < ds_init_icucdgrup_icucdgruplist.rowcount; i++){
  418. wardcd = ds_init_icucdgrup_icucdgruplist.getColumn(i, "wardcd");
  419. if( ds_init_icucdgrup_icucdgruplist.getColumn(i, "clsflag") == '2'
  420. || ds_init_icucdgrup_icucdgruplist.getColumn(i, "clsflag") == '4'
  421. ){//중환자실
  422. if( utlf_isNull(icuwardcd) ){
  423. icuwardcd = "'" + wardcd + "'";
  424. }else{
  425. icuwardcd += "," + "'" + wardcd + "'";
  426. }
  427. }
  428. }
  429. /*
  430. sqlflag값_20090319_SMY주석추가
  431. 0 : 2depth 타이틀
  432. 1 : 환자별 중증도, 환자별 낙상, 환자별 욕창
  433. 3 : 중환자실 입실/퇴실
  434. 4 : 중증도통계
  435. 2b: 중환자 상세분류, 환자별 상세분류, 낙상 상세분류, 욕창 상세분류
  436. 5 : 기본간호
  437. 6 : 중증도 통계 - 기간별
  438. 7 : 중증도 통계 - 월간
  439. 8 : 중증도 통계 - 년간
  440. 9 : 중증도 통계 - 기간별(중환자)
  441. */
  442. if( ds_cond.getColumn(0, "wardflag") == "1") {//병동선택
  443. if(trv_idx == "1") {
  444. dsf_makeValue(ds_cond,"grupcd", "string", "1");
  445. dsf_makeValue(ds_cond,"recflag", "string", "1");
  446. dsf_makeValue(ds_cond,"clsflag", "string", "'1','5'");
  447. dsf_makeValue(ds_cond,"sqlflag", "string", "1");
  448. grupcd = "1";
  449. recflag = "1";
  450. clsflag = "'1','5'";
  451. sqlflag = "1";
  452. if(grupcd !=0){
  453. group5.switch1.tabindex = grupcd - 1;
  454. }
  455. //model.toggle("case" + grupcd);
  456. }else if(trv_idx == "2") {
  457. if( utlf_isNull(ds_cond.getColumn(0, "wardcd")) ) {
  458. // messageBox("부서를 선택한 경우만 조회가능합니다.", "I");
  459. // return;
  460. }
  461. dsf_makeValue(ds_cond,"grupcd", "string", "5");
  462. dsf_makeValue(ds_cond,"recflag", "string", "1");
  463. dsf_makeValue(ds_cond,"clsflag", "string", "'1','5'");
  464. dsf_makeValue(ds_cond,"sqlflag", "string", "2b");
  465. grupcd = "5";
  466. recflag = "1";
  467. clsflag = "'1','5'";
  468. sqlflag = "2b";
  469. if(grupcd !=0){
  470. group5.switch1.tabindex = grupcd - 1;
  471. }
  472. //model.toggle("case" + grupcd);
  473. }else if(trv_idx == "3") {
  474. dsf_makeValue(ds_cond,"grupcd", "string", "6");
  475. dsf_makeValue(ds_cond,"recflag", "string", "1");
  476. dsf_makeValue(ds_cond,"clsflag", "string", "'1','5'");
  477. dsf_makeValue(ds_cond,"sqlflag", "string", "5");
  478. grupcd = "6";
  479. recflag = "1";
  480. clsflag = "'1','5'";
  481. sqlflag = "5";
  482. if(grupcd !=0){
  483. group5.switch1.tabindex = grupcd - 1;
  484. }
  485. //model.toggle("case" + grupcd);
  486. }else {
  487. if(trv_idx == "4"){
  488. grupcd ="12";
  489. dsf_makeValue(ds_cond,"clsflag", "string", "'1','5'");
  490. }else if(trv_idx == "5" ||trv_idx == "6"){
  491. dsf_makeValue(ds_cond,"clsflag", "string", "'1','5'");
  492. }else if(trv_idx == "9" ||trv_idx == "10" ){
  493. dsf_makeValue(ds_cond,"clsflag", "string", "'2'");
  494. }else if(trv_idx == "12" ||trv_idx == "13" ){
  495. dsf_makeValue(ds_cond,"clsflag", "string", "'1'");
  496. }else if(trv_idx == "15"||trv_idx == "16" ){
  497. dsf_makeValue(ds_cond,"clsflag", "string", "'1'");
  498. }
  499. ds_cond.setColumn(0, "infromdd","");
  500. ds_cond.setColumn(0, "intodd","");
  501. if(grupcd !=0){
  502. group5.switch1.tabindex = grupcd - 1;
  503. }
  504. //model.toggle("case" + grupcd);
  505. }
  506. }else if( ds_cond.getColumn(0, "wardflag") == '2') {//중환자실선택
  507. if(trv_idx == "1") {
  508. dsf_makeValue(ds_cond,"grupcd", "string", "1");
  509. dsf_makeValue(ds_cond,"recflag", "string", "1");
  510. dsf_makeValue(ds_cond,"clsflag", "string", "'2','4'");
  511. dsf_makeValue(ds_cond,"sqlflag", "string", "1");
  512. grupcd = "1";
  513. recflag = "1";
  514. clsflag = "'2','4'";
  515. sqlflag = "1";
  516. if(grupcd !=0){
  517. group5.switch1.tabindex = grupcd - 1;
  518. }
  519. //model.toggle("case" + grupcd);
  520. }else if(trv_idx == "2") {
  521. dsf_makeValue(ds_cond,"grupcd", "string", "4");
  522. dsf_makeValue(ds_cond,"recflag", "string", "1");
  523. dsf_makeValue(ds_cond,"clsflag", "string", "'2','4'");
  524. dsf_makeValue(ds_cond,"sqlflag", "string", "2b");
  525. grupcd = "4";
  526. recflag = "1";
  527. clsflag = "'2','4'";
  528. sqlflag = "2b";
  529. if(grupcd !=0){
  530. group5.switch1.tabindex = grupcd - 1;
  531. }
  532. //model.toggle("case" + grupcd);
  533. }else if(trv_idx == "3") {
  534. sysf_messageBox("부서가 병동인 경우만 조회가능합니다.", "I");
  535. return;
  536. /* --aaa
  537. model.makeValue("/root/cond/grupcd", "6");
  538. model.makeValue("/root/cond/recflag", "1");
  539. model.makeValue("/root/cond/clsflag", "'2','4'");
  540. model.makeValue("/root/cond/sqlflag", "5");
  541. grupcd = "6";
  542. recflag = "1";
  543. clsflag = "'2','4'";
  544. sqlflag = "5";
  545. model.toggle("case" + grupcd);
  546. */
  547. }else {
  548. if(trv_idx == "4"){
  549. grupcd = "15";
  550. dsf_makeValue(ds_cond,"clsflag", "string", "'2','4'");
  551. }else if(trv_idx == "5" ||trv_idx == "6"){
  552. dsf_makeValue(ds_cond,"clsflag", "string", "'2','4'");
  553. }else if(trv_idx == "9" ||trv_idx == "10" ){
  554. dsf_makeValue(ds_cond,"clsflag", "string", "'2'");
  555. }else if(trv_idx == "12" ||trv_idx == "13" ){
  556. dsf_makeValue(ds_cond,"clsflag", "string", "'1'");
  557. }else if(trv_idx == "15"||trv_idx == "16" ){
  558. dsf_makeValue(ds_cond,"clsflag", "string", "'1'");
  559. }
  560. ds_cond.setColumn(0, "infromdd", "");
  561. ds_cond.setColumn(0, "intodd", "");
  562. if(grupcd !=0){
  563. group5.switch1.tabindex = grupcd - 1;
  564. }
  565. //model.toggle("case" + grupcd);
  566. }
  567. } else if( ds_cond.getColumn(0, "wardflag") == '3') {//혈액투석
  568. if(trv_idx == "1") {
  569. dsf_makeValue(ds_cond,"grupcd", "string", "17");
  570. dsf_makeValue(ds_cond,"recflag", "string", "1");
  571. dsf_makeValue(ds_cond,"clsflag", "string", "'3'");
  572. dsf_makeValue(ds_cond,"sqlflag", "string", "1");
  573. grupcd = "17";
  574. sqlflag = "1";
  575. recflag = "1";
  576. clsflag = "'3'";
  577. if(grupcd !=0){
  578. group5.switch1.tabindex = grupcd - 1;
  579. }
  580. //model.toggle("case" + grupcd);
  581. }else if(trv_idx == "2") {
  582. dsf_makeValue(ds_cond,"grupcd", "string", "16");
  583. dsf_makeValue(ds_cond,"recflag", "string", "1");
  584. dsf_makeValue(ds_cond,"clsflag", "string", "'3'");
  585. dsf_makeValue(ds_cond,"sqlflag", "string", "2b");
  586. grupcd = "16";
  587. sqlflag = "2b";
  588. recflag = "1";
  589. clsflag = "'3'";
  590. if(grupcd !=0){
  591. group5.switch1.tabindex = grupcd - 1;
  592. }
  593. //model.toggle("case" + grupcd);
  594. }else if(trv_idx == "3") {
  595. sysf_messageBox("부서가 병동인 경우만 조회가능합니다.", "I");
  596. //messageBox("부서가 병동,중환자실인 경우만 조회가능합니다.", "I");--aaa
  597. return;
  598. }else {
  599. if(trv_idx == "4"){
  600. grupcd ="12";
  601. dsf_makeValue(ds_cond,"clsflag", "string", "'3'");
  602. }else if(trv_idx == "5" ||trv_idx == "6"){
  603. dsf_makeValue(ds_cond,"clsflag", "string", "'3'");
  604. }
  605. ds_cond.setColumn(0, "infromdd", "");
  606. ds_cond.setColumn(0, "intodd", "");
  607. if(grupcd !=0){
  608. group5.switch1.tabindex = grupcd - 1;
  609. }
  610. //model.toggle("case" + grupcd);
  611. }
  612. }
  613. ds_send.clearData();
  614. ds_cond.addColumn("sqlflag", "string");
  615. dsf_makeValue(ds_send,"schfromdd" , "string", ds_cond.getColumn(0, "schfromdd"));
  616. dsf_makeValue(ds_send,"schtodd" , "string", ds_cond.getColumn(0, "schtodd"));
  617. dsf_makeValue(ds_send,"wardcd" , "string", ds_cond.getColumn(0, "wardcd"));
  618. dsf_makeValue(ds_send,"icuwardcd" , "string", icuwardcd); //20090416_SMY추가
  619. dsf_makeValue(ds_send,"recflag" , "string", ds_cond.getColumn(0, "recflag"));
  620. dsf_makeValue(ds_send,"clsflag" , "string", ds_cond.getColumn(0, "clsflag"));
  621. dsf_makeValue(ds_send,"infromdd" , "string", ds_cond.getColumn(0, "infromdd"));
  622. dsf_makeValue(ds_send,"intodd" , "string", ds_cond.getColumn(0, "intodd"));
  623. dsf_makeValue(ds_send,"dschflag" , "string", ds_cond.getColumn(0, "dschflag"));
  624. dsf_makeValue(ds_send,"schcode" , "string", '1');
  625. dsf_makeValue(ds_send,"bspntcd" , "string", ds_cond.getColumn(0, "bspntcd"));
  626. dsf_makeValue(ds_send,"sqlflag" , "string", ds_cond.getColumn(0, "sqlflag"));
  627. dsf_makeValue(ds_send,"wardflag" , "string", ds_cond.getColumn(0, "wardflag"));
  628. if(trv_idx != "1" && trv_idx != "2" && trv_idx != "3" ) {
  629. var recflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx, "recflag");
  630. var clsflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx, "clsflag");
  631. var sqlflag = ds_hidden_treeitem_serdiaglist.getColumn(trv_idx, "sqlflag");
  632. }
  633. if(ds_hidden_treeitem_serdiaglist.rowposition == "4") { //중증도 통계-기간별 선택시(중환자)
  634. if( ds_cond.getColumn(0, "wardflag") == "1" || ds_cond.getColumn(0, "wardflag") == "3") {
  635. recflag = "1";
  636. sqlflag = "6";
  637. dsf_makeValue(ds_send,"recflag" , "string", "1");
  638. dsf_makeValue(ds_send,"sqlflag" , "string", "6");
  639. }
  640. if(ds_cond.getColumn(0, "wardflag") == "2" ) {
  641. var grupcd = "15";
  642. var recflag = "1";
  643. var clsflag = "'2','4'";
  644. var sqlflag = '9';
  645. }
  646. }
  647. if(sqlflag == "7" || sqlflag =="8") { //중증도 월별, 년별.
  648. group5.grp_sea.visible = false;
  649. group5.grp_sea2.visible = true;
  650. if(grupcd == "13") { //중증도 월별
  651. group5.grp_sea2.ipt_schtomon.visible = true;
  652. group5.grp_sea2.ipt_schtoyear.visible = false;
  653. } else if(grupcd == "14") { //중증도 년별
  654. group5.grp_sea2.ipt_schtomon.visible = false;
  655. group5.grp_sea2.ipt_schtoyear.visible = true;
  656. }
  657. } else {
  658. group5.grp_sea.visible = true;
  659. group5.grp_sea2.visible = false;
  660. }
  661. if(sqlflag == "3") {
  662. dsf_makeValue(ds_send,"rdoflag" , "string", ds_cond.getColumn(0, "rdoflag"));
  663. } else if(sqlflag == "7") {
  664. dsf_makeValue(ds_send,"schtodd" , "string", ds_cond.getColumn(0, "schtomon"));
  665. if( ds_cond.getColumn(0, "wardflag") != "3" ) {
  666. if( utlf_isNull(ds_cond.getColumn(0, "schtomon")) && utlf_isNull(ds_cond.getColumn(0, "wardcd")) ) {
  667. sysf_messageBox("병동과 조회월을 선택하여주세요.", "E");
  668. } else if( utlf_isNull(ds_cond.getColumn(0, "schtomon")) && !utlf_isNull(ds_cond.getColumn(0, "wardcd")) ) {
  669. sysf_messageBox("병동과 조회월을 선택하여주세요.", "E");
  670. } else if( !utlf_isNull(ds_cond.getColumn(0, "schtomon")) && utlf_isNull(ds_cond.getColumn(0, "wardcd"))) {
  671. // messageBox("병동을 선택하여 주세요.", "E");
  672. } else if( utlf_isNull(ds_cond.getColumn(0, "schtomon")) && !utlf_isNull(ds_cond.getColumn(0, "wardcd")) ) {
  673. // messageBox("조회일자를 선택여주세요.", "E");
  674. }
  675. }
  676. } else if(sqlflag == "8") {
  677. dsf_makeValue(ds_send,"schtodd" , "string", ds_cond.getColumn(0, "schtoyear"));
  678. }
  679. var grdNm;
  680. var grdNm2;
  681. if(sqlflag == "7" || sqlflag =="8") {
  682. //중증도 통계(월별, 년별)
  683. var oParam = {};
  684. oParam.id = "TRMNR07803";
  685. oParam.service = "carerecapp.AsesRec";
  686. oParam.method = "reqGetTotalSerdiag";
  687. oParam.inds = "req=ds_send";
  688. oParam.outds = "ds_main_gridgrup_titlewardterm=titlewardterm ds_main_gridgrup_totalwardterm=totalwardterm";
  689. oParam.async = false;
  690. oParam.callback = "cf_TRMNR07803";
  691. tranf_submit(oParam);
  692. if(arErrorCode.pop("TRMNR07803") <= -1){ //sfdr.wardcd = #wardcd#
  693. sysf_messageBox('중증도 통계(월별, 년별) 조회를', 'E009');
  694. return false;
  695. } else {
  696. if(sqlflag == "7") {
  697. grdNm = "group5.switch1.case13.grd_totalwardmon";
  698. } else {
  699. grdNm = "group5.switch1.case14.grd_totalwardyear";
  700. }
  701. totalWardTerm(grdNm, sqlflag);
  702. }
  703. }else if(sqlflag == "9") {
  704. //중증도 통계(기간별 중환자)
  705. var oParam = {};
  706. oParam.id = "TRMNR07804";
  707. oParam.service = "carerecapp.AsesRec";
  708. oParam.method = "reqGetTotalSerTerm";
  709. oParam.inds = "req=ds_send";
  710. oParam.outds = "ds_main_gridgrup_bspntlist=bspntlist ds_main_gridgrup_totalserterm=totalserterm";
  711. oParam.async = false;
  712. oParam.callback = "cf_TRMNR07804";
  713. tranf_submit(oParam);
  714. if(arErrorCode.pop("TRMNR07804") <= -1){ //and sfdr.wardcd in ('3060000000', '3060100000', '3060200000', '3060300000', '3060400000', '3060600000', #wardcd#)
  715. sysf_messageBox('중증도 통계(기간별 중환자) 조회를', 'E009');
  716. return false;
  717. }
  718. }else {
  719. var rdoflag = ds_cond.getColumn(0, "rdoflag");
  720. if( utlf_isNull(rdoflag) ){
  721. rdoflag = 'A';
  722. }
  723. ds_cond.setColumn(0, "rdoflag", rdoflag);
  724. dsf_makeValue(ds_send,"wardflag" , "string", ds_cond.getColumn(0, "wardflag"));
  725. var oParam = {};
  726. oParam.id = "TRMNR07802";
  727. oParam.service = "carerecapp.AsesRec";
  728. oParam.method = "reqGetSerdiag";
  729. oParam.inds = "req=ds_send";
  730. oParam.outds = "ds_main_gridgrup_gridlist=gridlist ds_main_gridgrup_bspntlist=bspntlist ds_main_gridgrup_recpntlist=recpntlist ds_main_gridgrup_titlelist=titlelist ds_main_gridgrup_bspnttotal=bspnttotal ds_main_gridgrup_basecarelist=basecarelist ds_main_gridgrup_titlewardterm=titlewardterm ds_main_gridgrup_totalwardterm=totalwardterm";
  731. oParam.async = false;
  732. oParam.callback = "cf_TRMNR07802";
  733. tranf_submit(oParam);
  734. ds_main_gridgrup_bspnttotal.rowposition = -1;
  735. if(arErrorCode.pop("TRMNR07802") <= -1){
  736. sysf_messageBox('중증도 조회를', 'E009');
  737. return false;
  738. } else {
  739. /**
  740. * 20080902
  741. * sqlflag
  742. * 1:환자별중증도 //and inpt.wardcd = #wardcd# -- 20081005 dhkim sfrd에서 inpt로 수정
  743. * 2a:상세분류( 사용안함) 2b:상세분류(일반병동,욕창, 중환자, 낙상성인, 낙상아동) -- 20080902 변경 //and inpt.wardcd = #wardcd# -- 20081005 dhkim sfrd에서 inpt로 수정
  744. * 3:중환자입실/퇴실 //and inpt.wardcd IN ('3060000000', '3060100000', '3060200000', '3060300000', '3060400000', '3060600000', #wardcd#)
  745. * 4:중증도통계 5:병동기본간호 6:중증도통계기간별(병동) //and inpt.wardcd = #wardcd# -- 20081006 sfrd를 inpt로 수정
  746. * 7:중증도통계 월간 8:중증도통계 년간 9:중증도 통계 기간별중환자
  747. */
  748. //중증도상세분류(사용안함 ---- 아이템을 그리드내에서 동적으로 변경)조회 --20080902 변경
  749. if(sqlflag == "2a") {
  750. seridiagdetl(grdNm);//중증도 종류에 따라 타이틀을 유동적으로 변경한다.
  751. setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
  752. }
  753. //중증도상세분류(일반병동,욕창, 중환자실, 낙상성인, 낙상소아 ----- 아이템을 그리드헤더에 fix)조회 --20080902 변경
  754. else if(sqlflag == "2b") {
  755. //중환자실
  756. if(recflag == "1" && clsflag == "'2','4'") {
  757. grdNm = "group5.switch1.case4.grd_seriroom";
  758. grdNm2 = "group5.switch1.case4.grd_totalseriroom";
  759. }
  760. //병동
  761. if(recflag == "1" && clsflag == "'1','5'") {
  762. grdNm = "group5.switch1.case5.grd_ward";
  763. grdNm2 = "group5.switch1.case5.grd_totalward";
  764. }
  765. //혈액투석
  766. if( utlf_isNull(recflag) && utlf_isNull(clsflag) ) {
  767. grdNm = "group5.switch1.case5.grd_ward";
  768. grdNm2 = "group5.switch1.case5.grd_totalward";
  769. }
  770. //혈액투석
  771. if(recflag == "1" && clsflag == "'3'") {
  772. grdNm = "group5.switch1.case16.grd_bloodroom1";
  773. grdNm2 = "group5.switch1.case16.grd_bloodroom";
  774. }
  775. //낙상성인
  776. if(recflag =="2" && clsflag == "2") {
  777. grdNm = "group5.switch1.case8.grd_falladult";
  778. grdNm2 = "group5.switch1.case8.grd_totalfalladult";
  779. }
  780. //낙상소아
  781. if(recflag == "2" && clsflag == "1") {
  782. grdNm = "group5.switch1.case9.grd_fallchild";
  783. grdNm2 = "group5.switch1.case9.grd_totalfallchild";
  784. }
  785. //욕창
  786. if(recflag == "3" && clsflag == "1") {
  787. grdNm = "group5.switch1.case11.grd_bedsr";
  788. grdNm2 = "group5.switch1.case11.grd_totalbedsr";
  789. }
  790. setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
  791. if(recflag == "1" && clsflag == "'2','4'") { //중증도중환자상세분류일때 병실이 신생아중환자실일경우
  792. for(var i=0; i < ds_main_gridgrup_recpntlist.rowcount; i++) {
  793. if(ds_main_gridgrup_recpntlist.getColumn(i, "wardnm") == "신생아중환자실"
  794. ||ds_main_gridgrup_recpntlist.getColumn(i, "wardnm") == "신생아중환자실Unit") {
  795. ds_main_gridgrup_recpntlist.setColumn(i, "timsval11", ds_main_gridgrup_recpntlist.getColumn(i, "timsval01"));
  796. ds_main_gridgrup_recpntlist.setColumn(i, "timsval12", ds_main_gridgrup_recpntlist.getColumn(i, "timsval02"));
  797. ds_main_gridgrup_recpntlist.setColumn(i, "timsval13", ds_main_gridgrup_recpntlist.getColumn(i, "timsval03"));
  798. ds_main_gridgrup_recpntlist.setColumn(i, "timsval14", ds_main_gridgrup_recpntlist.getColumn(i, "timsval04"));
  799. ds_main_gridgrup_recpntlist.setColumn(i, "timsval15", ds_main_gridgrup_recpntlist.getColumn(i, "timsval05"));
  800. ds_main_gridgrup_recpntlist.setColumn(i, "timsval17", ds_main_gridgrup_recpntlist.getColumn(i, "timsval07"));
  801. ds_main_gridgrup_recpntlist.setColumn(i, "timsval18", ds_main_gridgrup_recpntlist.getColumn(i, "timsval08"));
  802. ds_main_gridgrup_recpntlist.setColumn(i, "timsval19", ds_main_gridgrup_recpntlist.getColumn(i, "timsval09"));
  803. }
  804. }
  805. }
  806. }
  807. //중증도통계기간별(병동)
  808. else if(sqlflag == "6") {
  809. totalWardTerm("group5.switch1.case12.grd_totalwardterm", sqlflag);
  810. }
  811. //환자별중증도
  812. if(sqlflag == "1") {
  813. if(clsflag =="'3'" && recflag =="1") {
  814. grdNm = "group5.switch1.case17.grd_dmpg1";
  815. grdNm2 = "group5.switch1.case17.grd_dmpg";
  816. setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
  817. } else {
  818. grdNm = "group5.switch1.case1.grd_seridiag";
  819. grdNm2 = "group5.switch1.case1.grd_totalward1";
  820. setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
  821. }
  822. }
  823. }
  824. }
  825. frmf_addComboItem("group5.grp_sea.cmb_bspntcd", "- 전체 -", "", "above");
  826. group5.grp_sea.cmb_bspntcd.value = ds_cond.getColumn(0, "bspntcd");
  827. }
  828. /**
  829. * @group :
  830. * @ver : 2008-07-10
  831. * @by : dark9258(김병국)
  832. * @------------------------------------------------------------------------------------------------
  833. * @type : function
  834. * @access : public
  835. * @param : 그리드명.
  836. * @return : 없음
  837. * @desc : 중증도 종류에 따라 타이틀을 유동적으로 변경한다.
  838. * @------------------------------------------------------------------------------------------------
  839. */
  840. function seridiagdetl(grdNm) {
  841. var datagrid = eval(grdNm); //document.controls.item(grdNm);
  842. var cnt = Number(ds_main_gridgrup_titlelist.getColumn(0, "cnt"));
  843. //가져온 분류군들중 title맨처음 항목의 위치를 가져온다.
  844. var fdx = 0;
  845. fdx = Number(datagrid.getBindCellIndex("body","hd"));//Number(datagrid.colRef("hd"));
  846. var hngnm;
  847. var idx = 0;
  848. for(var i = 0; i < cnt; i++) {
  849. hngnm = ds_main_gridgrup_titlelist.getColumn(i, "hngnm");
  850. idx = Number(fdx) + Number(i);
  851. //조회된 컬럼 갯수만큼 그리드의 필드를 보여줌
  852. datagrid.setFormatColProperty(idx, "size", 80); //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
  853. //그리드의 타이틀필드값에 상세내역의 타이틀을 세팅
  854. datagrid.setCellProperty("Head", idx, "text", hngnm);
  855. eval(datagrid.binddataset).setColumn(0, idx, hngnm);
  856. }
  857. datagrid.setFormatColProperty(datagrid.getBindCellIndex("body","totpnt"), "size", 100);
  858. datagrid.setFormatColProperty(datagrid.getBindCellIndex("body","resultcd"), "size", 100);
  859. }
  860. function setTotalGridInfo(grdNm2) {
  861. var datagrid = eval(grdNm2);
  862. var grdCnt = ds_main_gridgrup_bspnttotal.getColumn(0, "cnt");
  863. var bspntnm;
  864. var totalnm;
  865. var bspntnmWidth;
  866. var totalnmWidth;
  867. var width = 0;
  868. for(var i = 0; i < grdCnt; i++) {
  869. //상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
  870. bspntnm = ds_main_gridgrup_bspnttotal.getColumn(0, "bspntnm"+ i);
  871. totalnm = ds_main_gridgrup_bspnttotal.getColumn(0, "total"+ i);
  872. if(String(bspntnm).length < 6) {
  873. bspntnmWidth = 70;
  874. } else {
  875. bspntnmWidth = String(bspntnm).length * 15;
  876. }
  877. if(String(totalnm).length < 6) {
  878. totalnmWidth = 40;
  879. } else {
  880. totalnmWidth = String(totalnm).length * 10;
  881. }
  882. //datagrid.setRealColSize(i*2, datagrid.getFormatColProperty(i*2,"size"), false);
  883. datagrid.setFormatColProperty(i*2, "size", bspntnmWidth);
  884. //datagrid.setRealColSize(i*2+1, datagrid.getFormatColProperty(i*2+1,"size"), false);
  885. datagrid.setFormatColProperty(i*2+1, "size", totalnmWidth);
  886. width = width + bspntnmWidth + totalnmWidth;
  887. }
  888. var widthtemp = Number(width);
  889. datagrid.position.left = (928-widthtemp) / 2;
  890. datagrid.position.right = (928-widthtemp) / 2 + widthtemp + 2;
  891. //eval(datagrid.binddataset).rowposition = -1;
  892. }
  893. /**
  894. * @group :
  895. * @ver : 2008-07-10
  896. * @by : dark9258(김병국)
  897. * @------------------------------------------------------------------------------------------------
  898. * @type : function
  899. * @access : public
  900. * @param : 그리드명.
  901. * @return : 없음
  902. * @desc : 중증도 종류에 따라 타이틀을 유동적으로 변경한다.
  903. * @------------------------------------------------------------------------------------------------
  904. */
  905. function totalWardTerm(datagrid, sqlflag) {
  906. //넘어온 그리드 명을 가진 그리드 객체를 가져옴.
  907. var datagridnm = datagrid;
  908. var datagrid = eval(datagrid);
  909. var cnt = Number(ds_main_gridgrup_titlewardterm.getColumn(0, "cnt"));
  910. //가져온 분류군들중 title맨처음 항목의 위치를 가져온다.
  911. var fdx = 0;
  912. if(sqlflag == "6") {
  913. fdx = Number(datagrid.getBindCellIndex("body","roomcd")) + 1;
  914. } else if(sqlflag == "9") {
  915. }
  916. else {
  917. fdx = Number(datagrid.getBindCellIndex("body","execdd")) + 1;
  918. }
  919. var hngnm;
  920. var idx = 0;
  921. if(ds_cond.getColumn(0, "wardflag") == "3" && datagridnm == "group5.switch1.case12.grd_totalwardterm") { //혈액투석(중증도 통계-기간별)
  922. datagrid.setRealColSize(datagrid.getBindCellIndex("body","roomcd"), 0, false);
  923. } else {//roomcd 없어서 에러남.주석처리.
  924. //datagrid.setRealColSize(datagrid.getBindCellIndex("body","roomcd"), datagrid.getFormatColProperty(datagrid.getBindCellIndex("body","roomcd"),"size"), false);
  925. }
  926. for(var i = 0; i < cnt; i++) {
  927. //분류군과 분류군%를 가로로 컬럼으로 셋팅하기 위한곳.
  928. bspntnm = ds_main_gridgrup_titlewardterm.getColumn(0, "bspntnm" + i); //분류군
  929. bspntpnm = ds_main_gridgrup_titlewardterm.getColumn(0, "bspntpnm" + i); //분류군%
  930. idx = Number(fdx) + Number(i) * 2;
  931. datagrid.setRealColSize(idx, datagrid.getFormatColProperty(idx,"size"), false); //조회된 컬럼 갯수만큼 그리드의 필드를 보여줌
  932. datagrid.setRealColSize(idx + 1, datagrid.getFormatColProperty(idx + 1,"size"), false);
  933. datagrid.setFormatColProperty(idx, "size", (String(bspntnm).length > 5) ? String(bspntnm).length * 10 : 50 ); //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
  934. datagrid.setFormatColProperty(idx + 1, "size", (String(bspntpnm).length > 5) ? String(bspntnm).length * 10 : 50); //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
  935. //그리드의 타이틀필드값에 상세내역의 타이틀을 세팅
  936. datagrid.setCellProperty("Head", idx, "text", bspntnm);
  937. datagrid.setCellProperty("Head", idx + 1, "text", bspntpnm);
  938. }
  939. }
  940. function group5_trv_seridiagflag_oncellclick(obj:Grid, e:GridClickEventInfo)
  941. {
  942. group5.grp_sea.cmb_bspntcd.value = "";
  943. if( utlf_isNull(group5.grp_sea2.ipt_schtoyear.value) ) {
  944. var sDate = utlf_getNewDate();
  945. group5.grp_sea2.ipt_schtoyear.value = sDate.getFullYear();
  946. }
  947. ds_cond.setColumn(0, "rdoflag", 'A'); //초기화
  948. if(ds_hidden_treeitem_serdiaglist.rowposition == '5' || ds_hidden_treeitem_serdiaglist.rowposition >= '10') {
  949. group5.grp_sea.caption7.visible = false;
  950. group5.grp_sea.input1.visible = false;
  951. group5.grp_sea.caption8.visible = false;
  952. group5.grp_sea.input2.visible = false;
  953. group5.grp_sea.chk_dschyn.visible = false;
  954. }else {
  955. if(ds_cond.getColumn(0, "wardflag") =="1"){
  956. group5.grp_sea.caption7.visible = true;
  957. group5.grp_sea.input1.visible = true;
  958. group5.grp_sea.caption8.visible = true;
  959. group5.grp_sea.input2.visible = true;
  960. group5.grp_sea.chk_dschyn.visible = true;
  961. }
  962. }
  963. if(ds_hidden_treeitem_serdiaglist.rowposition == '0'){
  964. return;
  965. }else if(ds_hidden_treeitem_serdiaglist.rowposition <= '4') {
  966. fSearch();
  967. }else {
  968. fShowSelectedIndexGrup(ds_hidden_treeitem_serdiaglist.rowposition);
  969. }
  970. }
  971. function group5_switch1_case2_rdo_flag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  972. {
  973. fSearch();
  974. }
  975. function ds_cond_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  976. {
  977. if( e.columnid == "dschflag" ){
  978. obj.setColumn(e.row, "dschflag", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "");
  979. }
  980. }
  981. ]]></Script>