瀏覽代碼

Accept Merge Request #171 merge1.0.30 : (master -> test)

Merge Request: merge1.0.30
Created By: @Antiloveg
Accepted By: @Antiloveg
URL: https://coding.net/t/aft/p/AFT/git/merge/171
Antiloveg 8 年之前
父節點
當前提交
37730fb428
共有 63 個文件被更改,包括 790 次插入265 次删除
  1. 53 0
      schema/20170626-activities-news-billings.sql
  2. 77 11
      src/main/java/com/goafanti/achievement/bo/AchievementPartnerListBo.java
  3. 1 0
      src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java
  4. 2 2
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  5. 41 16
      src/main/java/com/goafanti/admin/controller/AdminContractApiController.java
  6. 31 21
      src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java
  7. 1 5
      src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java
  8. 5 4
      src/main/java/com/goafanti/cognizance/service/impl/OrgCognizanceServiceImpl.java
  9. 10 4
      src/main/java/com/goafanti/common/controller/PortalController.java
  10. 201 1
      src/main/java/com/goafanti/common/controller/WebpageController.java
  11. 4 0
      src/main/java/com/goafanti/common/dao/ContractMapper.java
  12. 2 0
      src/main/java/com/goafanti/common/dao/CopyrightInfoMapper.java
  13. 7 2
      src/main/java/com/goafanti/common/mapper/AchievementMapper.xml
  14. 10 1
      src/main/java/com/goafanti/common/mapper/ContractMapper.xml
  15. 6 0
      src/main/java/com/goafanti/common/mapper/CopyrightInfoMapper.xml
  16. 5 1
      src/main/java/com/goafanti/common/mapper/DemandMapper.xml
  17. 2 2
      src/main/java/com/goafanti/common/mapper/PatentInfoMapper.xml
  18. 17 6
      src/main/java/com/goafanti/common/mapper/TechProjectLogMapper.xml
  19. 2 2
      src/main/java/com/goafanti/contract/bo/ContractClientListBo.java
  20. 6 18
      src/main/java/com/goafanti/contract/bo/InputSaveContract.java
  21. 20 8
      src/main/java/com/goafanti/contract/controller/ContractApiController.java
  22. 2 0
      src/main/java/com/goafanti/contract/service/ContractService.java
  23. 27 10
      src/main/java/com/goafanti/contract/service/impl/ContractServiceImpl.java
  24. 1 2
      src/main/java/com/goafanti/copyright/bo/InputCopyright.java
  25. 7 5
      src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java
  26. 63 10
      src/main/java/com/goafanti/demand/bo/DemandPartnerListBo.java
  27. 2 2
      src/main/java/com/goafanti/demand/bo/InputDemand.java
  28. 2 1
      src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java
  29. 10 8
      src/main/java/com/goafanti/patent/controller/PatentApiController.java
  30. 1 1
      src/main/java/com/goafanti/patent/service/impl/PatentCostServiceImpl.java
  31. 3 3
      src/main/java/com/goafanti/patent/service/impl/PatentInfoServiceImpl.java
  32. 10 6
      src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java
  33. 4 4
      src/main/java/com/goafanti/user/bo/InputOrgPro.java
  34. 1 4
      src/main/java/com/goafanti/user/controller/UserApiController.java
  35. 1 1
      src/main/resources/props/config_dev.properties
  36. 1 1
      src/main/resources/props/config_local.properties
  37. 1 1
      src/main/resources/props/config_prod.properties
  38. 1 1
      src/main/resources/props/config_test.properties
  39. 94 78
      src/main/webapp/WEB-INF/views/common.html
  40. 1 1
      src/main/webapp/WEB-INF/views/portal/activity/activityIndex.html
  41. 2 1
      src/main/webapp/WEB-INF/views/portal/activity/details.html
  42. 2 1
      src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html
  43. 16 20
      src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html
  44. 2 0
      src/main/webapp/WEB-INF/views/portal/entrepreneurship/entrepreneurshipIndex.html
  45. 1 0
      src/main/webapp/WEB-INF/views/portal/financial/financialIndex.html
  46. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/authentication.html
  47. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/basicInfo.html
  48. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/evaluate.html
  49. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/financeInfo.html
  50. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/iprInfo.html
  51. 2 0
      src/main/webapp/WEB-INF/views/portal/highTech/evaluate/rdManage.html
  52. 1 0
      src/main/webapp/WEB-INF/views/portal/index.html
  53. 2 0
      src/main/webapp/WEB-INF/views/portal/international/internationalIndex.html
  54. 2 0
      src/main/webapp/WEB-INF/views/portal/ipr/apply.html
  55. 1 0
      src/main/webapp/WEB-INF/views/portal/ipr/iso.html
  56. 1 0
      src/main/webapp/WEB-INF/views/portal/ipr/patentOperation.html
  57. 2 0
      src/main/webapp/WEB-INF/views/portal/ipr/service.html
  58. 2 0
      src/main/webapp/WEB-INF/views/portal/news.html
  59. 2 0
      src/main/webapp/WEB-INF/views/portal/patent.html
  60. 2 0
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/bigShot.html
  61. 2 0
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html
  62. 2 0
      src/main/webapp/WEB-INF/views/portal/scienceTechnology/star.html
  63. 1 0
      src/main/webapp/WEB-INF/views/portal/websiteBuild/websiteBuildIndex.html

+ 53 - 0
schema/20170626-activities-news-billings.sql

