Antiloveg преди 8 години
родител
ревизия
d477635199

+ 38 - 0
schema/2017-05-08.sql

@@ -0,0 +1,38 @@
+CREATE TABLE `contract` (
+  `id` VARCHAR(36) NOT NULL,
+  `uid` VARCHAR(36) NOT NULL,
+  `serial_number` INT(8) NULL COMMENT '合同编号' AUTO_INCREMENT,
+  `name` VARCHAR(36) NULL COMMENT '合同名称(预留字段)',
+  `type` INT(1) NULL COMMENT '合同类型(1-专利类型合同,2-软著类型合同,3-高企认定类型合同,4-科技项目类型合同)',
+  `sign_date` DATETIME NULL COMMENT '合同签订时间',
+  `founder` VARCHAR(36) NULL COMMENT '合同记录创建人',
+  `describe` VARCHAR(128) NULL COMMENT '合同描述',
+  `status` INT(1) NULL COMMENT '合同状态(0-草稿,1-签订,2-分发流转,3-完成(已结款))',
+  `patent_num` INT(2) NULL COMMENT '专利数量',
+  `patent_status` INT(1) NULL COMMENT '专利创建状态(0-未创建,1-已创建)',
+  `copyright_num` INT(2) NULL COMMENT '软著数量',
+  `copyright_status` INT(1) NULL COMMENT '软著创建状态(0-未创建,1-已创建)',
+  `cognizance_year` INT(4) NULL COMMENT '高企申请年份',
+  `cognizance_status` INT(1) NULL COMMENT '高企认定创建状态(1-未创建,1-已创建)',
+  `tech_project_num` INT(2) NULL COMMENT '科技项目数量',
+  `tech_project_status` INT(1) NULL COMMENT '科技项目创建状态(0-未创建,1-已创建)',
+  `comment` VARCHAR(45) NULL COMMENT '合同创建备注',
+  `create_time` DATETIME NULL COMMENT '记录创建时间',
+  `complete_date` DATETIME NULL COMMENT '合同完成(结款)日期',
+  `deleted_sign` INT(1) NULL,
+  PRIMARY KEY (`id`),
+  INDEX `serialNumber` (`serial_number` ASC))
+ENGINE = InnoDB AUTO_INCREMENT= 600000
+COMMENT = '合同';
+
+CREATE TABLE `contract_log` (
+  `id` VARCHAR(36) NOT NULL,
+  `cid` VARCHAR(36) NULL COMMENT '合同表主键',
+  `record_time` DATETIME NULL COMMENT '状态变更录入时间',
+  `state` INT(1) NULL COMMENT '状态',
+  `principal` VARCHAR(36) NULL COMMENT '负责人',
+  `operator` VARCHAR(36) NULL COMMENT '操作人',
+  `comment` VARCHAR(128) NULL COMMENT '备注',
+  PRIMARY KEY (`id`))
+ENGINE = InnoDB
+COMMENT = '合同日志';

+ 63 - 0
src/main/java/com/goafanti/admin/controller/AdminContractApiController.java

@@ -0,0 +1,63 @@
+package com.goafanti.admin.controller;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
+import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.ContractFields;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.contract.bo.InputContract;
+import com.goafanti.contract.service.ContractService;
+
+@RestController
+@RequestMapping(value = "/api/admin/contract")
+public class AdminContractApiController extends CertifyApiController {
+	@Resource
+	private ContractService contractService;
+
+	/**
+	 * 合同列表
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.GET)
+	public Result listContract(Integer serialNumber, Integer type, Integer status, String startDateFormattedDate,
+			String endDateFormattedDate, String province, String unitName, String pageNo, String pageSize) {
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 10;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(contractService.getManageList(serialNumber, type, status, startDateFormattedDate,
+				endDateFormattedDate, province, unitName, pNo, pSize));
+		return res;
+	}
+
+	/**
+	 * 新增合同
+	 */
+	@RequestMapping(value = "/apply", method = RequestMethod.POST)
+	public Result applyContract(@Valid InputContract ic, String[] principals, BindingResult bindingResult) {
+		Result res = new Result();
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					ContractFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		if (StringUtils.isBlank(ic.getUid())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
+			return res;
+		}
+
+		return res;
+	}
+}

+ 5 - 0
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -110,6 +110,11 @@ public class WebpageController extends BaseController {
 		return adminToLogin(request,modelview,"/admin/servicesManage/patent");
 	}
 	
