SPMNW04700.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  1. /*
  2. 피부욕창관찰기록기준자료팝업List(SPMNW02100_피부욕창관찰기록기준자료팝업.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xExecDetlListPath = "/root/main/detlgrup/getVO";
  7. /**
  8. * @group :
  9. * @ver : 2007.09.15
  10. * @by : 정찬성
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : 초기화 작업을 합니다.
  15. * [grupcd - emr.mnrmderm에서의 그룹코드]
  16. * grupcd = '00000001' - 원인
  17. * grupcd = '00000003' - 기저부색
  18. * grupcd = '00000006' - 상처감염증상
  19. * grupcd = '00000007' - undermining 방향
  20. * grupcd = '00000008' - dressing
  21. * @param :
  22. * @param :
  23. * @return :
  24. * @---------------------------------------------------
  25. */
  26. function fInitialize(){
  27. var type = opener.javascript.getParameter("type");
  28. var flag = opener.javascript.getParameter("flag");
  29. var stat = opener.javascript.getParameter("stat");
  30. if(type== "1") {
  31. if( window.opener != null ){
  32. fSearchClick("grd_userlist", type);
  33. }
  34. } else if( type == "2") {
  35. //발생장소기타. 존재_20090220_SMY추가
  36. var genrplceEtcStr = opener.javascript.getParameter("genrplceEtcStr");
  37. var genrplceEtcExist = opener.javascript.getParameter("genrplceEtcExist");
  38. //원인기타. 존재
  39. var causeEtcStr = opener.javascript.getParameter("causeEtcStr");
  40. var causeEtcExist = opener.javascript.getParameter("causeEtcExist");
  41. //단계기타, 존재
  42. var stageEtcStr = opener.javascript.getParameter("stageEtcStr");
  43. var stageEtcExist = opener.javascript.getParameter("stageEtcExist");
  44. //기버주색 기타, 존재
  45. var colorEtcStr = opener.javascript.getParameter("colorEtcStr");
  46. var colorEtcExist = opener.javascript.getParameter("colorEtcExist");
  47. //삼출물상태 기타, 존재
  48. var stateEtcStr = opener.javascript.getParameter("stateEtcStr");
  49. var stateEtcExist = opener.javascript.getParameter("stateEtcExist");
  50. //삼출물양 기타, 존재
  51. var amountEtcStr = opener.javascript.getParameter("amountEtcStr");
  52. var amountEtcExist = opener.javascript.getParameter("amountEtcExist");
  53. //상처감염증상 기타, 존재
  54. var symptomEtcStr = opener.javascript.getParameter("symptomEtcStr");
  55. var symptomEtcExist = opener.javascript.getParameter("symptomEtcExist");
  56. //드레싱 기타, 존재
  57. var dressingEtcStr = opener.javascript.getParameter("dressingEtcStr");
  58. var dressingEtcExist = opener.javascript.getParameter("dressingEtcExist");
  59. var dressingStr = opener.javascript.getParameter('dressingStr');
  60. model.removenode("/root/param");
  61. model.makeValue("/root/param/genrplceEtcStr", genrplceEtcStr);
  62. model.makeValue("/root/param/causeEtcStr", causeEtcStr);
  63. model.makeValue("/root/param/stageEtcStr", stageEtcStr);
  64. model.makeValue("/root/param/colorEtcStr", colorEtcStr);
  65. model.makeValue("/root/param/stateEtcStr", stateEtcStr);
  66. model.makeValue("/root/param/amountEtcStr", amountEtcStr);
  67. model.makeValue("/root/param/symptomEtcStr", symptomEtcStr);
  68. model.makeValue("/root/param/dressingEtcStr", dressingEtcStr);
  69. model.makeValue('/root/param/dressing', dressingStr);
  70. //Undermining을 제외한 기준자료값을 조회해온다.
  71. if( window.opener != null ){
  72. fSearchClick("grd_userlist", type);
  73. }
  74. var cdValueGenrPlce = opener.window.javascript.getParameter("genrplcecdid");
  75. var cdValueCause = opener.window.javascript.getParameter("causecdid");
  76. var cdValueStage = opener.window.javascript.getParameter("stagecdid");
  77. var cdValueColor = opener.window.javascript.getParameter("colorcdid");
  78. var cdValueState = opener.window.javascript.getParameter("statecdid");
  79. var cdValueAmount = opener.window.javascript.getParameter("amountcdid");
  80. var cdValueSymptom = opener.window.javascript.getParameter("symptomcdid");
  81. var cdValueDressing = opener.window.javascript.getParameter("dressingcdid");
  82. var cdValueTissue = opener.window.javascript.getParameter("tissuecdid");
  83. if(window.opener != null) {
  84. // 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  85. if(cdValueGenrPlce != "") {
  86. isCheckData(cdValueGenrPlce, "00000009");
  87. }
  88. if(cdValueCause != "") {
  89. isCheckData(cdValueCause, "00000001");
  90. }
  91. if(cdValueStage != "") {
  92. isCheckData(cdValueStage, "00000002");
  93. }
  94. if(cdValueColor != "") {
  95. isCheckData(cdValueColor, "00000003");
  96. }
  97. if(cdValueState != "") {
  98. isCheckData(cdValueState, "00000004");
  99. }
  100. if(cdValueAmount != "") {
  101. isCheckData(cdValueAmount, "00000005");
  102. }
  103. if(cdValueSymptom != "") {
  104. isCheckData(cdValueSymptom, "00000006");
  105. }
  106. if(cdValueDressing != "") {
  107. isCheckData(cdValueDressing, "00000008");
  108. }
  109. if(cdValueTissue != "") {
  110. isCheckData(cdValueTissue, "00000010");
  111. }
  112. var grupcd, sel, cd, cdnm, stageid;
  113. //alert(causeEtcStr + '==' + stageEtcStr+ '==' +colorEtcStr + '==' +stateEtcStr + '==' +amountEtcStr + '==' +symptomEtcStr + '==' + dressingEtcStr + '==');
  114. for(var i = 1; i < grd_userlist.rows; i++) {
  115. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  116. sel = grd_userlist.valueMatrix(i, grd_userlist.colRef("sel"));
  117. cd = grd_userlist.valueMatrix(i, grd_userlist.colRef("cd"));
  118. cdnm = grd_userlist.valueMatrix(i, grd_userlist.colRef("cdnm"));
  119. if(grupcd == "00000009" && genrplceEtcStr != "" && sel == "true" && cdnm == "기타") {
  120. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = genrplceEtcStr;
  121. }
  122. if(grupcd == "00000001" && causeEtcStr != "" && sel == "true" && cdnm == "기타") {
  123. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = causeEtcStr;
  124. }
  125. if(grupcd == "00000002" && stageEtcStr != "" && sel == "true" && cdnm == "기타") {
  126. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = stageEtcStr;
  127. }
  128. if(grupcd == "00000003" && colorEtcStr != "" && sel == "true" && cdnm == "기타") {
  129. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = colorEtcStr;
  130. }
  131. if(grupcd == "00000004" && stateEtcStr != "" && sel == "true" && cdnm == "기타") {
  132. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = stateEtcStr;
  133. }
  134. if(grupcd == "00000005" && amountEtcStr != "" && sel == "true" && cdnm == "기타") {
  135. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = amountEtcStr;
  136. }
  137. if(grupcd == "00000006" && symptomEtcStr != "" && sel == "true" && cdnm == "기타") {
  138. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = symptomEtcStr;
  139. }
  140. if(grupcd == "00000008" && dressingEtcStr != "" && sel == "true" && cdnm == "기타") {
  141. grd_userlist.valueMatrix(i, grd_userlist.colRef("detlinfo")) = dressingEtcStr;
  142. }
  143. if(grupcd == "00000002" && flag != "00") { //등록이 아닌 경우 단계 입력을 제어한다.
  144. if (cdValueStage == "65" || cdValueStage == "66") {
  145. } else {
  146. grd_userlist.rowHidden (i) = true;
  147. }
  148. }
  149. if(grupcd == "00000009" && ( flag != "00" || stat != "i" )) { //등록이 아닌 경우 발생장소 입력을 제어한다.
  150. grd_userlist.rowHidden (i) = true;
  151. }
  152. if(grupcd == "00000001" && ( flag != "00" || stat != "i" )) { //등록이 아닌 경우 발생원인 입력을 제어한다.
  153. grd_userlist.rowHidden (i) = true;
  154. }
  155. }
  156. }
  157. }
  158. /*
  159. //부모창의 parameter를 받아온다.
  160. var etcStr = opener.javascript.getParameter('etcStr');
  161. var etcExist = opener.javascript.getParameter('etcExist');
  162. //parameter를 hidden field에 임시set한다.
  163. model.removenode('/root/param');
  164. model.makeValue('/root/param/etc', etcStr);
  165. model.makeValue('/root/param/dressing', dressingStr);
  166. //grupcd에 해당하는 코드기준자료값을 조회해온다.
  167. if( window.opener != null ){
  168. //model.setValue("/root/send/grupcd",grupcd);
  169. //if(grupcd != ""){
  170. fSearchClick("grd_userlist");
  171. // }
  172. }
  173. //이전에 체크되었던 상태로 보여준다.
  174. var cdValueAll = opener.window.javascript.getParameter("dresscdid");
  175. if(window.opener != null && cdValueAll != "" ){
  176. var cdid = cdValueAll.split(",");
  177. for(var ins = 0 ; ins <= cdid.length-1 ; ins++ ) {// 체크된 값 전체를 돈다.
  178. for(var i = 1 ; i < grd_userlist.rows; i++ ){// 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  179. if(model.getValue(xExecDetlListPath+"["+ i +"]/cd") == cdid[ins] ) {
  180. grd_userlist.textmatrix(i,1) = "true";
  181. }
  182. }
  183. }
  184. }
  185. //기타의 freetext 필드 및 dressing순서를 화면에 보여준다.
  186. if(etcExist){
  187. grp_etcarea.attribute('visibility') = 'visible';
  188. }else{
  189. grp_etcarea.attribute('visibility') = 'hidden';
  190. }
  191. */
  192. //dressing의 경우 순서대로 저장해야 하므로 dressing 순서 필드를 화면에 보여준다.
  193. //if(grupcd == '00000008'){
  194. //grd_userlist.attribute('style') = 'height:380';
  195. grp_dressingarea.attribute('visibility') = 'visible';
  196. // }else{
  197. //grd_userlist.attribute('style') = 'height:414';
  198. //grp_dressingarea.attribute('visibility') = 'hidden';
  199. //}
  200. model.refresh();
  201. }
  202. /**
  203. * @group :
  204. * @ver : 2008.07.24
  205. * @by : 김병국
  206. * @---------------------------------------------------
  207. * @type : function
  208. * @access : public
  209. * @desc : 사용자 리스트 조회
  210. * @param : cdValueAll
  211. * @param :
  212. * @return :
  213. * @---------------------------------------------------
  214. */
  215. function isCheckData(cdValueAll, grupcd) {
  216. var cdid = cdValueAll.split(",");
  217. for(var ins = 0 ; ins <= cdid.length-1 ; ins++ ) {// 체크된 값 전체를 돈다.
  218. for(var i = 1 ; i < grd_userlist.rows; i++ ){// 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  219. if(grupcd != grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd")) ) {
  220. continue;
  221. }
  222. if(model.getValue(xExecDetlListPath+"["+ i +"]/cd") == cdid[ins] ) {
  223. grd_userlist.textmatrix(i,1) = "true";
  224. }
  225. }
  226. }
  227. }
  228. /**
  229. * @group :
  230. * @ver : 2007.09.15
  231. * @by : 정찬성
  232. * @---------------------------------------------------
  233. * @type : function
  234. * @access : public
  235. * @desc : 사용자 리스트 조회
  236. * @param :
  237. * @param :
  238. * @return :
  239. * @---------------------------------------------------
  240. */
  241. function fSearchClick(grid,param){
  242. model.removeNodeset("/root/main/list/userlist");
  243. model.makeValue("/root/send/type", param);
  244. submit("TRMNW04730");
  245. }
  246. function fClickEtc() {
  247. var cdnm;
  248. for(var i = 1; i < grd_userlist.rows; i++) {
  249. cdnm = grd_userlist.valueMatrix(i, grd_userlist.colRef("cdnm"));
  250. if(cdnm == "기타") {
  251. grd_userlist.isReadOnly(i, grd_userlist.colRef("detlinfo")) = false;
  252. } else {
  253. grd_userlist.isReadOnly(i, grd_userlist.colRef("detlinfo")) = true;
  254. }
  255. }
  256. }
  257. /**
  258. * @group :
  259. * @ver : 2007.07.09
  260. * @by : 정찬성
  261. * @---------------------------------------------------
  262. * @type : function
  263. * @access : public
  264. * @desc : 피부욕창 관찰기록 (클릭시 체크/체크취소)
  265. * @param :
  266. * @return :
  267. * @---------------------------------------------------
  268. */
  269. function fGridSel() {
  270. var sRowCnt2 = grd_userlist.rows-grd_userlist.fixedrows;
  271. var iRow = grd_userlist.Row ;
  272. if( grd_userlist.labelmatrix(iRow, 1) == "" || grd_userlist.labelmatrix(iRow, 1) == "false" ){
  273. grd_userlist.textmatrix(iRow, 1) = "true" ;
  274. } else if( grd_userlist.labelmatrix(iRow, 1) == "true" ) {
  275. grd_userlist.textmatrix(iRow, 1) = "false" ;
  276. }
  277. }
  278. /**
  279. * @group :
  280. * @ver : 2008.05.29
  281. * @by : dhkim
  282. * @---------------------------------------------------------
  283. * @type : function
  284. * @access : public
  285. * @param :
  286. * @return :
  287. * @desc : 기타선택시 inputbox보여주기
  288. * 선택한 셀이 '기타'일때 기타입력필드를 보여준다.
  289. * @---------------------------------------------------------
  290. */
  291. function fShowEtcInputArea(){
  292. var selected;
  293. var cd ;
  294. var grupcd;
  295. var show = false;
  296. var iRow = grd_userlist.row;
  297. // for(var i = 1; i <= grd_userlist.rows ; i++){
  298. selected = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/sel');
  299. cd = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/cd');
  300. cdnm = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/cdnm');
  301. grupcd = model.getValue('/root/main/detlgrup/getVO[' + iRow + ']/grupcd');
  302. if(selected == "true") {
  303. if(grupcd == "00000005" || grupcd =="00000004" || grupcd =="00000002" || grupcd =="00000010") {
  304. for(var i = 1; i < grd_userlist.rows; i++) {
  305. var grup = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  306. if(grupcd == grup) {
  307. grd_userlist.valueMatrix(i, grd_userlist.colRef("sel")) = "";
  308. }
  309. }
  310. grd_userlist.valueMatrix(iRow, grd_userlist.colRef("sel")) = "true";
  311. }
  312. } else {
  313. grd_userlist.valueMatrix(iRow, grd_userlist.colRef("sel")) = "";
  314. }
  315. if(selected == 'true' && cdnm == '기타')
  316. show = true;
  317. if(show) {
  318. grd_userlist.isReadOnly(iRow, grd_userlist.colRef("detlinfo")) = false;
  319. } else {
  320. grd_userlist.isReadOnly(iRow, grd_userlist.colRef("detlinfo")) = true;
  321. }
  322. // }
  323. /*
  324. if(show){
  325. grp_etcarea.attribute('visibility') = 'visible';
  326. }else{
  327. model.setValue('/root/param/etc', '');
  328. grp_etcarea.attribute('visibility') = 'hidden';
  329. }
  330. */
  331. model.refresh();
  332. }
  333. /**
  334. * @group :
  335. * @ver : 2008.05.29
  336. * @by : dhkim
  337. * @---------------------------------------------------------
  338. * @type : function
  339. * @access : public
  340. * @param :
  341. * @return :
  342. * @desc : dressing 순서 변경하는 펑션
  343. * [grupcd - emr.mnrmderm에서의 그룹코드]
  344. * grupcd = '00000001' - 원인
  345. * grupcd = '00000003' - 기저부색
  346. * grupcd = '00000006' - 상처감염증상
  347. * grupcd = '00000007' - undermining 방향
  348. * grupcd = '00000008' - dressing
  349. * grupcd = '00000009' - 발생장소_20090220_SMY추가
  350. * @---------------------------------------------------------
  351. */
  352. function fChangeDressingStr(cdNm, isChecked){
  353. var grupcd = model.getValue('/root/main/detlgrup/getVO[' + grd_userlist.row + ']/grupcd');
  354. var dressingStr = '';
  355. if(grupcd == '00000008'){
  356. dressingStr = model.getValue('/root/param/dressing');
  357. if(isChecked == 'false'){
  358. //체크가 false일때
  359. var dressingArr = dressingStr.split('→');
  360. var str = '';
  361. //기타에 체크 해제 되었을때 dressing순서에 freetext 내역을 없앤다.
  362. for(var i = 0; i < dressingArr.length; i++){
  363. if(dressingArr[i].indexOf(cdNm) == -1){
  364. str += '→' + dressingArr[i];
  365. }
  366. }
  367. //맨 첫번째 화살표를 없앰
  368. if(str.substr(0, 1) == '→'){
  369. dressingStr = str.substr(1);
  370. }
  371. model.setValue("/root/param/dressingEtcStr", "");
  372. }else if(isChecked == 'true'){
  373. //체크가 true일때 화살표 방향으로 추가
  374. if(dressingStr != ''){
  375. dressingStr += '→' + cdNm;
  376. }else{
  377. dressingStr += cdNm;
  378. }
  379. }
  380. model.setValue('/root/param/dressing', dressingStr);
  381. } else {
  382. }
  383. model.refresh();
  384. }
  385. /**
  386. * @group :
  387. * @ver : 2007.09.15
  388. * @by : 정찬성
  389. * @---------------------------------------------------
  390. * @type : function
  391. * @access : public
  392. * @desc : Instance 값 가져오기
  393. * @param :
  394. * @param :
  395. * @return :
  396. * @---------------------------------------------------
  397. */
  398. function fGetValue(node, row, element){
  399. var rtnValue = model.getValue(node + "[" + row + "]/" + element);
  400. return rtnValue;
  401. }
  402. /**
  403. * @group :
  404. * @ver : 2007.09.15
  405. * @by : 정찬성
  406. * @---------------------------------------------------
  407. * @type : function
  408. * @access : public
  409. * @desc : Instance 값 셋팅하기
  410. * @param :
  411. * @param :
  412. * @return :
  413. * @---------------------------------------------------
  414. */
  415. function fSetValue(node, destinationelement, sourceelement){
  416. model.setValue(node + "/" + destinationelement, sourceelement);
  417. }
  418. /**
  419. * @group :
  420. * @ver : 2007.09.15
  421. * @by : 정찬성
  422. * @---------------------------------------------------
  423. * @type : function
  424. * @access : public
  425. * @desc : Double Click시 부모창에 값 넘기고 창 닫기
  426. * @param :
  427. * @param :
  428. * @return :
  429. * @---------------------------------------------------
  430. */
  431. function fDblclick(pRow){
  432. var iParam = "";
  433. var iNode = "/root/main/list/userlist";
  434. var iParam_userid = fGetValue(iNode, pRow, "userid");
  435. var iParam_usernm = fGetValue(iNode, pRow, "usernm");
  436. var iParam_posinstnm = fGetValue(iNode, pRow, "posinstnm");
  437. var iParam_posinstcd = fGetValue(iNode, pRow, "posinstcd");
  438. var iParam_posdeptnm = fGetValue(iNode, pRow, "posdeptnm");
  439. var iParam_posdeptcd = fGetValue(iNode, pRow, "posdeptcd");
  440. opener.javascript.setParameter("SPMNN02100_userid", iParam_userid);
  441. opener.javascript.setParameter("SPMNN02100_usernm", iParam_usernm);
  442. opener.javascript.setParameter("SPMNN02100_posinstnm", iParam_posinstnm);
  443. opener.javascript.setParameter("SPMNN02100_posinstcd", iParam_posinstcd);
  444. opener.javascript.setParameter("SPMNN02100_posdeptnm", iParam_posdeptnm);
  445. opener.javascript.setParameter("SPMNN02100_posdeptcd", iParam_posdeptcd);
  446. window.close();
  447. }
  448. /**
  449. * @group :
  450. * @ver : 2007.09.18
  451. * : 2008.05.28 dhkim 수정
  452. * @by : 정찬성
  453. * @---------------------------------------------------
  454. * @type : function
  455. * @access : public
  456. * @desc : 피부욕창관찰기록기준자료팝업 팝업 close
  457. * @param :
  458. * @return :
  459. * @---------------------------------------------------
  460. */
  461. function fPopClose(){
  462. var type = opener.javascript.getParameter("type");
  463. var iRows = grd_userlist.rows;
  464. var cdnm = "" ;
  465. var cd = "" ;
  466. var checkcnt = 0 ;
  467. var grupcd;
  468. if(type == "1") {
  469. var underanglenm = "";
  470. var underangle = "";
  471. for(var i = 1 ; i < grd_userlist.rows; i++ ) {
  472. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  473. if( model.getValue(xExecDetlListPath+"["+ i +"]/sel") == "true" ) {
  474. if(grupcd != "" && grupcd == "00000007") { //원인
  475. underanglenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  476. underangle += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  477. checkcnt++;
  478. }
  479. }
  480. }
  481. if( checkcnt <= 0 ) {
  482. underanglenm = "" ;
  483. underangle = "";
  484. } else {
  485. underanglenm = underanglenm.substr(0,underanglenm.length-1) ;
  486. underangle = underangle.substr(0,underangle.length-1) ;
  487. }
  488. if( window.opener != null ){
  489. opener.javascript.setParameter("underanglecdnm", underanglenm );
  490. opener.javascript.setParameter("underanglecd", underangle);
  491. }
  492. window.close();
  493. } else if( type == "2") {
  494. var genrplcenm = "";
  495. var genrplce = "";
  496. var genrplcecnt = 0;
  497. var causenm = "";
  498. var cause ="";
  499. var causecnt = 0;
  500. var stagenm = "";
  501. var stage ="";
  502. var stagecnt = 0;
  503. var colornm ="";
  504. var color = "";
  505. var colorcnt = 0;
  506. var statenm = "";
  507. var state = "";
  508. var statecnt = 0;
  509. var amountnm = "";
  510. var amount = "";
  511. var amountcnt = 0;
  512. var sympnm = "";
  513. var symp = "";
  514. var sympcnt = 0;
  515. var dressingnm = "";
  516. var dressing = "";
  517. var dressingcnt = 0;
  518. var tissuenm = "";
  519. var tissue = "";
  520. var tissuecnt = 0;
  521. // 전체를 돌면서 그룹에 값이 체크되어 있는것의 값을 임시 str에 저장
  522. for(var i = 1 ; i < grd_userlist.rows; i++ ) {
  523. grupcd = grd_userlist.valueMatrix(i, grd_userlist.colRef("grupcd"));
  524. if( model.getValue(xExecDetlListPath+"["+ i +"]/sel") == "true" ) {
  525. if(grupcd != "" && grupcd == "00000001") { //원인
  526. causenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  527. cause += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  528. causecnt++;
  529. } else if(grupcd != "" && grupcd == "00000002") { //단계
  530. stagenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  531. stage += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  532. stagecnt++;
  533. } else if(grupcd != "" && grupcd == "00000003") { //기적부색
  534. colornm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  535. color +=model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  536. colorcnt++;
  537. } else if(grupcd != "" && grupcd == "00000004") { //삼출물의 상태
  538. statenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  539. state = model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  540. statecnt++;
  541. } else if(grupcd != "" && grupcd == "00000005") { //삼출물의 양
  542. amountnm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  543. amount += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  544. amountcnt++;
  545. } else if(grupcd != "" && grupcd == "00000006") { //상처감염증상
  546. sympnm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  547. symp += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  548. sympcnt++;
  549. } else if(grupcd != "" && grupcd == "00000008") { //Dressing
  550. dressingnm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  551. dressing += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  552. dressingcnt++;
  553. } else if(grupcd != "" && grupcd == "00000009") { //발생부위_20090220_SMY추가
  554. genrplcenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  555. genrplce += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  556. genrplcecnt++;
  557. } else if(grupcd != "" && grupcd == "00000010") {
  558. tissuenm += model.getValue(xExecDetlListPath+"["+ i +"]/cdnm") + "," ;
  559. tissue += model.getValue(xExecDetlListPath+"["+ i +"]/cd") + "," ;
  560. tissuecnt++;
  561. }
  562. }
  563. }
  564. var dressingStr = model.getValue('/root/param/dressing');
  565. var etcStr = model.getValue('/root/param/dressingEtcStr');
  566. if(etcStr != ''){
  567. etcStr = '(' + etcStr + ')';
  568. dressingStr = dressingStr.substr(0, dressingStr.indexOf('기타')+ 2) + etcStr;
  569. }
  570. dressingnm = dressingStr;
  571. fSetParentParam(genrplce, genrplcenm, genrplcecnt, "genrplce");
  572. fSetParentParam(cause, causenm, causecnt, "cause");
  573. fSetParentParam(stage, stagenm, stagecnt, "stage");
  574. fSetParentParam(color, colornm, colorcnt, "color");
  575. fSetParentParam(state, statenm, statecnt, "state");
  576. fSetParentParam(amount, amountnm, amountcnt, "amount");
  577. fSetParentParam(symp, sympnm, sympcnt, "symptom");
  578. fSetParentParam(dressing, dressingnm, dressingcnt, "dressing");
  579. fSetParentParam(tissue, tissuenm, tissuecnt, "tissue");
  580. window.close();
  581. }
  582. }
  583. function fSetParentParam(cd, cdnm, checkcnt, str) {
  584. //맨 마지막의 컴마(,)를 제거
  585. if( checkcnt <= 0 ) {
  586. cdnm = "" ;
  587. cd = "" ;
  588. } else {
  589. if(str != "dressing") {
  590. cdnm = cdnm.substr(0,cdnm.length-1) ;
  591. cd = cd.substr(0,cd.length-1);
  592. }
  593. }
  594. var etc = model.getValue('/root/param/' + str + 'EtcStr');
  595. //기타인 값에 freetext의 내용을 추가
  596. if(str != "dressing") {
  597. if(cdnm.indexOf('기타') > -1 && etc != ''){
  598. etc = '기타(' + etc + ')';
  599. cdnm = cdnm.substr(0, cdnm.indexOf('기타')) + etc;
  600. }
  601. }
  602. if( window.opener != null ){
  603. opener.javascript.setParameter(str +"cdnm", cdnm );
  604. opener.javascript.setParameter(str +"cd", cd);
  605. opener.javascript.setParameter(str +"cdid", cd);
  606. }
  607. }