Просмотр исходного кода

1.待缴费专利管理接口
2.年费确认缴费接口
3.补正审查通知列表接口
4.收发详情入口/收发纸件登记接口
5.收发详情保存修改接口
6.专利申请费用管理接口

Antiloveg лет назад: 9
Родитель
Сommit
844cdfe3cb
31 измененных файлов с 2245 добавлено и 51 удалено
  1. 21 0
      src/main/java/com/goafanti/common/dao/AdminMapper.java
  2. 17 0
      src/main/java/com/goafanti/common/dao/PatentCostMapper.java
  3. 3 0
      src/main/java/com/goafanti/common/dao/PatentInfoMapper.java
  4. 17 0
      src/main/java/com/goafanti/common/dao/PatentRegistrationMapper.java
  5. 123 0
      src/main/java/com/goafanti/common/mapper/AdminMapper.xml
  6. 156 0
      src/main/java/com/goafanti/common/mapper/PatentCostMapper.xml
  7. 137 16
      src/main/java/com/goafanti/common/mapper/PatentInfoMapper.xml
  8. 205 0
      src/main/java/com/goafanti/common/mapper/PatentRegistrationMapper.xml
  9. 93 0
      src/main/java/com/goafanti/common/model/Admin.java
  10. 128 0
      src/main/java/com/goafanti/common/model/PatentCost.java
  11. 181 0
      src/main/java/com/goafanti/common/model/PatentRegistration.java
  12. 170 0
      src/main/java/com/goafanti/techservice/patent/bo/PatentApplicationFeeBo.java
  13. 3 0
      src/main/java/com/goafanti/techservice/patent/bo/PatentCompositeBo.java
  14. 139 0
      src/main/java/com/goafanti/techservice/patent/bo/PatentNoticeOfCorrectionBo.java
  15. 142 0
      src/main/java/com/goafanti/techservice/patent/bo/PatentPendingBo.java
  16. 228 0
      src/main/java/com/goafanti/techservice/patent/bo/PatentRecieveSendBo.java
  17. 180 15
      src/main/java/com/goafanti/techservice/patent/controller/PatentApiController.java
  18. 11 0
      src/main/java/com/goafanti/techservice/patent/service/AdminService.java
  19. 17 0
      src/main/java/com/goafanti/techservice/patent/service/PatentCostService.java
  20. 15 2
      src/main/java/com/goafanti/techservice/patent/service/PatentInfoService.java
  21. 11 0
      src/main/java/com/goafanti/techservice/patent/service/PatentRegistrationService.java
  22. 20 0
      src/main/java/com/goafanti/techservice/patent/service/impl/AdminServiceImpl.java
  23. 66 0
      src/main/java/com/goafanti/techservice/patent/service/impl/PatentCostServiceImpl.java
  24. 129 10
      src/main/java/com/goafanti/techservice/patent/service/impl/PatentInfoServiceImpl.java
  25. 25 0
      src/main/java/com/goafanti/techservice/patent/service/impl/PatentRegistrationServiceImpl.java
  26. 1 1
      src/main/resources/spring/spring-shiro.xml
  27. 3 3
      src/main/webapp/WEB-INF/html/test.html
  28. 1 1
      src/main/webapp/WEB-INF/views/admin/index.jsp
  29. 1 1
      src/main/webapp/WEB-INF/views/admin/servicesManage/patent.jsp
  30. 1 1
      src/main/webapp/WEB-INF/views/admin/userManage.jsp
  31. 1 1
      src/main/webapp/WEB-INF/web.xml

+ 21 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -0,0 +1,21 @@
+package com.goafanti.common.dao;
+
+import java.util.List;
+
+import com.goafanti.common.model.Admin;
+
+public interface AdminMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(Admin record);
+
+    int insertSelective(Admin record);
+
+    Admin selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(Admin record);
+
+    int updateByPrimaryKey(Admin record);
+
+	List<Admin> selectAllAdmin();
+}

+ 17 - 0
src/main/java/com/goafanti/common/dao/PatentCostMapper.java

@@ -0,0 +1,17 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.PatentCost;
+
+public interface PatentCostMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(PatentCost record);
+
+    int insertSelective(PatentCost record);
+
+    PatentCost selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(PatentCost record);
+
+    int updateByPrimaryKey(PatentCost record);
+}

+ 3 - 0
src/main/java/com/goafanti/common/dao/PatentInfoMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.goafanti.common.model.PatentInfo;
+import com.goafanti.techservice.patent.bo.PatentRecieveSendBo;
 
 public interface PatentInfoMapper {
     int deleteByPrimaryKey(String id);
@@ -23,5 +24,7 @@ public interface PatentInfoMapper {
     List<PatentInfo> findClientApplyListByPage(Map<String, Object> params);
 	
 	int findClentApplyCount(Map<String, Object> params);
+
+	List<PatentRecieveSendBo> getPatentRecieveSendList();
 	
 }

+ 17 - 0
src/main/java/com/goafanti/common/dao/PatentRegistrationMapper.java

@@ -0,0 +1,17 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.PatentRegistration;
+
+public interface PatentRegistrationMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(PatentRegistration record);
+
+    int insertSelective(PatentRegistration record);
+
+    PatentRegistration selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(PatentRegistration record);
+
+    int updateByPrimaryKey(PatentRegistration record);
+}

