Commit 7edeb56f by 李宏达

Merge branch 'ipop-web' of gitlab.gongsibao.com:jiangyong/zhichan into ipop-web

parents a80d57a5 373ce68b
var System=require("../../system"); var System = require("../../system");
var settings=require("../../../config/settings"); var settings = require("../../../config/settings");
const querystring = require('querystring'); const querystring = require('querystring');
const ApiBase =require("../api.base"); const ApiBase = require("../api.base");
class ChinaPatentSearchApi extends ApiBase{ class ChinaPatentSearchApi extends ApiBase {
constructor(){ constructor() {
super(); super();
this.patentUrl = settings.reqEsAddrIc()+"bigdata_patent_op/_search"; this.patentUrl = settings.reqEsAddrIc() + "bigdata_patent_op/_search";
}; };
buildDate(date){ buildDate(date) {
var date = new Date(date); var date = new Date(date);
var time = Date.parse(date); var time = Date.parse(date);
time=time / 1000; time = time / 1000;
return time; return time;
}; };
async ObtainChinaPatentInfo(obj){ async ObtainChinaPatentInfo(obj) {
console.log("----------------api-ObtainChinaPatentInfo----------------"); console.log("----------------api-ObtainChinaPatentInfo----------------");
console.log(obj); console.log(obj);
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
} }
}, },
}; };
var applynum=obj.applynum==null?"":obj.applynum;//专利申请号 var applynum = obj.applynum == null ? "" : obj.applynum;//专利申请号
if (applynum != null && applynum != ""){ if (applynum != null && applynum != "") {
var param = { var param = {
"term": { "term": {
"filing_no": applynum "filing_no": applynum
...@@ -37,16 +37,16 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -37,16 +37,16 @@ class ChinaPatentSearchApi extends ApiBase{
} }
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var publishnum=obj.publishnum==null?"":obj.publishnum;//专利公开号 var publishnum = obj.publishnum == null ? "" : obj.publishnum;//专利公开号
if (publishnum != null && publishnum != ""){ if (publishnum != null && publishnum != "") {
var arr= publishnum.split(""); var arr = publishnum.split("");
if(arr[arr.length-1]=="A"){ if (arr[arr.length - 1] == "A") {
var param = { var param = {
"term": { "term": {
"pub_no": publishnum "pub_no": publishnum
} }
}; };
}else{ } else {
var param = { var param = {
"term": { "term": {
"gr_no": publishnum "gr_no": publishnum
...@@ -55,48 +55,48 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -55,48 +55,48 @@ class ChinaPatentSearchApi extends ApiBase{
} }
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits.hits data: j.hits.hits
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null data: null
}; };
} }
}; };
async CommomSearchbyTitle(obj){//根据标题查询聚合 async CommomSearchbyTitle(obj) {//根据标题查询聚合
console.log("--------CommomSearchbyTitle----------"); console.log("--------CommomSearchbyTitle----------");
console.log(obj); console.log(obj);
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var title = obj.title==null?"":obj.title; var title = obj.title == null ? "" : obj.title;
if(title==""){ if (title == "") {
return {status:-1,msg:"传入标题信息为空",data:null,buckets:null}; return { status: -1, msg: "传入标题信息为空", data: null, buckets: null };
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
...@@ -134,14 +134,14 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -134,14 +134,14 @@ class ChinaPatentSearchApi extends ApiBase{
"terms": { "terms": {
"field": "filing_year", "field": "filing_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
}, },
"group_by_pub_year": { "group_by_pub_year": {
"terms": { "terms": {
"field": "pub_year", "field": "pub_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
} }
} }
...@@ -154,8 +154,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -154,8 +154,8 @@ class ChinaPatentSearchApi extends ApiBase{
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
var pubtype=obj.pubtype==null?"":obj.pubtype;//专利类型 var pubtype = obj.pubtype == null ? "" : obj.pubtype;//专利类型
if (pubtype != null && pubtype != ""){ if (pubtype != null && pubtype != "") {
param = { param = {
"term": { "term": {
"pub_type": pubtype "pub_type": pubtype
...@@ -164,8 +164,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -164,8 +164,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubstatus = obj.pubstatus==null?"":obj.pubstatus;//法律状态 var pubstatus = obj.pubstatus == null ? "" : obj.pubstatus;//法律状态
if (pubstatus != null && pubstatus != ""){ if (pubstatus != null && pubstatus != "") {
param = { param = {
"term": { "term": {
"pub_status": pubstatus "pub_status": pubstatus
...@@ -174,8 +174,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -174,8 +174,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingyear = obj.filingyear==null?"":obj.filingyear;//申请年份 var filingyear = obj.filingyear == null ? "" : obj.filingyear;//申请年份
if (filingyear != null && filingyear !=""){ if (filingyear != null && filingyear != "") {
param = { param = {
"term": { "term": {
"filing_year": filingyear "filing_year": filingyear
...@@ -184,8 +184,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -184,8 +184,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubyear = obj.pubyear==null?"":obj.pubyear;//公开年份 var pubyear = obj.pubyear == null ? "" : obj.pubyear;//公开年份
if (pubyear != null && pubyear != ""){ if (pubyear != null && pubyear != "") {
param = { param = {
"term": { "term": {
"pub_year": pubyear "pub_year": pubyear
...@@ -193,57 +193,57 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -193,57 +193,57 @@ class ChinaPatentSearchApi extends ApiBase{
} }
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits, data: j.hits,
buckets:j.aggregations buckets: j.aggregations
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null, data: null,
buckets:null buckets: null
}; };
} }
}; };
async CommomSearchbyFilingno(obj){//根据申请号查询聚合 async CommomSearchbyFilingno(obj) {//根据申请号查询聚合
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var filingno = obj.filingno==null?"":obj.filingno; var filingno = obj.filingno == null ? "" : obj.filingno;
if(filingno==""){ if (filingno == "") {
return {status:-1,msg:"传入的申请号信息为空",data:null,buckets:null}; return { status: -1, msg: "传入的申请号信息为空", data: null, buckets: null };
} }
else{ else {
filingno = filingno.replace("CN","").replace("cn","").replace(".",""); filingno = filingno.replace("CN", "").replace("cn", "").replace(".", "");
if (filingno.length == 13){ if (filingno.length == 13) {
filingno = filingno.substr(0,12); filingno = filingno.substr(0, 12);
} }
else if (filingno.length == 9){ else if (filingno.length == 9) {
filingno = filingno.substr(0,8); filingno = filingno.substr(0, 8);
} }
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
...@@ -281,14 +281,14 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -281,14 +281,14 @@ class ChinaPatentSearchApi extends ApiBase{
"terms": { "terms": {
"field": "filing_year", "field": "filing_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
}, },
"group_by_pub_year": { "group_by_pub_year": {
"terms": { "terms": {
"field": "pub_year", "field": "pub_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
} }
} }
...@@ -296,13 +296,13 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -296,13 +296,13 @@ class ChinaPatentSearchApi extends ApiBase{
var param = { var param = {
"wildcard": { "wildcard": {
"filing_no": "*"+filingno+"*" "filing_no": "*" + filingno + "*"
} }
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
var pubtype=obj.pubtype==null?"":obj.pubtype;//专利类型 var pubtype = obj.pubtype == null ? "" : obj.pubtype;//专利类型
if (pubtype != null && pubtype != ""){ if (pubtype != null && pubtype != "") {
param = { param = {
"term": { "term": {
"pub_type": pubtype "pub_type": pubtype
...@@ -311,8 +311,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -311,8 +311,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubstatus = obj.pubstatus==null?"":obj.pubstatus;//法律状态 var pubstatus = obj.pubstatus == null ? "" : obj.pubstatus;//法律状态
if (pubstatus != null && pubstatus != ""){ if (pubstatus != null && pubstatus != "") {
param = { param = {
"term": { "term": {
"pub_status": pubstatus "pub_status": pubstatus
...@@ -321,8 +321,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -321,8 +321,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingyear = obj.filingyear==null?"":obj.filingyear;//申请年份 var filingyear = obj.filingyear == null ? "" : obj.filingyear;//申请年份
if (filingyear != null && filingyear !=""){ if (filingyear != null && filingyear != "") {
param = { param = {
"term": { "term": {
"filing_year": filingyear "filing_year": filingyear
...@@ -331,8 +331,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -331,8 +331,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubyear = obj.pubyear==null?"":obj.pubyear;//公开年份 var pubyear = obj.pubyear == null ? "" : obj.pubyear;//公开年份
if (pubyear != null && pubyear != ""){ if (pubyear != null && pubyear != "") {
param = { param = {
"term": { "term": {
"pub_year": pubyear "pub_year": pubyear
...@@ -341,48 +341,48 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -341,48 +341,48 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits, data: j.hits,
buckets:j.aggregations buckets: j.aggregations
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null, data: null,
buckets:null buckets: null
}; };
} }
}; };
async CommomSearchbyPubno(obj){//根据公开号查询聚合 async CommomSearchbyPubno(obj) {//根据公开号查询聚合
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var pubno = obj.pubno==null?"":obj.pubno; var pubno = obj.pubno == null ? "" : obj.pubno;
if(pubno==""){ if (pubno == "") {
return {status:-1,msg:"传入的公开号信息为空",data:null,buckets:null}; return { status: -1, msg: "传入的公开号信息为空", data: null, buckets: null };
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
...@@ -420,14 +420,14 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -420,14 +420,14 @@ class ChinaPatentSearchApi extends ApiBase{
"terms": { "terms": {
"field": "filing_year", "field": "filing_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
}, },
"group_by_pub_year": { "group_by_pub_year": {
"terms": { "terms": {
"field": "pub_year", "field": "pub_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
} }
} }
...@@ -442,21 +442,21 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -442,21 +442,21 @@ class ChinaPatentSearchApi extends ApiBase{
var parr = { var parr = {
"wildcard": { "wildcard": {
"pub_no": "*"+pubno+"*" "pub_no": "*" + pubno + "*"
} }
} }
param.bool.should.push(parr) param.bool.should.push(parr)
parr = { parr = {
"wildcard": { "wildcard": {
"gr_no": "*"+pubno+"*" "gr_no": "*" + pubno + "*"
} }
} }
param.bool.should.push(parr) param.bool.should.push(parr)
params.query.bool.must.push(param); params.query.bool.must.push(param);
var pubtype=obj.pubtype==null?"":obj.pubtype;//专利类型 var pubtype = obj.pubtype == null ? "" : obj.pubtype;//专利类型
if (pubtype != null && pubtype != ""){ if (pubtype != null && pubtype != "") {
param = { param = {
"term": { "term": {
"pub_type": pubtype "pub_type": pubtype
...@@ -465,8 +465,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -465,8 +465,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubstatus = obj.pubstatus==null?"":obj.pubstatus;//法律状态 var pubstatus = obj.pubstatus == null ? "" : obj.pubstatus;//法律状态
if (pubstatus != null && pubstatus != ""){ if (pubstatus != null && pubstatus != "") {
param = { param = {
"term": { "term": {
"pub_status": pubstatus "pub_status": pubstatus
...@@ -475,8 +475,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -475,8 +475,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingyear = obj.filingyear==null?"":obj.filingyear;//申请年份 var filingyear = obj.filingyear == null ? "" : obj.filingyear;//申请年份
if (filingyear != null && filingyear !=""){ if (filingyear != null && filingyear != "") {
param = { param = {
"term": { "term": {
"filing_year": filingyear "filing_year": filingyear
...@@ -485,8 +485,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -485,8 +485,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubyear = obj.pubyear==null?"":obj.pubyear;//公开年份 var pubyear = obj.pubyear == null ? "" : obj.pubyear;//公开年份
if (pubyear != null && pubyear != ""){ if (pubyear != null && pubyear != "") {
param = { param = {
"term": { "term": {
"pub_year": pubyear "pub_year": pubyear
...@@ -495,48 +495,48 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -495,48 +495,48 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits, data: j.hits,
buckets:j.aggregations buckets: j.aggregations
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null, data: null,
buckets:null buckets: null
}; };
} }
}; };
async CommomSearchbyApplicant(obj){//根据申请人查询聚合 async CommomSearchbyApplicant(obj) {//根据申请人查询聚合
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var applicant = obj.applicant==null?"":obj.applicant; var applicant = obj.applicant == null ? "" : obj.applicant;
if(applicant==""){ if (applicant == "") {
return {status:-1,msg:"传入的申请人信息为空",data:null,buckets:null}; return { status: -1, msg: "传入的申请人信息为空", data: null, buckets: null };
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
...@@ -574,14 +574,14 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -574,14 +574,14 @@ class ChinaPatentSearchApi extends ApiBase{
"terms": { "terms": {
"field": "filing_year", "field": "filing_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
}, },
"group_by_pub_year": { "group_by_pub_year": {
"terms": { "terms": {
"field": "pub_year", "field": "pub_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
} }
} }
...@@ -590,13 +590,13 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -590,13 +590,13 @@ class ChinaPatentSearchApi extends ApiBase{
var param = { var param = {
"query_string": { "query_string": {
"default_field": "applicant_name", "default_field": "applicant_name",
"query": "\""+ applicant +"\"" "query": "\"" + applicant + "\""
} }
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
var pubtype=obj.pubtype==null?"":obj.pubtype;//专利类型 var pubtype = obj.pubtype == null ? "" : obj.pubtype;//专利类型
if (pubtype != null && pubtype != ""){ if (pubtype != null && pubtype != "") {
param = { param = {
"term": { "term": {
"pub_type": pubtype "pub_type": pubtype
...@@ -605,8 +605,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -605,8 +605,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubstatus = obj.pubstatus==null?"":obj.pubstatus;//法律状态 var pubstatus = obj.pubstatus == null ? "" : obj.pubstatus;//法律状态
if (pubstatus != null && pubstatus != ""){ if (pubstatus != null && pubstatus != "") {
param = { param = {
"term": { "term": {
"pub_status": pubstatus "pub_status": pubstatus
...@@ -615,8 +615,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -615,8 +615,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingyear = obj.filingyear==null?"":obj.filingyear;//申请年份 var filingyear = obj.filingyear == null ? "" : obj.filingyear;//申请年份
if (filingyear != null && filingyear !=""){ if (filingyear != null && filingyear != "") {
param = { param = {
"term": { "term": {
"filing_year": filingyear "filing_year": filingyear
...@@ -625,8 +625,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -625,8 +625,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubyear = obj.pubyear==null?"":obj.pubyear;//公开年份 var pubyear = obj.pubyear == null ? "" : obj.pubyear;//公开年份
if (pubyear != null && pubyear != ""){ if (pubyear != null && pubyear != "") {
param = { param = {
"term": { "term": {
"pub_year": pubyear "pub_year": pubyear
...@@ -635,47 +635,47 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -635,47 +635,47 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits, data: j.hits,
buckets:j.aggregations buckets: j.aggregations
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null, data: null,
buckets:null buckets: null
}; };
} }
}; };
async CommomSearchbyInventor(obj){//根据发明人查询聚合 async CommomSearchbyInventor(obj) {//根据发明人查询聚合
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var inventor = obj.inventor==null?"":obj.inventor; var inventor = obj.inventor == null ? "" : obj.inventor;
if(inventor==""){ if (inventor == "") {
return {status:-1,msg:"传入的发明人信息为空",data:null,buckets:null}; return { status: -1, msg: "传入的发明人信息为空", data: null, buckets: null };
} }
var params= { var params = {
"query": { "query": {
"bool": { "bool": {
"must": [] "must": []
...@@ -713,14 +713,14 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -713,14 +713,14 @@ class ChinaPatentSearchApi extends ApiBase{
"terms": { "terms": {
"field": "filing_year", "field": "filing_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
}, },
"group_by_pub_year": { "group_by_pub_year": {
"terms": { "terms": {
"field": "pub_year", "field": "pub_year",
"size": 1000, "size": 1000,
"order":{"_term":"desc"} "order": { "_term": "desc" }
} }
} }
} }
...@@ -729,13 +729,13 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -729,13 +729,13 @@ class ChinaPatentSearchApi extends ApiBase{
var param = { var param = {
"query_string": { "query_string": {
"default_field": "inventor_name", "default_field": "inventor_name",
"query": "\""+ inventor +"\"" "query": "\"" + inventor + "\""
} }
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
var pubtype=obj.pubtype==null?"":obj.pubtype;//专利类型 var pubtype = obj.pubtype == null ? "" : obj.pubtype;//专利类型
if (pubtype != null && pubtype != ""){ if (pubtype != null && pubtype != "") {
param = { param = {
"term": { "term": {
"pub_type": pubtype "pub_type": pubtype
...@@ -744,8 +744,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -744,8 +744,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubstatus = obj.pubstatus==null?"":obj.pubstatus;//法律状态 var pubstatus = obj.pubstatus == null ? "" : obj.pubstatus;//法律状态
if (pubstatus != null && pubstatus != ""){ if (pubstatus != null && pubstatus != "") {
param = { param = {
"term": { "term": {
"pub_status": pubstatus "pub_status": pubstatus
...@@ -754,8 +754,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -754,8 +754,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingyear = obj.filingyear==null?"":obj.filingyear;//申请年份 var filingyear = obj.filingyear == null ? "" : obj.filingyear;//申请年份
if (filingyear != null && filingyear !=""){ if (filingyear != null && filingyear != "") {
param = { param = {
"term": { "term": {
"filing_year": filingyear "filing_year": filingyear
...@@ -764,8 +764,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -764,8 +764,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubyear = obj.pubyear==null?"":obj.pubyear;//公开年份 var pubyear = obj.pubyear == null ? "" : obj.pubyear;//公开年份
if (pubyear != null && pubyear != ""){ if (pubyear != null && pubyear != "") {
param = { param = {
"term": { "term": {
"pub_year": pubyear "pub_year": pubyear
...@@ -774,40 +774,40 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -774,40 +774,40 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return rtn = { return rtn = {
status:0, status: 0,
msg:"操作成功", msg: "操作成功",
data:j.hits, data: j.hits,
buckets:j.aggregations buckets: j.aggregations
}; };
}catch(e){ } catch (e) {
return rtn={ return rtn = {
status:-1, status: -1,
msg:"操作失败", msg: "操作失败",
data:null, data: null,
buckets:null buckets: null
}; };
} }
}; };
async seniorSearch(obj){//高级检索,根据用户输入的不同多条件进行检索 async seniorSearch(obj) {//高级检索,根据用户输入的不同多条件进行检索
var data=await this.checkKey(obj.appKey); var data = await this.checkKey(obj.appKey);
if(data && data.status && data.status==-1){ if (data && data.status && data.status == -1) {
return data; return data;
} }
var pagesize = obj.pagesize==null?10:obj.pagesize; var pagesize = obj.pagesize == null ? 10 : obj.pagesize;
if(obj.page==null){ if (obj.page == null) {
var from = 0; var from = 0;
}else{ } else {
var from = Number((obj.page-1)*obj.pagesize); var from = Number((obj.page - 1) * obj.pagesize);
} }
var params = { var params = {
...@@ -835,9 +835,9 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -835,9 +835,9 @@ class ChinaPatentSearchApi extends ApiBase{
var param = null; var param = null;
//对关键词 //对关键词
var title=obj.title==null?"":obj.title; var title = obj.title == null ? "" : obj.title;
if (title != null && title != ""){ if (title != null && title != "") {
param ={ param = {
"match": { "match": {
"filing_name": title "filing_name": title
} }
...@@ -845,9 +845,9 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -845,9 +845,9 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var abstr = obj.abstr==null?"":obj.abstr; var abstr = obj.abstr == null ? "" : obj.abstr;
if (abstr != null && abstr != ""){ if (abstr != null && abstr != "") {
param ={ param = {
"match": { "match": {
"abstr_text": abstr "abstr_text": abstr
} }
...@@ -855,17 +855,17 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -855,17 +855,17 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var filingno=obj.filingno==null?"":obj.filingno; var filingno = obj.filingno == null ? "" : obj.filingno;
if(filingno!=null && filingno!=""){ if (filingno != null && filingno != "") {
filingno = filingno.replace("CN","").replace("cn","").replace(".",""); filingno = filingno.replace("CN", "").replace("cn", "").replace(".", "");
if (filingno.length == 13){ if (filingno.length == 13) {
filingno = filingno.substr(0,12); filingno = filingno.substr(0, 12);
} }
else if (filingno.length == 9){ else if (filingno.length == 9) {
filingno = filingno.substr(0,8); filingno = filingno.substr(0, 8);
} }
param= { param = {
"term": { "term": {
"filing_no": filingno "filing_no": filingno
} }
...@@ -873,8 +873,8 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -873,8 +873,8 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var pubno=obj.pubno==null?"":obj.pubno; var pubno = obj.pubno == null ? "" : obj.pubno;
if (pubno!=null && pubno!=""){ if (pubno != null && pubno != "") {
param = { param = {
"bool": { "bool": {
"should": [ "should": [
...@@ -898,15 +898,15 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -898,15 +898,15 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param); params.query.bool.must.push(param);
} }
var priorno=obj.priorno==null?"":obj.priorno; var priorno = obj.priorno == null ? "" : obj.priorno;
if (priorno != null && priorno != ""){ if (priorno != null && priorno != "") {
param= { param = {
"nested": { "nested": {
"path": "prior_info", "path": "prior_info",
"query": { "query": {
"bool": { "bool": {
"must": [ "must": [
{ "term": { "prior_info.pri_no": priorno}} { "term": { "prior_info.pri_no": priorno } }
] ]
} }
} }
...@@ -915,27 +915,27 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -915,27 +915,27 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var appl=obj.applname==null?"":obj.applname; var appl = obj.applname == null ? "" : obj.applname;
if (appl!=null && appl!=""){ if (appl != null && appl != "") {
param= { param = {
"term": { "term": {
"applicant_name.raw": appl "applicant_name.raw": appl
} }
} }
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var inv=obj.invname==null?"":obj.invname; var inv = obj.invname == null ? "" : obj.invname;
if (inv!=null && inv!=""){ if (inv != null && inv != "") {
param= { param = {
"term": { "term": {
"inventor_name.raw": inv "inventor_name.raw": inv
} }
} }
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
var ipc=obj.ipcno==null?"":obj.ipcno; var ipc = obj.ipcno == null ? "" : obj.ipcno;
if (ipc!=null && ipc!=""){ if (ipc != null && ipc != "") {
var param= { var param = {
"term": { "term": {
"other_ipc": ipc "other_ipc": ipc
} }
...@@ -943,102 +943,150 @@ class ChinaPatentSearchApi extends ApiBase{ ...@@ -943,102 +943,150 @@ class ChinaPatentSearchApi extends ApiBase{
params.query.bool.must.push(param) params.query.bool.must.push(param)
} }
if(obj.filingdate1!=null && obj.filingdate1!=""){ if (obj.filingdate1 != null && obj.filingdate1 != "") {
var filingdate1=obj.filingdate1; var filingdate1 = obj.filingdate1;
} }
else { else {
var filingdate1 =""; var filingdate1 = "";
} }
if(obj.filingdate2!=null && obj.filingdate2!=""){ if (obj.filingdate2 != null && obj.filingdate2 != "") {
var filingdate2=obj.filingdate2; var filingdate2 = obj.filingdate2;
} }
else { else {
var filingdate2 = ""; var filingdate2 = "";
} }
if (filingdate1!="" || filingdate2!=""){ if (filingdate1 != "" || filingdate2 != "") {
param={ param = {
"range": { "range": {
"filing_time": { "filing_time": {
} }
} }
}; };
if (filingdate1!=""){ if (filingdate1 != "") {
param.range.filing_time["gte"]=filingdate1; param.range.filing_time["gte"] = filingdate1;
} }
if (filingdate2!=""){ if (filingdate2 != "") {
param.range.filing_time["lte"]=filingdate2; param.range.filing_time["lte"] = filingdate2;
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
} }
if(obj.pubdate1!=null && obj.pubdate1!=""){ if (obj.pubdate1 != null && obj.pubdate1 != "") {
var pubdate1=obj.pubdate1; var pubdate1 = obj.pubdate1;
} }
else { else {
var pubdate1 =""; var pubdate1 = "";
} }
if(obj.pubdate2!=null && obj.pubdate2!=""){ if (obj.pubdate2 != null && obj.pubdate2 != "") {
var pubdate2=obj.pubdate2; var pubdate2 = obj.pubdate2;
} }
else { else {
var pubdate2 = ""; var pubdate2 = "";
} }
if (pubdate1!="" || pubdate2!=""){ if (pubdate1 != "" || pubdate2 != "") {
param={ param = {
"range": { "range": {
"pub_time": { "pub_time": {
} }
} }
}; };
if (pubdate1!=""){ if (pubdate1 != "") {
param.range.pub_time["gte"]=pubdate1; param.range.pub_time["gte"] = pubdate1;
} }
if (pubdate2!=""){ if (pubdate2 != "") {
param.range.pub_time["lte"]=pubdate2; param.range.pub_time["lte"] = pubdate2;
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
} }
if(obj.grdate1!=null && obj.grdate1!=""){ if (obj.grdate1 != null && obj.grdate1 != "") {
var grdate1=obj.grdate1; var grdate1 = obj.grdate1;
} }
else { else {
var grdate1 =""; var grdate1 = "";
} }
if(obj.grdate2!=null && obj.grdate2!=""){ if (obj.grdate2 != null && obj.grdate2 != "") {
var grdate2=obj.grdate2; var grdate2 = obj.grdate2;
} }
else { else {
var grdate2 = ""; var grdate2 = "";
} }
if (grdate1!="" || grdate2!=""){ if (grdate1 != "" || grdate2 != "") {
param={ param = {
"range": { "range": {
"gr_time": { "gr_time": {
} }
} }
}; };
if (grdate1!=""){ if (grdate1 != "") {
param.range.gr_time["gte"]=grdate1; param.range.gr_time["gte"] = grdate1;
} }
if (grdate2!=""){ if (grdate2 != "") {
param.range.gr_time["lte"]=grdate2; param.range.gr_time["lte"] = grdate2;
} }
params.query.bool.must.push(param); params.query.bool.must.push(param);
} }
var rc=System.getObject("util.execClient"); var rc = System.getObject("util.execClient");
var rtn=null; var rtn = null;
var requrl = this.patentUrl; var requrl = this.patentUrl;
try{ try {
rtn=await rc.execPost(params,requrl); rtn = await rc.execPost(params, requrl);
var j=JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
return System.getResult2(j.hits,null); return System.getResult2(j.hits, null);
}catch(e){ } catch (e) {
return rtn=System.getResult2(null,null); return rtn = System.getResult2(null, null);
} }
}; };
async patentSearch(obj) {//根据条件检索
var params = {
"query": {
"bool": {
"must": []
}
},
"from": 0,
"size": 1000,
};
for (var x in obj) {
params.query.bool.must.push(obj[x]);
};
var rc = System.getObject("util.execClient");
var rtn = null;
var requrl = this.patentUrl;
try {
rtn = await rc.execPost(params, requrl);
// console.log("jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj" + rtn.stdout);
var j = JSON.parse(rtn.stdout);
if (j.hits.hits.length > 0){
return rtn = {
status: 0,
msg: "操作成功",
data: j.hits.hits
};
}
else{
return rtn = {
status: -1,
msg: "检索结果为空",
data: null
};
}
} catch (e) {
return rtn = {
status: -1,
msg: "操作失败",
data: null
};
}
};
} }
module.exports = ChinaPatentSearchApi; module.exports = ChinaPatentSearchApi;
...@@ -16,6 +16,83 @@ class PatentycCtl extends CtlBase { ...@@ -16,6 +16,83 @@ class PatentycCtl extends CtlBase {
return System.getResult2(result,null); return System.getResult2(result,null);
} }
//对比分析
async webInsight(pobj,obj,req){
if (obj.type && obj.type != 'undefined'){
var result = await this.service.webInsight(obj);
if (result){
return System.getResult2(result);
}
else{
return System.getErrResult2("返回结果为空");
}
}
else{
return System.getErrResult2("参数type不能为空");
}
}
//智能组合分析-上传数据
async ezReportUploadData(pobj,obj,req){
try{
var result = await this.service.ezReportUploadData(obj);
if (result){
return System.getResult2(result);//"result":true,"uid":"735f9cd0-c103-11ea-9ecd-1d1c3e85a974"}
}
else{
return System.getErrResult2("返回结果为空");
}
}
catch(error){
return System.getErrResult2(error);
}
}
//智能组合分析-判断报告是否生成,用于轮询
async ReadyReport(pobj,obj,req){
if (obj.uid && obj.uid != 'undefined'){
try{
var result = await this.service.ezReadyReport(obj);
if (result == 1){
return System.getResult2(result);
}
else{
return System.getResult2("报告尚未生成");
}
}
catch(error){
return System.getErrResult2(error);
}
}
else{
return System.getErrResult2("参数uid不能为空");
}
}
//智能组合分析-获取报告
async ezGetReport(pobj,obj,req){
if (obj.uid && obj.uid != 'undefined' && obj.type && obj.type != 'undefined'){
try{
var result = await this.service.ezGetReport(obj);
if (result){
return System.getResult2(result);
}
else{
return System.getErrResult2("返回结果为空");
}
}
catch(error){
return System.getErrResult2(error);
}
}
else{
return System.getErrResult2("参数type和uid不能为空");
}
}
//专利价值评价报告 //专利价值评价报告
async obtainreport(pobj,obj,req){ async obtainreport(pobj,obj,req){
var result = await this.service.obtainreport(obj); var result = await this.service.obtainreport(obj);
...@@ -1310,3 +1387,22 @@ class PatentycCtl extends CtlBase { ...@@ -1310,3 +1387,22 @@ class PatentycCtl extends CtlBase {
} }
module.exports = PatentycCtl; module.exports = PatentycCtl;
// var task = new PatentycCtl();
// var obj = {
// "uid": "667b8300-c101-11ea-98dd-3142bd90eec4",
// "type": "html"
// };
// var d = task.ezGetReport({},obj,{})
// console.log("dddddd---------" + JSON.stringify(d));
// (async ()=>{
// var task = new PatentycCtl();
// var obj = {
// "uid": "735f9cd0-c103-11ea-9ecd-1d1c3e85a974",
// "type": "html"
// };
// var d = await task.ezGetReport({},obj,{})
// console.log("dddddd---------" + JSON.stringify(d));
// })()
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -11,7 +11,9 @@ class ExecClient { ...@@ -11,7 +11,9 @@ class ExecClient {
async exec(cmd) { async exec(cmd) {
//await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值 //await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值
//异常需要try/catch自己捕获或外部catch捕获 //异常需要try/catch自己捕获或外部catch捕获
const {stdout, stderr} = await exec(cmd); const {stdout, stderr} = await exec(cmd,{
maxBuffer: 40960 * 1024
});
return {stdout, stderr}; return {stdout, stderr};
} }
...@@ -49,7 +51,9 @@ class ExecClient { ...@@ -49,7 +51,9 @@ class ExecClient {
async execGet(subData, url) { async execGet(subData, url) {
let cmd = this.FetchGetCmd(subData, url); let cmd = this.FetchGetCmd(subData, url);
console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
console.log(cmd); console.log(cmd);
console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
} }
......
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
"gulp-tap": "^1.0.1", "gulp-tap": "^1.0.1",
"imagemin-pngquant": "^7.0.0", "imagemin-pngquant": "^7.0.0",
"merge-stream": "^2.0.0", "merge-stream": "^2.0.0",
"minimist": "^1.2.0" "minimist": "^1.2.0",
"soap": "^0.31.0"
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment