123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- * 원무 공통 함수
- * PAM001.js
- * 작성자 : 최병진
- * 작성일 : 2009.03.20
- * 수정이력
- */
- var pamCodeResultRef = "/root/hidden/pam/resultref"; // 공통코드를 맵핑시킬 임시 결과 path
- /* 원무공통코드 리스트 조회
- *
- * 전제조건 : TRPAM00105 submission이 추가되어야 한다.
- */
- function pamfGetCodeList_backup(cd_grup_id_list, rslt_ref_list, sortfield_list, sortmethod_list) {
- model.makeNode(pamCodeResultRef); // 결과를 맵핑시킬 XPath에 대한 instance 생성
-
- // 코드ID별 파라미터 생성
- for (key in cd_grup_id_list){
- addParameter("cdgrupid", cd_grup_id_list[key]);
- if(sortfield_list != null){
- addParameter("sortfield", sortfield_list[key]);
- }else{
- addParameter("sortfield", "dispseq");
- }
- if(sortmethod_list != null){
- addParameter("sortmethod", sortmethod_list[key]);
- }else{
- addParameter("sortmethod", "asc");
- }
- }
-
- var submit_id = "TRPAM00105";
- var success = submit(submit_id, "false", getParameterPath(), pamCodeResultRef);
- for(key in cd_grup_id_list){
- var target_path = rslt_ref_list[key];
- if(target_path== null ){
- target_path = rslt_ref_list[key-1];
- }
- var source_path = pamCodeResultRef+"/"+cd_grup_id_list[key]+"/"+cd_grup_id_list[key];
- var sourceNode = instance1.selectNodes(pamCodeResultRef+"/"+cd_grup_id_list[key]+"/"+cd_grup_id_list[key]);
- for(var i = 0 ; i < sourceNode.length ; i++){
- model.duplicate(target_path, sourceNode.item(i));
- }
- }
-
- model.removeNode(pamCodeResultRef);
- clearParameter("cdgrupid");
- clearParameter("sortfield");
- clearParameter("sortmethod");
- }
- /**********************************************************************************
- * 함 수 명 : appf_getCodeList
- * 설 명 : 원무 공통 코드를 가져온다.
- * argument : arrParam
- * # cdGrpId(필수) - 코드ID
- * # dsNm(필수) - 가져온 코드를 담을 dataset 명
- * # sortField(선택) - 정렬할 컬럼명 (cdid, cdnm, dispseq)
- * # sortMehotd(선택) - 정렬 방법 (asc, desc)
- * # showValue(선택) - code column을 datacolumn과 같이 표시한다.(출력예 : [001] 등록비 )
- * 작성예) [{dsNm: "ds_code_1", cdGrpId: "R3310", sortField: "cdnm", sortMehotd: "desc", showValue:true}
- * , {dsNm: "ds_code_2", cdGrpId: "R3310", sortField: "cdnm", sortMehotd: "desc", showValue:true}]
- * bAsync - 동기 / 비동기 여부
- * sCallback - callback 함수명
- * return Type :
- * 작성자 : 최재원
- **********************************************************************************/
- function pamfGetCodeList(arrParam, bAsync, sCallback){
-
- //pamfGetCodeListSubmit 인자값
- var arrSubmitParam = new Array();
-
- //비동기 여부가 null일때 false
- //기본 비동기
- if(utlf_isNull(bAsync)){
- bAsync = false;
- }
-
- for(var i in arrParam){
-
- if(utlf_isNull(arrParam[i].showValue)) arrParam[i].showValue = false;
-
- arrSubmitParam.push(arrParam[i]);
- }
-
- if(arrSubmitParam.length > 0){
- pamfGetCodeListSubmit(arrSubmitParam, bAsync, sCallback);
- }else{
- if(sCallback == null) return;
- if(sCallback == "undefined") return;
- if(sCallback.length == 0) return;
- if(bAsync) eval(sCallback + "();");
- }
- }
- /**********************************************************************************
- * 함 수 명 : pamfGetCodeListSubmit
- * 설 명 : 원무 공통 코드를 DB에서 가져온다.
- * argument : sCallback - callback function
- * arrParam
- * #cdGrpId(필수) - 코드ID
- * #dsNm(필수) - 가져온 코드를 담을 dataset 명
- * #sortField(선택) - 정렬할 컬럼명 (cdid, cdnm, dispseq)
- * #sortMehotd(선택) - 정렬 방법 (asc, desc)
- * #showValue(선택) - code column을 datacolumn과 같이 표시한다.(출력예 : [001] 등록비 )
- * 작성예) [{cdGrpId: "R3310", dsNm: "ds_code_1", sortField: "cdnm", sortMehotd: "desc", showValue: true}
- * , {cdGrpId: "R3310", dsNm: "ds_code_2", sortField: "cdnm", sortMehotd: "desc", showValue: true}]
- * bAsync - 동기 / 비동기 여부
- * sCallback - callback 함수명
- * return Type :
- * 작성자 : 최재원
- **********************************************************************************/
- function pamfGetCodeListSubmit(arrParam, bAsync, sCallback){
-
- // var S_IN_DS_CMD = "appf_ds_cmd_pamfGetCodeListSubmit";
- var S_IN_DS_REQ = "ds_req_pamfGetCodeListSubmit";
-
- var sInDsCmd = "";
- var sOutDs = "";
- var sOutParam = "";
- var sGrpIds = "";
- var sDupDs = "";
-
- var sMinimum = "true";
-
- //inds req 생성
- if(this.objects[S_IN_DS_REQ] != null){
- this.objects[S_IN_DS_REQ].clear();
- }else{
- var objDs = new Dataset;
- this.addChild(S_IN_DS_REQ, objDs);
- }
- this.objects[S_IN_DS_REQ].addColumn("cdgrupid", "String", "256");
-
- var sTrId = "tr_reqpamfGetCodeLists~";
- //outds string 생성
- for(var i in arrParam){
-
- //arrParam[i].dsNm 이 form에 없을때만 생성한다.
- if(utlf_isNull(this.objects[arrParam[i].dsNm])){
- dsf_createDs(arrParam[i].dsNm);
- }
- //trace("before="+this.objects[arrParam[i].dsNm].name);
- this.objects[S_IN_DS_REQ].addRow();
- this.objects[S_IN_DS_REQ].setColumn(i, "cdgrupid", arrParam[i].cdGrpId);
-
- if(utlf_isNull(arrParam[i].sortField)){
- this.objects[S_IN_DS_REQ].addColumn("sortfield", "String", "256");
- this.objects[S_IN_DS_REQ].setColumn(i, "sortfield", "dispseq");
- }else{
- this.objects[S_IN_DS_REQ].addColumn("sortfield", "String", "256");
- this.objects[S_IN_DS_REQ].setColumn(i, "sortfield", arrParam[i].sortField);
- }
-
- if(!utlf_isNull(arrParam[i].sortMehotd)){
- this.objects[S_IN_DS_REQ].addColumn("sortmethod", "String", "256");
- this.objects[S_IN_DS_REQ].setColumn(i, "sortmethod", "asc");
- }else{
- this.objects[S_IN_DS_REQ].addColumn("sortmethod", "String", "256");
- this.objects[S_IN_DS_REQ].setColumn(i, "sortmethod", arrParam[i].sortMehotd);
- }
-
-
- sGrpIds = sGrpIds + arrParam[i].cdGrpId + " ";
- //sTrId = sTrId+arrParam[i].dsNm+"~";
- if(utlf_getStrCount(sGrpIds, arrParam[i].cdGrpId) == 1){
- sOutDs = sOutDs + arrParam[i].dsNm+"="+arrParam[i].cdGrpId+" ";
- sOutParam = sOutParam + arrParam[i].dsNm+"="+arrParam[i].cdGrpId+"="+arrParam[i].showValue+" ";
- }else if(utlf_getStrCount(sGrpIds, arrParam[i].cdGrpId) > 1){
- sDupDs = sDupDs + arrParam[i].dsNm+"="+arrParam[i].cdGrpId+"="+arrParam[i].showValue+" ";
- }
- }
-
- var sAsync = "FALSE";
- if(bAsync) sAsync = "TRUE";
- sTrId = sTrId + sOutParam + "~" + sAsync + "~" + sCallback + "~" + sDupDs;
-
- var objTrParam = new Object();
- objTrParam.id = sTrId;
- objTrParam.service = "pamcomnapp.PamComn";
- objTrParam.method = "reqGetPamCodeLists";
- objTrParam.inds = "req="+S_IN_DS_REQ;
- objTrParam.outds = sOutDs;
- objTrParam.callback = "cbf_tr_reqpamfGetCodeLists";
- objTrParam.async = bAsync;
-
- tranf_submit(objTrParam);
- }
- function cbf_tr_reqpamfGetCodeLists(sSvcId, nErrorCode, sErrorMsg){
-
- //var arrSvcParam = sSvcId.split("~");
- var sTranId = sSvcId.split("~")[0];
- var sOutDs = sSvcId.split("~")[1];
- var sAsync = sSvcId.split("~")[2];
- var sCallback = sSvcId.split("~")[3];
- var sDupDs = sSvcId.split("~")[4];
-
- var arrOutDs = sOutDs.split(" ");
-
- //Quick View를 위하여 예외처리함. Quick View실행 시 cache에 등록하지 않는다.
-
- //db에서 가져온 코드를 top영역의 code cache에 등록한다.
- // for(var i=0 ; i<arrOutDs.length ; i++){
- // var arrTempDsNm = arrOutDs[i].split("=");
- //
- // if(!utlf_isNull(arrOutDs[i])){
- // this.objects[arrTempDsNm[0]].name = arrTempDsNm[1];
- // try{
- // agv_objAppTopPath.form.setComnCodeCache(this.objects[arrTempDsNm[0]]);
- // }catch(e){
- // sysf_catchTrace(e);
- // }
- // if(arrTempDsNm[2] == "true") appf_showValue(this.objects[arrTempDsNm[0]]);
- // }
- // }
-
- //중복된 코드를 복사한다.
- // if(!utlf_isNull(sDupDs)){
- // //trace("중복="+sDupDs);
- // var arrDupDs = sDupDs.split(" ");
- // for(var i in arrDupDs){
- // if(!utlf_isNull(arrDupDs[i])){
- // var sDupDsNm = arrDupDs[i].split("=")[0];
- // var sDupGrpCd = arrDupDs[i].split("=")[1];
- // var sShowValue = arrDupDs[i].split("=")[2];
- //
- // var objCachedDs = agv_objAppTopPath.form.getComnCodeCache(sDupGrpCd);
- //
- // if(this.objects[sDupDsNm] == null){
- // //form에 ds이 없으면 새로 생성하고 복사
- // dsf_createDs(sDupDsNm);
- // this.objects[sDupDsNm].copyData(objCachedDs);
- // if(sShowValue == "true") appf_showValue(this.objects[sDupDsNm]);
- // }else{
- // //form에 ds이 있으면 복사만
- // this.objects[sDupDsNm].copyData(objCachedDs);
- // if(sShowValue == "true") appf_showValue(this.objects[sDupDsNm])
- // }
- // }
- // }
- // }
- //
- // Form Callback 함수 호출 async가 true일때만
- //if(arrSvcParam[2] == "TRUE"){
- //if(arrSvcParam[3] == "null") return;
- if(sCallback == null) return;
- if(sCallback == "undefined") return;
- if(sCallback.length == 0) return;
- eval(sCallback + "('" + sTranId + "', '" + nErrorCode + "', '" + sErrorMsg + "');");
- //}
- }]]></Script>
|