+	@RequestMapping(value = "/admin/servicesManage/contract", method = RequestMethod.GET)
+	public ModelAndView adminServicesManageContract(HttpServletRequest request, ModelAndView modelview) {
+		return adminToLogin(request,modelview,"/admin/servicesManage/contract");
+	}
+	
 	@RequestMapping(value = "/admin/servicesManage/highTech", method = RequestMethod.GET)
 	public ModelAndView adminServicesManageHighTech(HttpServletRequest request, ModelAndView modelview) {
 		return adminToLogin(request,modelview,"/admin/servicesManage/highTech");

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

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

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

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

+ 57 - 0
src/main/java/com/goafanti/common/enums/ContractFields.java

@@ -0,0 +1,57 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum ContractFields {
+	UID("uid", "用户id"),
+	TYPE("type", "合同类型"),
+	DESCRIBE("describe", "合同描述"),
+	PATENTNUM("patentNum", "专利数量"),
+	COPYRIGHTNUM("copyrightNum", "软著数量"),
+	COGNIZANCEYEAR("cognizanceYear", "高企认定申请年份"),
+	TECHPROJECTNUM("techProjectNum", "科技项目数量"),
+	PRINCIPAL("principal", "负责人"),
+	COMMENT("comment", "备注"),
+	OTHER("", "未知参数");
+
+	private ContractFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<String, ContractFields> status = new HashMap<String, ContractFields>();
+
+	static {
+		for (ContractFields value : ContractFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static ContractFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+
+	private String	code;
+	private String	desc;
+
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 117 - 0
src/main/java/com/goafanti/common/mapper/ContractLogMapper.xml

@@ -0,0 +1,117 @@
+<?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.ContractLogMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.ContractLog" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="cid" property="cid" jdbcType="VARCHAR" />
+    <result column="record_time" property="recordTime" jdbcType="TIMESTAMP" />
+    <result column="status" property="status" jdbcType="INTEGER" />
+    <result column="principal" property="principal" jdbcType="VARCHAR" />
+    <result column="operator" property="operator" jdbcType="VARCHAR" />
+    <result column="comment" property="comment" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, cid, record_time, status, principal, operator, comment
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from contract_log
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from contract_log
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.ContractLog" >
+    insert into contract_log (id, cid, record_time, 
+      status, principal, operator, 
+      comment)
+    values (#{id,jdbcType=VARCHAR}, #{cid,jdbcType=VARCHAR}, #{recordTime,jdbcType=TIMESTAMP}, 
+      #{status,jdbcType=INTEGER}, #{principal,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, 
+      #{comment,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.ContractLog" >
+    insert into contract_log
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="cid != null" >
+        cid,
+      </if>
+      <if test="recordTime != null" >
+        record_time,
+      </if>
+      <if test="status != null" >
+        status,
+      </if>
+      <if test="principal != null" >
+        principal,
+      </if>
+      <if test="operator != null" >
+        operator,
+      </if>
+      <if test="comment != null" >
+        comment,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="cid != null" >
+        #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="recordTime != null" >
+        #{recordTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="status != null" >
+        #{status,jdbcType=INTEGER},
+      </if>
+      <if test="principal != null" >
+        #{principal,jdbcType=VARCHAR},
+      </if>
+      <if test="operator != null" >
+        #{operator,jdbcType=VARCHAR},
+      </if>
+      <if test="comment != null" >
+        #{comment,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.ContractLog" >
+    update contract_log
+    <set >
+      <if test="cid != null" >
+        cid = #{cid,jdbcType=VARCHAR},
+      </if>
+      <if test="recordTime != null" >
+        record_time = #{recordTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="status != null" >
+        status = #{status,jdbcType=INTEGER},
+      </if>
+      <if test="principal != null" >
+        principal = #{principal,jdbcType=VARCHAR},
+      </if>
+      <if test="operator != null" >
+        operator = #{operator,jdbcType=VARCHAR},
+      </if>
+      <if test="comment != null" >
+        comment = #{comment,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.ContractLog" >
+    update contract_log
+    set cid = #{cid,jdbcType=VARCHAR},
+      record_time = #{recordTime,jdbcType=TIMESTAMP},
+      status = #{status,jdbcType=INTEGER},
+      principal = #{principal,jdbcType=VARCHAR},
+      operator = #{operator,jdbcType=VARCHAR},
+      comment = #{comment,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 367 - 0
src/main/java/com/goafanti/common/mapper/ContractMapper.xml

@@ -0,0 +1,367 @@
+<?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.ContractMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.Contract" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="uid" property="uid" jdbcType="VARCHAR" />
+    <result column="serial_number" property="serialNumber" jdbcType="INTEGER" />
+    <result column="name" property="name" jdbcType="VARCHAR" />
+    <result column="type" property="type" jdbcType="INTEGER" />
+    <result column="sign_date" property="signDate" jdbcType="TIMESTAMP" />
+    <result column="founder" property="founder" jdbcType="VARCHAR" />
+    <result column="describe" property="describe" jdbcType="VARCHAR" />
+    <result column="status" property="status" jdbcType="INTEGER" />
+    <result column="patent_num" property="patentNum" jdbcType="INTEGER" />
+    <result column="patent_status" property="patentStatus" jdbcType="INTEGER" />
+    <result column="copyright_num" property="copyrightNum" jdbcType="INTEGER" />
+    <result column="copyright_status" property="copyrightStatus" jdbcType="INTEGER" />
+    <result column="cognizance_year" property="cognizanceYear" jdbcType="INTEGER" />
+    <result column="cognizance_status" property="cognizanceStatus" jdbcType="INTEGER" />
+    <result column="tech_project_num" property="techProjectNum" jdbcType="INTEGER" />
+    <result column="tech_project_status" property="techProjectStatus" jdbcType="INTEGER" />
+    <result column="comment" property="comment" jdbcType="VARCHAR" />
+    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="complete_date" property="completeDate" jdbcType="TIMESTAMP" />
+    <result column="deleted_sign" property="deletedSign" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, uid, serial_number, name, type, sign_date, founder, describe, status, patent_num, 
+    patent_status, copyright_num, copyright_status, cognizance_year, cognizance_status, 
+    tech_project_num, tech_project_status, comment, create_time, complete_date, deleted_sign
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from contract
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from contract
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.Contract" >
+    insert into contract (id, uid, serial_number, 
+      name, type, sign_date, 
+      founder, describe, status, 
+      patent_num, patent_status, copyright_num, 
+      copyright_status, cognizance_year, cognizance_status, 
+      tech_project_num, tech_project_status, comment, 
+      create_time, complete_date, deleted_sign
+      )
+    values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR}, #{serialNumber,jdbcType=INTEGER}, 
+      #{name,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{signDate,jdbcType=TIMESTAMP}, 
+      #{founder,jdbcType=VARCHAR}, #{describe,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
+      #{patentNum,jdbcType=INTEGER}, #{patentStatus,jdbcType=INTEGER}, #{copyrightNum,jdbcType=INTEGER}, 
+      #{copyrightStatus,jdbcType=INTEGER}, #{cognizanceYear,jdbcType=INTEGER}, #{cognizanceStatus,jdbcType=INTEGER}, 
+      #{techProjectNum,jdbcType=INTEGER}, #{techProjectStatus,jdbcType=INTEGER}, #{comment,jdbcType=VARCHAR}, 
+      #{createTime,jdbcType=TIMESTAMP}, #{completeDate,jdbcType=TIMESTAMP}, #{deletedSign,jdbcType=INTEGER}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.Contract" >
+    insert into contract
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="uid != null" >
+        uid,
+      </if>
+      <if test="serialNumber != null" >
+        serial_number,
+      </if>
+      <if test="name != null" >
+        name,
+      </if>
+      <if test="type != null" >
+        type,
+      </if>
+      <if test="signDate != null" >
+        sign_date,
+      </if>
+      <if test="founder != null" >
+        founder,
+      </if>
+      <if test="describe != null" >
+        describe,
+      </if>
+      <if test="status != null" >
+        status,
+      </if>
+      <if test="patentNum != null" >
+        patent_num,
+      </if>
+      <if test="patentStatus != null" >
+        patent_status,
+      </if>
+      <if test="copyrightNum != null" >
+        copyright_num,
+      </if>
+      <if test="copyrightStatus != null" >
+        copyright_status,
+      </if>
+      <if test="cognizanceYear != null" >
+        cognizance_year,
+      </if>
+      <if test="cognizanceStatus != null" >
+        cognizance_status,
+      </if>
+      <if test="techProjectNum != null" >
+        tech_project_num,
+      </if>
+      <if test="techProjectStatus != null" >
+        tech_project_status,
+      </if>
+      <if test="comment != null" >
+        comment,
+      </if>
+      <if test="createTime != null" >
+        create_time,
+      </if>
+      <if test="completeDate != null" >
+        complete_date,
+      </if>
+      <if test="deletedSign != null" >
+        deleted_sign,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="uid != null" >
+        #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="serialNumber != null" >
+        #{serialNumber,jdbcType=INTEGER},
+      </if>
+      <if test="name != null" >
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null" >
+        #{type,jdbcType=INTEGER},
+      </if>
+      <if test="signDate != null" >
+        #{signDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="founder != null" >
+        #{founder,jdbcType=VARCHAR},
+      </if>
+      <if test="describe != null" >
+        #{describe,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null" >
+        #{status,jdbcType=INTEGER},
+      </if>
+      <if test="patentNum != null" >
+        #{patentNum,jdbcType=INTEGER},
+      </if>
+      <if test="patentStatus != null" >
+        #{patentStatus,jdbcType=INTEGER},
+      </if>
+      <if test="copyrightNum != null" >
+        #{copyrightNum,jdbcType=INTEGER},
+      </if>
+      <if test="copyrightStatus != null" >
+        #{copyrightStatus,jdbcType=INTEGER},
+      </if>
+      <if test="cognizanceYear != null" >
+        #{cognizanceYear,jdbcType=INTEGER},
+      </if>
+      <if test="cognizanceStatus != null" >
+        #{cognizanceStatus,jdbcType=INTEGER},
+      </if>
+      <if test="techProjectNum != null" >
+        #{techProjectNum,jdbcType=INTEGER},
+      </if>
+      <if test="techProjectStatus != null" >
+        #{techProjectStatus,jdbcType=INTEGER},
+      </if>
+      <if test="comment != null" >
+        #{comment,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="completeDate != null" >
+        #{completeDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deletedSign != null" >
+        #{deletedSign,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Contract" >
+    update contract
+    <set >
+      <if test="uid != null" >
+        uid = #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="serialNumber != null" >
+        serial_number = #{serialNumber,jdbcType=INTEGER},
+      </if>
+      <if test="name != null" >
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null" >
+        type = #{type,jdbcType=INTEGER},
+      </if>
+      <if test="signDate != null" >
+        sign_date = #{signDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="founder != null" >
+        founder = #{founder,jdbcType=VARCHAR},
+      </if>
+      <if test="describe != null" >
+        describe = #{describe,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null" >
+        status = #{status,jdbcType=INTEGER},
+      </if>
+      <if test="patentNum != null" >
+        patent_num = #{patentNum,jdbcType=INTEGER},
+      </if>
+      <if test="patentStatus != null" >
+        patent_status = #{patentStatus,jdbcType=INTEGER},
+      </if>
+      <if test="copyrightNum != null" >
+        copyright_num = #{copyrightNum,jdbcType=INTEGER},
+      </if>
+      <if test="copyrightStatus != null" >
+        copyright_status = #{copyrightStatus,jdbcType=INTEGER},
+      </if>
+      <if test="cognizanceYear != null" >
+        cognizance_year = #{cognizanceYear,jdbcType=INTEGER},
+      </if>
+      <if test="cognizanceStatus != null" >
+        cognizance_status = #{cognizanceStatus,jdbcType=INTEGER},
+      </if>
+      <if test="techProjectNum != null" >
+        tech_project_num = #{techProjectNum,jdbcType=INTEGER},
+      </if>
+      <if test="techProjectStatus != null" >
+        tech_project_status = #{techProjectStatus,jdbcType=INTEGER},
+      </if>
+      <if test="comment != null" >
+        comment = #{comment,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="completeDate != null" >
+        complete_date = #{completeDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deletedSign != null" >
+        deleted_sign = #{deletedSign,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.Contract" >
+    update contract
+    set uid = #{uid,jdbcType=VARCHAR},
+      serial_number = #{serialNumber,jdbcType=INTEGER},
+      name = #{name,jdbcType=VARCHAR},
+      type = #{type,jdbcType=INTEGER},
+      sign_date = #{signDate,jdbcType=TIMESTAMP},
+      founder = #{founder,jdbcType=VARCHAR},
+      describe = #{describe,jdbcType=VARCHAR},
+      status = #{status,jdbcType=INTEGER},
+      patent_num = #{patentNum,jdbcType=INTEGER},
+      patent_status = #{patentStatus,jdbcType=INTEGER},
+      copyright_num = #{copyrightNum,jdbcType=INTEGER},
+      copyright_status = #{copyrightStatus,jdbcType=INTEGER},
+      cognizance_year = #{cognizanceYear,jdbcType=INTEGER},
+      cognizance_status = #{cognizanceStatus,jdbcType=INTEGER},
+      tech_project_num = #{techProjectNum,jdbcType=INTEGER},
+      tech_project_status = #{techProjectStatus,jdbcType=INTEGER},
+      comment = #{comment,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      complete_date = #{completeDate,jdbcType=TIMESTAMP},
+      deleted_sign = #{deletedSign,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+  <select id="findManageContractListByPage" parameterType="String" resultType="com.goafanti.contract.bo.ContractManageListBo">
+   select c.id, c.uid, oi.unit_name as unitName, 
+   		  oi.licence_province as province, c.serial_number as serialNumber, c.type,
+   		  c.sign_date as signDate, a.name as founder, 
+   		  c.describe, c.status, c.complete_date as completeDate
+   from contract c 
+		LEFT JOIN organization_identity oi on oi.uid = c.uid
+		LEFT JOIN admin a on a.id = c.founder
+    <if test="principal != null">	
+		LEFT JOIN contract_log cl on cl.cid = c.id
+   </if>	
+  where c.deleted_sign = 0  
+  <if test="principal != null">
+	and cl.principal = #{principal,jdbcType=VARCHAR}
+  </if>
+  <if test="serialNumber !=null">
+    and c.serialNumber = #{serialNumber,jdbcType=VARCAHR}
+  </if>
+   <if test="type !=null">
+    and c.type = #{type,jdbcType=INTEGER}
+  </if>
+   <if test="status !=null">
+    and c.status= #{status ,jdbcType=INTEGER}
+  </if>
+   <if test="cStart !=null">
+    and c.sign_date <![CDATA[ > ]]> #{cStart,jdbcType=TIMESTAMP}
+  </if>
+   <if test="cEnd !=null">
+    and c.sign_date <![CDATA[ < ]]> #{cEnd,jdbcType=TIMESTAMP}
+  </if>
+   <if test="province !=null">
+    and oi.licence_province= #{province,jdbcType=VARCAHR}
+  </if>
+   <if test="unitName !=null">
+    and oi.unit_name= #{unitName,jdbcType=VARCAHR}
+  </if>
+  <if test="principal != null">
+	group by c.id
+  </if>
+	order by c.serial_number DESC
+  <if test="page_sql!=null">
+	${page_sql}
+  </if>
+  </select>
+  
+  <select id="findManageContractCount" resultType="java.lang.Integer"
+		parameterType="String">
+   select count(1)
+   from contract c 
+		LEFT JOIN organization_identity oi on oi.uid = c.uid
+		LEFT JOIN admin a on a.id = c.founder
+    <if test="principal != null">	
+		LEFT JOIN contract_log cl on cl.cid = c.id
+   </if>	
+  where c.deleted_sign = 0  
+  <if test="principal != null">
+	and cl.principal = #{principal,jdbcType=VARCHAR}
+  </if>
+  <if test="serialNumber !=null">
+    and c.serialNumber = #{serialNumber,jdbcType=VARCAHR}
+  </if>
+   <if test="type !=null">
+    and c.type = #{type,jdbcType=INTEGER}
+  </if>
+   <if test="status !=null">
+    and c.status= #{status ,jdbcType=INTEGER}
+  </if>
+   <if test="cStart !=null">
+    and c.sign_date <![CDATA[ > ]]> #{cStart,jdbcType=TIMESTAMP}
+  </if>
+   <if test="cEnd !=null">
+    and c.sign_date <![CDATA[ < ]]> #{cEnd,jdbcType=TIMESTAMP}
+  </if>
+   <if test="province !=null">
+    and oi.licence_province= #{province,jdbcType=VARCAHR}
+  </if>
+   <if test="unitName !=null">
+    and oi.unit_name= #{unitName,jdbcType=VARCAHR}
+  </if>
+  <if test="principal != null">
+	group by c.id
+  </if>
+  </select>
+</mapper>

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

@@ -847,7 +847,7 @@
 		</if>
 		<if test="locationProvince != null">
 			and
-			o.location_province=#{locationProvince,jdbcType=VARCHAR}
+			o.licence_province=#{locationProvince,jdbcType=VARCHAR}
 		</if>
 		<if test="principal != null">
 			group by p.id
@@ -903,7 +903,7 @@
 		</if>
 		<if test="locationProvince != null">
 			and
-			o.location_province=#{locationProvince,jdbcType=VARCHAR}
+			o.licence_province=#{locationProvince,jdbcType=VARCHAR}
 		</if>
 		<if test="principal != null">
 			group by p.id

+ 307 - 0
src/main/java/com/goafanti/common/model/Contract.java

@@ -0,0 +1,307 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.goafanti.common.constant.AFTConstants;
+
+public class Contract {
+    private String id;
+
+    private String uid;
+
+    /**
+    * 合同编号
+    */
+    private Integer serialNumber;
+
+    /**
+    * 合同名称(预留字段)
+    */
+    private String name;
+
+    /**
+    * 合同类型(1-专利类型合同,2-软著类型合同,3-高企认定类型合同,4-科技项目类型合同)
+    */
+    private Integer type;
+
+    /**
+    * 合同签订时间
+    */
+    private Date signDate;
+
+    /**
+    * 合同记录创建人
+    */
+    private String founder;
+
+    /**
+    * 合同描述
+    */
+    private String describe;
+
+    /**
+    * 合同状态(0-草稿,1-签订,2-分发流转,3-完成(已结款))
+    */
+    private Integer status;
+
+    /**
+    * 专利数量
+    */
+    private Integer patentNum;
+
+    /**
+    * 专利创建状态(0-未创建,1-已创建)
+    */
+    private Integer patentStatus;
+
+    /**
+    * 软著数量
+    */
+    private Integer copyrightNum;
+
+    /**
+    * 软著创建状态(0-未创建,1-已创建)
+    */
+    private Integer copyrightStatus;
+
+    /**
+    * 高企申请年份
+    */
+    private Integer cognizanceYear;
+
+    /**
+    * 高企认定创建状态(1-未创建,1-已创建)
+    */
+    private Integer cognizanceStatus;
+
+    /**
+    * 科技项目数量
+    */
+    private Integer techProjectNum;
+
+    /**
+    * 科技项目创建状态(0-未创建,1-已创建)
+    */
+    private Integer techProjectStatus;
+
+    /**
+    * 合同创建备注
+    */
+    private String comment;
+
+    /**
+    * 记录创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 合同完成(结款)日期
+    */
+    private Date completeDate;
+
+    private Integer deletedSign;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    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 String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Date getSignDate() {
+        return signDate;
+    }
+
+    public void setSignDate(Date signDate) {
+        this.signDate = signDate;
+    }
+
+    public String getFounder() {
+        return founder;
+    }
+
+    public void setFounder(String founder) {
+        this.founder = founder;
+    }
+
+    public String getDescribe() {
+        return describe;
+    }
+
+    public void setDescribe(String describe) {
+        this.describe = describe;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getPatentNum() {
+        return patentNum;
+    }
+
+    public void setPatentNum(Integer patentNum) {
+        this.patentNum = patentNum;
+    }
+
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getPatentStatus() {
+        return patentStatus;
+    }
+
+    public void setPatentStatus(Integer patentStatus) {
+        this.patentStatus = patentStatus;
+    }
+
+    public Integer getCopyrightNum() {
+        return copyrightNum;
+    }
+
+    public void setCopyrightNum(Integer copyrightNum) {
+        this.copyrightNum = copyrightNum;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getCopyrightStatus() {
+        return copyrightStatus;
+    }
+
+    public void setCopyrightStatus(Integer copyrightStatus) {
+        this.copyrightStatus = copyrightStatus;
+    }
+
+    public Integer getCognizanceYear() {
+        return cognizanceYear;
+    }
+
+    public void setCognizanceYear(Integer cognizanceYear) {
+        this.cognizanceYear = cognizanceYear;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getCognizanceStatus() {
+        return cognizanceStatus;
+    }
+
+    public void setCognizanceStatus(Integer cognizanceStatus) {
+        this.cognizanceStatus = cognizanceStatus;
+    }
+
+    public Integer getTechProjectNum() {
+        return techProjectNum;
+    }
+
+    public void setTechProjectNum(Integer techProjectNum) {
+        this.techProjectNum = techProjectNum;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getTechProjectStatus() {
+        return techProjectStatus;
+    }
+
+    public void setTechProjectStatus(Integer techProjectStatus) {
+        this.techProjectStatus = techProjectStatus;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getCompleteDate() {
+        return completeDate;
+    }
+
+    public void setCompleteDate(Date completeDate) {
+        this.completeDate = completeDate;
+    }
+    
+    @JsonIgnore
+    public Integer getDeletedSign() {
+        return deletedSign;
+    }
+
+    public void setDeletedSign(Integer deletedSign) {
+        this.deletedSign = deletedSign;
+    }
+    
+    public String getSignDateFormattedDate() {
+		if (this.signDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getSignDate(), AFTConstants.YYYYMMDDHHMMSS);
+		}
+	}
+
+	public void setSignDateFormattedDate(String signDateFormattedDate) {
+
+	}
+	
+	 public String getCompleteDateFormattedDate() {
+			if (this.completeDate == null) {
+				return null;
+			} else {
+				return DateFormatUtils.format(this.getCompleteDate(), AFTConstants.YYYYMMDDHHMMSS);
+			}
+		}
+
+		public void setCompleteDateFormattedDate(String completeDateFormattedDate) {
+
+		}
+}

+ 109 - 0
src/main/java/com/goafanti/common/model/ContractLog.java

@@ -0,0 +1,109 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.goafanti.common.constant.AFTConstants;
+
+public class ContractLog {
+    private String id;
+
+    /**
+    * 合同表主键
+    */
+    private String cid;
+
+    /**
+    * 状态变更录入时间
+    */
+    private Date recordTime;
+
+    /**
+    * 状态
+    */
+    private Integer status;
+
+    /**
+    * 负责人
+    */
+    private String principal;
+
+    /**
+    * 操作人
+    */
+    private String operator;
+
+    /**
+    * 备注
+    */
+    private String comment;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getCid() {
+        return cid;
+    }
+
+    public void setCid(String cid) {
+        this.cid = cid;
+    }
+
+    public Date getRecordTime() {
+        return recordTime;
+    }
+
+    public void setRecordTime(Date recordTime) {
+        this.recordTime = recordTime;
+    }
+
+    public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public String getPrincipal() {
+        return principal;
+    }
+
+    public void setPrincipal(String principal) {
+        this.principal = principal;
+    }
+
+    public String getOperator() {
+        return operator;
+    }
+
+    public void setOperator(String operator) {
+        this.operator = operator;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+    
+    public String getRecordTimeFormattedDate(){
+		if (this.recordTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getRecordTime(), AFTConstants.YYYYMMDDHHMMSS);
+		}
+	}
+	
+	public void setRecordTimeFormattedDate(String createTimeFormattedDate){
+		
+	}
+}

+ 174 - 0
src/main/java/com/goafanti/contract/bo/ContractManageListBo.java

@@ -0,0 +1,174 @@
+package com.goafanti.contract.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;
+import com.goafanti.common.constant.AFTConstants;
+
+public class ContractManageListBo {
+	private String	id;
+
+	private String	uid;
+	
+	private String province;
+	
+	private String unitName;
+
+
+	/**
+	 * 合同编号
+	 */
+	private Integer	serialNumber;
+
+
+	/**
+	 * 合同类型(1-专利类型合同,2-软著类型合同,3-高企认定类型合同,4-科技项目类型合同)
+	 */
+	private Integer	type;
+
+	/**
+	 * 合同签订时间
+	 */
+	private Date	signDate;
+
+	/**
+	 * 合同记录创建人
+	 */
+	private String	founder;
+
+	/**
+	 * 合同描述
+	 */
+	private String	describe;
+
+	/**
+	 * 合同状态(0-草稿,1-签订,2-分发流转,3-完成(已结款))
+	 */
+	private Integer	status;
+	
+	/**
+	 * 合同完成时间
+	 */
+	private Date completeDate;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	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;
+	}
+
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
+	public Date getSignDate() {
+		return signDate;
+	}
+
+	public void setSignDate(Date signDate) {
+		this.signDate = signDate;
+	}
+
+	public String getFounder() {
+		return founder;
+	}
+
+	public void setFounder(String founder) {
+		this.founder = founder;
+	}
+
+	public String getDescribe() {
+		return describe;
+	}
+
+	public void setDescribe(String describe) {
+		this.describe = describe;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+	
+	
+	public Date getCompleteDate() {
+		return completeDate;
+	}
+
+	public void setCompleteDate(Date completeDate) {
+		this.completeDate = completeDate;
+	}
+
+	public String getSignDateFormattedDate() {
+		if (this.signDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getSignDate(), AFTConstants.YYYYMMDDHHMMSS);
+		}
+	}
+
+	public void setSignDateFormattedDate(String signDateFormattedDate) {
+
+	}
+	
+	public String getCompleteDateFormattedDate() {
+		if (this.completeDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getCompleteDate(), AFTConstants.YYYYMMDDHHMMSS);
+		}
+	}
+
+	public void setCompleteDateFormattedDate(String completeDateFormattedDate) {
+
+	}
+	
+	
+}

+ 106 - 0
src/main/java/com/goafanti/contract/bo/InputContract.java

@@ -0,0 +1,106 @@
+package com.goafanti.contract.bo;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.Size;
+
+import com.goafanti.common.constant.ErrorConstants;
+
+public class InputContract {
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	uid;
+	
+	@Max(value = 3, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	type;
+
+	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	describe;
+	
+	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	patentNum;
+	
+	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	copyrightNum;
+	
+	@Max(value = 9999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	cognizanceYear;
+	
+	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	techProjectNum;
+	
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String		principal;
+	
+	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	comment;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
+	public String getDescribe() {
+		return describe;
+	}
+
+	public void setDescribe(String describe) {
+		this.describe = describe;
+	}
+
+	public Integer getPatentNum() {
+		return patentNum;
+	}
+
+	public void setPatentNum(Integer patentNum) {
+		this.patentNum = patentNum;
+	}
+
+	public Integer getCopyrightNum() {
+		return copyrightNum;
+	}
+
+	public void setCopyrightNum(Integer copyrightNum) {
+		this.copyrightNum = copyrightNum;
+	}
+
+	public Integer getCognizanceYear() {
+		return cognizanceYear;
+	}
+
+	public void setCognizanceYear(Integer cognizanceYear) {
+		this.cognizanceYear = cognizanceYear;
+	}
+
+	public Integer getTechProjectNum() {
+		return techProjectNum;
+	}
+
+	public void setTechProjectNum(Integer techProjectNum) {
+		this.techProjectNum = techProjectNum;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+}

+ 11 - 0
src/main/java/com/goafanti/contract/service/ContractService.java

@@ -0,0 +1,11 @@
+package com.goafanti.contract.service;
+
+import com.goafanti.contract.bo.ContractManageListBo;
+import com.goafanti.core.mybatis.page.Pagination;
+
+public interface ContractService {
+
+	Pagination<ContractManageListBo> getManageList(Integer serialNumber, Integer type, Integer status, String startDateFormattedDate,
+			String endDateFormattedDate, String province, String unitName, Integer pNo, Integer pSize);
+
+}

+ 92 - 0
src/main/java/com/goafanti/contract/service/impl/ContractServiceImpl.java

@@ -0,0 +1,92 @@
+package com.goafanti.contract.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.constant.AFTConstants;
+import com.goafanti.common.dao.ContractMapper;
+import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.contract.bo.ContractManageListBo;
+import com.goafanti.contract.service.ContractService;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.core.shiro.token.TokenManager;
+@Service
+public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implements ContractService {
+	@Autowired
+	private ContractMapper contractMapper;
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<ContractManageListBo> getManageList(Integer serialNumber, Integer type, Integer status,
+			String startDateFormattedDate, String endDateFormattedDate, String province, String unitName, Integer pNo,
+			Integer pSize) {
+		Date cStart = null;
+		Date cEnd = null;
+		
+		Map<String, Object> params = new HashMap<>();
+		
+		if (!TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
+			params.put("principal", TokenManager.getAdminId());
+		}
+		
+		if (null != serialNumber){
+			params.put("serialNumber", serialNumber);
+		}
+		
+		if (null != type){
+			params.put("type", type);
+		}
+		
+		if (null != status){
+			params.put("status", status);
+		}
+		
+		if (!StringUtils.isBlank(startDateFormattedDate)){
+			try {
+				cStart = DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDD);
+			} catch (ParseException e) {
+			}
+		}
+		
+		if (null != cStart){
+			params.put("cStart", cStart);
+		}
+		
+		if (!StringUtils.isBlank(endDateFormattedDate)){
+			try {
+				cEnd = DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD);
+			} catch (ParseException e) {
+			}
+		}
+		
+		if (null != cEnd){
+			params.put("cEnd", cEnd);
+		}
+		
+		if (!StringUtils.isBlank(province)) {
+			params.put("province", province);
+		}
+		
+		if (!StringUtils.isBlank(unitName)) {
+			params.put("unitName", unitName);
+		}
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0) {
+			pSize = 10;
+		}
+		
+		return (Pagination<ContractManageListBo>) findPage("findManageContractListByPage", "findManageContractCount", params,
+				pNo, pSize);
+	}
+
+}

+ 11 - 0
src/main/webapp/WEB-INF/views/admin/servicesManage/contract.jsp

@@ -0,0 +1,11 @@
+<%@ 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>
+<link href="${staticHost}/admin/servicesManage/contract.css" rel="stylesheet">
+</head>
+<body>
+	<div id="root"></div>
+	<script type="text/javascript" src="${staticHost}/admin/servicesManage/contract.js"></script>
+</body>
+</html>