(function(){function _openAPI(){'use strict';var api={};api['version']='1.1';api['status']='success';var defaultDt=function(){var dd=new Date();var to=dd.getFullYear()+'.'+(dd.getMonth()+1<10?'0'+(dd.getMonth()+1):dd.getMonth()+1)+'.'+(dd.getDate()<10?'0'+dd.getDate():dd.getDate());dd.setMonth(dd.getMonth()-1);var from=dd.getFullYear()+'.'+(dd.getMonth()+1<10?'0'+(dd.getMonth()+1):dd.getMonth()+1)+'.'+(dd.getDate()<10?'0'+dd.getDate():dd.getDate());return{from:from,to:to}};var config={'collection':'PDINFOLIST','index':'PDINFOLIST_@yyyy_Q@','keyword':'','date':{'period':'','field':'REGDATE','from':defaultDt().from,'to':defaultDt().to},'sort':[{'field':'REGDATE','asc':'false'},{'field':'[SCORE]','asc':'false'}],'page':{'offset':'1','count':10},'fields':{'returnFields':'IDX_KEY/CLFPATH/DLSRCD/REGDATE/DEPTCD/DSCLASCD/GVRNCD/GVRNNM/GVRNPATH/DEPTNM/UNTBSNM/URTXT_YN','mergedFields':'','mergedReturnCharCount':60,'returnHighlightFields':'TITLE','facet':null},'option':{'operator':'AND','saveTotalcount':1},'custom':{'pubopen':'true','GVRNMAPCD':'1230000'},'debug':false}; var valideDate = function(dt) { let regEx = /^\d{4}(\.|-|)\d{2}(\.|-|)\d{2}$/; return regEx.test(dt);}; var valideDate2 = function(dt) { let year = dt.substring(0,4); let month = dt.substring(5,7); let day = dt.substring(8,10); let hour = dt.substring(11,13); let minute = dt.substring(14,16); let second = dt.substring(17,19); let inputDate = new Date(year,month,day,hour,minute,second); return !(isNaN(inputDate.getTime())); }; var valideDate3 = function(st_dt, ed_dt) { let chk_st_dt = new Date(st_dt), chk_ed_dt = new Date(ed_dt), bResult = true; if (parseInt((chk_ed_dt - chk_st_dt)/86400000) > 31){ bResult = false; } return bResult; }; api.param={q:null,fromDt:null,toDt:null,pageNo:null,display:null,sort:null,nstCd:null};api.getList=function(callback){var pr=ObjectCopy(config);for(var key in api.param){var pValue=api.param[key];if(pValue){switch(key){case'q':pValue?pr.keyword=pValue:null;break;case'fromDt':pValue?pr.date.from=pValue:null;break;case'toDt':pValue?pr.date.to=pValue:null;break;case'pageNo':pValue?pr.page.offset=pValue:null;break;case'display':pValue?pr.page.count=pValue:null;break;case'sort':if(pValue=='title'){pr.sort[0].field='TITLE_SORT';pr.sort[0].asc='true'}else{pr.sort[0].field='REGDATE';pr.sort[0].asc='false'}break;case'nstCd':if(api.nstList){var nstCheck=$.grep(openAPI.nstList,function(e){return e.nstCd==pValue});var ori=$.grep(openAPI.nstList,function(e){return e.uprNstCd=='0000000'});if(nstCheck.length>0){pValue?pr.custom.GVRNMAPCD=pValue:null}else{ori[0].nstCd?pr.custom.GVRNMAPCD=ori[0].nstCd:null}}break;default:break}}};if (!valideDate(pr.date.from)){ callback(null,{ request: openAPI.param,status: 'ERR_5102', error: '정상적인 날짜 형식이 아닙니다. 날짜 형식을 확인해 주세요.' }); return false }; if (!valideDate(pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5102', error: '정상적인 날짜 형식이 아닙니다. 날짜 형식을 확인해 주세요.' }); return false }; if (!valideDate2(pr.date.from)){ callback(null,{ request: openAPI.param,status: 'ERR_5101', error: '정상적인 날가 아닙니다. 조회 날짜를 확인해 주세요.' }); return false }; if (!valideDate2(pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5101', error: '정상적인 날자가 아닙니다. 조회 날자를 확인해 주세요.' }); return false }; if (!valideDate3(pr.date.from, pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5201', error: '검색 기간이 초과되었습니다. 검색 기간을 1개월 이내로 설정해 주세요.' }); return false }; if (openAPI.param.pageNo > 999){ callback(null,{ request: openAPI.param,status: 'ERR_5401', error: '조회 가능한 검색 페이지가 초과되었습니다. 검색 기간 및 검색어를 설정해 주세요.' }); return false }var params=JSON.stringify({'version':'1.1','service':'FTR','module':'GvrnService','func':'getResult','firstCall':false,'param':pr});$.ajax({type:'GET',url:'https://www.open.go.kr:443/search/service.do',data:escape(encodeURIComponent(params)),contentType:'application/json; charset=UTF-8',dataType:'JSONP',success:function(data){var keyList=['TITLE','DEPTNM','DEPTCD','GVRNCD','GVRNNM','GVRNPATH','REGDATE','UNTBSNM'];var rtnList=[];if(data.resultData){var info=data.resultData.info;for(var i in data.resultData.data){var rtnData={};var idxKey=data.resultData.data[i].IDX_KEY.split('_');for(var k in keyList){rtnData[keyList[k]]=data.resultData.data[i][keyList[k]]};rtnData['PRDNDT']=idxKey[0];rtnData['PRDNNSTRGSTNO']=idxKey[1];rtnList.push(rtnData)};callback({data:rtnList,info:{pageNo:info.pageOffset,display:info.pagePerNumber,totalCount:info.totalcount}},null)}else{callback(null,{request:JSON.parse(params),status:data.status,error:data.message})}},error:function(XMLHttpRequest,textStatus,errorThrown){callback(null,{request:XMLHttpRequest,status:textStatus,error:errorThrown})}})};api.getDetail=function(prdnDt,prdnNstRgstNo,callback){var rtnList=['prdnDt','prdnNstRgstNo','infoSj','prcsNstNm','chrgDeptNm','chgrNmpn','prdnDtView','docNo','prsrvPdCd','unitJobNm','dlsrCdNm','nstClNm'];$.ajax({url:'https://www.open.go.kr:443/api/orginlDetail.down',data:{'prdnDt':prdnDt,'prdnNstRgstNo':prdnNstRgstNo},dataType:'jsonp',contentType:'application/jsonp; charset=UTF-8',success:function(data){var rtnObj={};for(var i in rtnList){rtnObj[rtnList[i]]=data[rtnList[i]]};callback(rtnObj,null)},error:function(XMLHttpRequest,textStatus,errorThrown){callback(null,{request:XMLHttpRequest,status:textStatus,error:errorThrown})}})};api.getBillingUrl=function(prdnDt,prdnNstRgstNo,callback){$.ajax({url:'https://www.open.go.kr:443/api/orginlDetail.down',data:{'prdnDt':prdnDt,'prdnNstRgstNo':prdnNstRgstNo},dataType:'jsonp',contentType:'application/jsonp;charset=UTF-8',success:function(data){var url='https://www.open.go.kr:443/rqestMlrd/rqestReg/rqestRegWritingForm.do?prdctnDt='+data.prdnDt+'&prdctnInsttRegistNo='+data.prdnNstRgstNo+'&rqestInsttCd='+data.rceptInsttCd+'&rqestInsttNm='+data.rceptInsttCdNm+'&rqestSj='+data.infoSj;url=encodeURI(url);callback(url,null)},error:function(XMLHttpRequest,textStatus,errorThrown){callback(null,{request:XMLHttpRequest,status:textStatus,error:errorThrown})}})};api.getWonmunList=function(callback){config.custom['govmType']='';config.custom['dsclascd']='';config.custom['popularSearch']='false';config.custom['partopen']='true';config.custom['urtxtYn']='Y';config.custom['dlsrcd']='1 OR 2 OR 4';config.custom['urtxtFile']='true';var pr=ObjectCopy(config);for(var key in api.param){var pValue=api.param[key];if(pValue){switch(key){case'q':pValue?pr.keyword=pValue:null;break;case'fromDt':pValue?pr.date.from=pValue:null;break;case'toDt':pValue?pr.date.to=pValue:null;break;case'pageNo':pValue?pr.page.offset=pValue:null;break;case'display':pValue?pr.page.count=pValue:null;break;case'sort':if(pValue=='title'){pr.sort[0].field='TITLE_SORT';pr.sort[0].asc='true'}else{pr.sort[0].field='REGDATE';pr.sort[0].asc='false'}break;case'nstCd':if(api.nstList){var nstCheck=$.grep(openAPI.nstList,function(e){return e.nstCd==pValue});var ori=$.grep(openAPI.nstList,function(e){return e.uprNstCd=='0000000'});if(nstCheck.length>0){pValue?pr.custom.GVRNMAPCD=pValue:null}else{ori[0].nstCd?pr.custom.GVRNMAPCD=ori[0].nstCd:null}}break;default:break}}};if (!valideDate(pr.date.from)){ callback(null,{ request: openAPI.param,status: 'ERR_5102', error: '정상적인 날짜 형식이 아닙니다. 날짜 형식을 확인해 주세요.' }); return false }; if (!valideDate(pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5102', error: '정상적인 날짜 형식이 아닙니다. 날짜 형식을 확인해 주세요.' }); return false }; if (!valideDate2(pr.date.from)){ callback(null,{ request: openAPI.param,status: 'ERR_5101', error: '정상적인 날가 아닙니다. 조회 날짜를 확인해 주세요.' }); return false }; if (!valideDate2(pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5101', error: '정상적인 날자가 아닙니다. 조회 날자를 확인해 주세요.' }); return false }; if (!valideDate3(pr.date.from, pr.date.to)){ callback(null,{ request: openAPI.param,status: 'ERR_5201', error: '검색 기간이 초과되었습니다. 검색 기간을 1개월 이내로 설정해 주세요.' }); return false }; if (openAPI.param.pageNo > 999){ callback(null,{ request: openAPI.param,status: 'ERR_5401', error: '조회 가능한 검색 페이지가 초과되었습니다. 검색 기간 및 검색어를 설정해 주세요.' }); return false }var params=JSON.stringify({'version':'1.1','service':'FTR','module':'GvrnService','func':'getResult','firstCall':false,'param':pr});$.ajax({type:'GET',url:'https://www.open.go.kr:443/search/service.do',data:escape(encodeURIComponent(params)),contentType:'application/json; charset=UTF-8',dataType:'JSONP',success:function(data){var keyList=['TITLE','DEPTNM','DEPTCD','GVRNCD','GVRNNM','GVRNPATH','REGDATE','UNTBSNM'];var rtnList=[];if(data.resultData){var info=data.resultData.info;for(var i in data.resultData.data){var rtnData={};var idxKey=data.resultData.data[i].IDX_KEY.split('_');for(var k in keyList){rtnData[keyList[k]]=data.resultData.data[i][keyList[k]]};rtnData['PRDNDT']=idxKey[0];rtnData['PRDNNSTRGSTNO']=idxKey[1];rtnList.push(rtnData)};callback({data:rtnList,info:{pageNo:info.pageOffset,display:info.pagePerNumber,totalCount:info.totalcount}},null)}else{callback(null,{request:JSON.parse(params),status:data.status,error:data.message})}},error:function(XMLHttpRequest,textStatus,errorThrown){callback(null,{request:XMLHttpRequest,status:textStatus,error:errorThrown})}})};api.getWonmunUrl=function(prdnDt,prdnNstRgstNo,callback){$.ajax({url:'https://www.open.go.kr:443/api/orginlDetail.down',data:{'prdnDt':prdnDt,'prdnNstRgstNo':prdnNstRgstNo},dataType:'jsonp',contentType:'application/jsonp;charset=UTF-8',success:function(data){if(data.urtxtYn==='Y'){var url='https://www.open.go.kr:443/othicInfo/infoList/infoListDetl.do?prdnDt='+data.prdnDt+'&prdnNstRgstNo='+data.prdnNstRgstNo;url=encodeURI(url);callback(url,null)}else{callback(null,{status:200,error:'원문 문서가 아닙니다.'})}},error:function(XMLHttpRequest,textStatus,errorThrown){callback(null,{request:XMLHttpRequest,status:textStatus,error:errorThrown})}})};var ObjectCopy=function(obj){return JSON.parse(JSON.stringify(obj))};return api}if(typeof define==='function'&&define.amd)define(_openAPI);else if(typeof module==='object'&&module.exports)module.exports=_openAPI();else this.openAPI=_openAPI()})();