12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- var gvZBCCodeResultRef = "/root/hidden/zbc/resultref";
- var gvZBCCodeCachePath="/root/hidden/zbccode";
- // 이 함수는 시스템 메시지바 화면에서 공통코드 및 유형코드 Cache를 위하여 사용된다.
- // biz_id_list 가 null이면 공통코드, null 이 아니면 유형코드이다.
- // minmum, sortfield_list, sortmethod_list 가 모두 null 인 경우에만 Cache에 저장된다.
- function zbcfGetCodeListCache(biz_id_list, cd_grup_id_list){
- model.makeNode(gvZBCCodeCachePath);
- model.makeNode(gvZBCCodeResultRef);
-
- var isKindCode = null;
- if (biz_id_list == null) {
- isKindCode = false;
- } else {
- isKindCode = true;
- }
- var biz_id = null;
- var cd_grup = null;
- var cd_grup_key = null;
- var cd_grup_node = null;
- var cd_grup_cnt = 0;
-
- // 요청한 코드그룹 ID들 중에서 Cache에 존재하지 않는 코드그룹 ID들만 submit 하도록 추린다.
- for(key in cd_grup_id_list) {
- cd_grup = cd_grup_id_list[key];
- if (isKindCode) {
- biz_id = biz_id_list[key];
- cd_grup_key = biz_id + cd_grup; // 유형코드에서 인스턴스는 업무구분과 코드그룹ID를 붙여서 사용한다.
- } else {
- cd_grup_key = cd_grup;
- }
- // 코드그룹이 이미 Cache에 존재하는지 확인한다.
- cd_grup_node = instance1.selectSingleNode(gvZBCCodeCachePath+"/"+cd_grup_key);
- if (cd_grup_node == null) { // Cache에 존재하지 않는다. 조회 조건에 추가한다.
- cd_grup_cnt = cd_grup_cnt + 1;
- if (isKindCode) {
- addParameter("bizid",biz_id);
- }
- addParameter("cdgrupid",cd_grup);
- addParameter("sortfield","dispseq");
- addParameter("sortmethod", "asc");
- }
- }
-
- var sourceNode = null;
- var submit_id = null;
- if (isKindCode) {
- submit_id = "TRZBC00105"; // 유형코드 조회용 submit
- } else {
- submit_id = "TRZBC00101"; // 공통코드 조회용 submit
- }
-
- if (cd_grup_cnt > 0) { // Cache에 없는 코드그룹들이 추려졌으므로 이를 사용하여 조회한다.
- if (submit(submit_id, "false", getParameterPath(), gvZBCCodeResultRef)) {
- // 조회된 코드 그룹 하나하나를 Cache 저장소로 이동시킨다.
- cd_grup_cnt = getParameterCount("cdgrupid");
- for(var i=0;i<cd_grup_cnt;i++) {
- cd_grup = getParameter("cdgrupid",i+1);
- if (isKindCode) {
- biz_id = getParameter("bizid",i+1);
- cd_grup_key = biz_id + cd_grup;
- } else {
- cd_grup_key = cd_grup;
- }
- //sourceNode = instance1.selectSingleNode(gvZBCCodeResultRef+"/"+cd_grup);
- //alert(gvZBCCodeCachePath+"/"+cd_grup+","+gvZBCCodeResultRef+"/"+cd_grup);
- model.makeNode(gvZBCCodeCachePath+"/"+cd_grup_key);
- model.copyNode(gvZBCCodeCachePath+"/"+cd_grup_key, gvZBCCodeResultRef+"/"+cd_grup_key);
- }
-
- model.removeNode(gvZBCCodeResultRef);
- clearParameter("bizid");
- clearParameter("cdgrupid");
- clearParameter("sortfield");
- clearParameter("sortmethod");
- }
- }
- }
|