SMMNR021.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. /*
  2. 진술문SET 복사관리(SMMNR02100.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xLrgGrupInfoPath = "/root/main/lrggrupinfo";
  7. var xCondPath = "/root/hidden/cond";
  8. var xOrgSetInfoPath = "/root/main/original/setinfo/setlist";
  9. var xCloneSetListPath = "/root/main/clone/setinfo/setlist";
  10. var xCloneSetInfoPath = "/root/main/clone/setinfo";
  11. var xOrgStmtSetInfoPath = "/root/main/original/stmtsetinfo/stmtsetlist";
  12. var xCloneStmtSetListPath = "/root/main/clone/stmtsetinfo/stmtsetlist";
  13. var xCloneStmtSetInfoPath = "/root/main/clone/stmtsetinfo";
  14. var xCloneSetInfoPath_BK = "/root/hidden/clone/setinfo";
  15. var xCloneStmtSetInfoPath_BK = "/root/hidden/clone/stmtsetinfo";
  16. /**
  17. * @group :
  18. * @ver : 2007.04.16
  19. * @by : 이은영
  20. * @---------------------------------------------------
  21. * @type : function
  22. * @access : public
  23. * @desc : 화면 초기화
  24. * @param :
  25. * @return :
  26. * @---------------------------------------------------
  27. */
  28. function fInit(){
  29. model.setValue(xCondPath+"/original/dnarflag","%");
  30. model.makeValue("/root/send/mode", "clone");
  31. model.makeValue("/root/send/deptcd",getUserInfo("postdeptcd")); // 부서코드 입력
  32. if(submit("TRMNR02101")){
  33. var sRowCnt = grd_orglrggrupinfo.rows - grd_orglrggrupinfo.fixedRows;
  34. for(var i = 1; i <= sRowCnt; i++){
  35. grd_orglrggrupinfo.IsSubtotal(i) = true;
  36. grd_orglrggrupinfo.outlinelevel(i) = model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+i+"]/depth"); //인스턴스H_DEPTH 값임
  37. }
  38. grd_orglrggrupinfo.OutlineCol=2; //연결선이 표현되는 컬럼
  39. grd_orglrggrupinfo.OutlineBar = 4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  40. grd_orglrggrupinfo.TreeColor = "gray";
  41. sRowCnt = grd_clonelrggrupinfo.rows - grd_clonelrggrupinfo.fixedRows;
  42. for(var i = 1; i <= sRowCnt; i++){
  43. grd_clonelrggrupinfo.IsSubtotal(i) = true;
  44. grd_clonelrggrupinfo.outlinelevel(i) = model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+i+"]/depth"); //인스턴스H_DEPTH 값임
  45. }
  46. grd_clonelrggrupinfo.OutlineCol=2; //연결선이 표현되는 컬럼
  47. grd_clonelrggrupinfo.OutlineBar = 4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  48. grd_clonelrggrupinfo.TreeColor = "gray";
  49. }
  50. model.removenodeset(xOrgSetInfoPath);
  51. model.removenodeset(xCloneSetListPath);
  52. model.removenodeset(xOrgStmtSetInfoPath);
  53. model.removenodeset(xCloneStmtSetListPath);
  54. model.refresh();
  55. }
  56. /**
  57. * @group :
  58. * @ver : 2007.04.17
  59. * @by : 이은영
  60. * @---------------------------------------------------
  61. * @type : function
  62. * @access : public
  63. * @desc : SET 리스트 조회 - 상위 그룹코드로 SET 정보를 조회한다.
  64. * @param : pFlag (original : 원본 SET리스트, clone : 복사될 SET 리스트)
  65. * @return :
  66. * @---------------------------------------------------
  67. */
  68. function fSrchSetList(pFlag){
  69. var iLrgGrupRow = 0;
  70. model.removenode("/root/send");
  71. var sGrupFlag = "";
  72. var sDepth = 0;
  73. switch(pFlag){
  74. case "original" : // 원본 SET리스트
  75. iLrgGrupRow = grd_orglrggrupinfo.row;
  76. if(iLrgGrupRow < 1) return;
  77. sDepth = eval(model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+iLrgGrupRow+"]/depth"));
  78. sGrupFlag = model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+iLrgGrupRow+"]/grupflag");
  79. // if(((sGrupFlag != "3" && sGrupFlag != "5") && sDepth < 2) || ((sGrupFlag == "3" || sGrupFlag == "5") && sDepth < 3)){
  80. if((sDepth < 3 && sGrupFlag == "3" )
  81. || (sDepth < 2 && sGrupFlag != "5")
  82. || (sDepth < 2 && sGrupFlag == "5")){
  83. model.removenodeset(xOrgSetInfoPath);
  84. model.removenodeset(xOrgStmtSetInfoPath);
  85. grd_orgsetgrupinfo.rebuild();
  86. grd_orgstmtsetinfo.rebuild();
  87. model.resetInstanceNode(xCondPath+"/original");
  88. opt_orglrggrupnm.refresh();
  89. opt_orgsetnm.refresh();
  90. // 자식 접기 or 펼치기
  91. sDepth = eval(model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+iLrgGrupRow+"]/depth"));
  92. sRowCnt = grd_orglrggrupinfo.rows - grd_orglrggrupinfo.fixedrows;
  93. if(grd_orglrggrupinfo.iscollapsed(iLrgGrupRow) == true){
  94. sBoolStatus = false;
  95. }else{
  96. sBoolStatus = true;
  97. }
  98. for(var i=iLrgGrupRow; i<=sRowCnt; i++){
  99. iDepth = eval(model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+i+"]/depth"));
  100. if(i==iLrgGrupRow){
  101. grd_orglrggrupinfo.iscollapsed(i) = sBoolStatus;
  102. }else if(i != iLrgGrupRow && sDepth < iDepth){
  103. grd_orglrggrupinfo.iscollapsed(i) = sBoolStatus;
  104. }else{
  105. break;
  106. }
  107. }
  108. return;
  109. }
  110. model.setValue(xCondPath+"/original/lrggrupnm", model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+iLrgGrupRow+"]/hngnm"));
  111. model.setValue(xCondPath+"/original/lrggrupcd", model.getValue(xLrgGrupInfoPath+"/orglrggruplist["+iLrgGrupRow+"]/grupcd"));
  112. model.makeValue("/root/send/lrggrupcd", model.getValue(xCondPath+"/original/lrggrupcd"));
  113. if(submit("TRMNR02102")){
  114. model.removenodeset(xOrgStmtSetInfoPath);
  115. grd_orgstmtsetinfo.rebuild();
  116. model.setValue(xCondPath+"/original/setnm","");
  117. model.setValue(xCondPath+"/original/setcd","");
  118. opt_orgsetnm.refresh();
  119. }
  120. break;
  121. case "clone" : // 복사될 SET 리스트
  122. iLrgGrupRow = grd_clonelrggrupinfo.row;
  123. if(iLrgGrupRow < 1) return;
  124. sDepth = eval(model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/depth"));
  125. sGrupFlag = model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/grupflag");
  126. // if(((sGrupFlag != "3" && sGrupFlag != "5") && sDepth < 2) || ((sGrupFlag == "3" || sGrupFlag == "5") && sDepth < 3)){
  127. if((sDepth < 3 && sGrupFlag == "3" )
  128. || (sDepth < 2 && sGrupFlag != "5")
  129. || (sDepth < 2 && sGrupFlag == "5")){
  130. model.removenodeset(xCloneSetListPath);
  131. model.removenodeset(xCloneStmtSetListPath);
  132. grd_clonesetgrupinfo.rebuild();
  133. grd_clonestmtsetinfo.rebuild();
  134. model.resetInstanceNode(xCondPath+"/clone");
  135. opt_clonelrggrupnm.refresh();
  136. opt_clonesetnm.refresh();
  137. // 자식 접기 or 펼치기
  138. sDepth = eval(model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/depth"));
  139. sRowCnt = grd_clonelrggrupinfo.rows - grd_clonelrggrupinfo.fixedrows;
  140. if(grd_clonelrggrupinfo.iscollapsed(iLrgGrupRow) == true){
  141. sBoolStatus = false;
  142. }else{
  143. sBoolStatus = true;
  144. }
  145. for(var i=iLrgGrupRow; i<=sRowCnt; i++){
  146. iDepth = eval(model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+i+"]/depth"));
  147. if(i==iLrgGrupRow){
  148. grd_clonelrggrupinfo.iscollapsed(i) = sBoolStatus;
  149. }else if(i != iLrgGrupRow && sDepth < iDepth){
  150. grd_clonelrggrupinfo.iscollapsed(i) = sBoolStatus;
  151. }else{
  152. break;
  153. }
  154. }
  155. return;
  156. }
  157. model.setValue(xCondPath+"/clone/lrggrupnm", model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/hngnm"));
  158. model.setValue(xCondPath+"/clone/lrggrupcd", model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/grupcd"));
  159. model.makeValue("/root/send/lrggrupcd", model.getValue(xCondPath+"/clone/lrggrupcd"));
  160. if(submit("TRMNR02103")){
  161. model.removenodeset(xCloneStmtSetListPath);
  162. grd_clonestmtsetinfo.rebuild();
  163. model.setValue(xCondPath+"/clone/setnm","");
  164. model.setValue(xCondPath+"/clone/setcd","");
  165. opt_clonesetnm.refresh();
  166. model.copyNode(xCloneSetInfoPath_BK, xCloneSetInfoPath);
  167. }
  168. break;
  169. }
  170. }
  171. /**
  172. * @group :
  173. * @ver : 2007.04.17
  174. * @by : 이은영
  175. * @---------------------------------------------------
  176. * @type : function
  177. * @access : public
  178. * @desc : dnar 진술문 리스트 조회 - 상위 그룹코드로 SET 정보를 조회한다.
  179. * @param : pFlag (original : 원본 SET리스트, clone : 복사될 SET 리스트)
  180. * @return :
  181. * @---------------------------------------------------
  182. */
  183. function fSrchStmtList(pFlag){
  184. model.removenode("/root/send");
  185. iSetRow = 0;
  186. switch(pFlag){
  187. case "original" : // 원본 SET리스트
  188. iSetRow = grd_orgsetgrupinfo.row;
  189. if(iSetRow < 1) return;
  190. model.setValue(xCondPath+"/original/setnm",model.getValue(xOrgSetInfoPath+"["+iSetRow+"]/hngnm"));
  191. model.setValue(xCondPath+"/original/setcd",model.getValue(xOrgSetInfoPath+"["+iSetRow+"]/grupcd"));
  192. model.makeValue("/root/send/grupcd", model.getValue(xCondPath+"/original/setcd"));
  193. model.makeValue("/root/send/dnarflag", model.getValue(xCondPath+"/original/dnarflag"));
  194. if(submit("TRMNR02104")){
  195. fStmtMerge("original");
  196. fSettingGridStyle("original"); // 진술문 폰트 color 변경
  197. grd_orgstmtsetinfo.resizeCells();
  198. }
  199. break;
  200. case "clone" : // 복사될 SET 리스트
  201. iSetRow = grd_clonesetgrupinfo.row;
  202. if(iSetRow < 1) return;
  203. model.setValue(xCondPath+"/clone/setnm",model.getValue(xCloneSetListPath+"["+iSetRow+"]/hngnm"));
  204. model.setValue(xCondPath+"/clone/setcd",model.getValue(xCloneSetListPath+"["+iSetRow+"]/grupcd"));
  205. model.makeValue("/root/send/grupcd", model.getValue(xCondPath+"/clone/setcd"));
  206. if(submit("TRMNR02105")){
  207. fStmtMerge("clone");
  208. fSettingGridStyle("clone"); //진술문 폰트 color 변경
  209. model.copyNode(xCloneStmtSetInfoPath_BK,xCloneStmtSetInfoPath);
  210. grd_clonestmtsetinfo.resizeCells();
  211. }
  212. break;
  213. }
  214. }
  215. /**
  216. * @group :
  217. * @ver : 2007.04.18
  218. * @by : 이은영
  219. * @---------------------------------------------------
  220. * @type : function
  221. * @access : public
  222. * @desc : 진술문 복사
  223. * @param : pFlag (set : SET 복사, stmt : 진술문 복사)
  224. * @return :
  225. * @---------------------------------------------------
  226. */
  227. function fCopyStmtInfo(pFlag){
  228. switch(pFlag){
  229. case "set" : // SET 복사
  230. var sLrgGrupCD = model.getValue(xCondPath+"/clone/lrggrupcd");
  231. var sInputChk = false;
  232. if(sLrgGrupCD == ""){
  233. messageBox("그룹을 먼저","C002");
  234. return;
  235. }
  236. var sSetCnt = grd_orgsetgrupinfo.rows - grd_orgsetgrupinfo.fixedrows;
  237. var iCloneSetRow = grd_clonesetgrupinfo.rows - grd_clonesetgrupinfo.fixedrows;
  238. var iLrgGrupRow = grd_clonelrggrupinfo.row;
  239. var sGrupcd = "";
  240. var sGrupnm = "";
  241. var sGrupFlag = model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/grupflag");
  242. var sDeptCD = "";
  243. if(sGrupFlag == 3 || sGrupFlag == 5){
  244. sDeptCD = model.getValue(xLrgGrupInfoPath+"/clonelrggruplist["+iLrgGrupRow+"]/deptcd");
  245. }
  246. for(var iRow=1; iRow <= sSetCnt; iRow++){
  247. if(model.getValue(xOrgSetInfoPath+"["+iRow+"]/check") == "true"){
  248. sGrupcd = model.getValue(xOrgSetInfoPath+"["+iRow+"]/grupcd");
  249. sGrupnm = model.getValue(xOrgSetInfoPath+"["+iRow+"]/hngnm");
  250. if(model.getValue(xCloneSetListPath+"[grupcd = '"+sGrupcd+"' or hngnm ='"+sGrupnm+"']/grupcd") != "") continue;
  251. grd_clonesetgrupinfo.addItem();
  252. iCloneSetRow++;
  253. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/status","I");
  254. grd_clonesetgrupinfo.cellstyle("color",iCloneSetRow,1) = "#FF0000"; // 신규 입력의 경우 상태 컬럼에 폰트 색상을 다르게 표시함
  255. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/hngnm", model.getValue(xOrgSetInfoPath+"["+iRow+"]/hngnm"));
  256. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/grupcd", model.getValue(xOrgSetInfoPath+"["+iRow+"]/grupcd"));
  257. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/supcd", sLrgGrupCD);
  258. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/grupflag", sGrupFlag);
  259. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/todd", "99991231235959");
  260. if(sGrupFlag == 3 || sGrupFlag == 5){
  261. model.setValue(xCloneSetListPath+"["+iCloneSetRow+"]/deptcd", sDeptCD);
  262. }
  263. sInputChk = true;
  264. }
  265. }
  266. if(sInputChk == true){
  267. model.removenodeset(xCloneStmtSetListPath);
  268. grd_clonestmtsetinfo.rebuild();
  269. model.setValue(xCondPath+"/clone/setcd","");
  270. model.setValue(xCondPath+"/clone/setnm","");
  271. opt_clonesetnm.refresh();
  272. }
  273. break;
  274. case "stmt" : // 진술문 복사
  275. var sSetCD = model.getValue(xCondPath+"/clone/setcd");
  276. var sStatus = model.getValue(xCloneSetListPath+"["+grd_clonesetgrupinfo.row+"]/status");
  277. if(sSetCD == ""){
  278. messageBox("SET을 먼저","C002");
  279. return;
  280. }
  281. if(sStatus == "I"){
  282. messageBox("SET을 먼저 저장한 후에","C002");
  283. return;
  284. }
  285. var sStmtCnt = grd_orgstmtsetinfo.rows - grd_orgstmtsetinfo.fixedrows;
  286. var iStmtSetRow = grd_clonestmtsetinfo.rows - grd_clonestmtsetinfo.fixedrows;
  287. var sStmtCD = "";
  288. fSettingGridStyle("clone");
  289. for(var iRow=1; iRow<=sStmtCnt; iRow++){
  290. if(model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/check") == "true"){
  291. sStmtCD = model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/stmtcd");
  292. if(model.getValue(xCloneStmtSetListPath+"[stmtcd ='"+sStmtCD+"']/stmtcd") != "") continue;
  293. grd_clonestmtsetinfo.addItem();
  294. iStmtSetRow++;
  295. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/status","I");
  296. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/dnarflag", model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/dnarflag"));
  297. grd_clonestmtsetinfo.cellstyle("color",iStmtSetRow,1,iStmtSetRow,2) = "#FF0000"; // 신규 입력의 경우 상태 컬럼에 폰트 색상을 다르게 표시함
  298. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/stmtcnts", model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/stmtcnts"));
  299. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/fstrgstrnm", "-");
  300. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/stmtcd", sStmtCD);
  301. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/grupcd", sSetCD);
  302. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/todd", "99991231235959");
  303. model.setValue(xCloneStmtSetListPath+"["+iStmtSetRow+"]/attrcnt", model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/attrcnt"));
  304. }
  305. }
  306. fStmtMerge("clone");
  307. break;
  308. }
  309. }
  310. /**
  311. * @group :
  312. * @ver : 2007.04.18
  313. * @by : 이은영
  314. * @---------------------------------------------------
  315. * @type : function
  316. * @access : public
  317. * @desc : 그리드 합병(merge)
  318. * @param : pFlag (set : SET 복사, stmt : 진술문 복사)
  319. * @return :
  320. * @---------------------------------------------------
  321. */
  322. function fStmtMerge(pFlag){
  323. switch(pFlag){
  324. case "original" : // 원본 SET리스트
  325. grd_orgstmtsetinfo.mergecells = "bycol";
  326. grd_orgstmtsetinfo.mergecol(2) = false;
  327. grd_orgstmtsetinfo.mergecol(3) = false;
  328. break;
  329. case "clone" : // 복사될 SET 리스트
  330. grd_clonestmtsetinfo.mergecells = "bycol";
  331. grd_clonestmtsetinfo.mergecol(1) = false;
  332. grd_clonestmtsetinfo.mergecol(3) = false;
  333. break;
  334. }
  335. }
  336. /**
  337. * @group :
  338. * @ver : 2007.04.18
  339. * @by : 이은영
  340. * @---------------------------------------------------
  341. * @type : function
  342. * @access : public
  343. * @desc : 진술문 복사
  344. * @param : pFlag (set : SET 취소, stmt : 진술문 취소)
  345. * @return :
  346. * @---------------------------------------------------
  347. */
  348. function fCnclStmtInfo(pFlag){
  349. var iRow = 0;
  350. var sStatus = "";
  351. switch(pFlag){
  352. case "set" : // SET 복사
  353. iRow = grd_clonesetgrupinfo.row;
  354. if(iRow < 1) return;
  355. sStatus = model.getValue(xCloneSetListPath+"["+iRow+"]/status");
  356. if(sStatus == "I"){
  357. grd_clonesetgrupinfo.deleteItem(iRow);
  358. }else if(sStatus == "-"){
  359. model.setValue(xCloneSetListPath+"["+iRow+"]/status", "D");
  360. }else if(sStatus == "D"){
  361. model.setValue(xCloneSetListPath+"["+iRow+"]/status", "-");
  362. }
  363. break;
  364. case "stmt" : // 진술문 복사
  365. iRow = grd_clonestmtsetinfo.row;
  366. if(iRow < 1) return;
  367. sStatus = model.getValue(xCloneStmtSetListPath+"["+iRow+"]/status");
  368. if(sStatus == "I"){
  369. grd_clonestmtsetinfo.deleteItem(iRow);
  370. }else if(sStatus == "-"){
  371. model.setValue(xCloneStmtSetListPath+"["+iRow+"]/status","D");
  372. }else if(sStatus == "D"){
  373. model.setValue(xCloneStmtSetListPath+"["+iRow+"]/status","-");
  374. }
  375. break;
  376. }
  377. }
  378. /**
  379. * @group :
  380. * @ver : 2007.04.18
  381. * @by : 이은영
  382. * @---------------------------------------------------
  383. * @type : function
  384. * @access : public
  385. * @desc : 저장
  386. * @param : pFlag (set : SET 취소, stmt : 진술문 취소)
  387. * @return :
  388. * @---------------------------------------------------
  389. */
  390. function fSave(pFlag){
  391. model.removenode("/root/send");
  392. switch(pFlag){
  393. case "set" : // SET
  394. if(instance1.selectSingleNode(xCloneSetInfoPath).xml == instance1.selectSingleNode(xCloneSetInfoPath_BK).xml){
  395. messageBox("변경된 데이터가","I004");
  396. return;
  397. }
  398. model.makeValue("/root/send/setlist",grd_clonesetgrupinfo.getUpdateDataAll("i"));
  399. model.makeValue("/root/send/lrggrupcd", model.getValue(xCondPath+"/clone/lrggrupcd"));
  400. if(submit("TXMNR02101")){
  401. model.removenodeset(xCloneStmtSetListPath);
  402. grd_clonestmtsetinfo.rebuild();
  403. model.setValue(xCondPath+"/clone/setcd","");
  404. model.setValue(xCondPath+"/clone/setnm","");
  405. opt_clonesetnm.refresh();
  406. model.copyNode(xCloneSetInfoPath_BK, xCloneSetInfoPath);
  407. fSettingGridStyle("original");
  408. }
  409. break;
  410. case "stmt" : // 진술문
  411. if(instance1.selectSingleNode(xCloneStmtSetInfoPath).xml == instance1.selectSingleNode(xCloneStmtSetInfoPath_BK).xml){
  412. messageBox("변경된 데이터가","I004");
  413. return;
  414. }
  415. model.makeValue("/root/send/stmtsetlist", grd_clonestmtsetinfo.getUpdateDataAll("i"));
  416. model.makeValue("/root/send/grupcd", model.getValue(xCondPath+"/clone/setcd"));
  417. if(submit("TXMNR02102")){
  418. fStmtMerge("clone");
  419. model.copyNode(xCloneStmtSetInfoPath_BK,xCloneStmtSetInfoPath);
  420. fSettingGridStyle("clone");
  421. }
  422. break;
  423. }
  424. }
  425. /**
  426. * @group :
  427. * @ver : 2007.04.19
  428. * @by : 이은영
  429. * @---------------------------------------------------
  430. * @type : function
  431. * @access : public
  432. * @desc : 진술문 폰트 color 변경 - 속성이 있는 경우 진술문 폰트 색상을 변경한다.
  433. * @param : pFlag (original : 원본 리스트, clone : 복사될 리스트)
  434. * @return :
  435. * @---------------------------------------------------
  436. */
  437. function fSettingGridStyle(pFlag){
  438. switch(pFlag){
  439. case "original" : // 원본 리스트
  440. grd_orgstmtsetinfo.allstyle("data","color") = "#000000";
  441. for(var iRow = grd_orgstmtsetinfo.fixedrows; iRow <= grd_orgstmtsetinfo.rows-grd_orgstmtsetinfo.fixedrows; iRow++){
  442. if(eval(model.getValue(xOrgStmtSetInfoPath+"["+iRow+"]/attrcnt")) > 0){
  443. grd_orgstmtsetinfo.cellstyle("color",iRow,3) = "#33CC33"; // 녹색
  444. }
  445. }
  446. break;
  447. case "clone" : // 복사될 리스트
  448. grd_clonestmtsetinfo.allstyle("data","color") = "#000000";
  449. for(var iRow=grd_clonestmtsetinfo.fixedrows; iRow<=grd_clonestmtsetinfo.rows-grd_clonestmtsetinfo.fixedrows; iRow++){
  450. if(eval(model.getValue(xCloneStmtSetListPath+"["+iRow+"]/attrcnt"))>0){
  451. grd_clonestmtsetinfo.cellstyle("color",iRow,3) = "#33CC33"; // 녹색
  452. }
  453. }
  454. break;
  455. }
  456. }
  457. /**
  458. * @group :
  459. * @ver : 2007.04.19
  460. * @by : 이은영
  461. * @---------------------------------------------------
  462. * @type : function
  463. * @access : public
  464. * @desc : 진술문 폰트 color 변경 - 속성이 있는 경우 진술문 폰트 색상을 변경한다.
  465. * @param : pFlag (original : 원본 리스트, clone : 복사될 리스트)
  466. * @return :
  467. * @---------------------------------------------------
  468. */
  469. function fTotalSelect(pFlag){
  470. switch(pFlag){
  471. case "set" : // SET
  472. for(var iRow = grd_orgsetgrupinfo.fixedrows; iRow <= grd_orgsetgrupinfo.rows-grd_orgsetgrupinfo.fixedrows; iRow++){
  473. model.setValue(xOrgSetInfoPath+"["+iRow+"]/check","true");
  474. }
  475. grd_orgsetgrupinfo.rebuild();
  476. case "stmt" : // 진술문
  477. for(var iRow = grd_orgstmtsetinfo.fixedrows; iRow <= grd_orgstmtsetinfo.rows-grd_orgstmtsetinfo.fixedrows; iRow++){
  478. model.setValue(xOrgStmtSetInfoPath+"["+iRow+"]/check","true");
  479. }
  480. grd_orgstmtsetinfo.rebuild();
  481. }
  482. }