Browse Source

管理端软著列表接口

albertshaw 8 years ago
parent
commit
9d124f4cff

+ 21 - 34
schema/2017-03-15.sql

@@ -1,39 +1,26 @@
-CREATE TABLE `patent_info` (
-  `id` varchar(36) NOT NULL,
-  `uid` varchar(36) NOT NULL COMMENT '用户ID',
-  `serial_number` int(8) NOT NULL AUTO_INCREMENT COMMENT '编号',
-  `patent_number` varchar(16) DEFAULT NULL COMMENT '申请号/专利号',
-  `patent_name` varchar(16) DEFAULT NULL COMMENT '专利名称',
-  `patent_catagory` int(1) DEFAULT NULL COMMENT '专利类型',
-  `patent_state` int(1) DEFAULT NULL COMMENT '专利状态',
-  `patent_field` int(2) DEFAULT NULL COMMENT '专利领域',
-  `patent_des` varchar(1000) DEFAULT NULL COMMENT '专利简介',
-  `patent_prory_statement_url` varchar(255) DEFAULT NULL COMMENT '专利代理委托书',
-  `patent_writing_url` varchar(255) DEFAULT NULL COMMENT '专利稿件',
-  `authorization_notice_url` varchar(255) DEFAULT NULL COMMENT '授权通知书',
-  `patent_certificate_url` varchar(255) DEFAULT NULL COMMENT '专利证书',
-  `patent_application_date` datetime DEFAULT NULL COMMENT '申请日/受理日',
-  `first_inventor_name` varchar(32) DEFAULT NULL COMMENT '第一发明人',
-  `first_inventor_nationality` varchar(16) DEFAULT NULL COMMENT '第一发明人国籍',
-  `first_inventor_id_number` varchar(18) DEFAULT NULL COMMENT '第一发明人身份证号',
-  `first_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第一发明人是否公布(0--不公布,1--公布)',
-  `second_inventor_name` varchar(32) DEFAULT NULL COMMENT '第二发明人姓名',
-  `second_inventor_nationality` varchar(16) DEFAULT NULL COMMENT '第二发明人国际',
-  `second_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第二发明人是否公布(0--不公布,1--公布)',
-  `third_inventor_name` varchar(32) DEFAULT NULL COMMENT '第三发明人姓名',
-  `third_inventor_nationality` varchar(12) DEFAULT NULL COMMENT '第三发明人国籍',
-  `third_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第三发明人是否公布(0--不公布,1--公布)',
-  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
-  `author` varchar(32) DEFAULT NULL COMMENT '撰写人',
-  `authorized_date` datetime DEFAULT NULL COMMENT '授权日/发文日',
-  `office` varchar(16) DEFAULT NULL COMMENT '事务所',
+CREATE TABLE `copyright_info` (
+  `id` varchar(36) NOT NULL COMMENT '主键',
+  `uid` varchar(36) NOT NULL COMMENT '用户主键',
+  `serial_number` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `accept_time` datetime DEFAULT NULL COMMENT '受理时间',
   `principal` varchar(36) DEFAULT NULL COMMENT '负责人',
-  `confirm_state` int(1) DEFAULT '0' COMMENT '用户确认申报材料',
-  `record_time` datetime DEFAULT NULL COMMENT '专利申请时间',
-  `deleted_sign` int(1) DEFAULT NULL COMMENT '删除标记',
+  `contact` int(1) DEFAULT NULL COMMENT '联系人',
+  `copyright_info` varchar(255) DEFAULT NULL COMMENT '软著简介',
+  `copyright_name` varchar(60) DEFAULT NULL COMMENT '软著名字',
+  `status` int(1) DEFAULT NULL COMMENT '申请状态',
+  `work_issue` varchar(128) DEFAULT NULL COMMENT '派单信息',
+  `comment` varchar(128) DEFAULT NULL COMMENT '备注',
+  `outsource` varchar(60) DEFAULT NULL COMMENT '外包公司',
+  `in_urgent` int(3) DEFAULT NULL COMMENT '加急天数',
+  `authorized_date` datetime DEFAULT NULL COMMENT '下证日',
+  `certificate_url` varchar(255) DEFAULT NULL COMMENT '证书附件地址',
+  `application_url` varchar(255) DEFAULT NULL COMMENT '申请书附件地址',
+  `delete_sign` int(1) NOT NULL DEFAULT '0' COMMENT '删除标记',
   PRIMARY KEY (`id`),
-  KEY `serialNumber_UNIQUE` (`serial_number`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=60000006 DEFAULT CHARSET=utf8;
+  UNIQUE KEY `serial_number_UNIQUE` (`serial_number`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
+
 
 CREATE TABLE `copyright_log` (
   `id` varchar(36) NOT NULL COMMENT '主键',

+ 31 - 0
src/main/java/com/goafanti/admin/controller/AdminCopyrightApiController.java

@@ -11,6 +11,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.common.bo.Result;
@@ -107,10 +108,40 @@ public class AdminCopyrightApiController extends CertifyApiController {
 		if (!checkAdminLogin(res)) {
 			return res;
 		}
+
 		res.setData(handleFile(res, "/copyright/", true, req, sign));
 		return res;
 	}
 
+	@RequestMapping(value = "/list", method = RequestMethod.GET)
+	public Result list(String province, String unitName, String copyrightName, String status, String pageNo,
+			String pageSize, @RequestParam(name = "createTime[]", required = false) String[] createTime,
+			@RequestParam(name = "acceptTime[]", required = false) String[] acceptTime,
+			@RequestParam(name = "authTime[]", required = false) String[] authTime) {
+		Result res = new Result();
+		if (!checkAdminLogin(res)) {
+			return res;
+		}
+		res.setData(copyrightInfoService.listCopyrightInfo(province, unitName, copyrightName,
+				CopyrightStatus.getStatus(status), createTime, acceptTime, authTime, getPageNo(pageNo),
+				getPageSize(pageSize)));
+		return res;
+	}
+
+	@RequestMapping(value = "/detail", method = RequestMethod.GET)
+	public Result detail(String id) {
+		Result res = new Result();
+		if (!checkAdminLogin(res)) {
+			return res;
+		}
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "公司"));
+		} else {
+			res.setData(copyrightInfoService.findByPrimaryKey(id));
+		}
+		return res;
+	}
+
 	private boolean handleBindingError(Result res, BindingResult bindingResult) {
 		if (bindingResult.hasErrors()) {
 			for (FieldError fe : bindingResult.getFieldErrors()) {

+ 4 - 1
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -1,5 +1,8 @@
 package com.goafanti.common.constant;
 
 public class AFTConstants {
-	public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
+	public static final String	DATE_FORMAT					= "yyyy-MM-dd HH:mm:ss";
+
+	public static final String	YYYYMMDD					= "yyyy-MM-dd";
+
 }

+ 23 - 6
src/main/java/com/goafanti/common/controller/BaseApiController.java

@@ -9,6 +9,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -25,9 +26,9 @@ import com.goafanti.core.shiro.token.TokenManager;
 public class BaseApiController extends BaseController {
 
 	@Value(value = "${upload.path}")
-	private String uploadPath = null;
+	private String	uploadPath			= null;
 	@Value(value = "${upload.private.path}")
-	private String uploadPrivatePath = null;
+	private String	uploadPrivatePath	= null;
 
 	/**
 	 * 
@@ -45,7 +46,7 @@ public class BaseApiController extends BaseController {
 		}
 		return new ArrayList<MultipartFile>();
 	}
-	
+
 	/**
 	 * 
 	 * @param res
@@ -74,7 +75,7 @@ public class BaseApiController extends BaseController {
 		}
 		return fileName;
 	}
-	
+
 	/**
 	 * 
 	 * @param fileName
@@ -96,15 +97,31 @@ public class BaseApiController extends BaseController {
 		toFile.mkdirs();
 		return toFile;
 	}
-	
+
 	/**
 	 * 
 	 * @param fileName
 	 * @return
 	 */
 	protected File toAdminPrivateFile(String fileName) {
-		File toFile = new File(uploadPrivatePath + "/admin/"+ fileName);
+		File toFile = new File(uploadPrivatePath + "/admin/" + fileName);
 		toFile.mkdirs();
 		return toFile;
 	}
+
+	protected Integer getPageNo(String pageNo) {
+		if (StringUtils.isNumeric(pageNo)) {
+			Integer pn = Integer.parseInt(pageNo);
+			return pn < 1 ? 1 : pn;
+		}
+		return 1;
+	}
+
+	protected Integer getPageSize(String pageSize) {
+		if (StringUtils.isNumeric(pageSize)) {
+			Integer ps = Integer.parseInt(pageSize);
+			return ps > 50 ? 50 : (ps < 10 ? 10 : ps);
+		}
+		return 10;
+	}
 }

+ 17 - 6
src/main/java/com/goafanti/common/dao/CopyrightInfoMapper.java

@@ -1,17 +1,28 @@
 package com.goafanti.common.dao;
 
+import java.util.List;
+import java.util.Map;
+
 import com.goafanti.common.model.CopyrightInfo;
+import com.goafanti.copyright.bo.CopyrightInfoDetail;
+import com.goafanti.copyright.bo.CopyrightInfoSummary;
 
 public interface CopyrightInfoMapper {
-    int deleteByPrimaryKey(String id);
+	int deleteByPrimaryKey(String id);
+
+	int insert(CopyrightInfo record);
+
+	int insertSelective(CopyrightInfo record);
+
+	CopyrightInfo selectByPrimaryKey(String id);
 
-    int insert(CopyrightInfo record);
+	CopyrightInfoDetail findByPrimaryKey(String id);
 
-    int insertSelective(CopyrightInfo record);
+	int updateByPrimaryKeySelective(CopyrightInfo record);
 
-    CopyrightInfo selectByPrimaryKey(String id);
+	int updateByPrimaryKey(CopyrightInfo record);
 
-    int updateByPrimaryKeySelective(CopyrightInfo record);
+	List<CopyrightInfoSummary> findListByPage(Map<String, Object> params);
 
-    int updateByPrimaryKey(CopyrightInfo record);
+	int findListCount(Map<String, Object> params);
 }

+ 10 - 15
src/main/java/com/goafanti/common/enums/AttachmentType.java

@@ -3,17 +3,15 @@ package com.goafanti.common.enums;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.lang3.StringUtils;
-
 public enum AttachmentType {
-	GENERAL(0, "普通会员"), CERTIFIED(1, "认证会员");
+	COPYRIGHT_AUTH("copyright_auth", "软著证书"), COPYRIGHT_APPLY("copyright_apply", "软著申请书"), DEFAULT("attachment", "附件");
 
-	private AttachmentType(Integer code, String desc) {
+	private AttachmentType(String code, String desc) {
 		this.code = code;
 		this.desc = desc;
 	}
 
-	private static Map<Integer, AttachmentType> status = new HashMap<Integer, AttachmentType>();
+	private static Map<String, AttachmentType> status = new HashMap<String, AttachmentType>();
 
 	static {
 		for (AttachmentType value : AttachmentType.values()) {
@@ -21,28 +19,25 @@ public enum AttachmentType {
 		}
 	}
 
-	public static AttachmentType getStatus(Integer code) {
+	public static AttachmentType getField(String code) {
 		if (containsType(code)) {
 			return status.get(code);
 		}
-		return GENERAL;
+		return DEFAULT;
 	}
 
-	public static AttachmentType getStatus(String code) {
-		if (StringUtils.isNumeric(code)) {
-			return getStatus(Integer.parseInt(code));
-		}
-		return GENERAL;
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
 	}
 
-	public static boolean containsType(Integer code) {
+	public static boolean containsType(String code) {
 		return status.containsKey(code);
 	}
 
-	private Integer	code;
+	private String	code;
 	private String	desc;
 
-	public Integer getCode() {
+	public String getCode() {
 		return code;
 	}
 

+ 9 - 2
src/main/java/com/goafanti/common/enums/CopyrightStatus.java

@@ -6,8 +6,15 @@ import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 
 public enum CopyrightStatus {
-	CREATE(1, "创建"), DELIVERD(2, "派单"), SUBMIT(3, "材料提交"), ACCEPT(4, "受理"), AMEND(5, "补正"), REJECT(6,
-			"驳回"), AUTHORIZED(7, "已下证"), CALLBACK(8, "撤销"), OTHER(9, "其他");
+	CREATE(1, "创建"),
+	DELIVERD(2, "派单"),
+	SUBMIT(3, "材料提交"),
+	ACCEPT(4, "受理"),
+	AMEND(5, "补正"),
+	REJECT(6, "驳回"),
+	AUTHORIZED(7, "已下证"),
+	CALLBACK(8, "撤销"),
+	OTHER(9, "其他");
 
 	private CopyrightStatus(Integer code, String desc) {
 		this.code = code;

+ 145 - 4
src/main/java/com/goafanti/common/mapper/CopyrightInfoMapper.xml

@@ -17,10 +17,14 @@
     <result column="outsource" jdbcType="VARCHAR" property="outsource" />
     <result column="in_urgent" jdbcType="INTEGER" property="inUrgent" />
     <result column="authorized_date" jdbcType="TIMESTAMP" property="authorizedDate" />
+    <result column="certificate_url" jdbcType="VARCHAR" property="certificateUrl" />
+    <result column="application_url" jdbcType="VARCHAR" property="applicationUrl" />
+    <result column="delete_sign" jdbcType="INTEGER" property="deleteSign" />
   </resultMap>
   <sql id="Base_Column_List">
     id, uid, serial_number, create_time, accept_time, principal, contact, copyright_info, 
-    copyright_name, status, work_issue, comment, outsource, in_urgent, authorized_date
+    copyright_name, status, work_issue, comment, outsource, in_urgent, authorized_date, 
+    certificate_url, application_url, delete_sign
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select 
@@ -28,6 +32,23 @@
     from copyright_info
     where id = #{id,jdbcType=VARCHAR}
   </select>
+  <select id="findByPrimaryKey" parameterType="java.lang.String" resultType="com.goafanti.copyright.bo.CopyrightInfoDetail">
+    select ci.id,ci.serial_number as serialNumber, ci.create_time as createTime, 
+	ci.accept_time as acceptTime, ci.contact, ci.copyright_name as copyrightName, 
+	ci.status, ci.comment, ci.outsource, ci.in_urgent as inUrgent, ci.authorized_date as authorizedDate, 
+	ci.work_issue as workIssue,ci.application_url as applicationUrl,ci.certificate_url as certificateUrl,
+	oi.location_province as province, oi.location_city as city,oi.location_area as area, oi.postcode,
+	oi.unit_name as unitName, 
+	concat(oi.first_contacts,'  ', oi.first_mobile) as firstContact,
+	concat(oi.second_contacts,'  ', oi.second_mobile) as secondContact,
+	concat(oi.third_contacts,'  ', oi.third_mobile) as thirdContact,
+	a.name as principal
+	from copyright_info ci 
+	left join organization_identity oi on ci.uid = oi.uid
+	left join admin a on ci.principal = a.id
+    where ci.id = #{id,jdbcType=VARCHAR}
+  </select>
+  
   <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
     delete from copyright_info
     where id = #{id,jdbcType=VARCHAR}
@@ -37,13 +58,15 @@
       create_time, accept_time, principal, 
       contact, copyright_info, copyright_name, 
       status, work_issue, comment, 
-      outsource, in_urgent, authorized_date
+      outsource, in_urgent, authorized_date, 
+      certificate_url, application_url, delete_sign
       )
     values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR}, #{serialNumber,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{acceptTime,jdbcType=TIMESTAMP}, #{principal,jdbcType=VARCHAR}, 
       #{contact,jdbcType=INTEGER}, #{copyrightInfo,jdbcType=VARCHAR}, #{copyrightName,jdbcType=VARCHAR}, 
       #{status,jdbcType=INTEGER}, #{workIssue,jdbcType=VARCHAR}, #{comment,jdbcType=VARCHAR}, 
-      #{outsource,jdbcType=VARCHAR}, #{inUrgent,jdbcType=INTEGER}, #{authorizedDate,jdbcType=TIMESTAMP}
+      #{outsource,jdbcType=VARCHAR}, #{inUrgent,jdbcType=INTEGER}, #{authorizedDate,jdbcType=TIMESTAMP}, 
+      #{certificateUrl,jdbcType=VARCHAR}, #{applicationUrl,jdbcType=VARCHAR}, #{deleteSign,jdbcType=INTEGER}
       )
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.CopyrightInfo">
@@ -94,6 +117,15 @@
       <if test="authorizedDate != null">
         authorized_date,
       </if>
+      <if test="certificateUrl != null">
+        certificate_url,
+      </if>
+      <if test="applicationUrl != null">
+        application_url,
+      </if>
+      <if test="deleteSign != null">
+        delete_sign,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -141,6 +173,15 @@
       <if test="authorizedDate != null">
         #{authorizedDate,jdbcType=TIMESTAMP},
       </if>
+      <if test="certificateUrl != null">
+        #{certificateUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="applicationUrl != null">
+        #{applicationUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteSign != null">
+        #{deleteSign,jdbcType=INTEGER},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.CopyrightInfo">
@@ -188,6 +229,15 @@
       <if test="authorizedDate != null">
         authorized_date = #{authorizedDate,jdbcType=TIMESTAMP},
       </if>
+      <if test="certificateUrl != null">
+        certificate_url = #{certificateUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="applicationUrl != null">
+        application_url = #{applicationUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteSign != null">
+        delete_sign = #{deleteSign,jdbcType=INTEGER},
+      </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
   </update>
@@ -206,7 +256,98 @@
       comment = #{comment,jdbcType=VARCHAR},
       outsource = #{outsource,jdbcType=VARCHAR},
       in_urgent = #{inUrgent,jdbcType=INTEGER},
-      authorized_date = #{authorizedDate,jdbcType=TIMESTAMP}
+      authorized_date = #{authorizedDate,jdbcType=TIMESTAMP},
+      certificate_url = #{certificateUrl,jdbcType=VARCHAR},
+      application_url = #{applicationUrl,jdbcType=VARCHAR},
+      delete_sign = #{deleteSign,jdbcType=INTEGER}
     where id = #{id,jdbcType=VARCHAR}
   </update>
+  
+  <select id="findListByPage" resultType="com.goafanti.copyright.bo.CopyrightInfoSummary"  parameterType="String">
+  	select ci.id,ci.serial_number as serialNumber, ci.create_time as createTime, 
+	ci.accept_time as acceptTime, ci.contact,
+	ci.copyright_name as copyrightName, ci.status, ci.comment, ci.outsource, ci.in_urgent as inUrgent, 
+	ci.authorized_date as authorizedDate, ci.work_issue as workIssue,
+	oi.location_province as province,oi.unit_name as unitName, 
+	concat(oi.first_contacts,'  ', oi.first_mobile) as firstContact,
+	concat(oi.second_contacts,'  ', oi.second_mobile) as secondContact,
+	concat(oi.third_contacts,'  ', oi.third_mobile) as thirdContact,
+	a.name as principal
+	from copyright_info ci 
+	left join organization_identity oi on ci.uid = oi.uid
+	left join admin a on ci.principal = a.id
+	where ci.delete_sign = 0
+	<if test="province != null">
+	    and oi.location_province =  #{province,jdbcType=VARCHAR}
+	</if>
+	<if test="status != null">
+	    and ci.status = #{status,jdbcType=INTEGER}
+	</if>
+	<if test="unitName != null">
+	    and oi.unit_name like CONCAT('%', #{unitName,jdbcType=VARCHAR}, '%')
+	</if>
+	<if test="copyrightName != null">
+	    and ci.copyright_name like CONCAT('%', #{copyrightName,jdbcType=VARCHAR}, '%')
+	</if>
+	<if test="createStartTime != null">
+	    and ci.create_time <![CDATA[ >= ]]> #{createStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="createEndTime != null">
+	    and ci.create_time <![CDATA[ < ]]> #{createEndTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="acceptStartTime != null">
+	    and ci.accept_time <![CDATA[ >= ]]> #{acceptStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="acceptEndTime != null">
+	    and ci.accept_time <![CDATA[ < ]]> #{acceptEndTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="authStartTime != null">
+	    and ci.authorized_date <![CDATA[ >= ]]> #{authStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="authEndTime != null">
+	    and ci.authorized_date <![CDATA[ < ]]> #{authEndTime,jdbcType=TIMESTAMP}
+	</if>
+	order by ci.serial_number desc
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findListCount" resultType="java.lang.Integer"  parameterType="String">
+  	select count(*)
+	from copyright_info ci 
+	left join organization_identity oi on ci.uid = oi.uid
+	where ci.delete_sign = 0
+	<if test="province != null">
+	    and oi.location_province =  #{province,jdbcType=VARCHAR}
+	</if>
+	<if test="status != null">
+	    and ci.status = #{status,jdbcType=INTEGER}
+	</if>
+	<if test="unitName != null">
+	    and oi.unit_name like CONCAT('%', #{unitName,jdbcType=VARCHAR}, '%')
+	</if>
+	<if test="copyrightName != null">
+	    and ci.copyright_name like CONCAT('%', #{copyrightName,jdbcType=VARCHAR}, '%')
+	</if>
+	<if test="createStartTime != null">
+	    and ci.create_time <![CDATA[ >= ]]> #{createStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="createEndTime != null">
+	    and ci.create_time <![CDATA[ < ]]> #{createEndTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="acceptStartTime != null">
+	    and ci.accept_time <![CDATA[ >= ]]> #{acceptStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="acceptEndTime != null">
+	    and ci.accept_time <![CDATA[ < ]]> #{acceptEndTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="authStartTime != null">
+	    and ci.authorized_date <![CDATA[ >= ]]> #{authStartTime,jdbcType=TIMESTAMP}
+	</if>
+	<if test="authEndTime != null">
+	    and ci.authorized_date <![CDATA[ < ]]> #{authEndTime,jdbcType=TIMESTAMP}
+	</if>
+  </select>
+  
 </mapper>

+ 215 - 146
src/main/java/com/goafanti/common/model/CopyrightInfo.java

@@ -2,161 +2,230 @@ package com.goafanti.common.model;
 
 import java.util.Date;
 
-public class CopyrightInfo extends BaseModel {
-	/**
+public class CopyrightInfo extends BaseModel{
+    /**
 	 * 
 	 */
-	private static final long	serialVersionUID	= 1L;
+	private static final long serialVersionUID = 1L;
+
+    /**
+    * 用户主键
+    */
+    private String uid;
+
+    /**
+    * 编号
+    */
+    private Integer serialNumber;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 受理时间
+    */
+    private Date acceptTime;
+
+    /**
+    * 负责人
+    */
+    private String principal;
+
+    /**
+    * 联系人
+    */
+    private Integer contact;
+
+    /**
+    * 软著简介
+    */
+    private String copyrightInfo;
+
+    /**
+    * 软著名字
+    */
+    private String copyrightName;
+
+    /**
+    * 申请状态
+    */
+    private Integer status;
+
+    /**
+    * 派单信息
+    */
+    private String workIssue;
+
+    /**
+    * 备注
+    */
+    private String comment;
+
+    /**
+    * 外包公司
+    */
+    private String outsource;
+
+    /**
+    * 加急天数
+    */
+    private Integer inUrgent;
+
+    /**
+    * 下证日
+    */
+    private Date authorizedDate;
+
+    /**
+    * 证书附件地址
+    */
+    private String certificateUrl;
+
+    /**
+    * 申请书附件地址
+    */
+    private String applicationUrl;
+
+    /**
+    * 删除标记
+    */
+    private Integer deleteSign;
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public Integer getSerialNumber() {
+        return serialNumber;
+    }
+
+    public void setSerialNumber(Integer serialNumber) {
+        this.serialNumber = serialNumber;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getAcceptTime() {
+        return acceptTime;
+    }
+
+    public void setAcceptTime(Date acceptTime) {
+        this.acceptTime = acceptTime;
+    }
+
+    public String getPrincipal() {
+        return principal;
+    }
+
+    public void setPrincipal(String principal) {
+        this.principal = principal;
+    }
+
+    public Integer getContact() {
+        return contact;
+    }
+
+    public void setContact(Integer contact) {
+        this.contact = contact;
+    }
+
+    public String getCopyrightInfo() {
+        return copyrightInfo;
+    }
+
+    public void setCopyrightInfo(String copyrightInfo) {
+        this.copyrightInfo = copyrightInfo;
+    }
+
+    public String getCopyrightName() {
+        return copyrightName;
+    }
+
+    public void setCopyrightName(String copyrightName) {
+        this.copyrightName = copyrightName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getWorkIssue() {
+        return workIssue;
+    }
+
+    public void setWorkIssue(String workIssue) {
+        this.workIssue = workIssue;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public String getOutsource() {
+        return outsource;
+    }
+
+    public void setOutsource(String outsource) {
+        this.outsource = outsource;
+    }
+
+    public Integer getInUrgent() {
+        return inUrgent;
+    }
 
-	/**
-	 * 用户主键
-	 */
-	private String				uid;
-
-	/**
-	 * 编号
-	 */
-	private Integer				serialNumber;
-
-	/**
-	 * 创建时间
-	 */
-	private Date				createTime;
-
-	/**
-	 * 受理时间
-	 */
-	private Date				acceptTime;
-
-	private String				principal;
-
-	private Integer				contact;
-
-	private String				copyrightInfo;
-
-	private String				copyrightName;
-
-	private Integer				status;
-
-	private String				workIssue;
-
-	private String				comment;
-
-	private String				outsource;
-
-	private Integer				inUrgent;
-
-	private Date				authorizedDate;
-
-	public String getUid() {
-		return uid;
-	}
-
-	public void setUid(String uid) {
-		this.uid = uid;
-	}
-
-	public Integer getSerialNumber() {
-		return serialNumber;
-	}
-
-	public void setSerialNumber(Integer serialNumber) {
-		this.serialNumber = serialNumber;
-	}
-
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public Date getAcceptTime() {
-		return acceptTime;
-	}
-
-	public void setAcceptTime(Date acceptTime) {
-		this.acceptTime = acceptTime;
-	}
-
-	public String getPrincipal() {
-		return principal;
-	}
-
-	public void setPrincipal(String principal) {
-		this.principal = principal;
-	}
-
-	public Integer getContact() {
-		return contact;
-	}
-
-	public void setContact(Integer contact) {
-		this.contact = contact;
-	}
-
-	public String getCopyrightInfo() {
-		return copyrightInfo;
-	}
-
-	public void setCopyrightInfo(String copyrightInfo) {
-		this.copyrightInfo = copyrightInfo;
-	}
-
-	public String getCopyrightName() {
-		return copyrightName;
-	}
-
-	public void setCopyrightName(String copyrightName) {
-		this.copyrightName = copyrightName;
-	}
-
-	public String getWorkIssue() {
-		return workIssue;
-	}
-
-	public void setWorkIssue(String workIssue) {
-		this.workIssue = workIssue;
-	}
-
-	public String getComment() {
-		return comment;
-	}
-
-	public void setComment(String comment) {
-		this.comment = comment;
-	}
+    public void setInUrgent(Integer inUrgent) {
+        this.inUrgent = inUrgent;
+    }
 
-	public String getOutsource() {
-		return outsource;
-	}
+    public Date getAuthorizedDate() {
+        return authorizedDate;
+    }
 
-	public void setOutsource(String outsource) {
-		this.outsource = outsource;
-	}
+    public void setAuthorizedDate(Date authorizedDate) {
+        this.authorizedDate = authorizedDate;
+    }
 
-	public Integer getInUrgent() {
-		return inUrgent == null ? 0 : inUrgent;
-	}
+    public String getCertificateUrl() {
+        return certificateUrl;
+    }
 
-	public void setInUrgent(Integer inUrgent) {
-		this.inUrgent = inUrgent;
-	}
+    public void setCertificateUrl(String certificateUrl) {
+        this.certificateUrl = certificateUrl;
+    }
 
-	public Date getAuthorizedDate() {
-		return authorizedDate;
-	}
+    public String getApplicationUrl() {
+        return applicationUrl;
+    }
 
-	public void setAuthorizedDate(Date authorizedDate) {
-		this.authorizedDate = authorizedDate;
-	}
+    public void setApplicationUrl(String applicationUrl) {
+        this.applicationUrl = applicationUrl;
+    }
 
-	public Integer getStatus() {
-		return status;
-	}
+    public Integer getDeleteSign() {
+        return deleteSign;
+    }
 
-	public void setStatus(Integer status) {
-		this.status = status;
-	}
+    public void setDeleteSign(Integer deleteSign) {
+        this.deleteSign = deleteSign;
+    }
 }

+ 12 - 8
src/main/java/com/goafanti/common/utils/FileUtils.java

@@ -103,7 +103,7 @@ public class FileUtils {
 		}
 		return fileName;
 	}
-   
+
 	/**
 	 * 获取下载文件名称
 	 * 
@@ -114,8 +114,7 @@ public class FileUtils {
 		if (StringUtils.isBlank(path) || path.lastIndexOf(".") < 0) {
 			return null;
 		}
-		String fileName = "";
-		String prefix = "";
+		String prefix = "附件";
 		String suffix = path.substring(path.lastIndexOf("."));
 		if (path.indexOf("patent_prory_statement") != -1) {
 			prefix = "专利代理委托书";
@@ -140,11 +139,11 @@ public class FileUtils {
 		if (path.indexOf("activity_cost_account") != -1) {
 			prefix = "研发活动费用台帐";
 		}
-		
+
 		if (path.indexOf("tech_product") != -1) {
 			prefix = "高新技术产品台帐";
 		}
-		
+
 		if (path.indexOf("property_ritht") != -1) {
 			prefix = "知识产权证书";
 		}
@@ -181,14 +180,19 @@ public class FileUtils {
 			prefix = subStr(path) + "纳税申报表";
 		}
 
-		fileName = prefix + suffix;
-		return fileName;
+		return prefix + suffix;
+	}
+
+	public static String getSuffix(String path) {
+		if (StringUtils.isBlank(path) || path.lastIndexOf(".") < 0) {
+			return "";
+		}
+		return path.substring(path.lastIndexOf("."));
 	}
 
 	// year
 	private static String subStr(String s) {
 		return "企业" + s.substring(s.lastIndexOf("_") + 1, s.lastIndexOf("."));
 	}
-	
 
 }

+ 89 - 0
src/main/java/com/goafanti/copyright/bo/CopyrightInfoDetail.java

@@ -0,0 +1,89 @@
+package com.goafanti.copyright.bo;
+
+import org.apache.commons.lang3.StringUtils;
+
+import com.goafanti.common.enums.AttachmentType;
+import com.goafanti.common.utils.FileUtils;
+
+public class CopyrightInfoDetail extends CopyrightInfoSummary {
+	private String	city;
+	private String	area;
+	private String	postcode;
+
+	/**
+	 * 证书附件地址
+	 */
+	private String	certificateUrl;
+
+	/**
+	 * 申请书附件地址
+	 */
+	private String	applicationUrl;
+
+	public String getCity() {
+		return city;
+	}
+
+	public void setCity(String city) {
+		this.city = city;
+	}
+
+	public String getArea() {
+		return area;
+	}
+
+	public void setArea(String area) {
+		this.area = area;
+	}
+
+	public String getPostcode() {
+		return postcode;
+	}
+
+	public void setPostcode(String postcode) {
+		this.postcode = postcode;
+	}
+
+	public String getCertificateUrl() {
+		return certificateUrl;
+	}
+
+	public void setCertificateUrl(String certificateUrl) {
+		this.certificateUrl = certificateUrl;
+	}
+
+	public String getApplicationUrl() {
+		return applicationUrl;
+	}
+
+	public void setApplicationUrl(String applicationUrl) {
+		this.applicationUrl = applicationUrl;
+	}
+
+	// 软著证书
+	public String getCertificateUrlDownloadFileName() {
+		if (StringUtils.isBlank(this.applicationUrl)) {
+			return "";
+		} else {
+			return AttachmentType.COPYRIGHT_AUTH.getDesc() + FileUtils.getSuffix(this.applicationUrl);
+		}
+	}
+
+	public void setCertificateUrlDownloadFileName(String certificateUrlDownloadFileName) {
+
+	}
+
+	// 软著申请书
+	public String getApplicationUrlDownloadFileName() {
+		if (StringUtils.isBlank(this.applicationUrl)) {
+			return "";
+		} else {
+			return AttachmentType.COPYRIGHT_APPLY.getDesc() + FileUtils.getSuffix(this.applicationUrl);
+		}
+	}
+
+	public void setApplicationUrlDownloadFileName(String applicationUrlDownloadFileName) {
+
+	}
+
+}

+ 270 - 0
src/main/java/com/goafanti/copyright/bo/CopyrightInfoSummary.java

@@ -0,0 +1,270 @@
+package com.goafanti.copyright.bo;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+
+public class CopyrightInfoSummary {
+
+	private String	id;
+	/**
+	 * 省份
+	 */
+	private String	province;
+
+	/**
+	 * 单位名称
+	 */
+	private String	unitName;
+	/**
+	 * 编号
+	 */
+	private Integer	serialNumber;
+
+	/**
+	 * 创建时间
+	 */
+	private Date	createTime;
+
+	/**
+	 * 受理时间
+	 */
+	private Date	acceptTime;
+
+	/**
+	 * 负责人
+	 */
+	private String	principal;
+
+	/**
+	 * 联系人
+	 */
+	private Integer	contact;
+
+	/**
+	 * 软著名字
+	 */
+	private String	copyrightName;
+
+	/**
+	 * 申请状态
+	 */
+	private Integer	status;
+
+	/**
+	 * 备注
+	 */
+	private String	comment;
+
+	/**
+	 * 派单详情
+	 */
+	private String	workIssue;
+
+	/**
+	 * 外包公司
+	 */
+	private String	outsource;
+
+	/**
+	 * 加急天数
+	 */
+	private Integer	inUrgent;
+
+	/**
+	 * 下证日
+	 */
+	private Date	authorizedDate;
+
+	private String	fisrtContact;
+
+	private String	secondContact;
+
+	private String	thirdContact;
+
+	public String getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public Integer getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(Integer serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public Date getAcceptTime() {
+		return acceptTime;
+	}
+
+	public void setAcceptTime(Date acceptTime) {
+		this.acceptTime = acceptTime;
+	}
+
+	public String getPrincipal() {
+		return principal;
+	}
+
+	public void setPrincipal(String principal) {
+		this.principal = principal;
+	}
+
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getContact() {
+		return contact;
+	}
+
+	public void setContact(Integer contact) {
+		this.contact = contact;
+	}
+
+	public String getCopyrightName() {
+		return copyrightName;
+	}
+
+	public void setCopyrightName(String copyrightName) {
+		this.copyrightName = copyrightName;
+	}
+
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public String getOutsource() {
+		return outsource;
+	}
+
+	public void setOutsource(String outsource) {
+		this.outsource = outsource;
+	}
+
+	public Integer getInUrgent() {
+		return inUrgent;
+	}
+
+	public void setInUrgent(Integer inUrgent) {
+		this.inUrgent = inUrgent;
+	}
+
+	public Date getAuthorizedDate() {
+		return authorizedDate;
+	}
+
+	public void setAuthorizedDate(Date authorizedDate) {
+		this.authorizedDate = authorizedDate;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getFisrtContact() {
+		return fisrtContact;
+	}
+
+	public void setFisrtContact(String fisrtContact) {
+		this.fisrtContact = fisrtContact;
+	}
+
+	public String getSecondContact() {
+		return secondContact;
+	}
+
+	public void setSecondContact(String secondContact) {
+		this.secondContact = secondContact;
+	}
+
+	public String getThirdContact() {
+		return thirdContact;
+	}
+
+	public void setThirdContact(String thirdContact) {
+		this.thirdContact = thirdContact;
+	}
+
+	public String getAcceptTimeFormattedDate() {
+		if (this.acceptTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.acceptTime, "yyyy-MM-dd");
+		}
+	}
+
+	public void setAcceptTimeFormattedDate(String acceptTimeFormattedDate) {
+
+	}
+
+	public String getAuthorizedDateFormattedDate() {
+		if (this.authorizedDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.authorizedDate, "yyyy-MM-dd");
+		}
+	}
+
+	public void setAuthorizedDateFormattedDate(String authorizedDateFormattedDate) {
+
+	}
+
+	public String getCreateTimeFormattedDate() {
+		if (this.createTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.createTime, "yyyy-MM-dd");
+		}
+	}
+
+	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {
+
+	}
+
+	public String getWorkIssue() {
+		return workIssue;
+	}
+
+	public void setWorkIssue(String workIssue) {
+		this.workIssue = workIssue;
+	}
+
+}

+ 0 - 21
src/main/java/com/goafanti/copyright/bo/InputCopyright.java

@@ -13,8 +13,6 @@ public class InputCopyright {
 
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	uid;
-	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	private Date	acceptTime;
 
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	principal;
@@ -45,19 +43,8 @@ public class InputCopyright {
 	private Integer	inUrgent;
 
 	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	private Date	authorizedDate;
-
-	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Date	recordTime;
 
-	public Date getAcceptTime() {
-		return acceptTime;
-	}
-
-	public void setAcceptTime(Date acceptTime) {
-		this.acceptTime = acceptTime;
-	}
-
 	public String getPrincipal() {
 		return principal;
 	}
@@ -130,14 +117,6 @@ public class InputCopyright {
 		this.inUrgent = inUrgent;
 	}
 
-	public Date getAuthorizedDate() {
-		return authorizedDate;
-	}
-
-	public void setAuthorizedDate(Date authorizedDate) {
-		this.authorizedDate = authorizedDate;
-	}
-
 	public String getUid() {
 		return uid;
 	}

+ 9 - 0
src/main/java/com/goafanti/copyright/service/CopyrightInfoService.java

@@ -2,8 +2,11 @@ package com.goafanti.copyright.service;
 
 import java.util.List;
 
+import com.goafanti.common.enums.CopyrightStatus;
 import com.goafanti.common.model.CopyrightInfo;
 import com.goafanti.common.model.CopyrightLog;
+import com.goafanti.copyright.bo.CopyrightInfoDetail;
+import com.goafanti.core.mybatis.page.Pagination;
 
 public interface CopyrightInfoService {
 
@@ -12,7 +15,13 @@ public interface CopyrightInfoService {
 	void updateByPrimaryKeySelective(CopyrightInfo copyrightInfo, CopyrightLog copyrightLog);
 
 	CopyrightInfo selectByPrimaryKey(String id);
+	
+	CopyrightInfoDetail findByPrimaryKey(String id);
 
 	int batchDeleteByPrimaryKey(List<String> id);
 
+	Pagination<CopyrightInfo> listCopyrightInfo(String province, String unitName, String copyrightName,
+			CopyrightStatus status, String[] createTime, String[] acceptTime, String[] authTime, Integer pageNo,
+			Integer pageSize);
+
 }

+ 81 - 3
src/main/java/com/goafanti/copyright/service/impl/CopyrightInfoServiceImpl.java

@@ -1,17 +1,26 @@
 package com.goafanti.copyright.service.impl;
 
+import java.text.ParseException;
 import java.util.Calendar;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.CopyrightInfoMapper;
 import com.goafanti.common.dao.CopyrightLogMapper;
+import com.goafanti.common.enums.CopyrightStatus;
 import com.goafanti.common.model.CopyrightInfo;
 import com.goafanti.common.model.CopyrightLog;
+import com.goafanti.copyright.bo.CopyrightInfoDetail;
 import com.goafanti.copyright.service.CopyrightInfoService;
 import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 
 @Service
@@ -40,11 +49,80 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 
 	@Override
 	public void updateByPrimaryKeySelective(CopyrightInfo copyrightInfo, CopyrightLog copyrightLog) {
-		copyrightInfoMapper.updateByPrimaryKeySelective(copyrightInfo);
 		if (copyrightLog.getRecordTime() != null && copyrightLog.getStatus() != null
 				&& copyrightLog.getPrincipal() != null) {
 			copyrightLogMapper.insertSelective(copyrightLog);
+			if (CopyrightStatus.getStatus(copyrightLog.getStatus()) == CopyrightStatus.ACCEPT) {
+				copyrightInfo.setAcceptTime(copyrightLog.getRecordTime());
+			} else if (CopyrightStatus.getStatus(copyrightLog.getStatus()) == CopyrightStatus.AUTHORIZED) {
+				copyrightInfo.setAuthorizedDate(copyrightLog.getRecordTime());
+			} else if (CopyrightStatus.getStatus(copyrightLog.getStatus()) == CopyrightStatus.DELIVERD) {
+				copyrightInfo.setCreateTime(copyrightLog.getRecordTime());
+			}
 		}
+		copyrightInfoMapper.updateByPrimaryKeySelective(copyrightInfo);
+	}
+
+	@Override
+	public int batchDeleteByPrimaryKey(List<String> id) {
+		return 0;
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<CopyrightInfo> listCopyrightInfo(String province, String unitName, String copyrightName,
+			CopyrightStatus status, String[] createTime, String[] acceptTime, String[] authTime, Integer pageNo,
+			Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
+		if (StringUtils.isNotBlank(province)) {
+			params.put("province", province);
+		}
+		if (StringUtils.isNotBlank(unitName)) {
+			params.put("unitName", unitName);
+		}
+		if (StringUtils.isNotBlank(copyrightName)) {
+			params.put("copyrightName", copyrightName);
+		}
+		if (status != CopyrightStatus.OTHER) {
+			params.put("status", status.getCode());
+		}
+		if (createTime != null) {
+			try {
+				if (createTime.length > 0 && StringUtils.isNotBlank(createTime[0])) {
+					params.put("createStartTime", DateUtils.parseDate(createTime[0], AFTConstants.YYYYMMDD));
+				}
+				if (createTime.length > 1 && StringUtils.isNotBlank(createTime[1])) {
+					params.put("createEndTime",
+							DateUtils.addDays(DateUtils.parseDate(createTime[1], AFTConstants.YYYYMMDD), 1));
+				}
+			} catch (ParseException e) {
+			}
+		}
+		if (acceptTime != null) {
+			try {
+				if (acceptTime.length > 0 && StringUtils.isNotBlank(acceptTime[0])) {
+					params.put("acceptStartTime", DateUtils.parseDate(acceptTime[0], AFTConstants.YYYYMMDD));
+				}
+				if (acceptTime.length > 1 && StringUtils.isNotBlank(acceptTime[1])) {
+					params.put("acceptEndTime",
+							DateUtils.addDays(DateUtils.parseDate(acceptTime[1], AFTConstants.YYYYMMDD), 1));
+				}
+			} catch (ParseException e) {
+			}
+		}
+		if (authTime != null) {
+			try {
+				if (authTime.length > 0 && StringUtils.isNotBlank(authTime[0])) {
+					params.put("authStartTime", DateUtils.parseDate(authTime[0], AFTConstants.YYYYMMDD));
+				}
+				if (authTime.length > 1 && StringUtils.isNotBlank(authTime[1])) {
+					params.put("authEndTime",
+							DateUtils.addDays(DateUtils.parseDate(authTime[1], AFTConstants.YYYYMMDD), 1));
+				}
+			} catch (ParseException e) {
+			}
+		}
+		return (Pagination<CopyrightInfo>) findPage("findListByPage", "findListCount", params, pageNo, pageSize);
 	}
 
 	@Override
@@ -53,8 +131,8 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
-		return 0;
+	public CopyrightInfoDetail findByPrimaryKey(String id) {
+		return copyrightInfoMapper.findByPrimaryKey(id);
 	}
 
 }

+ 1 - 0
src/main/resources/props/error.properties

@@ -6,6 +6,7 @@ org.apache.shiro.authc.ExcessiveAttemptsException=\u5C1D\u8BD5\u6B21\u6570\u8FC7
 org.apache.shiro.session.ExpiredSessionException=\u767B\u5F55\u4FE1\u606F\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u3002
 org.springframework.dao.DataIntegrityViolationException=\u670D\u52A1\u5668\u6253\u4E86\u4E2A\u76F9\u513F\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6216\u7A0D\u540E\u518D\u8BD5\u3002
 org.springframework.jdbc.BadSqlGrammarException=\u6570\u636E\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6216\u7A0D\u540E\u518D\u8BD5\u3002
+java.text.ParseException=\u53C2\u6570\u683C\u5F0F\u9519\u8BEF\uFF0C\u8BF7\u6838\u5BF9\u8F93\u5165\u6570\u636E\u540E\u518D\u8BD5\u3002
 
 NON_LOGIN=\u7528\u6237\u672A\u767B\u5F55\u3002
 

+ 1 - 0
src/main/resources/spring/spring-mybatis.xml

@@ -74,6 +74,7 @@
 			<tx:method name="update*" />
 			<tx:method name="insert*" />
 			<tx:method name="create*" />
+			<tx:method name="batch*" />
 			<tx:method name="del*" />
 			<tx:method name="load*" />
 			<tx:method name="init*" />