1.batchSavePatentUpdateByPA (专利增量按照申请人(高校名称)模糊增量)

    1. 查询表etl_college_iu(status=0)未跑的数据。如果查不到则 从表 etl_college 中查出所有高校名称 插入表 etl_college_iu;
    2. 遍历表 etl_college_iu 根据name(高校名称)查询表 st_patentinfo_sub1 max(pd) (最新公开(公告日)日期)。
    3. 根据name,pd 等参数调用 http://111.198.99.173:8080/cnipr-ds/patinfo 接口获取专利信息;
    4. 根据 recordCount(接口返回数据条数),计算分页数page(50条一页);
    5. 根据条件 name,pd,page(分页数)等参数调用http://111.198.99.173:8080/cnipr-ds/patinfo 接口;
    6. 根据sysid(专利唯一ID)判断专利是否已经在st_patentinfo_sub1中存在;
    7. 将不存在数据放入集合sysidList中;
    8. 根据条件 sysid=sysidList去调用 http://111.198.99.173:8080/cnipr-ds/patinfo 接口;
    9. 判断接口返回数据在 st_patentinfo_sub1 是否存在。
    10. 不存在:将数据插入表 st_patentinfo_sub1、st_patentinfo_sub3、etl_college_page

      存在:做更新操作
      11.遍历接口返回值 legalStatusInfo、patPrsExploitationInfo、patPrsPreservationInfo、patPrsTransferInfo patFeeInfo 判断是否存在,不存 在则分别插入表 st_legalstatusinfo、st_patprsexploitationinfo、st_patprspreservationinfo、 st_patprstraansferinfo、st_patfeeinfo;
      12.更新表 etl_college_iu (status)字段为1;

    2.saveScorePatchPatent(评估数据新加 全量:sub3 未评估数据评估)

    1. 更新表 etl_score 状态为2,3,4的数据为0(0未跑 1跑结束 2异常 3数据未生成 4数据处理中)往表 etl_score(表 st_patentinfo_sub3 score=null数据)中插入数据,
    2. 更新表 etl_score状态为0的数据为4 并查询出来表 etl_score状态为4的数据 并做遍历。根据表etl_score 表中pnm作为参数 调用 http://e.cnipr.com/services/rs/score/loadScoreInfo接口。根据返回值更新表** st_patentinfo_sub3 ,再根据接口返回的值 插入表 st_scoreinfo 最后更新 etl_sore **状态为1(跑结束)
    3. 判断表etl_score为0(未跑) 数据条目是否大于0

      否:结束
      是:重复操作2步骤;

    3.svaePdfurlPatchPatent(批量更新st_patentinfo_sub3 pdfurl为NULL数据)

    1.查询表 st_patentinfo_sub3中 pdfUrl为null的数据 遍历查询结果集合。
    2.根据条件 pnm,pd调用 http://111.198.99.173:8080/cnipr-ds/pdf接口。根据接口返回值 更新表 st_patentinfo_sub3中pdfUrl字段。

    4.savePagePatentSysid(页出现问题重新跑, 通过sysid去跑)

    1.查询表 etl_college_page(status=2)的数据,根据查询到的sysid 查询表 st_patentinfo_sub1中数据是否存在。
    存在:更新 etl_college_page 状态(status=1)
    不存在: 将sysid作为条件 调用http://111.198.99.173:8080/cnipr-ds/patinfo接口,遍历接口返回的结果集
    2. 根据sysid查询st_patentinfo_sub1是否存在
    否:将接口返回数据插入表 st_patentinfo_sub1、st_patentinfo_sub3、并记录在表 etl_college_page(保存一条插入的记录)
    是:分别将sysid 和新的查询信息作为条件 查询表 st_patentinfo_sub1、st_patentinfo_sub3 无则更新。
    遍历接口返回值 legalStatusInfo、patPrsExploitationInfo、patPrsPreservationInfo、patPrsTransferInfo patFeeInfo 判断是否存在,不存在则分别插入表 st_legalstatusinfo、st_patprsexploitationinfo、st_patprspreservationinfo、 st_patprstraansferinfo、st_patfeeinfo;
    更新表 etl_college_iu (status)字段为1;

    5.savePagePatentByPage(学校某页出现网络连接问题,只存了一条page页,重新跑,通过college/page去跑)

    1. 查询表 etl_college_page(status=2 or =3,type=1),遍历结果集,调用 http://111.198.99.173:8080/cnipr-ds/patinfo接口。遍历接口返回的结果集,根据sysid 查询表 st_patentinfo_sub1 中是否存在

      否:将数据插入表 st_patentinfo_sub1、st_patentinfo_sub3、etl_college_page
      是:重复操作4

    6.savePatentInfoToMongo(变更数据,存入Mongo数据库)

    1. 根据条件(省略)查询表 st_patentinfo_sub3 统计需要同步的专利总数,判断mongo中是否存在 st_patentinfo_sub3查询到的数据,

      否:根据st_patentinfo_sub3 中sysid 查询st_patentinfo_sub1 ,将 两者构造 数据插入到mongo中。将st_patentinfo_sub3 中 lastLegalStatus和an 等构造LegalTypeChange(法律状态变更数据)存到mongo;
      是:根据st_patentinfo_sub3 中sysid查询 st_patentinfo_sub1,将两者构造数据 更新到 mongo。判断mongo中 LastLegalStatus和 st_patentinfo_sub3是否一致,不一致 则更新 LegalTypeChange(法律状态变更数据)

    2. 根据条件(省略)查询表 st_patentinfo_sub1统计需要同步的专利总数,根据sysid 判断mongo中是否存在 st_patentinfo_sub1查询到的数据。

      否:根据st_patentinfo_sub1中sysid查询 st_patentinfo_sub3,将两者构造数据插入到mongo中。
      是:根据st_patentinfo_sub1中sysid查询 st_patentinfo_sub3,将两者构造数据更新到mongo中。

    3. legalstatusinfo同步到mongo子流程,feeInfo、transferinfo、PreservationInfo、ExploitationInfo同步到mongo子流程。

    legalstatusInfo同步到mongo子流程:
    1.根据条件(省略)查询表 st_legalstatusinfo获取总的条目数。将查询到的数据存入mongo中。
    2.存入mongo是否有异常
    否:结束
    是:则 stran(申请号)存入 transferinfo.txt文件
    an(申请号)存入preservation.txt文件(PreservationInfo同步到mongo子流程)
    an(申请号)存入exploitationinfo.txt文件(ExploitaionInfo同步到mongo子流程)

    7.saveTJChangePatentUpdate()

    saveAllCompanyPatentToRdsFromFile(从增量文件如__Rds

    1. 搜索 /home/vsftpd/ftptg/chang路径下面文件,遍历,读取文件的第一条不为空的那一行并解析为TKCompanyPatentUpdateFileResult对象,分别根据 increasePatents 和 reducePatents构建

      holder_an_change表入参。

      updateHolderAnchangeCheckAn(更新__holderanchange checkAn
      1.将 holder_an_change中 check_an是空,change_type=1,status=0,且 an 在 表 st_patentinfo_sub1中存在的数据的check_an字段更新为 st_patentinfo_sub1的an值;
      2.将 holder_an_change中check_an是空,chanage_type=1,status=0,且 appNo在表st_patentinfo_sub1中存在的数据的check_an字段更新为 st_patentinfo_sub1的an值;

    更新AN
    insertEtlAn()
    1.将holder_an_change中满足 check_an =null,change_type=1 并且status=0的数据插入 etl_an中。

    savePagePatentAnIU()
    1.将etl_an中 type=1的数据,status更新为0
    2.查询etl_an 中 type=1,status=0的数据,遍历结果集,根据字段an 调用 http://111.198.99.173:8080/cnipr-ds/patinfo接口。。。。(重复操作4)

    updateHolderAnchangeCheckAn()
    1.将 holder_an_change 中状态为0的数据更新为1

    saveAllCompanyPatentFromRdsToMongo()
    1.分页查询 holder_an_change 中 status=1数据,判断 holder_an_change 中changetype是否为1
    是:将入参数据构造存入mongo
    否:将mongo中数据删除
    2.将 holder_an_change中 status=1数据更新为2;

    8.syncGoodsPatent(新加商品从出版社同步未同步的专利)