@@ -0,0 +1,53 @@
+CREATE TABLE `news` (
+  `id` bigint(18) NOT NULL COMMENT '主键',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `edit_time` datetime DEFAULT NULL COMMENT '修改时间',
+  `title` varchar(45) DEFAULT NULL COMMENT '标题',
+  `author` varchar(45) DEFAULT NULL COMMENT '作者',
+  `type` int(2) NOT NULL DEFAULT '0' COMMENT '类型',
+  `content` longtext COMMENT '内容',
+  `hot` int(1) NOT NULL DEFAULT '0' COMMENT '是否放在首页',
+  `source` varchar(45) DEFAULT NULL COMMENT '来源',
+  `sourceUrl` varchar(255) DEFAULT NULL COMMENT '来源url',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻资讯';
+
+CREATE TABLE `activity` (
+  `id` bigint(18) NOT NULL,
+  `start_time` datetime DEFAULT NULL COMMENT '开始时间',
+  `end_time` datetime DEFAULT NULL COMMENT '结束时间',
+  `name` varchar(45) DEFAULT NULL COMMENT '标题',
+  `desc` longtext COMMENT '描述',
+  `status` int(1) DEFAULT NULL COMMENT '状态',
+  `address` varchar(128) DEFAULT NULL COMMENT '活动地址',
+  `host` varchar(45) DEFAULT NULL COMMENT '主办单位',
+  `undertake` varchar(45) DEFAULT NULL COMMENT '承办单位',
+  `asist` varchar(255) DEFAULT NULL COMMENT '协办单位,逗号隔开',
+  `type` int(1) DEFAULT NULL COMMENT '活动类型',
+  `form` int(1) DEFAULT NULL COMMENT '活动形式',
+  `img_urls` varchar(255) DEFAULT NULL COMMENT '活动图片地址',
+  `result` varchar(255) DEFAULT NULL COMMENT '活动结果描述',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动主表';
+
+CREATE TABLE `activity_user` (
+  `aid` bigint(18) NOT NULL COMMENT '活动id',
+  `uid` varchar(36) NOT NULL COMMENT '用户ID',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
+  PRIMARY KEY (`aid`,`uid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户活动表';
+
+CREATE TABLE `billings` (
+  `id` bigint(18) NOT NULL COMMENT '流水id',
+  `uid` varchar(36) DEFAULT NULL COMMENT '用户id',
+  `value` bigint(18) NOT NULL DEFAULT '0' COMMENT '支付金额,单位为分',
+  `desc` varchar(45) DEFAULT NULL COMMENT '流水描述',
+  `type` int(2) NOT NULL DEFAULT '0' COMMENT '流水订单类型',
+  `payment_type` int(2) NOT NULL DEFAULT '0' COMMENT '流水支付类型',
+  `number` varchar(45) DEFAULT NULL COMMENT '银行或者其他支付渠道的流水号',
+  `balance` bigint(18) NOT NULL DEFAULT '0' COMMENT '用户账户余额,单位为分',
+  `consumption` bigint(18) NOT NULL DEFAULT '0' COMMENT '用户总消费额,单位为分',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户交易支付流水表';
+
+

+ 77 - 11
src/main/java/com/goafanti/achievement/bo/AchievementPartnerListBo.java

@@ -1,5 +1,6 @@
 package com.goafanti.achievement.bo;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 import org.apache.commons.lang3.time.DateFormatUtils;
@@ -9,42 +10,107 @@ import com.fasterxml.jackson.annotation.JsonFormat.Shape;
 import com.goafanti.common.constant.AFTConstants;
 
 public class AchievementPartnerListBo {
-	private String	id;
+	private String		id;
 
 	/**
 	 * 编号
 	 */
-	private Integer	serialNumber;
+	private Integer		serialNumber;
 
 	/**
 	 * 数据类别 (0--成果, 1--技术, 2--项目)
 	 */
-	private Integer	dataCategory;
+	private Integer		dataCategory;
 
 	/**
 	 * 名称
 	 */
-	private String	name;
+	private String		name;
 
 	/**
 	 * 关键词
 	 */
-	private String	keyword;
+	private String		keyword;
 
 	/**
 	 * 类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
 	 */
-	private Integer	category;
+	private Integer		category;
 
 	/**
 	 * 所有人类型(0-个人,1-组织)
 	 */
-	private Integer	ownerType;
+	private Integer		ownerType;
 
 	/**
 	 * 发布时间
 	 */
-	private Date	releaseDate;
+	private Date		releaseDate;
+
+	/**
+	 * 应用领域1
+	 */
+	private Integer		fieldA;
+
+	/**
+	 * 应用领域2
+	 */
+	private Integer		fieldB;
+
+	/**
+	 * 成熟度
+	 */
+	private Integer		maturity;
+
+	/**
+	 * 议价方式
+	 */
+	private Integer		bargainingMode;
+
+	/**
+	 * 标价
+	 */
+	private BigDecimal	transferPrice;
+
+	public Integer getFieldA() {
+		return fieldA;
+	}
+
+	public void setFieldA(Integer fieldA) {
+		this.fieldA = fieldA;
+	}
+
+	public Integer getFieldB() {
+		return fieldB;
+	}
+
+	public void setFieldB(Integer fieldB) {
+		this.fieldB = fieldB;
+	}
+
+	public Integer getMaturity() {
+		return maturity;
+	}
+
+	public void setMaturity(Integer maturity) {
+		this.maturity = maturity;
+	}
+
+	public Integer getBargainingMode() {
+		return bargainingMode;
+	}
+
+	public void setBargainingMode(Integer bargainingMode) {
+		this.bargainingMode = bargainingMode;
+	}
+
+	public BigDecimal getTransferPrice() {
+		return transferPrice;
+	}
+
+	public void setTransferPrice(BigDecimal transferPrice) {
+		this.transferPrice = transferPrice;
+	}
 
 	public String getId() {
 		return id;
@@ -61,7 +127,7 @@ public class AchievementPartnerListBo {
 	public void setSerialNumber(Integer serialNumber) {
 		this.serialNumber = serialNumber;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getDataCategory() {
 		return dataCategory;
@@ -86,7 +152,7 @@ public class AchievementPartnerListBo {
 	public void setKeyword(String keyword) {
 		this.keyword = keyword;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getCategory() {
 		return category;
@@ -95,7 +161,7 @@ public class AchievementPartnerListBo {
 	public void setCategory(Integer category) {
 		this.category = category;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getOwnerType() {
 		return ownerType;

+ 1 - 0
src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java

@@ -638,5 +638,6 @@ public class AdminAchievementApiController extends CertifyApiController {
 		res.setData(data);
 		return res;
 	}
+	
 
 }

+ 2 - 2
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -2860,7 +2860,7 @@ public class AdminApiController extends CertifyApiController {
 	 * 高企培育列表
 	 */
 	@RequestMapping(value = "/cultivate", method = RequestMethod.POST)
-	public Result cultivationList(String uid, Integer province, String unitName, String pageNo, String pageSize) {
+	public Result cultivationList(String uid, Integer locationProvince, String unitName, String pageNo, String pageSize) {
 		Result res = new Result();
 		Integer pNo = 1;
 		Integer pSize = 10;
@@ -2870,7 +2870,7 @@ public class AdminApiController extends CertifyApiController {
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 		}
-		res.setData(orgCognizanceService.listCultivation(uid, province, unitName, pNo, pSize));
+		res.setData(orgCognizanceService.listCultivation(uid, locationProvince, unitName, pNo, pSize));
 		return res;
 	}
 

+ 41 - 16
src/main/java/com/goafanti/admin/controller/AdminContractApiController.java

@@ -57,12 +57,12 @@ public class AdminContractApiController extends CertifyApiController {
 	private CopyrightInfoService	copyrightInfoService;
 	@Resource
 	private TechProjectService		techProjectService;
-	
+
 	/**
 	 * 批量删除合同
 	 */
 	@RequestMapping(value = "/delete", method = RequestMethod.POST)
-	public Result delete(@RequestParam(name = "ids[]", required = false) String[] ids){
+	public Result delete(@RequestParam(name = "ids[]", required = false) String[] ids) {
 		Result res = new Result();
 		if (ids == null || ids.length < 1) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
@@ -71,12 +71,12 @@ public class AdminContractApiController extends CertifyApiController {
 		}
 		return res;
 	}
-	
+
 	/**
 	 * 合同编号下拉
 	 */
-	@RequestMapping(value= "/serialNumber", method = RequestMethod.GET)
-	public Result contractSerialNumber(){
+	@RequestMapping(value = "/serialNumber", method = RequestMethod.GET)
+	public Result contractSerialNumber() {
 		Result res = new Result();
 		res.setData(contractService.selectContractSerialNumber());
 		return res;
@@ -271,8 +271,9 @@ public class AdminContractApiController extends CertifyApiController {
 	 * 合同列表
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
-	public Result listContract(String contractId, Integer serialNumber, Integer type, Integer status, String startDateFormattedDate,
-			String endDateFormattedDate, Integer province, String unitName, String uid, String pageNo, String pageSize) {
+	public Result listContract(String contractId, Integer serialNumber, Integer type, Integer status,
+			String startDateFormattedDate, String endDateFormattedDate, Integer province, String unitName, String uid,
+			String pageNo, String pageSize) {
 		Result res = new Result();
 		Integer pNo = 1;
 		Integer pSize = 10;
@@ -319,7 +320,12 @@ public class AdminContractApiController extends CertifyApiController {
 		if (StringUtils.isBlank(contract.getId())) {
 			res.setData(contractService.saveManageContract(c));
 		} else {
-			res.setData(contractService.updateByPrimaryKeySelective(c));
+			Contract ct = contractService.selectByPrimaryKey(c.getId());
+			if (null != ct && !ContractStatus.COMPLETE.getCode().equals(ct.getStatus())) {
+				res.setData(contractService.updateByPrimaryKeySelective(c));
+			} else {
+				res.getError().add(buildError("", "当前合同已完成(结款),无法操作!"));
+			}
 		}
 		return res;
 	}
@@ -362,7 +368,12 @@ public class AdminContractApiController extends CertifyApiController {
 		if (StringUtils.isBlank(ic.getId())) {
 			contractService.insertManageSubmit(c, principals, signDateFormattedDate);
 		} else {
-			contractService.updateSubmit(c, principals, signDateFormattedDate);
+			Contract ct = contractService.selectByPrimaryKey(c.getId());
+			if (null != ct && !ContractStatus.COMPLETE.getCode().equals(ct.getStatus())) {
+				contractService.updateSubmit(c, principals, signDateFormattedDate);
+			} else {
+				res.getError().add(buildError("", "当前合同已完成(结款),无法操作!"));
+			}
 		}
 		return res;
 	}
@@ -438,7 +449,12 @@ public class AdminContractApiController extends CertifyApiController {
 			return res;
 		}
 
-		contractLogService.insertCirculation(icl, principals, recordTimeFormattedDate);
+		Contract ct = contractService.selectByPrimaryKey(icl.getCid());
+		if (null != ct && !ContractStatus.COMPLETE.getCode().equals(ct.getStatus())) {
+			contractLogService.insertCirculation(icl, principals, recordTimeFormattedDate);
+		} else {
+			res.getError().add(buildError("", "当前合同已完成(结款),无法操作!"));
+		}
 		return res;
 	}
 
@@ -449,6 +465,10 @@ public class AdminContractApiController extends CertifyApiController {
 					.add(buildError(ErrorConstants.STATUS_ERROR, "高企认定申请中或认定未到期!无法提交新申请!", "高企认定申请中或认定未到期!无法提交新申请!"));
 			return res;
 		}
+		Contract c = contractService.findByUidAndYear(uid, year);
+		if (null != c) {
+			res.getError().add(buildError("", "当前年份已有合同申请,无法提交新申请!"));
+		}
 		return res;
 	}
 
@@ -457,15 +477,20 @@ public class AdminContractApiController extends CertifyApiController {
 		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
 			for (ContractStatus p : ContractStatus.values()) {
 				status.put(p.getCode().toString(), p.getDesc());
+				status.remove(ContractStatus.CREATE.getCode().toString());
 				status.remove(ContractStatus.OTHER.getCode().toString());
 			}
 		} else {
-			if (TokenManager.hasPermission("ContractStatus" + ContractStatus.CREATE.getCode())) {
-				status.put(ContractStatus.CREATE.getCode().toString(), ContractStatus.CREATE.getDesc());
-			}
-			if (TokenManager.hasPermission("ContractStatus" + ContractStatus.SIGN.getCode())) {
-				status.put(ContractStatus.SIGN.getCode().toString(), ContractStatus.SIGN.getDesc());
-			}
+			/*
+			 * if (TokenManager.hasPermission("ContractStatus" +
+			 * ContractStatus.CREATE.getCode())) {
+			 * status.put(ContractStatus.CREATE.getCode().toString(),
+			 * ContractStatus.CREATE.getDesc()); } if
+			 * (TokenManager.hasPermission("ContractStatus" +
+			 * ContractStatus.SIGN.getCode())) {
+			 * status.put(ContractStatus.SIGN.getCode().toString(),
+			 * ContractStatus.SIGN.getDesc()); }
+			 */
 			if (TokenManager.hasPermission("ContractStatus" + ContractStatus.CIRCULATION.getCode())) {
 				status.put(ContractStatus.CIRCULATION.getCode().toString(), ContractStatus.CIRCULATION.getDesc());
 			}

+ 31 - 21
src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java

@@ -829,20 +829,26 @@ public class AdminPatentApiController extends CertifyApiController {
 	 */
 	@SuppressWarnings("unchecked")
 	@RequestMapping(value = "/exportComposite", method = RequestMethod.GET)
-	public Result exportComposite(String contractId,
-			@RequestParam(name = "serialNumber", required = false) String serialNumber, String patentNumber,
-			String office, Integer locationProvince, String unitName, String uid,
-			@RequestParam(name = "patentCatagory", required = false) String patentCatagory, String patentName,
+	public Result exportComposite(@RequestParam(name = "contractId", required = false) String contractId,
+			@RequestParam(name = "serialNumber", required = false) String serialNumber,
+			@RequestParam(name = "patentNumber", required = false) String patentNumber,
+			@RequestParam(name = "office", required = false) String office,
+			@RequestParam(name = "locationProvince", required = false) String locationProvince,
+			@RequestParam(name = "unitName", required = false) String unitName,
+			@RequestParam(name = "uid", required = false) String uid,
+			@RequestParam(name = "patentCatagory", required = false) String patentCatagory,
+			@RequestParam(name = "patentName", required = false) String patentName,
 			@RequestParam(name = "patentState", required = false) String patentState,
 			@RequestParam(name = "createTime[]", required = false) String[] createTime,
 			@RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
-			String author, HttpServletResponse response) throws ParseException {
+			@RequestParam(name = "author", required = false) String author, HttpServletResponse response)
+			throws ParseException {
 		Result res = new Result();
 
 		Integer sn = (!StringUtils.isNumeric(serialNumber) ? null : Integer.parseInt(serialNumber));
 		Integer pc = (!StringUtils.isNumeric(patentCatagory) ? null : Integer.parseInt(patentCatagory));
 		Integer ps = (!StringUtils.isNumeric(patentState) ? null : Integer.parseInt(patentState));
-		Integer lp = (null == locationProvince) ? null : locationProvince;
+		Integer lp = (!StringUtils.isNumeric(locationProvince) ? null : Integer.parseInt(locationProvince));
 		List<PatentManageListBo> composites = (List<PatentManageListBo>) getManagePatentList(contractId, sn,
 				patentNumber, office, lp, unitName, pc, patentName, ps, createTime, patentApplicationDate, author, uid,
 				1, 1000).getList();
@@ -858,11 +864,12 @@ public class AdminPatentApiController extends CertifyApiController {
 	 * 待缴年登印费专利管理报表导出
 	 */
 	@RequestMapping(value = "/exportPending", method = RequestMethod.GET)
-	public Result exportPending(Integer locationProvince, HttpServletResponse response) {
+	public Result exportPending(@RequestParam(name = "locationProvince", required = false) String locationProvince,
+			HttpServletResponse response) {
 		Result res = new Result();
+		Integer lp = (!StringUtils.isNumeric(locationProvince) ? null : Integer.parseInt(locationProvince));
 		@SuppressWarnings("unchecked")
-		List<PatentPendingBo> pendings = (List<PatentPendingBo>) getManagePendingPaymentList(locationProvince, 1, 1000)
-				.getList();
+		List<PatentPendingBo> pendings = (List<PatentPendingBo>) getManagePendingPaymentList(lp, 1, 1000).getList();
 		if (res.getError().isEmpty()) {
 			exportPendings(response, pendings);
 		} else {
@@ -878,10 +885,12 @@ public class AdminPatentApiController extends CertifyApiController {
 	@RequestMapping(value = "/exportApplicationFee", method = RequestMethod.GET)
 	public Result exportApplicationFee(
 			@RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
-			Integer locationProvince, HttpServletResponse response) throws ParseException {
+			@RequestParam(name = "locationProvince", required = false) String locationProvince,
+			HttpServletResponse response) throws ParseException {
 		Result res = new Result();
+		Integer lp = (!StringUtils.isNumeric(locationProvince) ? null : Integer.parseInt(locationProvince));
 		List<PatentApplicationFeeBo> fees = (List<PatentApplicationFeeBo>) getApplicationFeeList(patentApplicationDate,
-				locationProvince, 1, 1000).getList();
+				lp, 1, 1000).getList();
 		if (res.getError().isEmpty()) {
 			exportFees(response, fees);
 		} else {
@@ -1017,8 +1026,8 @@ public class AdminPatentApiController extends CertifyApiController {
 
 	private void exportComosites(HttpServletResponse response, List<PatentManageListBo> composites) {
 		String sheetName = "专利综合管理报表";
-		HSSFWorkbook workbook = createWorkbook(sheetName,
-				new String[] { "编号", "申请号/专利号", "事务所", "省份", "公司名称", "专利名称", "专利状态", "派单日", "申请日", "授权日", "资料撰写人" });
+		HSSFWorkbook workbook = createWorkbook(sheetName, new String[] { "编号", "申请号/专利号", "合同编号", "事务所", "省份", "公司名称",
+				"专利名称", "专利状态", "派单日", "申请日", "授权日", "资料撰写人" });
 		HSSFSheet sheet = workbook.getSheet(sheetName);
 
 		// 将查询出的数据设置到sheet对应的单元格中
@@ -1028,16 +1037,17 @@ public class AdminPatentApiController extends CertifyApiController {
 			HSSFRow row = sheet.createRow(i + 2);// 创建所需的行数
 			row.createCell(0).setCellValue(null == obj.getSerialNumber() ? "" : obj.getSerialNumber().toString());
 			row.createCell(1).setCellValue(obj.getPatentNumber());
-			row.createCell(2).setCellValue(obj.getOffice());
+			row.createCell(2).setCellValue(null == obj.getContractNumber() ? "" : obj.getContractNumber().toString());
+			row.createCell(3).setCellValue(obj.getOffice());
 			Integer locationProvince = obj.getLocationProvince();
-			row.createCell(3).setCellValue(null == locationProvince ? "" : getProvince(districtMap, locationProvince));
-			row.createCell(4).setCellValue(obj.getUnitName());
-			row.createCell(5).setCellValue(obj.getPatentName());
-			row.createCell(6).setCellValue(null == obj.getPatentState() ? "" : switchPatState(obj.getPatentState()));
-			row.createCell(7).setCellValue(obj.getCreateTimeFormattedDate());
-			row.createCell(8).setCellValue(obj.getPatentApplicationFormattedDate());
+			row.createCell(4).setCellValue(null == locationProvince ? "" : getProvince(districtMap, locationProvince));
+			row.createCell(5).setCellValue(obj.getUnitName());
+			row.createCell(6).setCellValue(obj.getPatentName());
+			row.createCell(7).setCellValue(null == obj.getPatentState() ? "" : switchPatState(obj.getPatentState()));
+			row.createCell(8).setCellValue(obj.getCreateTimeFormattedDate());
 			row.createCell(9).setCellValue(obj.getPatentApplicationFormattedDate());
-			row.createCell(10).setCellValue(obj.getAuthor());
+			row.createCell(10).setCellValue(obj.getPatentApplicationFormattedDate());
+			row.createCell(11).setCellValue(obj.getAuthor());
 		}
 		FileUtils.downloadExcel(response, sheetName + Calendar.getInstance().getTimeInMillis() + ".xls", workbook);
 

+ 1 - 5
src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java

@@ -1333,10 +1333,6 @@ public class CognizanceApiController extends CertifyApiController {
 			return res;
 		}
 
-		if (!checkUserLogin(res)) {
-			return res;
-		}
-
 		User curUser = TokenManager.getUserToken();
 		if (!checkCertify(res, curUser)) {
 			return res;
@@ -1349,7 +1345,7 @@ public class CognizanceApiController extends CertifyApiController {
 			}
 		}
 
-		if (StringUtils.isBlank(endDateFormattedDate)) {
+		if (!StringUtils.isBlank(endDateFormattedDate)) {
 			try {
 				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {

+ 5 - 4
src/main/java/com/goafanti/cognizance/service/impl/OrgCognizanceServiceImpl.java

@@ -39,6 +39,7 @@ import com.goafanti.common.enums.NoticeReadStatus;
 import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.OrgCognizanceStatus;
 import com.goafanti.common.enums.ProportionStatus;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Contract;
 import com.goafanti.common.model.Notice;
 import com.goafanti.common.model.OrgCognizance;
@@ -85,7 +86,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 			Integer pageSize) {
 		Map<String, Object> params = new HashMap<>();
 
-		if (!TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
+		if (TokenManager.getToken() instanceof Admin && !TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
 			params.put("principal", TokenManager.getAdminId());
 		}
 		
@@ -101,7 +102,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 			params.put("uid", uid);
 		}
 
-		if (null == locationProvince) {
+		if (null != locationProvince) {
 			params.put("locationProvince", locationProvince);
 		}
 
@@ -109,7 +110,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 			pageNo = 1;
 		}
 
-		if (pageSize == null || pageSize < 0) {
+		if (pageSize == null || pageSize < 0 || pageSize > 10) {
 			pageSize = 10;
 		}
 		return (Pagination<CognizanceBo>) findPage("findCognizanceBoByPage", "findCognizanceBoCount", params, pageNo,
@@ -348,7 +349,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 		BusinessCountBo bcb = new BusinessCountBo();
 		bcb.setUid(uid);
 		bcb.setCopyrightDone(copyrightInfoMapper.countCopyrightDone(uid));
-		bcb.setCopyrightUndone(copyrightInfoMapper.countCopyrightDone(uid));
+		bcb.setCopyrightUndone(copyrightInfoMapper.countCopyrightUnDone(uid));
 		bcb.setPatentDone(patentInfoMapper.countPatentDone(uid));
 		bcb.setPatentUndone(patentInfoMapper.countPatentUndone(uid));
 		bcb.setTechProjectDone(techProjectMapper.countTechProjectDone(uid));

+ 10 - 4
src/main/java/com/goafanti/common/controller/PortalController.java

@@ -4,12 +4,14 @@ import java.util.Arrays;
 import java.util.List;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.view.RedirectView;
 
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.enums.AchievementMaturity;
@@ -43,13 +45,17 @@ public class PortalController extends BaseController {
 	private static final String		UNCERTIFY			= "未认证";
 
 	@RequestMapping(value = "/index", method = RequestMethod.GET)
-	public String index(ModelAndView modelview) {
-		return "/index";
+	public ModelAndView index(HttpServletRequest request, ModelAndView modelview) {
+		return home(request, modelview);
 	}
 
 	@RequestMapping(value = "/", method = RequestMethod.GET)
-	public String home(ModelAndView modelview) {
-		return "/index";
+	public ModelAndView home(HttpServletRequest request, ModelAndView modelview) {
+		RedirectView rv = new RedirectView();
+		rv.setUrl(request.getContextPath() + "/portal/index");
+		rv.setExposeModelAttributes(false);
+		modelview.setView(rv);
+		return modelview;
 	}
 
 	/**

+ 201 - 1
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -31,7 +31,7 @@ public class WebpageController extends BaseController {
 
 	@Resource
 	private AchievementService	achievementService;
-
+	
 	@RequestMapping(value = "/user/account/index", method = RequestMethod.GET)
 	public ModelAndView index(HttpServletRequest request, ModelAndView modelview) {
 		return userLogin(request, modelview, "/user/account/index");
@@ -181,6 +181,206 @@ public class WebpageController extends BaseController {
 		modelview.setViewName("/portal/search/subscriber");
 		return modelview;
 	}
+	
+	/**
+	 * 活动圈
+	 */
+	@RequestMapping(value = "/portal/activity/activityIndex", method = RequestMethod.GET)
+	public ModelAndView portalActivityActivityIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/activity/activityIndex");
+		return modelview;
+	}
+	
+	/**
+	 * 活动详情
+	 */
+	@RequestMapping(value = "/portal/activity/details", method = RequestMethod.GET)
+	public ModelAndView portalActivityDetails(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/activity/details");
+		return modelview;
+	}
+	
+	/**
+	 * 创业圈
+	 */
+	@RequestMapping(value = "/portal/entrepreneurship/entrepreneurshipIndex", method = RequestMethod.GET)
+	public ModelAndView portalEntrepreneurshipEntrepreneurshipIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/entrepreneurship/entrepreneurshipIndex");
+		return modelview;
+	}
+	
+	/**
+	 * 高企自评-基本信息
+	 */
+	@RequestMapping(value = "/portal/highTech/evaluate/basicInfo", method = RequestMethod.GET)
+	public ModelAndView portalHighTechEvaluateBasicInfo(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/evaluate/basicInfo");
+		return modelview;
+	}
+	
+	/**
+	 * 高企自评-研发管理
+	 */
+	@RequestMapping(value = "/portal/highTech/evaluate/evaluate", method = RequestMethod.GET)
+	public ModelAndView portalHighTechEvaluateEvaluate(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/evaluate/evaluate");
+		return modelview;
+	}
+	
+	/**
+	 * 高企自评-财务信息
+	 */
+	@RequestMapping(value = "/portal/highTech/evaluate/financeInfo", method = RequestMethod.GET)
+	public ModelAndView portalHighTechEvaluateFinanceInfo(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/evaluate/financeInfo");
+		return modelview;
+	}
+	
+	/**
+	 * 高企自评-知识产权
+	 */
+	@RequestMapping(value = "/portal/highTech/evaluate/iprInfo", method = RequestMethod.GET)
+	public ModelAndView portalHighTechEvaluateIprInfo(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/evaluate/iprInfo");
+		return modelview;
+	}
+	
+	/**
+	 * 高企自评-研发管理
+	 */
+	@RequestMapping(value = "/portal/highTech/evaluate/rdManage", method = RequestMethod.GET)
+	public ModelAndView portalHighTechEvaluateRdManage(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/evaluate/rdManage");
+		return modelview;
+	}
+	
+	/**
+	 * 高企认定服务
+	 */
+	@RequestMapping(value = "/portal/highTech/authentication", method = RequestMethod.GET)
+	public ModelAndView portalHighTechAuthentication(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/highTech/authentication");
+		return modelview;
+	}
+	
+	/**
+	 * 国际业务
+	 */
+	@RequestMapping(value = "/portal/international/internationalIndex", method = RequestMethod.GET)
+	public ModelAndView portalInternationalInternationalIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/international/internationalIndex");
+		return modelview;
+	}
+	
+	/**
+	 * 知识产权申请
+	 */
+	@RequestMapping(value = "/portal/ipr/apply", method = RequestMethod.GET)
+	public ModelAndView portalIprApply(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/ipr/apply");
+		return modelview;
+	}
+	
+	/**
+	 * 知识产权服务
+	 */
+	@RequestMapping(value = "/portal/ipr/service", method = RequestMethod.GET)
+	public ModelAndView portalIprService(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/ipr/service");
+		return modelview;
+	}
+	
+	/**
+	 * 大咖说
+	 */
+	@RequestMapping(value = "/portal/scienceTechnology/bigShot", method = RequestMethod.GET)
+	public ModelAndView portalScienceTechnologyBigShot(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/scienceTechnology/bigShot");
+		return modelview;
+	}
+	
+	/**
+	 * 科技讲堂
+	 */
+	@RequestMapping(value = "/portal/scienceTechnology/lecture", method = RequestMethod.GET)
+	public ModelAndView portalScienceTechnologyLecture(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/scienceTechnology/lecture");
+		return modelview;
+	}
+	
+	/**
+	 * 科技明星
+	 */
+	@RequestMapping(value = "/portal/scienceTechnology/star", method = RequestMethod.GET)
+	public ModelAndView portalScienceTechnologyStar(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/scienceTechnology/star");
+		return modelview;
+	}
+	
+	/**
+	 * 首页
+	 */
+	@RequestMapping(value = "/portal/index", method = RequestMethod.GET)
+	public ModelAndView portalIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/index");
+		return modelview;
+	}
+	
+	/**
+	 * 新闻页
+	 */
+	@RequestMapping(value = "/portal/news", method = RequestMethod.GET)
+	public ModelAndView portalNews(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/news");
+		return modelview;
+	}
+	
+	/**
+	 * 专利咨询
+	 */
+	@RequestMapping(value = "/portal/patent", method = RequestMethod.GET)
+	public ModelAndView portalPatent(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/patent");
+		return modelview;
+	}
+	
+	/**
+	 * 金融圈
+	 */
+	@RequestMapping(value = "/portal/financial/financialIndex", method = RequestMethod.GET)
+	public ModelAndView portalFinancialFinancialIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/financial/financialIndex");
+		return modelview;
+	}
+	
+	/**
+	 * 建设兵团
+	 */
+	@RequestMapping(value = "/portal/websiteBuild/websiteBuildIndex", method = RequestMethod.GET)
+	public ModelAndView portalWebsiteBuildWebsiteBuildIndex(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/websiteBuild/websiteBuildIndex");
+		return modelview;
+	}
+	
+	/**
+	 * 知识产权贯标
+	 */
+	@RequestMapping(value = "/portal/ipr/iso", method = RequestMethod.GET)
+	public ModelAndView portalIprIso(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/ipr/iso");
+		return modelview;
+	}
+	
+	/**
+	 * 专利运营与布局
+	 */
+	@RequestMapping(value = "/portal/ipr/patentOperation", method = RequestMethod.GET)
+	public ModelAndView portalIprPatentOperation(HttpServletRequest request, ModelAndView modelview) {
+		modelview.setViewName("/portal/ipr/patentOperation");
+		return modelview;
+	}
+	
+	
 
 	
 

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

@@ -2,6 +2,8 @@ package com.goafanti.common.dao;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.goafanti.common.model.Contract;
 import com.goafanti.contract.bo.ContractDetail;
 import com.goafanti.contract.bo.ContractSerialNumber;
@@ -24,4 +26,6 @@ public interface ContractMapper {
 	List<ContractSerialNumber> selectContractSerialNumber(String principal);
 
 	int batchDeleteByPrimaryKey(List<String> id);
+
+	Contract findByUidAndYear(@Param("uid") String uid, @Param("year")Integer year);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/CopyrightInfoMapper.java

@@ -40,4 +40,6 @@ public interface CopyrightInfoMapper {
 	int batchDeleteByContractId(List<String> id);
 
 	Integer findCopyrightInfoNumByUid(String uid);
+
+	Integer countCopyrightUnDone(String uid);
 }

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

@@ -1118,7 +1118,12 @@
 		keyword,
 		category,
 		owner_type as ownerType,
-		release_date AS releaseDate	
+		release_date AS releaseDate,
+		field_a as fieldA,
+		field_b as fieldB,
+		maturity,
+		bargaining_mode as bargainingMode,
+		transfer_price as transferPrice
 	FROM
 		achievement
 	WHERE
@@ -1196,7 +1201,7 @@
 	FROM
 		achievement a
 	LEFT JOIN <![CDATA[ user ]]> u on u.id = a.owner_id
-	LEFT JOIN organization_identity ui on oi.uid = a.owner_id
+	LEFT JOIN organization_identity oi on oi.uid = a.owner_id
 	LEFT JOIN district_glossory dg on dg.id = oi.licence_province
 	LEFT JOIN district_glossory dgg on dgg.id = oi.licence_city
 	LEFT JOIN field_glossory fg on fg.id = a.field_a

+ 10 - 1
src/main/java/com/goafanti/common/mapper/ContractMapper.xml

@@ -427,7 +427,7 @@
    </if>
    where c.deleted_sign = 0
    <if test="_parameter !=null">	
-   and cl.principal = #{_parameter,jdbcType=VARCHAR}
+   	and cl.principal = #{_parameter,jdbcType=VARCHAR}
    </if>
     <if test="_parameter != null">
 	group by c.id
@@ -516,4 +516,13 @@
 	    and c.complete_date <![CDATA[ < ]]> #{lEnd,jdbcType=TIMESTAMP}
 	  </if>
   </select>
+  
+  <select id="findByUidAndYear" resultMap="BaseResultMap">
+  	  select 
+    <include refid="Base_Column_List" />
+    from contract
+    where uid = #{uid,jdbcType=VARCHAR}
+    and year = #{year,jdbcType=INTEGER}
+    and deleted_sign = 0
+  </select>
 </mapper>

+ 6 - 0
src/main/java/com/goafanti/common/mapper/CopyrightInfoMapper.xml

@@ -497,4 +497,10 @@
   		delete_sign = 0
   	and uid = #{uid,jdbcType=VARCHAR}
   </select>
+  
+   <select id="countCopyrightUnDone" parameterType="java.lang.String" resultType="java.lang.Integer">
+   select count(1) from copyright_info 
+   where uid = #{uid,jdbcType=VARCHAR}
+   and delete_sign = 0 and status not in (8,9) 
+  </select>
 </mapper>

+ 5 - 1
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -1015,7 +1015,11 @@
 		keyword,
 		release_date AS releaseDate,
 		demand_type AS demandType,
-		validity_period AS validityPeriod
+		validity_period AS validityPeriod,
+		problem_des as problemDes,
+		industry_category_a as industryCategoryA,
+		industry_category_b as industryCategoryB,
+		budget_cost as budgetCost
 	FROM
 		demand
 	WHERE

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

@@ -648,7 +648,7 @@
 		</if>
 		<if test="cStart != null">
 			and
-			p.create_time <![CDATA[ > ]]>
+			p.create_time <![CDATA[ >= ]]>
 			#{cStart,jdbcType=TIMESTAMP}
 		</if>
 		<if test="cEnd != null">
@@ -658,7 +658,7 @@
 		</if>
 		<if test="pStart != null">
 			and
-			p.patent_application_date <![CDATA[ > ]]>
+			p.patent_application_date <![CDATA[ >= ]]>
 			#{pStart,jdbcType=TIMESTAMP}
 		</if>
 		<if test="pEnd != null">

+ 17 - 6
src/main/java/com/goafanti/common/mapper/TechProjectLogMapper.xml

@@ -115,12 +115,23 @@
     where id = #{id,jdbcType=VARCHAR}
   </update>
   
-   <select id="selectTechProjectLogByPid" resultMap="BaseResultMap" parameterType="java.lang.String" >
-  select b.name as principal , m.operator , m.id , m.pid , m.state , m.comment , m.record_time from 
-		(select a.name as operator, p.id ,p.pid  , p.state , p.comment ,p.record_time , p.principal as pri
-		from tech_project_log p LEFT JOIN admin a 
-		on a.id = p.operator ) m LEFT JOIN admin b on m.pri = b. id
-    where pid = #{pid,jdbcType=VARCHAR} order by m.record_time 
+   <select id="selectTechProjectLogByPid" resultType="com.goafanti.common.model.TechProjectLog" parameterType="java.lang.String" >
+  	SELECT
+		tpl.id,
+		tpl.pid,
+		tpl.state ,
+		tpl.comment,
+		tpl.record_time,
+		a.name AS operator,
+		ad.name AS principal
+	FROM
+		tech_project_log tpl
+	LEFT JOIN admin a ON a.id = tpl.operator
+	LEFT JOIN admin ad ON ad.id = tpl.principal
+	WHERE
+		tpl.pid = #{pid,jdbcType=VARCHAR}
+	ORDER BY
+		tpl.record_time 
   </select>
   
    <insert id="batchInsert" parameterType="com.goafanti.common.model.TechProjectLog">

+ 2 - 2
src/main/java/com/goafanti/contract/bo/ContractClientListBo.java

@@ -106,7 +106,7 @@ public class ContractClientListBo {
 		if (this.signDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getSignDate(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getSignDate(), AFTConstants.YYYYMMDD);
 		}
 	}
 
@@ -118,7 +118,7 @@ public class ContractClientListBo {
 		if (this.completeDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getCompleteDate(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getCompleteDate(), AFTConstants.YYYYMMDD);
 		}
 	}
 

+ 6 - 18
src/main/java/com/goafanti/contract/bo/InputSaveContract.java

@@ -1,6 +1,5 @@
 package com.goafanti.contract.bo;
 
-
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.Size;
@@ -10,22 +9,20 @@ import com.goafanti.common.constant.ErrorConstants;
 public class InputSaveContract {
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	id;
-	
+
 	@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 contacts;
+	private Integer	contacts;
 
 	private Integer	serialNumber;
 
-
 	@Max(value = 3, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	type;
 
-
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	depict;
 
@@ -37,28 +34,24 @@ public class InputSaveContract {
 	@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 = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
-	private String previousFee;
 
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	previousFee;
 
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	comment;
-	
+
 	public String getPreviousFee() {
 		return previousFee;
 	}
@@ -82,7 +75,6 @@ public class InputSaveContract {
 	public void setUid(String uid) {
 		this.uid = uid;
 	}
-	
 
 	public Integer getContacts() {
 		return contacts;
@@ -108,7 +100,6 @@ public class InputSaveContract {
 		this.type = type;
 	}
 
-
 	public String getDepict() {
 		return depict;
 	}
@@ -165,7 +156,4 @@ public class InputSaveContract {
 		this.comment = comment;
 	}
 
-	
-	
-
 }

+ 20 - 8
src/main/java/com/goafanti/contract/controller/ContractApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.contract.controller;
 
 import java.util.Arrays;
+import java.util.Iterator;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -114,11 +115,14 @@ public class ContractApiController extends CertifyApiController {
 			return res;
 		}
 		List<ContractLog> list = contractLogService.selectContractLogByCid(cid);
-		for (ContractLog c : list) {
-			if (ContractStatus.getStatus(c.getStatus()) == ContractStatus.CIRCULATION) {
-				list.remove(c);
+
+		for (Iterator<ContractLog> log = list.iterator(); log.hasNext();) {
+			Integer status = log.next().getStatus();
+			if (ContractStatus.getStatus(status) == ContractStatus.CIRCULATION) {
+				log.remove();
 			}
 		}
+
 		res.setData(list);
 		return res;
 	}
@@ -180,8 +184,12 @@ public class ContractApiController extends CertifyApiController {
 
 		Contract c = new Contract();
 		BeanUtils.copyProperties(contract, c);
-
-		res.setData(contractService.updateByPrimaryKeySelective(c));
+		Contract ct = contractService.selectByPrimaryKey(c.getId());
+		if (null != ct && !ContractStatus.COMPLETE.getCode().equals(ct.getStatus())) {
+			res.setData(contractService.updateByPrimaryKeySelective(c));
+		} else {
+			res.getError().add(buildError("", "当前合同已完成(结款),无法操作!"));
+		}
 		return res;
 	}
 
@@ -230,8 +238,7 @@ public class ContractApiController extends CertifyApiController {
 			pNo = Integer.parseInt(pageNo);
 		}
 		res.setData(contractService.getClientList(contractId, serialNumber, type, status, startDateFormattedDate,
-				endDateFormattedDate, completeStartDate,
-				completeEndDate, pNo, pSize));
+				endDateFormattedDate, completeStartDate, completeEndDate, pNo, pSize));
 		return res;
 	}
 
@@ -239,9 +246,14 @@ public class ContractApiController extends CertifyApiController {
 		Integer latelyYear = orgCognizanceService.selectLatelyRecordYear(uid);
 		if (null != latelyYear && year - latelyYear < 4) {
 			res.getError()
-					.add(buildError(ErrorConstants.STATUS_ERROR, "高企认定申请中或认定未到期!无法提交新申请!", "高企认定申请中或认定未到期!无法提交新申请!"));
+					.add(buildError(ErrorConstants.STATUS_ERROR, "高企认定申请中或认定未到期!无法提交新申请!", "高企认定申请中或认定未到期!无法提交新申请"));
 			return res;
 		}
+
+		Contract c = contractService.findByUidAndYear(uid, year);
+		if (null != c) {
+			res.getError().add(buildError("", "当前年份已有合同申请,无法提交新申请!"));
+		}
 		return res;
 	}
 }

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

@@ -39,4 +39,6 @@ public interface ContractService {
 
 	Contract saveContract(Contract c);
 
+	Contract findByUidAndYear(String uid, Integer year);
+
 }

+ 27 - 10
src/main/java/com/goafanti/contract/service/impl/ContractServiceImpl.java

@@ -153,7 +153,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 			} catch (ParseException e) {
 			}
 		}
-		c.setStatus(ContractStatus.CIRCULATION.getCode());
+		c.setStatus(ContractStatus.SIGN.getCode());
 		c.setSignDate(signDate);
 		c = disposeContract(c);
 		contractMapper.insert(c);
@@ -161,6 +161,11 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		clog.setStatus(ContractStatus.SIGN.getCode());
 		clog.setRecordTime(signDate);
 
+		/*
+		 * ContractLog log = new ContractLog(); log.setCid(c.getId());
+		 * log.setComment(c.getComment()); log.set
+		 */
+
 		List<ContractLog> logs = new ArrayList<>();
 		List<Notice> notice = new ArrayList<>();
 		logs.add(clog);
@@ -168,6 +173,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		for (int i = 0; i < principals.length; i++) {
 			ContractLog log = disposeContractLog(c);
 			log.setPrincipal(principals[i]);
+			log.setStatus(ContractStatus.CIRCULATION.getCode());
 			logs.add(log);
 			notice.add(createNotice(c, log));
 		}
@@ -194,7 +200,6 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 	@Override
 	public void updateSubmit(Contract c, String[] principals, String signDateFormattedDate) {
 		Date signDate = null;
-		Boolean flag = false;
 		if (!StringUtils.isBlank(signDateFormattedDate)) {
 			try {
 				signDate = DateUtils.parseDate(signDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS);
@@ -202,22 +207,29 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 			}
 		}
 
-		if (null != c.getStatus() && c.getStatus().equals(ContractStatus.CIRCULATION.getCode())) {
-			c.setStatus(ContractStatus.SIGN.getCode());
-			flag = true;
-		}
+		c.setStatus(ContractStatus.SIGN.getCode());
 
 		c.setSignDate(signDate);
 		contractMapper.updateByPrimaryKeySelective(c);
+		
+		ContractLog l = new ContractLog();
+		l.setId(UUID.randomUUID().toString());
+		l.setCid(c.getId());
+		l.setComment(c.getComment());
+		l.setOperator(TokenManager.getAdminId());
+		l.setPrincipal(TokenManager.getAdminId());
+		l.setRecordTime(signDate);
+		l.setStatus(ContractStatus.SIGN.getCode());
+		
 
 		List<ContractLog> logs = new ArrayList<>();
 		List<Notice> notice = new ArrayList<>();
-
+		
+		logs.add(l);
+		
 		for (int i = 0; i < principals.length; i++) {
 			ContractLog log = disposeContractLog(c);
-			if (flag) {
-				log.setStatus(ContractStatus.CIRCULATION.getCode());
-			}
+			log.setStatus(ContractStatus.CIRCULATION.getCode());
 			log.setPrincipal(principals[i]);
 			log.setOperator(TokenManager.getAdminId());
 			logs.add(log);
@@ -372,4 +384,9 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		return params;
 	}
 
+	@Override
+	public Contract findByUidAndYear(String uid, Integer year) {
+		return contractMapper.findByUidAndYear(uid, year);
+	}
+
 }

+ 1 - 2
src/main/java/com/goafanti/copyright/bo/InputCopyright.java

@@ -4,7 +4,6 @@ import java.util.Date;
 
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
-import javax.validation.constraints.Past;
 import javax.validation.constraints.Size;
 
 import com.goafanti.common.constant.ErrorConstants;
@@ -44,7 +43,7 @@ public class InputCopyright {
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	inUrgent;
 
-	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	//@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Date	recordTime;
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String salesman;

+ 7 - 5
src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.copyright.controller;
 
 
+import java.util.Iterator;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -227,11 +228,12 @@ public class CopyrightApiController extends CertifyApiController {
 			return res;
 		}
 		List<CopyrightLogBo> list = copyrightInfoService.findLogsByPrimaryKey(id);
-		for (CopyrightLogBo log : list) {
-			if (CopyrightStatus.getStatus(log.getStatus()) == CopyrightStatus.SIGN 
-					|| CopyrightStatus.getStatus(log.getStatus()) == CopyrightStatus.CIRCULATION
-					|| CopyrightStatus.getStatus(log.getStatus()) == CopyrightStatus.SETTLEMENT) {
-				list.remove(log);
+		for (Iterator<CopyrightLogBo> log = list.iterator() ; log.hasNext();) {
+			Integer status = log.next().getStatus();
+			if (CopyrightStatus.getStatus(status) == CopyrightStatus.SIGN 
+					|| CopyrightStatus.getStatus(status) == CopyrightStatus.CIRCULATION
+					|| CopyrightStatus.getStatus(status) == CopyrightStatus.SETTLEMENT) {
+				log.remove();
 			}
 		}
 		res.setData(list);

+ 63 - 10
src/main/java/com/goafanti/demand/bo/DemandPartnerListBo.java

@@ -1,5 +1,6 @@
 package com.goafanti.demand.bo;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 import org.apache.commons.lang3.time.DateFormatUtils;
@@ -9,39 +10,91 @@ import com.fasterxml.jackson.annotation.JsonFormat.Shape;
 import com.goafanti.common.constant.AFTConstants;
 
 public class DemandPartnerListBo {
-	private String	id;
+	private String		id;
 
 	/**
 	 * 编号
 	 */
-	private Integer	serialNumber;
+	private Integer		serialNumber;
 
 	/**
 	 * 数据类别(0-个人需求,1-单位需求)
 	 */
-	private Integer	dataCategory;
+	private Integer		dataCategory;
 
 	/**
 	 * 名称
 	 */
-	private String	name;
+	private String		name;
 
 	/**
 	 * 关键词
 	 */
-	private String	keyword;
+	private String		keyword;
 
 	/**
 	 * 发布时间
 	 */
-	private Date	releaseDate;
+	private Date		releaseDate;
 
 	/**
 	 * 需求类型
 	 */
-	private Integer	demandType;
+	private Integer		demandType;
 
-	private Date	validityPeriod;
+	private Date		validityPeriod;
+
+	/**
+	 * 需求问题说明
+	 */
+	private String		problemDes;
+
+	/**
+	 * 行业类别下拉A
+	 */
+	private Integer		industryCategoryA;
+
+	/**
+	 * 行业类别下拉B
+	 */
+	private Integer		industryCategoryB;
+
+	/**
+	 * 预算费用
+	 */
+	private BigDecimal	budgetCost;
+
+	public String getProblemDes() {
+		return problemDes;
+	}
+
+	public void setProblemDes(String problemDes) {
+		this.problemDes = problemDes;
+	}
+
+	public Integer getIndustryCategoryA() {
+		return industryCategoryA;
+	}
+
+	public void setIndustryCategoryA(Integer industryCategoryA) {
+		this.industryCategoryA = industryCategoryA;
+	}
+
+	public Integer getIndustryCategoryB() {
+		return industryCategoryB;
+	}
+
+	public void setIndustryCategoryB(Integer industryCategoryB) {
+		this.industryCategoryB = industryCategoryB;
+	}
+
+	public BigDecimal getBudgetCost() {
+		return budgetCost;
+	}
+
+	public void setBudgetCost(BigDecimal budgetCost) {
+		this.budgetCost = budgetCost;
+	}
 
 	public String getId() {
 		return id;
@@ -58,7 +111,7 @@ public class DemandPartnerListBo {
 	public void setSerialNumber(Integer serialNumber) {
 		this.serialNumber = serialNumber;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getDataCategory() {
 		return dataCategory;
@@ -91,7 +144,7 @@ public class DemandPartnerListBo {
 	public void setReleaseDate(Date releaseDate) {
 		this.releaseDate = releaseDate;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getDemandType() {
 		return demandType;

+ 2 - 2
src/main/java/com/goafanti/demand/bo/InputDemand.java

@@ -54,7 +54,7 @@ public class InputDemand {
 	@Size(min = 0, max = 256, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		technicalRequirements;
 	
-	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		pictureUrl;
 	
 	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
@@ -90,7 +90,7 @@ public class InputDemand {
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		employerId;
 	
-	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		employerName;
 	
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")

+ 2 - 1
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -172,13 +172,14 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.MILLISECOND, 0);
 		d.setStatus(DemandStatus.UNRESOLVED.getCode());
-		d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
 		d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
 
 		d.setPrincipalId(TokenManager.getAdminId());
 		if (DemandAuditStatus.SUBMIT.getCode().equals(d.getAuditStatus())) {
 			d.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
 			createAuditorNotice(d);
+		} else {
+			d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
 		}
 
 		d.setCreateTime(now.getTime());

+ 10 - 8
src/main/java/com/goafanti/patent/controller/PatentApiController.java

@@ -1,5 +1,6 @@
 package com.goafanti.patent.controller;
 
+import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -86,11 +87,10 @@ public class PatentApiController extends CertifyApiController {
 		}
 
 		AttachmentType attachmentType = AttachmentType.getField(sign);
-		if (attachmentType == AttachmentType.PATENT_WRITING
-				|| attachmentType == AttachmentType.AUTHORIZATION_NOTICE
+		if (attachmentType == AttachmentType.PATENT_WRITING || attachmentType == AttachmentType.AUTHORIZATION_NOTICE
 				|| attachmentType == AttachmentType.PATENT_CERTIFICATE) {
 			res.setData(handleFiles(res, "/patent/", true, req, sign, TokenManager.getUserId()));
-		} else if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT){
+		} else if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT) {
 			res.setData(handleFile(res, "/identity/", true, req, sign));
 		} else {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
@@ -264,13 +264,15 @@ public class PatentApiController extends CertifyApiController {
 		PatentInfo pi = patentInfoService.selectByPrimaryKey(pid);
 		if (null != pi.getUid() && pi.getUid().equals(TokenManager.getUserId())) {
 			List<PatentLog> list = patentLogService.selectProcessByPid(pid);
-			for (PatentLog log : list) {
-				if (PatentInfoStatus.getStatus(log.getState()) == PatentInfoStatus.SIGN
-						|| PatentInfoStatus.getStatus(log.getState()) == PatentInfoStatus.CIRCULATION
-						|| PatentInfoStatus.getStatus(log.getState()) == PatentInfoStatus.SETTLEMENT) {
-					list.remove(log);
+			for (Iterator<PatentLog> log = list.iterator(); log.hasNext();) {
+				Integer state = log.next().getState();
+				if (PatentInfoStatus.getStatus(state) == PatentInfoStatus.SIGN
+						|| PatentInfoStatus.getStatus(state) == PatentInfoStatus.CIRCULATION
+						|| PatentInfoStatus.getStatus(state) == PatentInfoStatus.SETTLEMENT) {
+					log.remove();
 				}
 			}
+
 			res.setData(list);
 		} else {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利id"));

+ 1 - 1
src/main/java/com/goafanti/patent/service/impl/PatentCostServiceImpl.java

@@ -64,7 +64,7 @@ public class PatentCostServiceImpl extends BaseMybatisDao<PatentCostMapper> impl
 			pageNo = 1;
 		}
 
-		if (pageSize == null || pageSize < 0) {
+		if (pageSize == null || pageSize < 0 || pageSize > 1000) {
 			pageSize = 10;
 		}
 		return (Pagination<PatentApplicationFeeBo>) findPage("findApplicationFeeListByPage", "findApplicationFeeCount",

+ 3 - 3
src/main/java/com/goafanti/patent/service/impl/PatentInfoServiceImpl.java

@@ -230,7 +230,7 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 			pageNo = 1;
 		}
 
-		if (pageSize == null || pageSize < 0 || pageSize > 10) {
+		if (pageSize == null || pageSize < 0 || pageSize > 1000) {
 			pageSize = 10;
 		}
 		return (Pagination<PatentManageListBo>) findPage("findManagePatentListByPage", "findManagePatentCount", params,
@@ -255,7 +255,7 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 			pageNo = 1;
 		}
 
-		if (pageSize == null || pageSize < 0 || pageSize > 10) {
+		if (pageSize == null || pageSize < 0 ) {
 			pageSize = 10;
 		}
 		return (Pagination<PatentPendingBo>) findPage("findManagePendingPaymentListByPage",
@@ -376,7 +376,7 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 			organizationIdentityMapper.updateByPrimaryKeySelective(oi);
 		}
 
-		if (null != log.getState() && recordTime != null && null != log.getPrincipal()) {
+		if (null != log.getState() && recordTime != null && StringUtils.isNotBlank(log.getPrincipal())) {
 			log.setId(UUID.randomUUID().toString());
 			log.setPid(p.getId());
 			log.setRecordTime(recordTime);

+ 10 - 6
src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.techproject.controller;
 
 import java.text.ParseException;
+import java.util.Iterator;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -136,21 +137,24 @@ public class TechProjectApiController extends CertifyApiController {
 			return res;
 		}
 		TechProject tp = techProjectService.selectByPrimaryKey(pid);
-		if (null != tp.getUid() && tp.getUid().equals(TokenManager.getUserId())) {
+		if (StringUtils.isNotBlank(tp.getUid()) && tp.getUid().equals(TokenManager.getUserId())) {
 			List<TechProjectLog> list = techProjectLogService.selectTechProjectLogByPid(pid);
-			for (TechProjectLog log : list) {
-				if (TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.SIGN
-						|| TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.CIRCULATION
-						|| TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.SETTLEMENT) {
-					list.remove(log);
+			for (Iterator<TechProjectLog> log = list.iterator() ; log.hasNext();) {
+				Integer state = log.next().getState();
+				if (TechProjectStatus.getStatus(state) == TechProjectStatus.SIGN
+						|| TechProjectStatus.getStatus(state) == TechProjectStatus.CIRCULATION
+						|| TechProjectStatus.getStatus(state) == TechProjectStatus.SETTLEMENT) {
+					log.remove();
 				}
 			}
+			
 			res.setData(list);
 		} else {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技项目id"));
 		}
 		return res;
 	}
+	
 
 	/**
 	 * update科技项目

+ 4 - 4
src/main/java/com/goafanti/user/bo/InputOrgPro.java

@@ -19,12 +19,12 @@ public class InputOrgPro {
 	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	companyName;
 
-	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 99, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private Integer	locationProvince;
 
-	@Max(value = 999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 999, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private Integer	locationCity;
 
 	@Max(value = 9999, message = "{" + ErrorConstants.PARAM_ERROR + "}")

+ 1 - 4
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -556,8 +556,6 @@ public class UserApiController extends BaseApiController {
 
 	/**
 	 * 个人资料/团体会员资料
-	 * 
-	 * @return
 	 */
 	@RequestMapping(value = "/member", method = RequestMethod.GET)
 	public Result member() {
@@ -569,8 +567,7 @@ public class UserApiController extends BaseApiController {
 		} else {
 			OrganizationInfo o = organizationInfoService.selectOrgInfoByUserId(ub.getUid());
 			OrganizationProperties p = organizationPropertiesService.selectOrgProByUserId(ub.getUid());
-			OrgProBo bo = new OrgProBo(o, p);
-			res.setData(bo);
+			res.setData(new OrgProBo(o, p));
 		}
 		return res;
 	}

+ 1 - 1
src/main/resources/props/config_dev.properties

@@ -51,7 +51,7 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.29
+static.host=//afts.hnzhiming.com/1.0.30
 
 upload.path=/data/wwwroot/aft/upload
 upload.private.path=/data/upload

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -53,7 +53,7 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.29
+static.host=//afts.hnzhiming.com/1.0.30
 
 upload.path=/Users/xiaolong/Sites/upload
 upload.private.path=/Users/xiaolong/Sites/doc

+ 1 - 1
src/main/resources/props/config_prod.properties

@@ -51,7 +51,7 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.29
+static.host=//afts.hnzhiming.com/1.0.30
 
 template.cacheable=true
 

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -53,7 +53,7 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//aftts.hnzhiming.com/1.0.29
+static.host=//aftts.hnzhiming.com/1.0.30
 
 upload.path=/data/aft/public/upload
 upload.private.path=/data/aft/private/upload

File diff suppressed because it is too large
+ 94 - 78
src/main/webapp/WEB-INF/views/common.html


File diff suppressed because it is too large
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/activity/activityIndex.html


File diff suppressed because it is too large
+ 2 - 1
src/main/webapp/WEB-INF/views/portal/activity/details.html


File diff suppressed because it is too large
+ 2 - 1
src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html


+ 16 - 20
src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html

@@ -11,20 +11,20 @@
 </head>
 
 <body>
-	<th:block th:fragment="{topNav}">
-		<div class="container">
-			<div class="lt">欢迎进入科技认知计算交易平台!</div>
-			<div class="rt" th:if="${!isLogin}">
-				<a th:href="${basePath + '/user/login.html'}">登录</a> <a
-					th:href="${basePath + '/user/signIn.html'}">注册</a>
-			</div>
-			<div class="rt" th:if="${isLogin}">
-				<span>欢迎光临,</span> <a class="login"
-					th:href="${basePath + '/user/account/index.html'}"
-					th:text="${userName}">个人中心</a> <a href="/user/logout">退出</a>
-			</div>
+	<header>
+		<div th:replace="common::{topNav}">
+			<div class="container">
+				<div class="lt">欢迎进入科技认知计算交易平台!</div>
+	               <div class="rt">
+					<a href="/user/login.html" class="login">登录</a>
+	                   <a href="/user/signIn.html">注册</a>
+					<a href="#">导航</a>
+					<a href="#">关于我们</a>
+					<a href="#">联系我们</a>
+				</div>
+			</div>		
 		</div>
-	</th:block>
+	</header>
 	<div class="container header_nav_detail">
 		<div class="row clearfix">
 			<div class="col-md-3 logo">
@@ -183,16 +183,12 @@
 			</div>
 		</div>
 	</div>
-	
 	<footer>
-		<div class="container">
-			<a href="#">联系我们</a> <a href="#">联系我们</a> <a href="#">联系我们</a> <a
-				href="#">联系我们</a> <a href="#">联系我们</a> <a href="#">联系我们</a>
-		</div>
+		<div th:replace="common::copyright"></div>
 	</footer>
-	<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+	<div th:replace="common::footer(~{::script})"><script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 	<script type="text/javascript"
-		th:src="${portalHost + '/highTech/detail/demandDetail.js'}"></script>
+		th:src="${portalHost + '/highTech/detail/demandDetail.js'}"></script></div>
 </body>
 
 </html>

File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/entrepreneurship/entrepreneurshipIndex.html


File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/financial/financialIndex.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/authentication.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/basicInfo.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/evaluate.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/financeInfo.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/iprInfo.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/highTech/evaluate/rdManage.html


File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/index.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/international/internationalIndex.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/ipr/apply.html


File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/ipr/iso.html


File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/ipr/patentOperation.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/ipr/service.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/news.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/patent.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/scienceTechnology/bigShot.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/scienceTechnology/lecture.html


File diff suppressed because it is too large
+ 2 - 0
src/main/webapp/WEB-INF/views/portal/scienceTechnology/star.html


File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/websiteBuild/websiteBuildIndex.html