|
@@ -1280,30 +1280,153 @@
|
|
|
<select id="getListForRMS" resultType="java.lang.String">
|
|
|
select DISTINCT a.patentno as patent_no
|
|
|
from os_patent a
|
|
|
+ <if test="params.applicationName !=null ">
|
|
|
+ left join os_applicant_attr b on a.id=b.pid and b.type =1
|
|
|
+ left join os_patent_applicant c on c.id=b.applicantid
|
|
|
+ </if>
|
|
|
+ <if test=" params.obligeeName !=null">
|
|
|
+ left join os_applicant_attr d on a.id=d.pid and d.type =2
|
|
|
+ left join os_patent_applicant e on e.id=d.applicantid
|
|
|
+ </if>
|
|
|
+ <if test="params.numberIpc!=null ">
|
|
|
+ left join os_patent_typeno f on f.pid =a.id and f.type =1
|
|
|
+ </if>
|
|
|
+ <if test=" params.numberCpc!=null ">
|
|
|
+ left join os_patent_typeno g on g.pid =a.id and g.type =2
|
|
|
+ </if>
|
|
|
+ <if test=" params.numberUpc!=null">
|
|
|
+ left join os_patent_typeno h on h.pid =a.id and h.type =3
|
|
|
+ </if>
|
|
|
+ <if test="params.projectId != null and params.pasOptions !=null and params.pasOptions.size()!=0">
|
|
|
+ left join os_thematic_pid i on i.pid=a.id left join os_patent_field_patent_link j on a.id=j.pid
|
|
|
+ </if>
|
|
|
<where>
|
|
|
- 1 != 1
|
|
|
- <if test="params.projectId != null">
|
|
|
- or a.id in (select pid from os_thematic_pid where zid = #{params.projectId})
|
|
|
- </if>
|
|
|
+ <choose>
|
|
|
+ <when test="params.projectId != null or (params.patentNos != null and params.patentNos.size()!=0) or (params.importTaskId != null and params.importTaskId.size()!=0)">
|
|
|
+ <if test="params.projectId != null">
|
|
|
+ and ( a.id in (select pid from os_thematic_pid where zid = #{params.projectId})
|
|
|
+ <if test="params.patentNos != null and params.patentNos.size()!=0">
|
|
|
+ or patentno in
|
|
|
+ <foreach item="item" collection="params.patentNos" index="index" open="(" separator=","
|
|
|
+ close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="params.importTaskId != null and params.importTaskId.size()!=0">
|
|
|
+ or patentno in
|
|
|
+ ( select PATENT_NO from ASSO_IMPORTTASK_PATENT where IMPORTTASK_ID in
|
|
|
+ <foreach item="item" collection="params.importTaskId" index="index" open="(" separator=","
|
|
|
+ close=") ">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="params.projectId == null and params.patentNos != null and params.patentNos.size()!=0">
|
|
|
+ (patentno in
|
|
|
+ <foreach item="item" collection="params.patentNos" index="index" open="(" separator=","
|
|
|
+ close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ <if test="params.importTaskId != null and params.importTaskId.size()!=0">
|
|
|
+ or patentno in
|
|
|
+ ( select PATENT_NO from ASSO_IMPORTTASK_PATENT where IMPORTTASK_ID in
|
|
|
+ <foreach item="item" collection="params.importTaskId" index="index" open="(" separator=","
|
|
|
+ close=") ">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="params.projectId == null and (params.patentNos == null or params.patentNos.size()==0) and params.importTaskId != null and params.importTaskId.size()!=0">
|
|
|
+ patentno in
|
|
|
+ ( select PATENT_NO from ASSO_IMPORTTASK_PATENT where IMPORTTASK_ID in
|
|
|
+ <foreach item="item" collection="params.importTaskId" index="index" open="(" separator=","
|
|
|
+ close=") ">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="params.notInPatentNos != null and params.notInPatentNos.size!=0">
|
|
|
+ and patentno not in
|
|
|
+ <foreach item="item" collection="params.notInPatentNos" index="index" open="(" separator=","
|
|
|
+ close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="params.conPatentNos != null and params.conPatentNos.size!=0">
|
|
|
+ and patentno in
|
|
|
+ <foreach item="item" collection="params.conPatentNos" index="index" open="(" separator=","
|
|
|
+ close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
|
|
|
- <if test="params.patentNos != null and params.patentNos.size()!=0">
|
|
|
- or patentno in
|
|
|
- <foreach item="item" collection="params.patentNos" index="index" open="(" separator="," close=")">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
- <if test="params.importTaskId != null and params.importTaskId.size()!=0">
|
|
|
- or a.patentno in
|
|
|
- ( select PATENT_NO from ASSO_IMPORTTASK_PATENT where IMPORTTASK_ID in
|
|
|
- <foreach item="item" collection="params.importTaskId" index="index" open="(" separator="," close=") ">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
- )
|
|
|
- </if>
|
|
|
- order by a.patentno
|
|
|
- <if test="params.startNumber!=null and params.endNumber!=null">
|
|
|
- limit #{params.startNumber} , #{params.endNumber}
|
|
|
- </if>
|
|
|
+ <if test="params.applicationName !=null and params.applicationName !='' ">
|
|
|
+ and c.name like concat("%",#{params.applicationName}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.obligeeName !=null and params.obligeeName!=''">
|
|
|
+ and e.name like concat("%", #{params.obligeeName}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.numberIpc !=null and params.numberIpc!=''">
|
|
|
+ and f.code like concat("%", #{params.numberIpc}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.numberCpc !=null and params.numberCpc!=''">
|
|
|
+ and g.code like concat("%", #{params.numberCpc}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.numberUpc !=null and params.numberUpc!=''">
|
|
|
+ and h.code like concat("%", #{params.numberUpc}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.patentNo !=null and params.patentNo !=''">
|
|
|
+ and a.patentNo like concat("%",#{params.patentNo}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.applicationNo !=null and params.applicationNo !=''">
|
|
|
+ and a.applicationNo like concat("%", #{params.applicationNo}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.abstractStr !=null and params.abstractStr !=''">
|
|
|
+ and a.abstract like concat("%", #{params.abstractStr}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.patentName !=null and params.patentName !=''">
|
|
|
+ and a.`name` like concat("%", #{params.patentName}, "%")
|
|
|
+ </if>
|
|
|
+ <if test="params.PasOptions !=null and params.PasOptions.size()!=0">
|
|
|
+ and (
|
|
|
+ <foreach item="item" collection="params.PasOptions" index="index" open="(" separator="or"
|
|
|
+ close=")">
|
|
|
+ <if test="item.key !=null">
|
|
|
+ (j.cid=#{item.fieldId} and j.fid =#{item.key})
|
|
|
+ </if>
|
|
|
+ <if test="item.key ==null">
|
|
|
+ (j.cid is null or j.cid !=#{item.fieldId})
|
|
|
+ </if>
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="params.orderItem!=null and params.orderItem!='SysOrder'">
|
|
|
+ order by #{params.orderItem}
|
|
|
+ <if test="params.orderType!=null">
|
|
|
+ #{params.orderType}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="params.orderItem==null">
|
|
|
+ order by a.patentno
|
|
|
+ </if>
|
|
|
+ <if test="params.orderItem=='SysOrder' and params.patentNos != null and params.patentNos.size()!=0">
|
|
|
+ order by field (a.patentno,
|
|
|
+ <foreach item="item" collection="params.patentNos" index="index" open="" separator=","
|
|
|
+ close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ limit #{params.startNumber-1},#{params.endNumber-1}
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <otherwise>
|
|
|
+ 1!=1
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
</where>
|
|
|
</select>
|
|
|
|
|
@@ -1336,9 +1459,8 @@
|
|
|
<if test=" params.numberUpc!=null">
|
|
|
left join os_patent_typeno h on h.pid =a.id and h.type =3
|
|
|
</if>
|
|
|
- <if test="params.projectId != null and params.PasOptions !=null and params.PasOptions.size()!=0">
|
|
|
+ <if test="params.projectId != null and params.pasOptions !=null and params.pasOptions.size()!=0">
|
|
|
left join os_thematic_pid i on i.pid=a.id left join os_patent_field_patent_link j on a.id=j.pid
|
|
|
-
|
|
|
</if>
|
|
|
<where>
|
|
|
<choose>
|
|
@@ -1432,12 +1554,20 @@
|
|
|
and a.`name` like concat("%", #{params.patentName}, "%")
|
|
|
</if>
|
|
|
<if test="params.PasOptions !=null and params.PasOptions.size()!=0">
|
|
|
- and
|
|
|
- <foreach item="item" collection="params.PasOptions" index="index" open="(" separator="and"
|
|
|
+ and (
|
|
|
+ <foreach item="item" collection="params.PasOptions" index="index" open="(" separator="or"
|
|
|
close=")">
|
|
|
- and #{item.fieldId}
|
|
|
+ <if test="item.key !=null">
|
|
|
+ (j.cid=#{item.fieldId} and j.fid =#{item.key})
|
|
|
+ </if>
|
|
|
+ <if test="item.key ==null">
|
|
|
+ (j.cid is null or j.cid !=#{item.fieldId})
|
|
|
+ </if>
|
|
|
</foreach>
|
|
|
+ )
|
|
|
</if>
|
|
|
+
|
|
|
+
|
|
|
<if test="params.orderItem!=null and params.orderItem!='SysOrder'">
|
|
|
order by #{params.orderItem}
|
|
|
<if test="params.orderType!=null">
|
|
@@ -1446,7 +1576,6 @@
|
|
|
</if>
|
|
|
<if test="params.orderItem==null">
|
|
|
order by a.patentno
|
|
|
-
|
|
|
</if>
|
|
|
<if test="params.orderItem=='SysOrder' and params.patentNos != null and params.patentNos.size()!=0">
|
|
|
order by field (a.patentno,
|