ZBC001.xjs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. var zbcResultRef = "/root/hidden/zbc/resultref";
  4. var gvZBCCodeCachePath="/root/hidden/zbccode"
  5. function makeZbcResultRef(){ model.makeNode(zbcResultRef); }
  6. function removeZbcResultRef(){ model.removeNode(zbcResultRef); }
  7. // 공통코드 조회(Cache 방식)
  8. function zbcfGetCodeList(cd_grup_id_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list) {
  9. // minumum이 true이고 sortfield_list와 sortmethod_list가 null인 경우에만 cache에서 조회한다.
  10. if(minimum == null){
  11. minimum = true;
  12. }
  13. var isCached = false;
  14. if (minimum && sortfield_list == null && sortmethod_list == null) {
  15. isCached = true;
  16. var viewerObj = getViewer("sysMessage");
  17. // Cache 기능은 시스템메시지바 화면에서 이루어지므로 미리보기처럼 시스템메시지 화면이 없는 경우에는 Cache기능 사용하지 않는다.
  18. if (viewerObj == null || viewerObj.window.javascript.zbcfGetCodeListCache == undefined) {
  19. isCached = false;
  20. }
  21. } else {
  22. isCached = false;
  23. }
  24. if (isCached) {
  25. // 시스템 메시지바 화면의 스크립트를 호출하여 Cache에 미리 담기를 수행한다.
  26. viewerObj.window.javascript.zbcfGetCodeListCache(null,cd_grup_id_list);
  27. // Cache에서 공통코드를 복사 해온다.
  28. for(key in cd_grup_id_list){
  29. var target_path = rslt_ref_list[key];
  30. var source_path = gvZBCCodeCachePath + "/"+cd_grup_id_list[key] + "/" + cd_grup_id_list[key];
  31. var sourceNode = viewerObj.window.instance1.selectNodes(source_path);
  32. //var sourceNode = instance1.selectNodes(source_path);
  33. for(i=0; i<sourceNode.length; i++){
  34. model.duplicate(target_path, sourceNode.item(i));
  35. }
  36. }
  37. } else {
  38. // 기존 방식대로 서버에서 매번 조회한다.
  39. zbcfGetCodeListSubmit(cd_grup_id_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list);
  40. }
  41. }
  42. // 유형코드 조회(Cache 방식)
  43. function zbcfGetKindCodeList(bizid_list, cd_grup_id_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list) {
  44. // minumum이 true이고 sortfield_list와 sortmethod_list가 null인 경우에만 cache에서 조회한다.
  45. if(minimum == null){
  46. minimum = true;
  47. }
  48. var isCached = false;
  49. if (minimum && sortfield_list == null && sortmethod_list == null) {
  50. isCached = true;
  51. var viewerObj = getViewer("sysMessage");
  52. // Cache 기능은 시스템메시지바 화면에서 이루어지므로 미리보기처럼 시스템메시지 화면이 없는 경우에는 Cache기능 사용하지 않는다.
  53. if (viewerObj == null || viewerObj.window.javascript.zbcfGetCodeListCache == undefined) {
  54. isCached = false;
  55. }
  56. } else {
  57. isCached = false;
  58. }
  59. if (isCached) {
  60. // 시스템 메시지바 화면의 스크립트를 호출하여 Cache에 미리 담기를 수행한다.
  61. viewerObj.window.javascript.zbcfGetCodeListCache(bizid_list,cd_grup_id_list);
  62. // Cache에서 공통코드를 복사 해온다.
  63. for(key in cd_grup_id_list){
  64. var bizid = bizid_list[key];
  65. var cd_grup = cd_grup_id_list[key];
  66. var cd_grup_key = bizid+cd_grup;
  67. var target_path = rslt_ref_list[key];
  68. var source_path = gvZBCCodeCachePath + "/" + cd_grup_key + "/" + cd_grup_key;
  69. var sourceNode = viewerObj.window.instance1.selectNodes(source_path);
  70. for(i=0; i<sourceNode.length; i++){
  71. model.duplicate(target_path, sourceNode.item(i));
  72. }
  73. }
  74. } else {
  75. // 기존 방식대로 서버에서 매번 조회한다.
  76. zbcfGetKindCodeListSubmit(bizid_list,cd_grup_id_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list);
  77. }
  78. }
  79. // 공통코드 조회(항상 서버에서 조회하는 방식)
  80. // 미리보기화면이나 minimun이 false 또는 sortfield_list 나 sortmethod_list가 지정된 경우 사용된다.
  81. function zbcfGetCodeListSubmit(cd_grup_id_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list){
  82. makeZbcResultRef();
  83. for (key in cd_grup_id_list){
  84. addParameter("cdgrupid", cd_grup_id_list[key]);
  85. if(sortfield_list!=null){
  86. addParameter("sortfield", sortfield_list[key]);
  87. }else{
  88. addParameter("sortfield", "dispseq");
  89. }
  90. if(sortmethod_list!=null){
  91. addParameter("sortmethod", sortmethod_list[key]);
  92. }else{
  93. addParameter("sortmethod", "asc");
  94. }
  95. }
  96. var submit_id;
  97. if(minimum==null){
  98. minimum = true;
  99. }
  100. if(minimum){
  101. submit_id = "TRZBC00101";
  102. }else{
  103. submit_id = "TRZBC00102";
  104. }
  105. var success = submit(submit_id, "false", getParameterPath(), zbcResultRef);
  106. for(key in cd_grup_id_list){
  107. var target_path = rslt_ref_list[key];
  108. if(target_path==null){
  109. target_path = rslt_ref_list[key-1];
  110. }
  111. var source_path = zbcResultRef+"/"+cd_grup_id_list[key]+"/"+cd_grup_id_list[key];
  112. var sourceNode = instance1.selectNodes(zbcResultRef+"/"+cd_grup_id_list[key]+"/"+cd_grup_id_list[key]);
  113. for(i=0; i<sourceNode.length; i++){
  114. model.duplicate(target_path, sourceNode.item(i));
  115. }
  116. }
  117. removeZbcResultRef();
  118. clearParameter("cdgrupid");
  119. clearParameter("sortfield");
  120. clearParameter("sortmethod");
  121. }
  122. function zbcfGetSubCodeList(supcdgrupid, supcdid, subcdgrupid, sortfield, sortmethod, minimum, resultref){
  123. makeZbcResultRef();
  124. setParameter("supcdgrupid", supcdgrupid);
  125. setParameter("supcdid", supcdid);
  126. setParameter("subcdgrupid", subcdgrupid);
  127. setParameter("sortfield", sortfield);
  128. setParameter("sortmethod", sortmethod);
  129. setParameter("minimum", minimum);
  130. model.removeNodeSet(resultref+"/"+subcdgrupid);
  131. model.makeNode(resultref+"/"+subcdgrupid);
  132. var success = submit("TRZBC00122", "false", getParameterPath(), zbcResultRef);
  133. var sourceNode = instance1.selectNodes(zbcResultRef+"/"+subcdgrupid);
  134. for(i=0; i<sourceNode.length; i++){
  135. model.duplicate(resultref, sourceNode.item(i));
  136. }
  137. removeZbcResultRef();
  138. clearParameter("supcdgrupid");
  139. clearParameter("supcdid");
  140. clearParameter("subcdgrupid");
  141. clearParameter("sortfield");
  142. clearParameter("sortmethod");
  143. clearParameter("minimum");
  144. }
  145. // 유형코드 조회(항상 서버에서 조회)
  146. function zbcfGetKindCodeListSubmit(bizid_list, cdgrupid_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list){
  147. makeZbcResultRef();
  148. for (key in rslt_ref_list){
  149. var bizid = bizid_list[key];
  150. var cdgrupid = cdgrupid_list[key];
  151. addParameter("bizid", bizid);
  152. addParameter("cdgrupid", cdgrupid);
  153. if(sortfield_list!=null){
  154. var sort_field = sortfield_list[key];
  155. addParameter("sortfield", sort_field);
  156. }
  157. if(sortmethod_list!=null){
  158. var sort_method = sortmethod_list[key];
  159. addParameter("sortmethod", sort_method);
  160. }
  161. }
  162. var submission;
  163. if(minimum){
  164. submission = "TRZBC00105";
  165. }else{
  166. submission = "TRZBC00104";
  167. }
  168. submit(submission, true, getParameterPath(), zbcResultRef);
  169. var bizid_count = getParameterCount("bizid");
  170. for(var key=0; key<bizid_count; key++){
  171. //var bizid = getParameter("bizid", key+1);
  172. //var cdgrupid = getParameter("cdgrupid", key+1);
  173. var bizid = bizid_list[key];
  174. var cdgrupid = cdgrupid_list[key];
  175. var targetPath = rslt_ref_list[key];
  176. var source_path = zbcResultRef + "/" + bizid + cdgrupid + "/" + bizid + cdgrupid;
  177. var sourceNode = instance1.selectNodes(source_path);
  178. for(i=0; i<sourceNode.length; i++){
  179. model.duplicate(targetPath, sourceNode.item(i));
  180. }
  181. }
  182. removeZbcResultRef();
  183. clearParameter("bizid");
  184. clearParameter("cdgrupid");
  185. clearParameter("sortfield");
  186. clearParameter("sortmethod");
  187. }
  188. function zbcfGetAllKindCodeList(bizid_list, cdgrupid_list, rslt_ref_list, minimum, sortfield_list, sortmethod_list){
  189. makeZbcResultRef();
  190. for (key in rslt_ref_list){
  191. var bizid = bizid_list[key];
  192. var cdgrupid = cdgrupid_list[key];
  193. addParameter("bizid", bizid);
  194. addParameter("cdgrupid", cdgrupid);
  195. addParameter("organcd", "000");
  196. if(sortfield_list!=null){
  197. var sort_field = sortfield_list[key];
  198. addParameter("sortfield", sort_field);
  199. }
  200. if(sortmethod_list!=null){
  201. var sort_method = sortmethod_list[key];
  202. addParameter("sortmethod", sort_method);
  203. }
  204. }
  205. var submission;
  206. if(minimum){
  207. submission = "TRZBC00105";
  208. }else{
  209. submission = "TRZBC00104";
  210. }
  211. submit(submission, true, getParameterPath(), zbcResultRef);
  212. var bizid_count = getParameterCount("bizid");
  213. for(var key=1; key<=bizid_count; key++){
  214. var bizid = getParameter("bizid", key);
  215. var cdgrupid = getParameter("cdgrupid", key);
  216. var targetPath = rslt_ref_list[key-1];
  217. var source_path = zbcResultRef+"/"+bizid+cdgrupid;
  218. var source_node = instance1.selectNodes(source_path);
  219. for(i=0; i<source_node.length; i++){
  220. model.duplicate(targetPath, source_node.item(i));
  221. }
  222. }
  223. removeZbcResultRef();
  224. clearParameter("bizid");
  225. clearParameter("cdgrupid");
  226. clearParameter("organcd");
  227. clearParameter("sortfield");
  228. clearParameter("sortmethod");
  229. }
  230. function zbcGetCodeGroupList(cdgrupid_alias, result_ref){
  231. makeZbcResultRef();
  232. setParameter("aliasid", cdgrupid_alias);
  233. //alert("refPath : "+getParameterPath()+", result_ref : "+zbcResultRef);
  234. submit("TRZBC00117", "true", getParameterPath(), zbcResultRef);
  235. model.copyNode(result_ref, zbcResultRef);
  236. removeZbcResultRef();
  237. clearParameter("aliasid");
  238. }
  239. function zbcfOpenCodeList(cdgrupid, recv_cdid_path, recv_cdnm_path, search_condition, search_term){
  240. makeZbcResultRef();
  241. setParameter("codeGroupID", cdgrupid);
  242. setParameter("receiveCodeIDPath", recv_cdid_path);
  243. setParameter("receiveCodeNamePath", recv_cdnm_path);
  244. setParameter("searchCondition", search_condition);
  245. setParameter("searchTerm", search_term);
  246. modal("../../../com/basiccodeweb/xrw/SPZBC00100");
  247. removeZbcResultRef();
  248. clearParameter("codeGroupID");
  249. clearParameter("receiveCodeIDPath");
  250. clearParameter("receiveCodeNamePath");
  251. clearParameter("searchCondition");
  252. clearParameter("searchTerm");
  253. }
  254. function zbcOpenCodeGroupList(search_condition, search_term, recv_cdgrupid_path, recv_cdgrupnm_path, is_admin){
  255. makeZbcResultRef();
  256. setParameter("search_condition", search_condition);
  257. setParameter("search_term", search_term);
  258. setParameter("recv_cdgrupid_path", recv_cdgrupid_path);
  259. setParameter("recv_cdgrupnm_path", recv_cdgrupnm_path);
  260. setParameter("is_admin", is_admin);
  261. modal("../../../com/basiccodeweb/xrw/SPZBC00200");
  262. removeZbcResultRef();
  263. clearParameter("search_term");
  264. clearParameter("search_condition");
  265. clearParameter("recv_cdgrupid_path");
  266. clearParameter("recv_cdgrupnm_path");
  267. }
  268. function zbcfOpenKindCodeList(bizid, cdgrupid, recv_cdid_path, recv_cdnm_path, search_condition, search_term){
  269. makeZbcResultRef();
  270. setParameter("biz_id", bizid);
  271. setParameter("cdgrup_id", cdgrupid);
  272. setParameter("search_condition", search_condition);
  273. setParameter("search_term", search_term);
  274. setParameter("recv_cdid_path", recv_cdid_path);
  275. setParameter("recv_cdnm_path", recv_cdnm_path);
  276. modal("../../../com/basiccodeweb/xrw/SPZBC00400");
  277. clearParameter("biz_id");
  278. clearParameter("cdgrup_id");
  279. clearParameter("search_condition");
  280. clearParameter("search_term");
  281. clearParameter("recv_cdid_path");
  282. clearParameter("recv_cdnm_path");
  283. removeZbcResultRef();
  284. }
  285. function zbcfOpenAllKindCodeList(bizid, cdgrupid, recv_cdid_path, recv_cdnm_path, search_condition, search_term){
  286. makeZbcResultRef();
  287. setParameter("biz_id", bizid);
  288. setParameter("cdgrup_id", cdgrupid);
  289. setParameter("organ_cd", '000');
  290. setParameter("search_condition", search_condition);
  291. setParameter("search_term", search_term);
  292. setParameter("recv_cdid_path", recv_cdid_path);
  293. setParameter("recv_cdnm_path", recv_cdnm_path);
  294. modal("../../../com/basiccodeweb/xrw/SPZBC00400");
  295. clearParameter("biz_id");
  296. clearParameter("cdgrup_id");
  297. clearParameter("organ_cd");
  298. clearParameter("search_condition");
  299. clearParameter("search_term");
  300. clearParameter("recv_cdid_path");
  301. clearParameter("recv_cdnm_path");
  302. removeZbcResultRef();
  303. }
  304. function zbcfOpenBizCodeList(searchCondition, searchTerm, receiveBizIDPath, receiveBizNMPath){
  305. makeZbcResultRef();
  306. setParameter("searchCondition", searchCondition);
  307. setParameter("searchTerm", searchTerm);
  308. setParameter("receiveBizIDPath", receiveBizIDPath);
  309. setParameter("receiveBizNMPath", receiveBizNMPath);
  310. modal("../../../com/basiccodeweb/xrw/SPZBC00300");
  311. clearParameter("searchCondition");
  312. clearParameter("searchTerm");
  313. clearParameter("receiveBizIDPath");
  314. clearParameter("receiveBizNMPath");
  315. removeZbcResultRef();
  316. }
  317. function zbcGetSubCodeGroupList(supcdsid, resultRef){
  318. makeZbcResultRef();
  319. setParameter("supcdsid", supcdsid);
  320. //alert("refPath : "+getParameterPath()+", resultRef : "+resultRefPath);
  321. submit("TRZBC00117", "true", getParameterPath(), zbcResultRef);
  322. model.copyNode(resultRef, zbcResultRef);
  323. clearParameter("supcdsid");
  324. removeZbcResultRef();
  325. }
  326. function fFindGridTreeItem(grid, target, target_col_idx, level_col_idx){
  327. var target_parents_list = new Array();
  328. var target_index = -1;
  329. for(var i = grid.fixedrows; i <grid.rows; i++){
  330. var source = grid.valueMatrix(i, target_col_idx);
  331. if(target==source){
  332. target_index = i;
  333. var target_offset = i;
  334. var prev_level = grid.valueMatrix(target_offset, level_col_idx);
  335. var target_parents_list_offset = 0;
  336. while( prev_level > 1 ){
  337. var level = grid.valueMatrix(target_offset, level_col_idx);
  338. if(level>=prev_level) {
  339. target_offset = target_offset - 1;
  340. continue;
  341. }else if(level<prev_level){
  342. var prev_level = level;
  343. target_parents_list[target_parents_list_offset++] = target_offset;
  344. target_offset = target_offset - 1;
  345. }
  346. }
  347. for (i=target_parents_list.length; i>0; i--){
  348. var varidx = i-1;
  349. var target_parents = target_parents_list[varidx];
  350. grid.iscollapsed(target_parents)=false;
  351. }
  352. break;
  353. }
  354. }
  355. return target_index;
  356. }
  357. function fFindGridItem(grid, targetcolidx, target){
  358. for( var i=grid.fixedrows; i<grid.rows; i++){
  359. var source = grid.valueMatrix(i, targetcolidx);
  360. if(target == source){
  361. grid.row = i;
  362. break;
  363. }
  364. }
  365. var row = grid.row;
  366. return row;
  367. }
  368. function fAuthorize(authinstcd, authdeptcd){
  369. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  370. var dutplcecd = sysf_getUserInfo("dutplcecd");
  371. if(authinstcd==dutplceinstcd&&authdeptcd==dutplcecd){
  372. return true;
  373. }else{
  374. return false;
  375. }
  376. }
  377. function fGetUserInfo(key){
  378. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  379. var dutplceinstnm = sysf_getUserInfo("dutplceinstnm");
  380. var dutplcecd = sysf_getUserInfo("dutplcecd");
  381. var dutplcenm = sysf_getUserInfo("dutplcenm");
  382. var userid = sysf_getUserInfo("userid");
  383. var usernm = sysf_getUserInfo("usernm");
  384. return dutplceinstnm+"('"+dutplceinstcd+"')기관,"+dutplcenm+"('"+dutplcecd+"')부서,"+usernm+"('"+userid+"')사용자" ;
  385. }
  386. ]]></Script>