+ 123 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.goafanti.common.dao.AdminMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.Admin" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="mobile" property="mobile" jdbcType="VARCHAR" />
+    <result column="name" property="name" jdbcType="VARCHAR" />
+    <result column="password" property="password" jdbcType="VARCHAR" />
+    <result column="email" property="email" jdbcType="VARCHAR" />
+    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="number" property="number" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, mobile, name, password, email, create_time, number
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from admin
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.Admin" >
+    insert into admin (id, mobile, name, 
+      password, email, create_time, 
+      number)
+    values (#{id,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, 
+      #{password,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{number,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.Admin" >
+    insert into admin
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="mobile != null" >
+        mobile,
+      </if>
+      <if test="name != null" >
+        name,
+      </if>
+      <if test="password != null" >
+        password,
+      </if>
+      <if test="email != null" >
+        email,
+      </if>
+      <if test="createTime != null" >
+        create_time,
+      </if>
+      <if test="number != null" >
+        number,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="mobile != null" >
+        #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null" >
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null" >
+        #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null" >
+        #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="number != null" >
+        #{number,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Admin" >
+    update admin
+    <set >
+      <if test="mobile != null" >
+        mobile = #{mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null" >
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null" >
+        password = #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="email != null" >
+        email = #{email,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="number != null" >
+        number = #{number,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.Admin" >
+    update admin
+    set mobile = #{mobile,jdbcType=VARCHAR},
+      name = #{name,jdbcType=VARCHAR},
+      password = #{password,jdbcType=VARCHAR},
+      email = #{email,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      number = #{number,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+  <select id="selectAllAdmin" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from admin 
+  </select>
+</mapper>

+ 156 - 0
src/main/java/com/goafanti/common/mapper/PatentCostMapper.xml

@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.goafanti.common.dao.PatentCostMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.PatentCost" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="pid" property="pid" jdbcType="VARCHAR" />
+    <result column="annual_fee" property="annualFee" jdbcType="INTEGER" />
+    <result column="annual_fee_state" property="annualFeeState" jdbcType="INTEGER" />
+    <result column="application_fee" property="applicationFee" jdbcType="INTEGER" />
+    <result column="trial_fee" property="trialFee" jdbcType="INTEGER" />
+    <result column="printing_fee" property="printingFee" jdbcType="INTEGER" />
+    <result column="is_request_funds" property="isRequestFunds" jdbcType="INTEGER" />
+    <result column="is_reimbursement" property="isReimbursement" jdbcType="INTEGER" />
+    <result column="payment_state" property="paymentState" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, pid, annual_fee, annual_fee_state, application_fee, trial_fee, printing_fee, 
+    is_request_funds, is_reimbursement, payment_state
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from patent_cost
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from patent_cost
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.PatentCost" >
+    insert into patent_cost (id, pid, annual_fee, 
+      annual_fee_state, application_fee, trial_fee, 
+      printing_fee, is_request_funds, is_reimbursement, 
+      payment_state)
+    values (#{id,jdbcType=VARCHAR}, #{pid,jdbcType=VARCHAR}, #{annualFee,jdbcType=INTEGER}, 
+      #{annualFeeState,jdbcType=INTEGER}, #{applicationFee,jdbcType=INTEGER}, #{trialFee,jdbcType=INTEGER}, 
+      #{printingFee,jdbcType=INTEGER}, #{isRequestFunds,jdbcType=INTEGER}, #{isReimbursement,jdbcType=INTEGER}, 
+      #{paymentState,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.PatentCost" >
+    insert into patent_cost
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="pid != null" >
+        pid,
+      </if>
+      <if test="annualFee != null" >
+        annual_fee,
+      </if>
+      <if test="annualFeeState != null" >
+        annual_fee_state,
+      </if>
+      <if test="applicationFee != null" >
+        application_fee,
+      </if>
+      <if test="trialFee != null" >
+        trial_fee,
+      </if>
+      <if test="printingFee != null" >
+        printing_fee,
+      </if>
+      <if test="isRequestFunds != null" >
+        is_request_funds,
+      </if>
+      <if test="isReimbursement != null" >
+        is_reimbursement,
+      </if>
+      <if test="paymentState != null" >
+        payment_state,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="pid != null" >
+        #{pid,jdbcType=VARCHAR},
+      </if>
+      <if test="annualFee != null" >
+        #{annualFee,jdbcType=INTEGER},
+      </if>
+      <if test="annualFeeState != null" >
+        #{annualFeeState,jdbcType=INTEGER},
+      </if>
+      <if test="applicationFee != null" >
+        #{applicationFee,jdbcType=INTEGER},
+      </if>
+      <if test="trialFee != null" >
+        #{trialFee,jdbcType=INTEGER},
+      </if>
+      <if test="printingFee != null" >
+        #{printingFee,jdbcType=INTEGER},
+      </if>
+      <if test="isRequestFunds != null" >
+        #{isRequestFunds,jdbcType=INTEGER},
+      </if>
+      <if test="isReimbursement != null" >
+        #{isReimbursement,jdbcType=INTEGER},
+      </if>
+      <if test="paymentState != null" >
+        #{paymentState,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PatentCost" >
+    update patent_cost
+    <set >
+      <if test="pid != null" >
+        pid = #{pid,jdbcType=VARCHAR},
+      </if>
+      <if test="annualFee != null" >
+        annual_fee = #{annualFee,jdbcType=INTEGER},
+      </if>
+      <if test="annualFeeState != null" >
+        annual_fee_state = #{annualFeeState,jdbcType=INTEGER},
+      </if>
+      <if test="applicationFee != null" >
+        application_fee = #{applicationFee,jdbcType=INTEGER},
+      </if>
+      <if test="trialFee != null" >
+        trial_fee = #{trialFee,jdbcType=INTEGER},
+      </if>
+      <if test="printingFee != null" >
+        printing_fee = #{printingFee,jdbcType=INTEGER},
+      </if>
+      <if test="is_request_funds != null" >
+        is_request_funds = #{isRequestFunds,jdbcType=INTEGER},
+      </if>
+      <if test="is_reimbursement != null" >
+        is_reimbursement = #{isReimbursement,jdbcType=INTEGER},
+      </if>
+      <if test="paymentState != null" >
+        payment_state = #{paymentState,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.PatentCost" >
+    update patent_cost
+    set pid = #{pid,jdbcType=VARCHAR},
+      annual_fee = #{annualFee,jdbcType=INTEGER},
+      annual_fee_state = #{annualFeeState,jdbcType=INTEGER},
+      application_fee = #{applicationFee,jdbcType=INTEGER},
+      trial_fee = #{trialFee,jdbcType=INTEGER},
+      printing_fee = #{printingFee,jdbcType=INTEGER},
+      is_request_funds = #{isRequestFunds,jdbcType=INTEGER},
+      is_reimbursement = #{isReimbursement,jdbcType=INTEGER},
+      payment_state = #{paymentState,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+  <select>
+  </select>
+</mapper>

+ 137 - 16
src/main/java/com/goafanti/common/mapper/PatentInfoMapper.xml

@@ -421,20 +421,27 @@
     from patent_info
   </select>
   
-  <select id="findManagePatentListByPage" resultType="com.goafanti.techservice.patent.bo.PatentCompositeBo">
-  	select  u.id uid,o.id oid,p.id pid,p.serial_number,p.patent_number,p.office ,o.unit_name ,
-		p.patent_catagory,p.patent_name,p.patent_state,p.create_time,p.patent_application_date,
-		p.authorized_date,p.author,o.org_code,o.location_province,o.location_city,o.location_area,
-		o.contacts,u.number,p.patent_field,p.patent_des,p.first_inventor_name,p.first_inventor_nationality,
-		p.first_inventor_id_number,p.second_inventor_name,p.second_inventor_nationality,p.third_inventor_name,
-		p.third_inventor_nationality,p.patent_prory_statement_url, o.last_year_tax_report_url,
-		p.patent_writing_url,p.authorization_notice_url,p.patent_certificate_url
+  <select id="findManagePatentListByPage" resultType="com.goafanti.techservice.patent.bo.PatentCompositeBo"  parameterType="String">
+  	select  u.id as uid ,o.id as oid , p.id as pid , p.serial_number as serialNumber , p.patent_number as patentNumber , p.office , 
+	  	    o.unit_name as unitName,
+			p.patent_catagory as patentCatagory,p.patent_name as patentName,p.patent_state as patentState,p.create_time as createTime,
+			p.patent_application_date as patentApplicationDate,
+			p.authorized_date as authorizedDate, p.author, o.org_code as orgCode, o.location_province as locationProvince, 
+			o.location_city as locationCity, o.location_area as locationArea,
+			o.contacts, u.number, p.patent_field as patentField, p.patent_des as patentDes , p.first_inventor_name as firstInventorName, 
+			p.first_inventor_nationality as firstInventorNationality,
+			p.first_inventor_id_number as firstInventorIdNumber, p.second_inventor_name as secondInventorName , 
+			p.second_inventor_nationality as secondInventorNationality , p.third_inventor_name as thirdInventorName,
+			p.third_inventor_nationality as thirdInventorNationality , p.patent_prory_statement_url as patentProryStatementUrl , 
+			o.last_year_tax_report_url as lastYearTaxReportUrl, p.patent_writing_url as patentWritingUrl ,
+		    p.authorization_notice_url as authorizationNoticeUrl , p.patent_certificate_url as patentCertificateUrl
 	from user u 
 	INNER JOIN organization_identity o
 	on u.id = o.uid
-	INNER JOIN patent_info p
+	INNER  JOIN patent_info p
 	on u.id = p.uid 
 	where 1=1
+	 
 	<if test="serialNumber != null">
 	    and p.serial_number = #{serialNumber,jdbcType=VARCHAR}
 	</if>
@@ -456,14 +463,21 @@
 	<if test="patentState != null">
 	    and  p.patent_state= #{patentState,jdbcType=INTEGER}
 	</if>
-	<if test="createTime != null">
-	    and  p.create_time = #{createTime,jdbcType=TIMESTAMP}
+	<if test="cStart != null">
+	    and  
+	    p.create_time <![CDATA[ > ]]> #{cStart,jdbcType=TIMESTAMP}
 	</if>
-	<if test="patentApplicationDate != null">
-	    and  p.patent_application_date = #{patentApplicationDate,jdbcType=TIMESTAMP}
+	<if test="cEnd != null">
+	    and  
+	    p.create_time <![CDATA[ < ]]> #{cEnd,jdbcType=TIMESTAMP}
 	</if>
-	<if test="authorizedDate != null">
-	    and p.authorized_date = #{authorizedDate,jdbcType=TIMESTAMP}
+	<if test="pStart != null">
+	    and 
+	    p.patent_application_date <![CDATA[ > ]]> #{pStart,jdbcType=TIMESTAMP}
+	</if>
+	<if test="pEnd != null">
+	    and 
+	    p.patent_application_date <![CDATA[ < ]]> #{pEnd,jdbcType=TIMESTAMP}
 	</if>
 	<if test="author != null">
 	    and p.author = #{author,jdbcType=VARCHAR}
@@ -471,10 +485,11 @@
 	<if test="locationProvince != null">
 	    and  o.location_province=#{locationProvince,jdbcType=VARCHAR}
 	</if>
-	 order by create_time desc
+	 order by p.create_time desc
 	 <if test="page_sql!=null">
 		${page_sql}
 	</if>
+	
   </select>
   
   <select id="findManagePatentCount" resultType="java.lang.Integer">
@@ -493,4 +508,110 @@
 		on u.id = p.uid ) 
 	as total
   </select>
+  
+  <select id="findManagePendingPaymentListByPage" resultType="com.goafanti.techservice.patent.bo.PatentPendingBo" parameterType="String">
+  	  select n.*,c.id as cid ,c.annual_fee_state as annualFeeState 
+  	   from patent_cost c INNER JOIN
+       (select u.id as uid , p.id as pid ,o.id as oid , p.serial_number as serialNumber ,p.patent_number as patentNumber ,
+               o.location_province as locationProvince , o.unit_name as unitName , p.patent_name as patentName,
+               p.patent_catagory as patentCatagory ,p.patent_state as patentState , p.authorized_date as authorizedDate
+        from user u
+		INNER JOIN patent_info p on u.id =p.uid
+		INNER JOIN organization_identity o on o.uid = u.id where p.patent_state=8 order by p.authorized_date DESC
+		<if test="locationProvince != null">
+		 and o.location_province = #{locationProvince,jdbcType=VARCHAR}
+		</if>
+		) n
+		on n.pid= c.pid where c.annual_fee_state=0
+		
+	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findManagePendingPaymentCount" resultType="java.lang.Integer">
+  	 select count(1) from (select n.*,c.id cid ,c.annual_fee_state from patent_cost c INNER JOIN
+		(select u.id uid,p.id pid,o.id oid,p.serial_number,p.patent_number,o.location_province,o.unit_name,
+		p.patent_catagory,p.patent_state, p.authorized_date
+		   from user u
+		INNER JOIN patent_info p on u.id =p.uid
+		INNER JOIN organization_identity o on o.uid = u.id where p.patent_state=8) n
+		on n.pid= c.pid where c.annual_fee_state=0
+		order by n.authorized_date DESC) as total
+  </select>
+  
+  <select id="findNoticeOfCorrectionListByPage" parameterType="String"  resultType="com.goafanti.techservice.patent.bo.PatentNoticeOfCorrectionBo">
+	select u.id as uid ,p.id as pid , o.id as oid , p.serial_number as serialNumber , p.patent_number as patentNumber ,
+		 p.patent_name as patentName , p.office ,
+		 o.location_province as locationProvince ,o.unit_name as unitName , p.patent_catagory as patentCatagory ,
+		 p.patent_state as patentState , p.author , p.authorized_date as authorizedDate 
+		 FROM user u 
+		 INNER JOIN patent_info p on u.id = p.uid 
+		 INNER JOIN organization_identity o ON u.id = o.uid
+   where p.patent_state in (4,6) 
+	<if test="serialNumber != null">
+	    and p.serial_number = #{serialNumber,jdbcType=VARCHAR}
+	</if>
+	<if test="patentNumber != null">
+	    and p.patent_number = #{patentNumber,jdbcType=VARCHAR}
+	</if>
+	<if test="office != null">
+	    and p.office = #{office,jdbcType=VARCHAR}
+	</if>
+	<if test="unitName != null">
+	    and  o.unit_name= #{unitName,jdbcType=VARCHAR}
+	</if>
+	<if test="patentCatagory != null">
+	    and  p.patent_catagory= #{patentCatagory,jdbcType=INTEGER}
+	</if>
+	<if test="patentName != null">
+	    and  p.patent_name= #{patentName,jdbcType=VARCHAR}
+	</if>
+	<if test="patentState != null">
+	    and  p.patent_state= #{patentState,jdbcType=INTEGER}
+	</if>
+	<if test="authorizedDate != null">
+	    and  p.authorized_date = #{authorizedDate,jdbcType=TIMESTAMP}
+	</if>
+	<if test="author != null">
+	    and p.author = #{author,jdbcType=VARCHAR}
+	</if>
+	<if test="locationProvince != null">
+	    and  o.location_province=#{locationProvince,jdbcType=VARCHAR}
+	</if>
+	order by p.authorized_date DESC 
+	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findNoticeOfCorrectionCount" resultType="java.lang.Integer">
+  	select count(1) from (SELECT u.id as uid ,p.id as pid , o.id as oid , p.serial_number as serialNumber , p.patent_number as patentNumber ,
+		 p.patent_name as patentName , p.office ,
+		 o.location_province as locationProvince ,o.unit_name as unitName , p.patent_catagory as patentCatagory ,
+		 p.patent_state as patentState , p.author , p.authorized_date as authorizedDate 
+		 FROM user u INNER JOIN patent_info p on u.id = p.uid 
+		 INNER JOIN organization_identity o ON u.id = o.uid
+	where p.patent_state in (4,6) order by p.authorized_date DESC  ) as n
+  </select>
+  
+  <select id="getPatentRecieveSendList" resultType="com.goafanti.techservice.patent.bo.PatentRecieveSendBo">
+   select r.id as rid, r.acceptance_receive_time as acceptanceReceiveTime , r.acceptance_issue_time as acceptanceIssueTime, 
+  	   r.acceptance_tracking_number as acceptanceTrackingNumber , r.acceptance_express_company as acceptanceExpressCompany,
+       r.authorization_receive_time as authorizationReceiveTime , r.authorization_issue_time as authorizationIssueTime, 
+       r.authorization_tracking_number as authorizationTrackingNumber , r.authorization_express_company as authorizationExpressCompany,
+       r.certificate_recieve_time as certificateRecieveTime, r.certificate_issue_time as certificateIssueTime, 
+       r.certificate_tracking_number as certificateTrackingNumber, r.certificate_express_company as certificateExpressCompany,
+       m.* from 
+      (select u.id as uid , p.id as pid ,o.id as oid , p.serial_number as serialNumber ,p.patent_number as patentNumber ,
+              o.location_province as locationProvince , o.unit_name as unitName ,
+              p.patent_catagory as patentCatagory , p.patent_name as patentName
+       from user u
+	   INNER JOIN patent_info p on u.id =p.uid
+	   INNER JOIN organization_identity o on o.uid = u.id
+	   ) m
+  LEFT JOIN patent_registration r on m.pid = r.pid
+  </select>
+  
+  
 </mapper>

+ 205 - 0
src/main/java/com/goafanti/common/mapper/PatentRegistrationMapper.xml

@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.goafanti.common.dao.PatentRegistrationMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.PatentRegistration" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="pid" property="pid" jdbcType="VARCHAR" />
+    <result column="acceptance_receive_time" property="acceptanceReceiveTime" jdbcType="TIMESTAMP" />
+    <result column="acceptance_issue_time" property="acceptanceIssueTime" jdbcType="TIMESTAMP" />
+    <result column="acceptance_tracking_number" property="acceptanceTrackingNumber" jdbcType="VARCHAR" />
+    <result column="acceptance_express_company" property="acceptanceExpressCompany" jdbcType="VARCHAR" />
+    <result column="authorization_receive_time" property="authorizationReceiveTime" jdbcType="TIMESTAMP" />
+    <result column="authorization_issue_time" property="authorizationIssueTime" jdbcType="TIMESTAMP" />
+    <result column="authorization_tracking_number" property="authorizationTrackingNumber" jdbcType="VARCHAR" />
+    <result column="authorization_express_company" property="authorizationExpressCompany" jdbcType="VARCHAR" />
+    <result column="certificate_recieve_time" property="certificateRecieveTime" jdbcType="TIMESTAMP" />
+    <result column="certificate_issue_time" property="certificateIssueTime" jdbcType="TIMESTAMP" />
+    <result column="certificate_tracking_number" property="certificateTrackingNumber" jdbcType="VARCHAR" />
+    <result column="certificate_express_company" property="certificateExpressCompany" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, pid, acceptance_receive_time, acceptance_issue_time, acceptance_tracking_number, 
+    acceptance_express_company, authorization_receive_time, authorization_issue_time, 
+    authorization_tracking_number, authorization_express_company, certificate_recieve_time, 
+    certificate_issue_time, certificate_tracking_number, certificate_express_company
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from patent_registration
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from patent_registration
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.PatentRegistration" >
+    insert into patent_registration (id, pid, acceptance_receive_time, 
+      acceptance_issue_time, acceptance_tracking_number, 
+      acceptance_express_company, authorization_receive_time, 
+      authorization_issue_time, authorization_tracking_number, 
+      authorization_express_company, certificate_recieve_time, 
+      certificate_issue_time, certificate_tracking_number, 
+      certificate_express_company)
+    values (#{id,jdbcType=VARCHAR}, #{pid,jdbcType=VARCHAR}, #{acceptanceReceiveTime,jdbcType=TIMESTAMP}, 
+      #{acceptanceIssueTime,jdbcType=TIMESTAMP}, #{acceptanceTrackingNumber,jdbcType=VARCHAR}, 
+      #{acceptanceExpressCompany,jdbcType=VARCHAR}, #{authorizationReceiveTime,jdbcType=TIMESTAMP}, 
+      #{authorizationIssueTime,jdbcType=TIMESTAMP}, #{authorizationTrackingNumber,jdbcType=VARCHAR}, 
+      #{authorizationExpressCompany,jdbcType=VARCHAR}, #{certificateRecieveTime,jdbcType=TIMESTAMP}, 
+      #{certificateIssueTime,jdbcType=TIMESTAMP}, #{certificateTrackingNumber,jdbcType=VARCHAR}, 
+      #{certificateExpressCompany,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.PatentRegistration" >
+    insert into patent_registration
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="pid != null" >
+        pid,
+      </if>
+      <if test="acceptanceReceiveTime != null" >
+        acceptance_receive_time,
+      </if>
+      <if test="acceptanceIssueTime != null" >
+        acceptance_issue_time,
+      </if>
+      <if test="acceptanceTrackingNumber != null" >
+        acceptance_tracking_number,
+      </if>
+      <if test="acceptanceExpressCompany != null" >
+        acceptance_express_company,
+      </if>
+      <if test="authorizationReceiveTime != null" >
+        authorization_receive_time,
+      </if>
+      <if test="authorizationIssueTime != null" >
+        authorization_issue_time,
+      </if>
+      <if test="authorizationTrackingNumber != null" >
+        authorization_tracking_number,
+      </if>
+      <if test="authorizationExpressCompany != null" >
+        authorization_express_company,
+      </if>
+      <if test="certificateRecieveTime != null" >
+        certificate_recieve_time,
+      </if>
+      <if test="certificateIssueTime != null" >
+        certificate_issue_time,
+      </if>
+      <if test="certificateTrackingNumber != null" >
+        certificate_tracking_number,
+      </if>
+      <if test="certificateExpressCompany != null" >
+        certificate_express_company,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="pid != null" >
+        #{pid,jdbcType=VARCHAR},
+      </if>
+      <if test="acceptanceReceiveTime != null" >
+        #{acceptanceReceiveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="acceptanceIssueTime != null" >
+        #{acceptanceIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="acceptanceTrackingNumber != null" >
+        #{acceptanceTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="acceptanceExpressCompany != null" >
+        #{acceptanceExpressCompany,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationReceiveTime != null" >
+        #{authorizationReceiveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="authorizationIssueTime != null" >
+        #{authorizationIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="authorizationTrackingNumber != null" >
+        #{authorizationTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationExpressCompany != null" >
+        #{authorizationExpressCompany,jdbcType=VARCHAR},
+      </if>
+      <if test="certificateRecieveTime != null" >
+        #{certificateRecieveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="certificateIssueTime != null" >
+        #{certificateIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="certificateTrackingNumber != null" >
+        #{certificateTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="certificateExpressCompany != null" >
+        #{certificateExpressCompany,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PatentRegistration" >
+    update patent_registration
+    <set >
+      <if test="pid != null" >
+        pid = #{pid,jdbcType=VARCHAR},
+      </if>
+      <if test="acceptanceReceiveTime != null" >
+        acceptance_receive_time = #{acceptanceReceiveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="acceptanceIssueTime != null" >
+        acceptance_issue_time = #{acceptanceIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="acceptanceTrackingNumber != null" >
+        acceptance_tracking_number = #{acceptanceTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="acceptanceExpressCompany != null" >
+        acceptance_express_company = #{acceptanceExpressCompany,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationReceiveTime != null" >
+        authorization_receive_time = #{authorizationReceiveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="authorizationIssueTime != null" >
+        authorization_issue_time = #{authorizationIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="authorizationTrackingNumber != null" >
+        authorization_tracking_number = #{authorizationTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="authorizationExpressCompany != null" >
+        authorization_express_company = #{authorizationExpressCompany,jdbcType=VARCHAR},
+      </if>
+      <if test="certificateRecieveTime != null" >
+        certificate_recieve_time = #{certificateRecieveTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="certificateIssueTime != null" >
+        certificate_issue_time = #{certificateIssueTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="certificateTrackingNumber != null" >
+        certificate_tracking_number = #{certificateTrackingNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="certificateExpressCompany != null" >
+        certificate_express_company = #{certificateExpressCompany,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.PatentRegistration" >
+    update patent_registration
+    set pid = #{pid,jdbcType=VARCHAR},
+      acceptance_receive_time = #{acceptanceReceiveTime,jdbcType=TIMESTAMP},
+      acceptance_issue_time = #{acceptanceIssueTime,jdbcType=TIMESTAMP},
+      acceptance_tracking_number = #{acceptanceTrackingNumber,jdbcType=VARCHAR},
+      acceptance_express_company = #{acceptanceExpressCompany,jdbcType=VARCHAR},
+      authorization_receive_time = #{authorizationReceiveTime,jdbcType=TIMESTAMP},
+      authorization_issue_time = #{authorizationIssueTime,jdbcType=TIMESTAMP},
+      authorization_tracking_number = #{authorizationTrackingNumber,jdbcType=VARCHAR},
+      authorization_express_company = #{authorizationExpressCompany,jdbcType=VARCHAR},
+      certificate_recieve_time = #{certificateRecieveTime,jdbcType=TIMESTAMP},
+      certificate_issue_time = #{certificateIssueTime,jdbcType=TIMESTAMP},
+      certificate_tracking_number = #{certificateTrackingNumber,jdbcType=VARCHAR},
+      certificate_express_company = #{certificateExpressCompany,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 93 - 0
src/main/java/com/goafanti/common/model/Admin.java

@@ -0,0 +1,93 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class Admin {
+    private String id;
+
+    /**
+    * 手机号(登录帐号)
+    */
+    private String mobile;
+
+    /**
+    * 用户名
+    */
+    private String name;
+
+    /**
+    * 密码
+    */
+    private String password;
+
+    /**
+    * 邮箱
+    */
+    private String email;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 员工工号
+    */
+    private Integer number;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Integer getNumber() {
+        return number;
+    }
+
+    public void setNumber(Integer number) {
+        this.number = number;
+    }
+}

+ 128 - 0
src/main/java/com/goafanti/common/model/PatentCost.java

@@ -0,0 +1,128 @@
+package com.goafanti.common.model;
+
+public class PatentCost {
+    private String id;
+
+    private String pid;
+
+    /**
+    * 年登印费
+    */
+    private Integer annualFee;
+
+    /**
+    * 年登印费缴费状态
+    */
+    private Integer annualFeeState;
+
+    /**
+    * 申请费
+    */
+    private Integer applicationFee;
+
+    /**
+    * 实审费
+    */
+    private Integer trialFee;
+
+    /**
+    * 文印费
+    */
+    private Integer printingFee;
+
+    /**
+    * 是否请款
+    */
+    private Integer isRequestFunds;
+
+    /**
+    * 是否报销
+    */
+    private Integer isReimbursement;
+
+    /**
+    * 缴费状态
+    */
+    private String paymentState;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public Integer getAnnualFee() {
+        return annualFee;
+    }
+
+    public void setAnnualFee(Integer annualFee) {
+        this.annualFee = annualFee;
+    }
+
+    public Integer getAnnualFeeState() {
+        return annualFeeState;
+    }
+
+    public void setAnnualFeeState(Integer annualFeeState) {
+        this.annualFeeState = annualFeeState;
+    }
+
+    public Integer getApplicationFee() {
+        return applicationFee;
+    }
+
+    public void setApplicationFee(Integer applicationFee) {
+        this.applicationFee = applicationFee;
+    }
+
+    public Integer getTrialFee() {
+        return trialFee;
+    }
+
+    public void setTrialFee(Integer trialFee) {
+        this.trialFee = trialFee;
+    }
+
+    public Integer getPrintingFee() {
+        return printingFee;
+    }
+
+    public void setPrintingFee(Integer printingFee) {
+        this.printingFee = printingFee;
+    }
+
+    
+    public Integer getIsRequestFunds() {
+		return isRequestFunds;
+	}
+
+	public void setIsRequestFunds(Integer isRequestFunds) {
+		this.isRequestFunds = isRequestFunds;
+	}
+
+	public Integer getIsReimbursement() {
+		return isReimbursement;
+	}
+
+	public void setIsReimbursement(Integer isReimbursement) {
+		this.isReimbursement = isReimbursement;
+	}
+
+	public String getPaymentState() {
+        return paymentState;
+    }
+
+    public void setPaymentState(String paymentState) {
+        this.paymentState = paymentState;
+    }
+}

+ 181 - 0
src/main/java/com/goafanti/common/model/PatentRegistration.java

@@ -0,0 +1,181 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class PatentRegistration {
+    private String id;
+
+    private String pid;
+
+    /**
+    * 受理通知书收到时间
+    */
+    private Date acceptanceReceiveTime;
+
+    /**
+    * 受理通知书发出时间
+    */
+    private Date acceptanceIssueTime;
+
+    /**
+    * 受理通知书发出快递单号
+    */
+    private String acceptanceTrackingNumber;
+
+    /**
+    * 受理通知书快递公司
+    */
+    private String acceptanceExpressCompany;
+
+    /**
+    * 授权通知书收到时间
+    */
+    private Date authorizationReceiveTime;
+
+    /**
+    * 授权通知书发出时间
+    */
+    private Date authorizationIssueTime;
+
+    /**
+    * 授权通知书快递单号
+    */
+    private String authorizationTrackingNumber;
+
+    /**
+    * 授权通知书快递公司
+    */
+    private String authorizationExpressCompany;
+
+    /**
+    * 专利证书收到时间
+    */
+    private Date certificateRecieveTime;
+
+    /**
+    * 专利证书发出时间
+    */
+    private Date certificateIssueTime;
+
+    /**
+    * 专利证书快递单号
+    */
+    private String certificateTrackingNumber;
+
+    /**
+    * 专利证书快递公司
+    */
+    private String certificateExpressCompany;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public Date getAcceptanceReceiveTime() {
+        return acceptanceReceiveTime;
+    }
+
+    public void setAcceptanceReceiveTime(Date acceptanceReceiveTime) {
+        this.acceptanceReceiveTime = acceptanceReceiveTime;
+    }
+
+    public Date getAcceptanceIssueTime() {
+        return acceptanceIssueTime;
+    }
+
+    public void setAcceptanceIssueTime(Date acceptanceIssueTime) {
+        this.acceptanceIssueTime = acceptanceIssueTime;
+    }
+
+    public String getAcceptanceTrackingNumber() {
+        return acceptanceTrackingNumber;
+    }
+
+    public void setAcceptanceTrackingNumber(String acceptanceTrackingNumber) {
+        this.acceptanceTrackingNumber = acceptanceTrackingNumber;
+    }
+
+    public String getAcceptanceExpressCompany() {
+        return acceptanceExpressCompany;
+    }
+
+    public void setAcceptanceExpressCompany(String acceptanceExpressCompany) {
+        this.acceptanceExpressCompany = acceptanceExpressCompany;
+    }
+
+    public Date getAuthorizationReceiveTime() {
+        return authorizationReceiveTime;
+    }
+
+    public void setAuthorizationReceiveTime(Date authorizationReceiveTime) {
+        this.authorizationReceiveTime = authorizationReceiveTime;
+    }
+
+    public Date getAuthorizationIssueTime() {
+        return authorizationIssueTime;
+    }
+
+    public void setAuthorizationIssueTime(Date authorizationIssueTime) {
+        this.authorizationIssueTime = authorizationIssueTime;
+    }
+
+    public String getAuthorizationTrackingNumber() {
+        return authorizationTrackingNumber;
+    }
+
+    public void setAuthorizationTrackingNumber(String authorizationTrackingNumber) {
+        this.authorizationTrackingNumber = authorizationTrackingNumber;
+    }
+
+    public String getAuthorizationExpressCompany() {
+        return authorizationExpressCompany;
+    }
+
+    public void setAuthorizationExpressCompany(String authorizationExpressCompany) {
+        this.authorizationExpressCompany = authorizationExpressCompany;
+    }
+
+    public Date getCertificateRecieveTime() {
+        return certificateRecieveTime;
+    }
+
+    public void setCertificateRecieveTime(Date certificateRecieveTime) {
+        this.certificateRecieveTime = certificateRecieveTime;
+    }
+
+    public Date getCertificateIssueTime() {
+        return certificateIssueTime;
+    }
+
+    public void setCertificateIssueTime(Date certificateIssueTime) {
+        this.certificateIssueTime = certificateIssueTime;
+    }
+
+    public String getCertificateTrackingNumber() {
+        return certificateTrackingNumber;
+    }
+
+    public void setCertificateTrackingNumber(String certificateTrackingNumber) {
+        this.certificateTrackingNumber = certificateTrackingNumber;
+    }
+
+    public String getCertificateExpressCompany() {
+        return certificateExpressCompany;
+    }
+
+    public void setCertificateExpressCompany(String certificateExpressCompany) {
+        this.certificateExpressCompany = certificateExpressCompany;
+    }
+}

+ 170 - 0
src/main/java/com/goafanti/techservice/patent/bo/PatentApplicationFeeBo.java

@@ -0,0 +1,170 @@
+package com.goafanti.techservice.patent.bo;
+
+import java.util.Date;
+
+/**
+ * 专利申请费用管理
+ */
+public class PatentApplicationFeeBo {
+	private String	uid;
+
+	private String	oid;
+
+	private String	pid;
+
+	private String	cid;
+
+	private String	serialNumber;
+
+	private String	patentNumber;
+
+	private String	locationProvince;
+
+	private String	unitName;
+
+	private String	patentName;
+	
+	private Integer paymentState;
+	
+	private Integer applicationFee;
+	
+	private Integer trialFee;
+	
+	private Integer printingFee;
+	
+	private Integer isRequestFunds;
+	
+	private Integer isReimbursement;
+	
+	private Date patentApplicationDate;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getOid() {
+		return oid;
+	}
+
+	public void setOid(String oid) {
+		this.oid = oid;
+	}
+
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+
+	public String getCid() {
+		return cid;
+	}
+
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	public String getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(String serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+
+	public String getPatentNumber() {
+		return patentNumber;
+	}
+
+	public void setPatentNumber(String patentNumber) {
+		this.patentNumber = patentNumber;
+	}
+
+	public String getLocationProvince() {
+		return locationProvince;
+	}
+
+	public void setLocationProvince(String locationProvince) {
+		this.locationProvince = locationProvince;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public String getPatentName() {
+		return patentName;
+	}
+
+	public void setPatentName(String patentName) {
+		this.patentName = patentName;
+	}
+
+	public Integer getPaymentState() {
+		return paymentState;
+	}
+
+	public void setPaymentState(Integer paymentState) {
+		this.paymentState = paymentState;
+	}
+
+	public Integer getApplicationFee() {
+		return applicationFee;
+	}
+
+	public void setApplicationFee(Integer applicationFee) {
+		this.applicationFee = applicationFee;
+	}
+
+	public Integer getTrialFee() {
+		return trialFee;
+	}
+
+	public void setTrialFee(Integer trialFee) {
+		this.trialFee = trialFee;
+	}
+
+	public Integer getPrintingFee() {
+		return printingFee;
+	}
+
+	public void setPrintingFee(Integer printingFee) {
+		this.printingFee = printingFee;
+	}
+
+	public Integer getIsRequestFunds() {
+		return isRequestFunds;
+	}
+
+	public void setIsRequestFunds(Integer isRequestFunds) {
+		this.isRequestFunds = isRequestFunds;
+	}
+
+	public Integer getIsReimbursement() {
+		return isReimbursement;
+	}
+
+	public void setIsReimbursement(Integer isReimbursement) {
+		this.isReimbursement = isReimbursement;
+	}
+
+	public Date getPatentApplicationDate() {
+		return patentApplicationDate;
+	}
+
+	public void setPatentApplicationDate(Date patentApplicationDate) {
+		this.patentApplicationDate = patentApplicationDate;
+	}
+	
+	
+}

+ 3 - 0
src/main/java/com/goafanti/techservice/patent/bo/PatentCompositeBo.java

@@ -2,10 +2,13 @@ package com.goafanti.techservice.patent.bo;
 
 import java.util.Date;
 
+import com.goafanti.common.model.BaseModel;
+
 /**
  * 管理端综合管理
  */
 public class PatentCompositeBo {
+
 	private String uid;
 	
 	private String oid;

+ 139 - 0
src/main/java/com/goafanti/techservice/patent/bo/PatentNoticeOfCorrectionBo.java

@@ -0,0 +1,139 @@
+package com.goafanti.techservice.patent.bo;
+
+import java.util.Date;
+/**
+ * 补正审查通知
+ */
+public class PatentNoticeOfCorrectionBo {
+		private String uid;
+		
+		private String oid;
+		
+		private String pid;
+		
+		private String serialNumber;
+		
+		private String patentNumber;
+		
+		private String office;
+		
+	    private String locationProvince;
+		
+		private String unitName;
+		
+	    private Integer patentCatagory;
+		
+		private String patentName;
+		
+		private Integer patentState;
+		
+		private String author;
+		
+		private Date authorizedDate;
+
+		public String getUid() {
+			return uid;
+		}
+
+		public void setUid(String uid) {
+			this.uid = uid;
+		}
+
+		public String getOid() {
+			return oid;
+		}
+
+		public void setOid(String oid) {
+			this.oid = oid;
+		}
+
+		public String getPid() {
+			return pid;
+		}
+
+		public void setPid(String pid) {
+			this.pid = pid;
+		}
+
+		public String getSerialNumber() {
+			return serialNumber;
+		}
+
+		public void setSerialNumber(String serialNumber) {
+			this.serialNumber = serialNumber;
+		}
+
+		public String getPatentNumber() {
+			return patentNumber;
+		}
+
+		public void setPatentNumber(String patentNumber) {
+			this.patentNumber = patentNumber;
+		}
+
+		public String getOffice() {
+			return office;
+		}
+
+		public void setOffice(String office) {
+			this.office = office;
+		}
+
+		public String getLocationProvince() {
+			return locationProvince;
+		}
+
+		public void setLocationProvince(String locationProvince) {
+			this.locationProvince = locationProvince;
+		}
+
+		public String getUnitName() {
+			return unitName;
+		}
+
+		public void setUnitName(String unitName) {
+			this.unitName = unitName;
+		}
+
+		public Integer getPatentCatagory() {
+			return patentCatagory;
+		}
+
+		public void setPatentCatagory(Integer patentCatagory) {
+			this.patentCatagory = patentCatagory;
+		}
+
+		public String getPatentName() {
+			return patentName;
+		}
+
+		public void setPatentName(String patentName) {
+			this.patentName = patentName;
+		}
+
+		public Integer getPatentState() {
+			return patentState;
+		}
+
+		public void setPatentState(Integer patentState) {
+			this.patentState = patentState;
+		}
+
+		public String getAuthor() {
+			return author;
+		}
+
+		public void setAuthor(String author) {
+			this.author = author;
+		}
+
+		public Date getAuthorizedDate() {
+			return authorizedDate;
+		}
+
+		public void setAuthorizedDate(Date authorizedDate) {
+			this.authorizedDate = authorizedDate;
+		}
+		
+		
+}

+ 142 - 0
src/main/java/com/goafanti/techservice/patent/bo/PatentPendingBo.java

@@ -0,0 +1,142 @@
+package com.goafanti.techservice.patent.bo;
+
+import java.util.Date;
+
+/**
+ * 待缴费专利管理
+ */
+public class PatentPendingBo {
+    private String uid;
+	
+	private String oid;
+	
+	private String pid;
+	
+	private String cid;
+	
+	private String serialNumber;
+	
+	private String patentNumber;
+	
+    private String locationProvince;
+	
+	private String unitName;
+	
+    private Integer patentCatagory;
+	
+	private String patentName;
+	
+	private Integer patentState;
+	
+	private Integer annualFeeState;
+	
+	private Date authorizedDate;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getOid() {
+		return oid;
+	}
+
+	public void setOid(String oid) {
+		this.oid = oid;
+	}
+
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+	
+	public String getCid() {
+		return cid;
+	}
+
+	public void setCid(String cid) {
+		this.cid = cid;
+	}
+
+	public String getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(String serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+
+	public String getPatentNumber() {
+		return patentNumber;
+	}
+
+	public void setPatentNumber(String patentNumber) {
+		this.patentNumber = patentNumber;
+	}
+
+	public String getLocationProvince() {
+		return locationProvince;
+	}
+
+	public void setLocationProvince(String locationProvince) {
+		this.locationProvince = locationProvince;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public Integer getPatentCatagory() {
+		return patentCatagory;
+	}
+
+	public void setPatentCatagory(Integer patentCatagory) {
+		this.patentCatagory = patentCatagory;
+	}
+
+	public String getPatentName() {
+		return patentName;
+	}
+
+	public void setPatentName(String patentName) {
+		this.patentName = patentName;
+	}
+
+	public Integer getPatentState() {
+		return patentState;
+	}
+
+	public void setPatentState(Integer patentState) {
+		this.patentState = patentState;
+	}
+
+	public Integer getAnnualFeeState() {
+		return annualFeeState;
+	}
+
+	public void setAnnualFeeState(Integer annualFeeState) {
+		this.annualFeeState = annualFeeState;
+	}
+
+	public Date getAuthorizedDate() {
+		return authorizedDate;
+	}
+
+	public void setAuthorizedDate(Date authorizedDate) {
+		this.authorizedDate = authorizedDate;
+	}
+	
+	
+	
+	
+}

+ 228 - 0
src/main/java/com/goafanti/techservice/patent/bo/PatentRecieveSendBo.java

@@ -0,0 +1,228 @@
+package com.goafanti.techservice.patent.bo;
+
+import java.util.Date;
+
+public class PatentRecieveSendBo {
+	private String	uid;
+
+	private String	oid;
+
+	private String	pid;
+
+	private String	rid;
+
+	private String	serialNumber;
+
+	private String	patentNumber;
+
+	private String	locationProvince;
+
+	private String	unitName;
+
+	private Integer	patentCatagory;
+
+	private String	patentName;
+
+	private Date	acceptanceReceiveTime;
+
+	private Date	acceptanceIssueTime;
+
+	private String	acceptanceTrackingNumber;
+
+	private String	acceptanceExpressCompany;
+
+	private Date	authorizationReceiveTime;
+
+	private Date	authorizationIssueTime;
+
+	private String	authorizationTrackingNumber;
+
+	private String	authorizationExpressCompany;
+
+	private Date	certificateRecieveTime;
+
+	private Date	certificateIssueTime;
+
+	private String	certificateTrackingNumber;
+
+	private String	certificateExpressCompany;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getOid() {
+		return oid;
+	}
+
+	public void setOid(String oid) {
+		this.oid = oid;
+	}
+
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+
+	public String getRid() {
+		return rid;
+	}
+
+	public void setRid(String rid) {
+		this.rid = rid;
+	}
+
+	public String getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(String serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+
+	public String getPatentNumber() {
+		return patentNumber;
+	}
+
+	public void setPatentNumber(String patentNumber) {
+		this.patentNumber = patentNumber;
+	}
+
+	public String getLocationProvince() {
+		return locationProvince;
+	}
+
+	public void setLocationProvince(String locationProvince) {
+		this.locationProvince = locationProvince;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public Integer getPatentCatagory() {
+		return patentCatagory;
+	}
+
+	public void setPatentCatagory(Integer patentCatagory) {
+		this.patentCatagory = patentCatagory;
+	}
+
+	public String getPatentName() {
+		return patentName;
+	}
+
+	public void setPatentName(String patentName) {
+		this.patentName = patentName;
+	}
+
+	public Date getAcceptanceReceiveTime() {
+		return acceptanceReceiveTime;
+	}
+
+	public void setAcceptanceReceiveTime(Date acceptanceReceiveTime) {
+		this.acceptanceReceiveTime = acceptanceReceiveTime;
+	}
+
+	public Date getAcceptanceIssueTime() {
+		return acceptanceIssueTime;
+	}
+
+	public void setAcceptanceIssueTime(Date acceptanceIssueTime) {
+		this.acceptanceIssueTime = acceptanceIssueTime;
+	}
+
+	public String getAcceptanceTrackingNumber() {
+		return acceptanceTrackingNumber;
+	}
+
+	public void setAcceptanceTrackingNumber(String acceptanceTrackingNumber) {
+		this.acceptanceTrackingNumber = acceptanceTrackingNumber;
+	}
+
+	public String getAcceptanceExpressCompany() {
+		return acceptanceExpressCompany;
+	}
+
+	public void setAcceptanceExpressCompany(String acceptanceExpressCompany) {
+		this.acceptanceExpressCompany = acceptanceExpressCompany;
+	}
+
+	public Date getAuthorizationReceiveTime() {
+		return authorizationReceiveTime;
+	}
+
+	public void setAuthorizationReceiveTime(Date authorizationReceiveTime) {
+		this.authorizationReceiveTime = authorizationReceiveTime;
+	}
+
+	public Date getAuthorizationIssueTime() {
+		return authorizationIssueTime;
+	}
+
+	public void setAuthorizationIssueTime(Date authorizationIssueTime) {
+		this.authorizationIssueTime = authorizationIssueTime;
+	}
+
+	public String getAuthorizationTrackingNumber() {
+		return authorizationTrackingNumber;
+	}
+
+	public void setAuthorizationTrackingNumber(String authorizationTrackingNumber) {
+		this.authorizationTrackingNumber = authorizationTrackingNumber;
+	}
+
+	public String getAuthorizationExpressCompany() {
+		return authorizationExpressCompany;
+	}
+
+	public void setAuthorizationExpressCompany(String authorizationExpressCompany) {
+		this.authorizationExpressCompany = authorizationExpressCompany;
+	}
+
+	public Date getCertificateRecieveTime() {
+		return certificateRecieveTime;
+	}
+
+	public void setCertificateRecieveTime(Date certificateRecieveTime) {
+		this.certificateRecieveTime = certificateRecieveTime;
+	}
+
+	public Date getCertificateIssueTime() {
+		return certificateIssueTime;
+	}
+
+	public void setCertificateIssueTime(Date certificateIssueTime) {
+		this.certificateIssueTime = certificateIssueTime;
+	}
+
+	public String getCertificateTrackingNumber() {
+		return certificateTrackingNumber;
+	}
+
+	public void setCertificateTrackingNumber(String certificateTrackingNumber) {
+		this.certificateTrackingNumber = certificateTrackingNumber;
+	}
+
+	public String getCertificateExpressCompany() {
+		return certificateExpressCompany;
+	}
+
+	public void setCertificateExpressCompany(String certificateExpressCompany) {
+		this.certificateExpressCompany = certificateExpressCompany;
+	}
+	
+	
+
+}

+ 180 - 15
src/main/java/com/goafanti/techservice/patent/controller/PatentApiController.java

@@ -1,8 +1,8 @@
 package com.goafanti.techservice.patent.controller;
 
+import java.text.ParseException;
 import java.util.Date;
 import java.util.LinkedHashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -12,19 +12,29 @@ import javax.annotation.Resource;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import com.goafanti.common.bo.Result;
-import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.OrganizationIdentity;
+import com.goafanti.common.model.PatentCost;
 import com.goafanti.common.model.PatentInfo;
 import com.goafanti.common.model.PatentLog;
+import com.goafanti.common.model.PatentRegistration;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.techservice.patent.bo.PatentApplicationFeeBo;
 import com.goafanti.techservice.patent.bo.PatentCompositeBo;
+import com.goafanti.techservice.patent.bo.PatentNoticeOfCorrectionBo;
+import com.goafanti.techservice.patent.bo.PatentPendingBo;
+import com.goafanti.techservice.patent.bo.PatentRecieveSendBo;
+import com.goafanti.techservice.patent.service.AdminService;
+import com.goafanti.techservice.patent.service.PatentCostService;
 import com.goafanti.techservice.patent.service.PatentInfoService;
 import com.goafanti.techservice.patent.service.PatentLogService;
+import com.goafanti.techservice.patent.service.PatentRegistrationService;
 import com.goafanti.user.service.OrganizationIdentityService;
 
 @Controller
@@ -36,6 +46,12 @@ public class PatentApiController extends BaseApiController {
 	private PatentLogService	patentLogService;
 	@Resource
 	private OrganizationIdentityService organizationIdentityServivce;
+	@Resource
+	private PatentCostService patentCostService;
+	@Resource
+	private PatentRegistrationService patentRegistrationService;
+	@Resource
+	private AdminService adminService;
 
 	/**
 	 * 用户端专利申请
@@ -46,6 +62,10 @@ public class PatentApiController extends BaseApiController {
 		patentInfo.setId(UUID.randomUUID().toString());
 		patentInfo.setUid(TokenManager.getUserId());
 		patentInfoService.insert(patentInfo);
+		PatentRegistration patentRegistration = new PatentRegistration();
+		patentRegistration.setId(UUID.randomUUID().toString());
+		patentRegistration.setPid(patentInfo.getId());
+		patentRegistrationService.insert(patentRegistration);
 		res.setData(patentInfo);
 		return res;
 	}
@@ -82,23 +102,24 @@ public class PatentApiController extends BaseApiController {
 	}
 
 	/**
-	 * 用户端申请专利当前流程
+	 * 用户端申请专利当前流程/管理端专利详情-专利状态流转记录
 	 */
-	@RequestMapping(value = "/clientCurrentProcess", method = RequestMethod.POST)
-	public Result clientCurrentProcess(String patentId) {
+	@RequestMapping(value = "/patentProcess", method = RequestMethod.POST)
+	public Result clientCurrentProcess(String pid) {
 		Result res = new Result();
-		List<PatentLog> patentLog = patentLogService.selectCurrentProcessByPid(patentId);
+		List<PatentLog> patentLog = patentLogService.selectCurrentProcessByPid(pid);
 		res.setData(patentLog);
 		return res;
 	}
 	
 	/**
 	 * 管理端申请专利列表
+	 * @throws ParseException 
 	 */
 	@RequestMapping(value = "/managePatentList", method = RequestMethod.POST)
 	public Result managePatentList(String serialNumber,String patentNumber,String office,String locationProvince,String unitName,
-			Integer patentCatagory,String patentName,Integer patentState,Date createTime,Date patentApplicationDate,
-			Date authorizedDate,String author,String pageNo, String pageSize){
+			Integer patentCatagory,String patentName,Integer patentState, @RequestParam(name="createTime[]", required=false) String[] createTime, @RequestParam(name="patentApplicationDate[]", required=false) String[] patentApplicationDate,
+			String author,String pageNo, String pageSize) throws ParseException{
 		Result res =new Result();
 		Integer pNo = 1;
 		Integer pSize = 15;
@@ -109,14 +130,13 @@ public class PatentApiController extends BaseApiController {
 			pNo = Integer.parseInt(pageNo);
 		}
 		res.setData(getManagePatentList(serialNumber, patentNumber, office, locationProvince, unitName,
-				 patentCatagory, patentName, patentState, createTime, patentApplicationDate,
-				 authorizedDate, author, pNo,  pSize));
+				 patentCatagory, patentName, patentState, createTime, patentApplicationDate
+				 , author, pNo,  pSize));
 		return res;
 	}
 	
 	/**
 	 * 获取公司
-	 * @return
 	 */
 	@RequestMapping(value="/getUnitNames",method = RequestMethod.GET)
 	public Result getUnitNames(){
@@ -131,9 +151,20 @@ public class PatentApiController extends BaseApiController {
 	}
 	
 	/**
+	 * 获取操作人
+	 */
+	@RequestMapping(value="/getAdmin",method=RequestMethod.GET)
+	public Result getAdmin(){
+		Result res = new Result();
+		List<Admin> admin = adminService.selectAllAdmin();
+		res.setData(admin);
+		return res;
+	}
+	
+	/**
 	 * 管理端新增专利申请
 	 */
-	@RequestMapping(value="manageApplyPatent",method = RequestMethod.POST)
+	@RequestMapping(value="/manageApplyPatent",method = RequestMethod.POST)
 	public Result manageApplyPatent(PatentInfo patentInfo,String uid){
 		Result res = new Result();
 		if(null == uid){
@@ -143,6 +174,10 @@ public class PatentApiController extends BaseApiController {
 		patentInfo.setId(UUID.randomUUID().toString());
 		patentInfo.setUid(uid);
 		patentInfoService.insert(patentInfo);
+		PatentRegistration patentRegistration = new PatentRegistration();
+		patentRegistration.setId(UUID.randomUUID().toString());
+		patentRegistration.setPid(patentInfo.getId());
+		patentRegistrationService.insert(patentRegistration);
 		res.setData(patentInfo);
 		return res;
 	}
@@ -158,6 +193,17 @@ public class PatentApiController extends BaseApiController {
 			return res;
 		}
 		if (patentLog != null){
+			switch (patentLog.getState()){
+			case 1:
+				patentInfo.setCreateTime(patentLog.getRecordTime());
+				break;
+			case 3:
+				patentInfo.setPatentApplicationDate(patentLog.getRecordTime());
+				break;
+			case 8:
+				patentInfo.setAuthorizedDate(patentLog.getRecordTime());
+				break;
+			}
 			patentInfo.setPatentState(patentLog.getState());
 		    patentLogService.insert(patentLog);
 		}
@@ -166,13 +212,131 @@ public class PatentApiController extends BaseApiController {
 		return res;
 	}
 	
+	/**
+	 * 待缴费专利管理
+	 */
+	@RequestMapping(value="/managePendingPaymentList",method = RequestMethod.POST)
+	public Result managePendingPaymentList(String locationProvince,String pageNo, String pageSize){
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 15;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(getManagePendingPaymentList(locationProvince,pNo,pSize));
+		return res;
+	}
+	
+	/**
+	 * 年费确认缴费
+	 */
+	@RequestMapping(value="/confirmPayment",method = RequestMethod.POST)
+	public Result confirmPayment(String cid){
+		Result res = new Result();
+		if (null == cid){
+			res.getError().add(buildError("确认缴费失败!"));
+			return res;
+		}
+		PatentCost patentCost =new PatentCost();
+		patentCost.setId(cid);
+		patentCost.setAnnualFeeState(1);
+		patentCostService.updateByPrimaryKeySelective(patentCost);
+		return res;
+	}
 	
+	/**
+	 * 补正审查通知列表
+	 */
+	@RequestMapping(value="/noticeOfCorrectionList",method = RequestMethod.POST)
+	public Result noticeOfCorrectionList(Date authorizedDate,String serialNumber, String patentNumber, String office, String locationProvince, String unitName,
+			 Integer patentCatagory, String patentName, Integer patentState ,String author ,String pageNo, String pageSize){
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 15;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		 res.setData(getNoticeOfCorrectionList(authorizedDate,serialNumber,patentNumber,office,locationProvince,unitName,
+				patentCatagory,patentName,patentState,author,pNo,pSize));
+		 return res;
+	}
+	
+	/**
+	 * 收发详情入口/收发纸件登记
+	 */
+	@RequestMapping(value="/getRecieveSendList",method = RequestMethod.POST)
+	public Result getRecieveSendList(){
+		Result res = new Result();
+		List<PatentRecieveSendBo> patentRecieveSendBo = patentInfoService.getPatentRecieveSendList();
+		res.setData(patentRecieveSendBo);
+		return res;
+	}
+	
+	/**
+	 * 收发详情保存修改
+	 */
+	@RequestMapping(value="/getRecieveSendList",method = RequestMethod.GET)
+	public Result recieveSendDetail(String rid,PatentRegistration patentRegistration){
+		Result res = new Result();
+		patentRegistration.setId(rid);
+		patentRegistrationService.updateByPrimaryKeySelective(patentRegistration);
+		return res;
+	}
+	
+	/**
+	 * 专利申请费用管理
+	 */
+	@RequestMapping(value="/getApplicationFeeList",method=RequestMethod.POST)
+	public Result getApplicationFeeList(String[] patentApplicationDate,String locationProvince,String pageNo, String pageSize)
+			throws ParseException{
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 15;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(getApplicationFeeList(patentApplicationDate,locationProvince,pSize,pNo));
+		return res;
+	}
+	
+	
+	
+	
+	
+	//专利申请费用管理
+	private Pagination<PatentApplicationFeeBo> getApplicationFeeList(String[] patentApplicationDate, String locationProvince, 
+			Integer pNo,Integer pSize) throws ParseException{
+		return (Pagination<PatentApplicationFeeBo>) patentCostService.getApplicationFeeList(patentApplicationDate,locationProvince,pNo,pSize);
+	}
+    
+	//补正审查通知列表
+	private Pagination<PatentNoticeOfCorrectionBo> getNoticeOfCorrectionList(Date authorizedDate, String serialNumber, String patentNumber,
+			String office, String locationProvince, String unitName, Integer patentCatagory, String patentName,
+			Integer patentState, String author, Integer pNo, Integer pSize) {
+		return (Pagination<PatentNoticeOfCorrectionBo>) patentInfoService.getNoticeOfCorrectionList(authorizedDate,serialNumber,patentNumber,office,locationProvince,unitName,
+				patentCatagory,patentName,patentState,author,pNo,pSize);
+	}
+    
+	//
+	private Pagination<PatentPendingBo> getManagePendingPaymentList(String locationProvince, Integer pNo, Integer pSize) {
+		return (Pagination<PatentPendingBo>) patentInfoService.getManagePendingPaymentList(locationProvince,pNo,pSize);
+	}
+
 	private Pagination<PatentCompositeBo> getManagePatentList(String serialNumber,String patentNumber,String office,String locationProvince,String unitName,
-			Integer patentCatagory,String patentName,Integer patentState,Date createTime,Date patentApplicationDate,
-			Date authorizedDate,String author,Integer pNo, Integer pSize){
+			Integer patentCatagory,String patentName,Integer patentState,String[] createTime,String[] patentApplicationDate,
+			String author,Integer pNo, Integer pSize) throws ParseException{
 		return (Pagination<PatentCompositeBo>) patentInfoService.getManagePatentList( serialNumber, patentNumber, office, locationProvince, unitName,
 				 patentCatagory, patentName, patentState, createTime, patentApplicationDate,
-				 authorizedDate, author, pNo,  pSize);
+				  author, pNo,  pSize);
 	}
 
 	private Pagination<PatentInfo> getClientApplyList(Result res, String patentNumber, String patentName,
@@ -180,5 +344,6 @@ public class PatentApiController extends BaseApiController {
 		return (Pagination<PatentInfo>) patentInfoService.getClientApplyList(TokenManager.getUserId(), patentNumber,
 				patentName, patentCatagory, patentState, pNo, pSize);
 	}
+	
 
 }

+ 11 - 0
src/main/java/com/goafanti/techservice/patent/service/AdminService.java

@@ -0,0 +1,11 @@
+package com.goafanti.techservice.patent.service;
+
+import java.util.List;
+
+import com.goafanti.common.model.Admin;
+
+public interface AdminService {
+
+	List<Admin> selectAllAdmin();
+
+}

+ 17 - 0
src/main/java/com/goafanti/techservice/patent/service/PatentCostService.java

@@ -0,0 +1,17 @@
+package com.goafanti.techservice.patent.service;
+
+import java.text.ParseException;
+
+import com.goafanti.common.model.PatentCost;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.techservice.patent.bo.PatentApplicationFeeBo;
+
+public interface PatentCostService {
+
+	int updateByPrimaryKeySelective(PatentCost patentCost);
+
+	Pagination<PatentApplicationFeeBo> getApplicationFeeList(String[] patentApplicationDate, String locationProvince,
+			Integer pNo, Integer pSize) throws ParseException;
+
+
+}

+ 15 - 2
src/main/java/com/goafanti/techservice/patent/service/PatentInfoService.java

@@ -1,10 +1,15 @@
 package com.goafanti.techservice.patent.service;
 
+import java.text.ParseException;
 import java.util.Date;
+import java.util.List;
 
 import com.goafanti.common.model.PatentInfo;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.techservice.patent.bo.PatentCompositeBo;
+import com.goafanti.techservice.patent.bo.PatentNoticeOfCorrectionBo;
+import com.goafanti.techservice.patent.bo.PatentPendingBo;
+import com.goafanti.techservice.patent.bo.PatentRecieveSendBo;
 
 public interface PatentInfoService {
 
@@ -21,7 +26,15 @@ public interface PatentInfoService {
 
 	Pagination<PatentCompositeBo> getManagePatentList(String serialNumber, String patentNumber, String office,
 			String locationProvince, String unitName, Integer patentCatagory, String patentName, Integer patentState,
-			Date createTime, Date patentApplicationDate, Date authorizedDate, String author, Integer pNo,
-			Integer pSize);
+			String[] createTime, String[] patentApplicationDate,  String author, Integer pNo,
+			Integer pSize)  throws ParseException;
+
+	Pagination<PatentPendingBo> getManagePendingPaymentList(String locationProvince, Integer pNo, Integer pSize);
+
+	Pagination<PatentNoticeOfCorrectionBo> getNoticeOfCorrectionList(Date authorizedDate, String serialNumber,
+			String patentNumber, String office, String locationProvince, String unitName, Integer patentCatagory,
+			String patentName, Integer patentState, String author, Integer pNo, Integer pSize);
+
+	List<PatentRecieveSendBo> getPatentRecieveSendList();
 
 }

+ 11 - 0
src/main/java/com/goafanti/techservice/patent/service/PatentRegistrationService.java

@@ -0,0 +1,11 @@
+package com.goafanti.techservice.patent.service;
+
+import com.goafanti.common.model.PatentRegistration;
+
+public interface PatentRegistrationService {
+
+	PatentRegistration insert(PatentRegistration patentRegistration);
+
+	int updateByPrimaryKeySelective(PatentRegistration patentRegistration);
+
+}

+ 20 - 0
src/main/java/com/goafanti/techservice/patent/service/impl/AdminServiceImpl.java

@@ -0,0 +1,20 @@
+package com.goafanti.techservice.patent.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.model.Admin;
+import com.goafanti.techservice.patent.service.AdminService;
+@Service
+public class AdminServiceImpl implements AdminService {
+	@Autowired
+	private AdminMapper adminMapper;
+	@Override
+	public List<Admin> selectAllAdmin() {
+		return adminMapper.selectAllAdmin();
+	}
+
+}

+ 66 - 0
src/main/java/com/goafanti/techservice/patent/service/impl/PatentCostServiceImpl.java

@@ -0,0 +1,66 @@
+package com.goafanti.techservice.patent.service.impl;
+
+import java.text.ParseException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.PatentCostMapper;
+import com.goafanti.common.model.PatentCost;
+import com.goafanti.common.utils.DateUtils;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.techservice.patent.bo.PatentApplicationFeeBo;
+import com.goafanti.techservice.patent.service.PatentCostService;
+@Service
+public class PatentCostServiceImpl extends BaseMybatisDao<PatentCostMapper> implements PatentCostService {
+	@Autowired
+	private PatentCostMapper patentCostMapper;
+
+	@Override
+	public int updateByPrimaryKeySelective(PatentCost patentCost) {
+		return patentCostMapper.updateByPrimaryKeySelective(patentCost);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<PatentApplicationFeeBo> getApplicationFeeList(String[] pDate,
+			String locationProvince, Integer pageNo, Integer pageSize) throws ParseException {
+		Map<String, Object> params = new HashMap<>();
+		Date pStart = null;
+		Date pEnd = null;
+		
+		if(pDate != null ){
+			pStart = DateUtils.parseDate(pDate[0], "yyyy-MM-dd");
+			if(pDate.length == 2){
+				pEnd = DateUtils.addDays(DateUtils.parseDate(pDate[1], "yyyy-MM-dd"), 1);
+			}
+		}
+		
+		if(pStart != null){
+			params.put("pStart", pStart);
+		}
+		
+		if(pEnd != null){
+			params.put("pEnd", pEnd);
+		}
+		
+		if(locationProvince != null && locationProvince != ""){
+			params.put("locationProvince", locationProvince);
+		}
+		
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 15;
+		}
+		return (Pagination<PatentApplicationFeeBo>) findPage("findApplicationFeeListByPage", "finddApplicationFeeCount", params, pageNo,
+				pageSize);
+	}
+
+}

+ 129 - 10
src/main/java/com/goafanti/techservice/patent/service/impl/PatentInfoServiceImpl.java

@@ -1,7 +1,9 @@
 package com.goafanti.techservice.patent.service.impl;
 
+import java.text.ParseException;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,9 +11,13 @@ import org.springframework.stereotype.Service;
 
 import com.goafanti.common.dao.PatentInfoMapper;
 import com.goafanti.common.model.PatentInfo;
+import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.techservice.patent.bo.PatentCompositeBo;
+import com.goafanti.techservice.patent.bo.PatentNoticeOfCorrectionBo;
+import com.goafanti.techservice.patent.bo.PatentPendingBo;
+import com.goafanti.techservice.patent.bo.PatentRecieveSendBo;
 import com.goafanti.techservice.patent.service.PatentInfoService;
 
 
@@ -90,15 +96,51 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 	@Override
 	public Pagination<PatentCompositeBo> getManagePatentList(String serialNumber, String patentNumber, String office,
 			String locationProvince, String unitName, Integer patentCatagory, String patentName, Integer patentState,
-			Date createTime, Date patentApplicationDate, Date authorizedDate, String author, Integer pageNo,
-			Integer pageSize) {
+			String[] cDate, String[] pDate , String author, Integer pageNo,
+			Integer pageSize) throws ParseException {
 		Map<String, Object> params = new HashMap<>();
+		Date cStart = null;
+		Date cEnd = null;
+		Date pStart = null;
+		Date pEnd = null;
+		
+		
+		if(cDate != null ){
+			 cStart = DateUtils.parseDate(cDate[0], "yyyy-MM-dd");
+			 if(cDate.length == 2){
+				 cEnd = DateUtils.addDays(DateUtils.parseDate(cDate[1], "yyyy-MM-dd"), 1);
+			 }
+		}
+		if(pDate != null ){
+			pStart = DateUtils.parseDate(pDate[0], "yyyy-MM-dd");
+			if(pDate.length == 2){
+				pEnd = DateUtils.addDays(DateUtils.parseDate(pDate[1], "yyyy-MM-dd"), 1);
+			}
+		}
+		
+		
+		if(cStart != null){
+			params.put("cStart", cStart);
+		}
+		
+		if(cEnd != null){
+			params.put("cEnd", cEnd);
+		}
+		
+		if(pStart != null){
+			params.put("pStart", pStart);
+		}
+		
+		if(pEnd != null){
+			params.put("pEnd", pEnd);
+		}
+		
 		if(serialNumber != null && serialNumber != ""){
 			params.put("serialNumber", serialNumber);
 		}
 		
 		if(patentNumber != null && patentNumber != ""){
-			params.put(patentNumber, patentNumber);
+			params.put("patentNumber", patentNumber);
 		}
 		
 		if(office != null && office != ""){
@@ -125,20 +167,90 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 			params.put("patentState", patentState);
 		}
 		
-		if(createTime != null){
-			params.put("createTime", createTime);
+		
+		
+		if(author != null && author != ""){
+			params.put("author", author);
 		}
 		
-		if(patentApplicationDate != null){
-			params.put("patentApplicationDate", patentApplicationDate);
+		
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
 		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 15;
+		}
+		return (Pagination<PatentCompositeBo>) findPage("findManagePatentListByPage","findManagePatentCount", params, pageNo, pageSize);
+	}
+
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<PatentPendingBo> getManagePendingPaymentList(String locationProvince, Integer pageNo,
+			Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
 		
-		if(authorizedDate != null){
+		if(locationProvince != null && locationProvince != ""){
+			params.put("locationProvince", locationProvince);
+		}
+		
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 15;
+		}
+		return (Pagination<PatentPendingBo>) findPage("findManagePendingPaymentListByPage","findManagePendingPaymentCount", params, pageNo, pageSize);
+	}
+
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<PatentNoticeOfCorrectionBo> getNoticeOfCorrectionList(Date authorizedDate, String serialNumber,
+			String patentNumber, String office, String locationProvince, String unitName, Integer patentCatagory,
+			String patentName, Integer patentState, String author, Integer pageNo, Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
+		
+		if(authorizedDate != null ){
 			params.put("authorizedDate", authorizedDate);
 		}
 		
+		if(serialNumber != null && serialNumber != ""){
+			params.put("serialNumber", serialNumber);
+		}
+		
+		if(patentNumber != null && patentNumber != ""){
+			params.put(patentNumber, patentNumber);
+		}
+		
+		if(office != null && office != ""){
+			params.put("office", office);
+		}
+		
+		if(locationProvince != null && locationProvince != ""){
+			params.put("locationProvince", locationProvince);
+		}
+		
+		if(unitName != null && unitName != ""){
+			params.put("unitName", unitName);
+		}
+		
+		if(patentCatagory != null){
+			params.put("patentCatagory", patentCatagory);
+		}
+		
+		if(patentName != null && patentName != ""){
+			params.put("patentName", patentName);
+		}
+		
+		if(patentState != null){
+			params.put("patentState", patentState);
+		}
+		
 		if(author != null && author != ""){
-			params.put("author", author);
+			params.put("author", patentState);
 		}
 		
 		
@@ -149,7 +261,14 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 		if (pageSize == null || pageSize < 0) {
 			pageSize = 15;
 		}
-		return (Pagination<PatentCompositeBo>) findPage("findManagePatentListByPage","findManagePatentCount", params, pageNo, pageSize);
+		return (Pagination<PatentNoticeOfCorrectionBo>) findPage("findNoticeOfCorrectionListByPage","findNoticeOfCorrectionCount", params, pageNo, pageSize);
 	}
 
+
+	@Override
+	public List<PatentRecieveSendBo> getPatentRecieveSendList() {
+		return patentInfoMapper.getPatentRecieveSendList();
+	}
+	
+
 }

+ 25 - 0
src/main/java/com/goafanti/techservice/patent/service/impl/PatentRegistrationServiceImpl.java

@@ -0,0 +1,25 @@
+package com.goafanti.techservice.patent.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.PatentRegistrationMapper;
+import com.goafanti.common.model.PatentRegistration;
+import com.goafanti.techservice.patent.service.PatentRegistrationService;
+@Service
+public class PatentRegistrationServiceImpl implements PatentRegistrationService {
+	@Autowired
+    private PatentRegistrationMapper patentRegistrationMapper;
+
+	@Override
+	public PatentRegistration insert(PatentRegistration patentRegistration) {
+		patentRegistrationMapper.insert(patentRegistration);
+		return patentRegistration;
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(PatentRegistration patentRegistration) {
+		return patentRegistrationMapper.updateByPrimaryKeySelective(patentRegistration);
+	}
+
+}

+ 1 - 1
src/main/resources/spring/spring-shiro.xml

@@ -21,7 +21,7 @@
 	    <constructor-arg index="1" value="${jedis.host}" name="host" type="java.lang.String"/>
 	    <constructor-arg index="2" value="${jedis.port}"  name="port" type="int"/>
 	    <constructor-arg index="3" value="${jedis.timeout}"  name="timeout" type="int"/>
-	    <!-- <constructor-arg index="4" value="${jedis.password}"  name="password" type="java.lang.String"/> -->
+	    <constructor-arg index="4" value="${jedis.password}"  name="password" type="java.lang.String"/>
 	  
 	</bean>
 	

+ 3 - 3
src/main/webapp/WEB-INF/html/test.html

@@ -53,12 +53,12 @@
 <body>
   <div id="root">
     <label>
-      <span>1接口前缀</span>
-      <input type="text" id="context" value="aft">
+      <span>接口前缀</span>
+      <input type="text" id="context" value="aft/techservice/patent" >
     </label>
     <label>
       <span>接口地址</span>
-      <input type="text" id="path" value="/signin">
+      <input type="text" id="path" value="/signin" >
     </label>
     <label>
       <span>post or get</span>

+ 1 - 1
src/main/webapp/WEB-INF/views/admin/index.jsp

@@ -1,7 +1,7 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
 <%@ include file="../header.jsp"%>
-<title>登录页</title>
+<title>管理端首页</title>
 <link href="${staticHost}/admin/index.css" rel="stylesheet">
 </head>
 <body>

+ 1 - 1
src/main/webapp/WEB-INF/views/admin/servicesManage/patent.jsp

@@ -1,7 +1,7 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
 <%@ include file="../../header.jsp"%>
-<title>登录页</title>
+<title>专利申请管理页</title>
 <link href="${staticHost}/admin/servicesManage/patent.css" rel="stylesheet">
 </head>
 <body>

+ 1 - 1
src/main/webapp/WEB-INF/views/admin/userManage.jsp

@@ -1,7 +1,7 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
 <%@ include file="../header.jsp"%>
-<title>登录页</title>
+<title>用户管理</title>
 <link href="${staticHost}/admin/userManage.css" rel="stylesheet">
 </head>
 <body>

+ 1 - 1
src/main/webapp/WEB-INF/web.xml

@@ -10,7 +10,7 @@
 		and Filters -->
 	<context-param>
 		<param-name>spring.profiles.active</param-name>
-		<param-value>local</param-value>
+		<param-value>dev</param-value>
 	</context-param>
 
 	<!-- Creates the Spring Container shared by all Servlets and Filters -->