Explorar o código

Merge branch 'master' of https://git.coding.net/aft/AFT.git

albertshaw %!s(int64=9) %!d(string=hai) anos
pai
achega
04bb597ba4
Modificáronse 69 ficheiros con 2864 adicións e 413 borrados
  1. 53 0
      schema/2017-03-16.sql
  2. 139 65
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  3. 143 0
      src/main/java/com/goafanti/admin/controller/AdminTechProjectController.java
  4. 266 218
      src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java
  5. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgActivityCostService.java
  6. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgActivityService.java
  7. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgAnnualReportService.java
  8. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgCognizanceService.java
  9. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgFinanceService.java
  10. 2 2
      src/main/java/com/goafanti/cognizance/service/OrgHonorDatumService.java
  11. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgIntellectualPropertyService.java
  12. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgRatepayService.java
  13. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgStandardService.java
  14. 2 2
      src/main/java/com/goafanti/cognizance/service/OrgTechAchievementService.java
  15. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgTechCenterDetailService.java
  16. 1 1
      src/main/java/com/goafanti/cognizance/service/OrgTechProductService.java
  17. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgActivityCostServiceImpl.java
  18. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgActivityServiceImpl.java
  19. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgAnnualReportServiceImpl.java
  20. 10 5
      src/main/java/com/goafanti/cognizance/service/impl/OrgCognizanceServiceImpl.java
  21. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgFinanceServiceImpl.java
  22. 2 2
      src/main/java/com/goafanti/cognizance/service/impl/OrgHonorDatumServiceImpl.java
  23. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgIntellectualPropertyServiceImpl.java
  24. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgRatepayServiceImpl.java
  25. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgStandardServiceImpl.java
  26. 2 2
      src/main/java/com/goafanti/cognizance/service/impl/OrgTechAchievementServiceImpl.java
  27. 3 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgTechCenterDetailServiceImpl.java
  28. 1 1
      src/main/java/com/goafanti/cognizance/service/impl/OrgTechProductServiceImpl.java
  29. 5 0
      src/main/java/com/goafanti/common/controller/BaseController.java
  30. 21 0
      src/main/java/com/goafanti/common/dao/TechProjectLogMapper.java
  31. 20 0
      src/main/java/com/goafanti/common/dao/TechProjectMapper.java
  32. 21 0
      src/main/java/com/goafanti/common/dao/TechWebsiteMapper.java
  33. 1 1
      src/main/java/com/goafanti/common/mapper/OrgAnnualReportMapper.xml
  34. 7 12
      src/main/java/com/goafanti/common/mapper/OrgTechCenterDetailMapper.xml
  35. 1 1
      src/main/java/com/goafanti/common/mapper/OrgTechCenterMapper.xml
  36. 0 6
      src/main/java/com/goafanti/common/mapper/PatentInfoMapper.xml
  37. 124 0
      src/main/java/com/goafanti/common/mapper/TechProjectLogMapper.xml
  38. 386 0
      src/main/java/com/goafanti/common/mapper/TechProjectMapper.xml
  39. 166 0
      src/main/java/com/goafanti/common/mapper/TechWebsiteMapper.xml
  40. 4 2
      src/main/java/com/goafanti/common/mapper/UserMapper.xml
  41. 276 0
      src/main/java/com/goafanti/common/model/TechProject.java
  42. 90 0
      src/main/java/com/goafanti/common/model/TechProjectLog.java
  43. 103 0
      src/main/java/com/goafanti/common/model/TechWebsite.java
  44. 3 1
      src/main/java/com/goafanti/patent/controller/PatentApiController.java
  45. 0 1
      src/main/java/com/goafanti/patent/service/PatentInfoService.java
  46. 6 7
      src/main/java/com/goafanti/patent/service/impl/PatentInfoServiceImpl.java
  47. 221 0
      src/main/java/com/goafanti/techproject/bo/TechProjectClientListBo.java
  48. 60 0
      src/main/java/com/goafanti/techproject/bo/TechProjectDetailBo.java
  49. 50 0
      src/main/java/com/goafanti/techproject/bo/TechProjectManageListBo.java
  50. 85 0
      src/main/java/com/goafanti/techproject/bo/TechWebsiteListBo.java
  51. 117 0
      src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java
  52. 11 0
      src/main/java/com/goafanti/techproject/service/TechProjectLogService.java
  53. 24 0
      src/main/java/com/goafanti/techproject/service/TechProjectService.java
  54. 16 0
      src/main/java/com/goafanti/techproject/service/TechWebsiteService.java
  55. 21 0
      src/main/java/com/goafanti/techproject/service/impl/TechProjectLogServiceImpl.java
  56. 125 0
      src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java
  57. 73 0
      src/main/java/com/goafanti/techproject/service/impl/TechWebsiteServiceImpl.java
  58. 38 41
      src/main/java/com/goafanti/user/controller/UserApiController.java
  59. 2 3
      src/main/java/com/goafanti/user/controller/UserRegisterController.java
  60. 7 0
      src/main/java/com/goafanti/user/service/OrganizationIdentityService.java
  61. 5 0
      src/main/java/com/goafanti/user/service/UserIdentityService.java
  62. 80 15
      src/main/java/com/goafanti/user/service/impl/OrganizationIdentityServiceImpl.java
  63. 40 0
      src/main/java/com/goafanti/user/service/impl/UserIdentityServiceImpl.java
  64. 1 1
      src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java
  65. 4 2
      src/main/resources/props/config_dev.properties
  66. 3 1
      src/main/resources/props/config_local.properties
  67. 1 1
      src/main/resources/props/config_prod.properties
  68. 4 2
      src/main/resources/props/config_test.properties
  69. 2 1
      src/main/webapp/WEB-INF/views/header.jsp

+ 53 - 0
schema/2017-03-16.sql

@@ -0,0 +1,53 @@
+
+CREATE TABLE IF NOT EXISTS `aft_dev`.`tech_project` (
+  `id` VARCHAR(36) NOT NULL,
+  `uid` VARCHAR(36) NOT NULL,
+  `serial_number` INT(8) NULL COMMENT '编号' AUTO_INCREMENT,
+  `contacts` INT(1) NULL COMMENT '联系人',
+  `department` VARCHAR(45) NULL COMMENT '科技项目申报部门',
+  `dispatch_info` VARCHAR(400) NULL COMMENT '派单信息',
+  `project_name` VARCHAR(45) NULL COMMENT '项目名称',
+  `project_catagory` VARCHAR(45) NULL COMMENT '项目类型',
+  `tech_field` VARCHAR(45) NULL COMMENT '技术领域',
+  `project_des` VARCHAR(400) NULL COMMENT '项目简介',
+  `project_mode` INT(1) NULL COMMENT '是否立项',
+  `project_approval` DECIMAL(8,2) NULL COMMENT '立项金额',
+  `subsidy` INT(1) NULL COMMENT '是否补助',
+  `consultant` VARCHAR(36) NULL COMMENT '咨询师',
+  `approval_url` VARCHAR(255) NULL COMMENT '项目材料URL',
+  `state` INT(1) NULL COMMENT '申报状态',
+  `create_time` DATETIME NULL COMMENT '派单日',
+  `accept_date` DATETIME NULL COMMENT '受理日',
+  `approved_date` DATETIME NULL COMMENT '项目批复日期',
+  `record_time` DATETIME NULL COMMENT '记录创建日期',
+  `deleted_sign` INT(1) NULL COMMENT '删除标记',
+  PRIMARY KEY (`id`),
+  INDEX `serialNumber` (`serial_number` ASC))
+ENGINE = InnoDB AUTO_INCREMENT= 600000
+COMMENT = '科技项目申请表'
+
+
+CREATE TABLE IF NOT EXISTS `aft_dev`.`tech_project_log` (
+  `id` VARCHAR(36) NOT NULL,
+  `pid` VARCHAR(36) NOT NULL,
+  `record_time` DATETIME NULL COMMENT '状态变更录入时间',
+  `state` INT(1) NULL COMMENT '状态',
+  `principal` VARCHAR(36) NULL COMMENT '负责人',
+  `operator` VARCHAR(36) NULL COMMENT '操作人',
+  `comment` VARCHAR(45) NULL COMMENT '备注',
+  PRIMARY KEY (`id`))
+ENGINE = InnoDB
+COMMENT = '科技项目申报log';
+
+CREATE TABLE IF NOT EXISTS `aft_dev`.`tech_website` (
+  `id` VARCHAR(36) NOT NULL,
+  `uid` VARCHAR(36) NULL,
+  `department` VARCHAR(45) NULL COMMENT '科技部门名称',
+  `website` VARCHAR(255) NULL COMMENT '网址',
+  `account_number` VARCHAR(45) NULL COMMENT '帐号',
+  `password` VARCHAR(32) NULL COMMENT '密码',
+  `create_time` DATETIME NULL COMMENT '创建日期',
+  `deleted_sign` INT(1) NULL COMMENT '删除标记',
+  PRIMARY KEY (`id`))
+ENGINE = InnoDB
+COMMENT = '科技项目申报网址'

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

@@ -128,7 +128,7 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/addNewUser", method = RequestMethod.POST)
 	public Result addNewUser(String mobile, Integer type, String unitName) {
 		Result res = new Result();
-		User user = userService.selectByMobieAndType(mobile, type);
+		User user = userService.selectByMobieAndType(mobile.trim(), type);
 		if (null != user) {
 			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
 			return res;
@@ -211,7 +211,7 @@ public class AdminApiController extends BaseApiController {
 			userIdentity.setWrongCount(0);
 			res.setData(userIdentityService.insert(userIdentity));
 		} else {
-			res.setData(userIdentityService.updateByPrimaryKeySelective(userIdentity));
+			res.setData(userIdentityService.updateUserDetail(userIdentity));
 		}
 		return res;
 	}
@@ -283,7 +283,7 @@ public class AdminApiController extends BaseApiController {
 			orgIdentity.setListedType(0);
 			res.setData(organizationIdentityService.insert(orgIdentity));
 		} else {
-			res.setData(organizationIdentityService.updateByPrimaryKeySelective(orgIdentity));
+			res.setData(organizationIdentityService.updateOrgDetail(orgIdentity));
 		}
 		return res;
 	}
@@ -298,8 +298,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/orgHumanResource", method = RequestMethod.POST)
 	public Result orgHumanResource(Integer year, String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -309,7 +311,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgHumanResourceService.listOrgHumanResource(year, pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -322,18 +323,22 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/updateOrgHumanResource", method = RequestMethod.POST)
 	public Result updateOrgHumanResource(OrgHumanResource orgHumanResource) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgHumanResource.getId())) {
-			if (null != orgHumanResourceService.selectOrgHumanResourceByUidAndYear(orgHumanResource.getYear(),
-					orgHumanResource.getUid())){
-				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度人力资源情况已录入!"));
-				return res;
-			}
-			orgHumanResource.setId(UUID.randomUUID().toString());
-			orgHumanResource.setDeletedSign(0);
-			orgHumanResourceService.insert(orgHumanResource);
-		} else {
-			orgHumanResourceService.updateByPrimaryKeySelective(orgHumanResource);
+		if (StringUtils.isBlank(orgHumanResource.getUid()) ||  !checkCertify(res, orgHumanResource.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
 		}
+			if (StringUtils.isBlank(orgHumanResource.getId())) {
+				if (null != orgHumanResourceService.selectOrgHumanResourceByUidAndYear(orgHumanResource.getYear(),
+						orgHumanResource.getUid())){
+					res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度人力资源情况已录入!"));
+					return res;
+				}
+				orgHumanResource.setId(UUID.randomUUID().toString());
+				orgHumanResource.setDeletedSign(0);
+				orgHumanResourceService.insert(orgHumanResource);
+			} else {
+				orgHumanResourceService.updateByPrimaryKeySelective(orgHumanResource);
+			}
 		return res;
 	}
 
@@ -348,8 +353,10 @@ public class AdminApiController extends BaseApiController {
 	public Result standard(String uid, String standardName, String standardNumber, Integer standardLevel,
 			Integer participateWay, String pageNo, String pageSize) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -360,7 +367,6 @@ public class AdminApiController extends BaseApiController {
 			}
 			res.setData(orgStandardService.listOrgStandard(standardName, standardNumber, standardLevel, participateWay,
 					pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -373,16 +379,20 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/developStandard", method = RequestMethod.POST)
 	public Result developStandard(OrgStandard orgStandard) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgStandard.getId())) {
-			orgStandard.setId(UUID.randomUUID().toString());
-			orgStandard.setDeletedSign(0);
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			orgStandard.setCreateTime(now.getTime());
-			orgStandardService.insert(orgStandard);
-		} else {
-			orgStandardService.updateByPrimaryKeySelective(orgStandard);
+		if (StringUtils.isBlank(orgStandard.getUid()) ||  !checkCertify(res, orgStandard.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
 		}
+			if (StringUtils.isBlank(orgStandard.getId())) {
+				orgStandard.setId(UUID.randomUUID().toString());
+				orgStandard.setDeletedSign(0);
+				Calendar now = Calendar.getInstance();
+				now.set(Calendar.MILLISECOND, 0);
+				orgStandard.setCreateTime(now.getTime());
+				orgStandardService.insert(orgStandard);
+			} else {
+				orgStandardService.updateByPrimaryKeySelective(orgStandard);
+			}
 		res.setData(orgStandard);
 		return res;
 	}
@@ -397,6 +407,10 @@ public class AdminApiController extends BaseApiController {
 	public Result intellectual(OrgIntellectualProperty orgIntellectualProperty, String authorizationDateFormattedDate,
 			String uid) throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgIntellectualProperty.getUid()) ||  !checkCertify(res, orgIntellectualProperty.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (!StringUtils.isBlank(authorizationDateFormattedDate)) {
 			orgIntellectualProperty
 					.setAuthorizationDate(DateUtils.parseDate(authorizationDateFormattedDate, "yyyy-MM-dd"));
@@ -425,8 +439,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/intellectualList", method = RequestMethod.POST)
 	public Result intellectualList(String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -436,7 +452,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgIntellectualPropertyService.listIntellectual(pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -450,8 +465,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/techProductList", method = RequestMethod.POST)
 	public Result techProductList(String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -461,7 +478,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgTechProductService.listTechProduct(pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -481,8 +497,10 @@ public class AdminApiController extends BaseApiController {
 	public Result activityList(String activityNumber, String activityName, String startDateFormattedDate,
 			String endDateFormattedDate, String pageNo, String pageSize, String uid) throws ParseException {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -493,7 +511,6 @@ public class AdminApiController extends BaseApiController {
 			}
 			res.setData(orgActivityService.listOrgActivity(activityNumber, activityName, startDateFormattedDate,
 					endDateFormattedDate, pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -508,6 +525,10 @@ public class AdminApiController extends BaseApiController {
 	public Result activity(OrgActivity orgActivity, String startDateFormattedDate, String endDateFormattedDate)
 			throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgActivity.getUid()) ||  !checkCertify(res, orgActivity.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		orgActivity.setDeletedSign(0);
 		if (!StringUtils.isBlank(startDateFormattedDate)) {
 			orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, "yyyy-MM-dd"));
@@ -518,7 +539,6 @@ public class AdminApiController extends BaseApiController {
 		}
 		if (StringUtils.isBlank(orgActivity.getId())) {
 			orgActivity.setId(UUID.randomUUID().toString());
-			orgActivity.setUid(TokenManager.getUserId());
 			orgActivityService.insert(orgActivity);
 		} else {
 			orgActivityService.updateOrgActivity(orgActivity);
@@ -537,8 +557,10 @@ public class AdminApiController extends BaseApiController {
 	public Result activityCostList(String activityNumber, String startDateFormattedDate, String endDateFormattedDate,
 			String pageNo, String pageSize, String uid) throws ParseException {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -549,7 +571,6 @@ public class AdminApiController extends BaseApiController {
 			}
 			res.setData(orgActivityCostService.listOrgActivityCost(activityNumber, startDateFormattedDate,
 					endDateFormattedDate, pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -562,13 +583,17 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/activityCost", method = RequestMethod.POST)
 	public Result activityCost(OrgActivityCost orgActivityCost, String signDateFormattedDate) throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgActivityCost.getUid()) ||  !checkCertify(res, orgActivityCost.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(signDateFormattedDate)) {
 			orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, "yyyy-MM-dd"));
 		}
 
 		if (StringUtils.isBlank(orgActivityCost.getId())) {
 			if (null != orgActivityCostService.selectOrgActivityCostByUidAndAid(orgActivityCost.getAid(),
-					TokenManager.getUserId())){
+					orgActivityCost.getUid())){
 				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "该研究项目费用详情已录入!"));
 				return res;
 			}
@@ -594,6 +619,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/techProduct", method = RequestMethod.POST)
 	public Result techProduct(OrgTechProduct orgTechProduct) {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgTechProduct.getUid()) ||  !checkCertify(res, orgTechProduct.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(orgTechProduct.getId())) {
 			orgTechProduct.setId(UUID.randomUUID().toString());
 			orgTechProduct.setDeletedSign(0);
@@ -617,8 +646,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/ratepay", method = RequestMethod.POST)
 	public Result ratepay(Integer year, String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -628,7 +659,7 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgRatepayService.listOrgRatepay(year, pNo, pSize, uid));
-		}
+
 		return res;
 	}
 
@@ -638,6 +669,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeRatepay", method = RequestMethod.POST)
 	public Result disposeRatepay(OrgRatepay orgRatepay) {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgRatepay.getUid()) ||  !checkCertify(res, orgRatepay.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(orgRatepay.getId())) {
 			if (null == orgRatepayService.selectRatepayByUidAndYear(orgRatepay.getUid(), orgRatepay.getYear())) {
 				orgRatepay.setId(UUID.randomUUID().toString());
@@ -661,8 +696,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/finance", method = RequestMethod.POST)
 	public Result finance(Integer year, String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -672,7 +709,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgFinanceService.listFinance(year, pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -685,6 +721,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeFinance", method = RequestMethod.POST)
 	public Result disposeFinance(OrgFinance orgFinance) {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgFinance.getUid()) ||  !checkCertify(res, orgFinance.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(orgFinance.getId())) {
 			if (null == orgFinanceService.selectFinanceByUidAndYear(orgFinance.getUid(), orgFinance.getYear())) {
 				orgFinance.setId(UUID.randomUUID().toString());
@@ -724,8 +764,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/achievementList", method = RequestMethod.POST)
 	public Result achievementList(String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -735,7 +777,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgTechAchievementService.listOrgTechAchievement(pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -749,10 +790,14 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeAchievement", method = RequestMethod.POST)
 	public Result disposeAchievement(OrgTechAchievement achievement) throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(achievement.getUid()) ||  !checkCertify(res, achievement.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(achievement.getId())) {
 			achievement.setId(UUID.randomUUID().toString());
 			achievement.setDeletedSign(0);
-			orgTechAchievementService.inset(achievement);
+			orgTechAchievementService.insert(achievement);
 		} else {
 			orgTechAchievementService.updateByPrimaryKeySelective(achievement);
 		}
@@ -767,8 +812,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/honorList", method = RequestMethod.POST)
 	public Result honorList(String pageNo, String pageSize, String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -778,7 +825,6 @@ public class AdminApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgHonorDatumService.listOrgHonorDatum(pNo, pSize, uid));
-		}
 		return res;
 	}
 
@@ -790,16 +836,19 @@ public class AdminApiController extends BaseApiController {
 	 * @throws ParseException
 	 */
 	@RequestMapping(value = "/disposeHonor", method = RequestMethod.POST)
-	public Result disposeHonor(OrgHonorDatum honor, String issuingTimeFormattedDate, String uid) throws ParseException {
+	public Result disposeHonor(OrgHonorDatum honor, String issuingTimeFormattedDate) throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(honor.getUid()) ||  !checkCertify(res, honor.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (!StringUtils.isBlank(issuingTimeFormattedDate)) {
 			honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, "yyyy-MM-dd"));
 		}
 		if (StringUtils.isBlank(honor.getId())) {
 			honor.setId(UUID.randomUUID().toString());
-			honor.setUid(uid);
 			honor.setDeletedSign(0);
-			orgHonorDatumService.inset(honor);
+			orgHonorDatumService.insert(honor);
 		} else {
 			orgHonorDatumService.updateByPrimaryKeySelective(honor);
 		}
@@ -814,10 +863,11 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/center", method = RequestMethod.POST)
 	public Result center(String uid) {
 		Result res = new Result();
-		res = checkCertify(res, uid);
-		if (res.getError().isEmpty()) {
-			res.setData(orgTechCenterService.selectOrgTechCenterByUid(uid));
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
 		}
+		res.setData(orgTechCenterService.selectOrgTechCenterByUid(uid));
 		return res;
 	}
 
@@ -828,15 +878,18 @@ public class AdminApiController extends BaseApiController {
 	 * @throws ParseException
 	 */
 	@RequestMapping(value = "/disposeCenter", method = RequestMethod.POST)
-	public Result disposeCenter(OrgTechCenter orgTechCenter, String foundingTimeFormattedDate, String uid)
+	public Result disposeCenter(OrgTechCenter orgTechCenter, String foundingTimeFormattedDate)
 			throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgTechCenter.getUid()) ||  !checkCertify(res, orgTechCenter.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (!StringUtils.isBlank(foundingTimeFormattedDate)) {
 			orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, "yyyy-MM-dd"));
 		}
 		if (StringUtils.isBlank(orgTechCenter.getId())) {
 			orgTechCenter.setId(UUID.randomUUID().toString());
-			orgTechCenter.setUid(uid);
 			orgTechCenter.setDeletedSign(0);
 			orgTechCenterService.insert(orgTechCenter);
 		} else {
@@ -866,8 +919,13 @@ public class AdminApiController extends BaseApiController {
 	public Result applyCognizance(Integer contacts, String comment, String consultant, String uid, Integer year,
 			Integer state) {
 		Result res = new Result();
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (null != orgCognizanceService.selectCognizanceByUidAndYear(year, uid)) {
 			res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度高企认定已申请!"));
+			return res;
 		}
 		
 		String aid = userService.selectByPrimaryKey(uid).getAid();
@@ -923,6 +981,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/cognizanceDetail", method = RequestMethod.POST)
 	public Result cognizanceDetail(String uid, String cid, Integer year) {
 		Result res = new Result();
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		res.setData(handleCognizanceDetail(uid, cid, year));
 		return res;
 	}
@@ -936,6 +998,10 @@ public class AdminApiController extends BaseApiController {
 	public Result disposeCognizanceDetail(OrgCognizance cog, OrgCognizanceLog log, String recordTimeFormattedDate)
 			throws ParseException {
 		Result res = new Result();
+		if (StringUtils.isBlank(cog.getUid()) ||  !checkCertify(res, cog.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		Date recordTime = null;
 		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
 			recordTime = DateUtils.parseDate(recordTimeFormattedDate, "yyyy-MM-dd");
@@ -959,7 +1025,7 @@ public class AdminApiController extends BaseApiController {
 		for (String s : ids) {
 			id.add(s);
 		}
-		res.setData(orgCognizanceService.batchDeleteByPrimaryKey(id));
+		res.setData(orgCognizanceService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -1027,6 +1093,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/annualReportDetail", method = RequestMethod.POST)
 	public Result annualReportDetail(String uid, Integer year) {
 		Result res = new Result();
+		if (StringUtils.isBlank(uid) ||  !checkCertify(res, uid).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		res.setData(handleAnnualReport(uid, year));
 		return res;
 	}
@@ -1040,6 +1110,10 @@ public class AdminApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeAnnualReport", method = RequestMethod.POST)
 	public Result disposeAnnualReport(OrgAnnualReport orgAnnualReport) {
 		Result res = new Result();
+		if (StringUtils.isBlank(orgAnnualReport.getUid()) ||  !checkCertify(res, orgAnnualReport.getUid()).getError().isEmpty()){
+			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
+			return res;
+		}
 		if (StringUtils.isBlank(orgAnnualReport.getId())) {
 			if (null != orgAnnualReportService.selectAnnualReportByYearAndUid(orgAnnualReport.getYear(),
 					orgAnnualReport.getUid())) {

+ 143 - 0
src/main/java/com/goafanti/admin/controller/AdminTechProjectController.java

@@ -0,0 +1,143 @@
+package com.goafanti.admin.controller;
+
+import java.text.ParseException;
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.model.TechProject;
+import com.goafanti.common.model.TechProjectLog;
+import com.goafanti.common.model.TechWebsite;
+import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.techproject.service.TechProjectLogService;
+import com.goafanti.techproject.service.TechProjectService;
+import com.goafanti.techproject.service.TechWebsiteService;
+import com.goafanti.user.service.UserService;
+
+@Controller
+@RequestMapping(value = "/api/admintechproject")
+public class AdminTechProjectController extends BaseApiController{
+	@Resource
+	private TechProjectService techProjectService;
+	@Resource
+	private TechWebsiteService techWebsiteService;
+	@Resource
+	private TechProjectLogService techProjectLogService;
+	@Resource
+	private UserService  userService;
+	
+	/**
+	 * 科技项目申报列表
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value = "/listTechProject", method = RequestMethod.POST)
+	public Result listClientTechProject(String province, String uid, 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(techProjectService.listManageTechProject(province, uid, pNo, pSize));
+		return res;
+	}
+	
+	
+	
+	/**
+	 * 科技项目申报
+	 * @return
+	 */
+	@RequestMapping(value = "/applyTechProject", method = RequestMethod.POST)
+	public Result applyTechProject(TechProject techProject, String uid){
+		Result res = new Result();
+		String aid = userService.selectByPrimaryKey(uid).getAid();
+		techProjectService.saveTechProject(techProject, uid, aid);
+		return res;
+		
+	}
+	
+	/**
+	 * 科技项目申报详情
+	 * @return
+	 */
+	@RequestMapping(value = "/techProjectDetial", method = RequestMethod.POST)
+	public Result techProjectDetial(String pid){
+		Result res = new Result();
+		res.setData(techProjectService.selectProjectDetail(pid));
+		return res;
+	}
+	
+	/**
+	 * 科技项目状态流转
+	 * @param pid
+	 * @return
+	 */
+	@RequestMapping(value = "/techProjectLog", method = RequestMethod.POST)
+	public Result techProjectLog(String pid){
+		Result res = new Result();
+		res.setData(techProjectLogService.selectTechProjectLogByPid(pid));
+		return res;
+	}
+	
+	/**
+	 * update科技项目 
+	 * @param t
+	 * @param l
+	 * @param recordTimeFormattedDate
+	 * @return
+	 * @throws ParseException
+	 */
+	@RequestMapping(value = "/updateTechProject", method = RequestMethod.POST)
+	public Result updateTechProject(TechProject t, TechProjectLog l, String recordTimeFormattedDate) throws ParseException{
+		Result res = new Result();
+		Date recordTime =null;
+		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
+			recordTime = DateUtils.parseDate(recordTimeFormattedDate, "yyyy-MM-dd");
+		}
+		res.setData(techProjectService.updateTechProject(t, l, recordTime));
+		return res;
+	}
+	
+	/**
+	 * 科技单位网址管理list
+	 */
+	@RequestMapping(value = "/listTechWebsite", method = RequestMethod.POST)
+	public Result listTechWebsite(String province, String uid, 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(techWebsiteService.listTechWebsite(province, uid, pNo, pSize));
+		return res;
+	}
+	
+	/**
+	 * 科技单位网址add+update
+	 * @param t
+	 * @return
+	 */
+	@RequestMapping(value = "/disposeTechWebsite", method = RequestMethod.POST)
+	public Result disposeTechWebsite(TechWebsite t){
+		Result res = new Result();
+		res.setData(techWebsiteService.saveWebsite(t));
+		return res;
+	}
+}

+ 266 - 218
src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java

@@ -138,22 +138,25 @@ public class CognizanceApiController extends BaseApiController {
 	public Result activity(OrgActivity orgActivity, String startDateFormattedDate, String endDateFormattedDate)
 			throws ParseException {
 		Result res = new Result();
-		orgActivity.setDeletedSign(0);
-		if (!StringUtils.isBlank(startDateFormattedDate)) {
-			orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, "yyyy-MM-dd"));
-		}
-
-		if (!StringUtils.isBlank(endDateFormattedDate)) {
-			orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(orgActivity.getId())) {
-			orgActivity.setId(UUID.randomUUID().toString());
-			orgActivity.setUid(TokenManager.getUserId());
-			orgActivityService.insert(orgActivity);
-		} else {
-			orgActivityService.updateOrgActivity(orgActivity);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			orgActivity.setDeletedSign(0);
+			if (!StringUtils.isBlank(startDateFormattedDate)) {
+				orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, "yyyy-MM-dd"));
+			}
+	
+			if (!StringUtils.isBlank(endDateFormattedDate)) {
+				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(orgActivity.getId())) {
+				orgActivity.setId(UUID.randomUUID().toString());
+				orgActivity.setUid(TokenManager.getUserId());
+				orgActivityService.insert(orgActivity);
+			} else {
+				orgActivityService.updateOrgActivity(orgActivity);
+			}
+			res.setData(orgActivity);
 		}
-		res.setData(orgActivity);
 		return res;
 	}
 
@@ -166,12 +169,12 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteActivity", method = RequestMethod.POST)
 	public Result deleteActivity(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		orgActivityService.batchDeleteByPrimaryKey(id);
-		orgActivityCostService.batchDeleteByAid(id);
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			orgActivityService.deleteByPrimaryKey(id);
+			orgActivityCostService.deleteByAid(id);
 		return res;
 	}
 
@@ -210,25 +213,28 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/activityCost", method = RequestMethod.POST)
 	public Result activityCost(OrgActivityCost orgActivityCost, String signDateFormattedDate) throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(signDateFormattedDate)) {
-			orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(orgActivityCost.getId())) {
-			if (null != orgActivityCostService.selectOrgActivityCostByUidAndAid(orgActivityCost.getAid(),
-					TokenManager.getUserId())){
-				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "该研究项目费用详情已录入!"));
-				return res;
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (!StringUtils.isBlank(signDateFormattedDate)) {
+				orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(orgActivityCost.getId())) {
+				if (null != orgActivityCostService.selectOrgActivityCostByUidAndAid(orgActivityCost.getAid(),
+						TokenManager.getUserId())){
+					res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "该研究项目费用详情已录入!"));
+					return res;
+				}
+				
+				OrgActivity ac = orgActivityService.selectOrgActivityByPrimaryKey(orgActivityCost.getAid());
+				orgActivityCost.setStartDate(ac.getStartDate());
+				orgActivityCost.setEndDate(ac.getEndDate());
+				orgActivityCost.setId(UUID.randomUUID().toString());
+				orgActivityCost.setUid(TokenManager.getUserId());
+				orgActivityCost.setDeletedSign(0);
+				orgActivityCostService.insert(orgActivityCost);
+			} else {
+				orgActivityCostService.updateByPrimaryKeySelective(orgActivityCost);
 			}
-			
-			OrgActivity ac = orgActivityService.selectOrgActivityByPrimaryKey(orgActivityCost.getAid());
-			orgActivityCost.setStartDate(ac.getStartDate());
-			orgActivityCost.setEndDate(ac.getEndDate());
-			orgActivityCost.setId(UUID.randomUUID().toString());
-			orgActivityCost.setUid(TokenManager.getUserId());
-			orgActivityCost.setDeletedSign(0);
-			orgActivityCostService.insert(orgActivityCost);
-		} else {
-			orgActivityCostService.updateByPrimaryKeySelective(orgActivityCost);
 		}
 		return res;
 	}
@@ -242,11 +248,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteActivityCost", method = RequestMethod.POST)
 	public Result deleteActivityCost(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgActivityCostService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgActivityCostService.batchDeleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -283,18 +289,21 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/developStandard", method = RequestMethod.POST)
 	public Result developStandard(OrgStandard orgStandard) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgStandard.getId())) {
-			orgStandard.setId(UUID.randomUUID().toString());
-			orgStandard.setUid(TokenManager.getUserId());
-			orgStandard.setDeletedSign(0);
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			orgStandard.setCreateTime(now.getTime());
-			orgStandardService.insert(orgStandard);
-		} else {
-			orgStandardService.updateByPrimaryKeySelective(orgStandard);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(orgStandard.getId())) {
+				orgStandard.setId(UUID.randomUUID().toString());
+				orgStandard.setUid(TokenManager.getUserId());
+				orgStandard.setDeletedSign(0);
+				Calendar now = Calendar.getInstance();
+				now.set(Calendar.MILLISECOND, 0);
+				orgStandard.setCreateTime(now.getTime());
+				orgStandardService.insert(orgStandard);
+			} else {
+				orgStandardService.updateByPrimaryKeySelective(orgStandard);
+			}
+			res.setData(orgStandard);
 		}
-		res.setData(orgStandard);
 		return res;
 	}
 
@@ -308,11 +317,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteStandard", method = RequestMethod.POST)
 	public Result deleteStandard(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgStandardService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgStandardService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -326,20 +335,23 @@ public class CognizanceApiController extends BaseApiController {
 	public Result intellectual(OrgIntellectualProperty orgIntellectualProperty, String authorizationDateFormattedDate)
 			throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(authorizationDateFormattedDate)) {
-			orgIntellectualProperty
-					.setAuthorizationDate(DateUtils.parseDate(authorizationDateFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(orgIntellectualProperty.getId())) {
-			orgIntellectualProperty.setId(UUID.randomUUID().toString());
-			orgIntellectualProperty.setUid(TokenManager.getUserId());
-			orgIntellectualProperty.setEvaluationCategory(
-					(orgIntellectualProperty.getCatagory() >= 2 && orgIntellectualProperty.getCatagory() <= 4) ? 1 : 0);
-			orgIntellectualProperty.setDeletedSign(0);
-			res.setData(orgIntellectualPropertyService.insert(orgIntellectualProperty));
-		} else {
-			orgIntellectualProperty.setEvaluationCategory(orgIntellectualProperty.getCatagory() <= 2 ? 1 : 0);
-			res.setData(orgIntellectualPropertyService.updateByPrimaryKeySelective(orgIntellectualProperty));
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (!StringUtils.isBlank(authorizationDateFormattedDate)) {
+				orgIntellectualProperty
+						.setAuthorizationDate(DateUtils.parseDate(authorizationDateFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(orgIntellectualProperty.getId())) {
+				orgIntellectualProperty.setId(UUID.randomUUID().toString());
+				orgIntellectualProperty.setUid(TokenManager.getUserId());
+				orgIntellectualProperty.setEvaluationCategory(
+						(orgIntellectualProperty.getCatagory() >= 2 && orgIntellectualProperty.getCatagory() <= 4) ? 1 : 0);
+				orgIntellectualProperty.setDeletedSign(0);
+				res.setData(orgIntellectualPropertyService.insert(orgIntellectualProperty));
+			} else {
+				orgIntellectualProperty.setEvaluationCategory(orgIntellectualProperty.getCatagory() <= 2 ? 1 : 0);
+				res.setData(orgIntellectualPropertyService.updateByPrimaryKeySelective(orgIntellectualProperty));
+			}
 		}
 		return res;
 	}
@@ -379,11 +391,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteIntellectual", method = RequestMethod.POST)
 	public Result deleteIntellectual(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgIntellectualPropertyService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgIntellectualPropertyService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -421,19 +433,22 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/techProduct", method = RequestMethod.POST)
 	public Result techProduct(OrgTechProduct orgTechProduct) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgTechProduct.getId())) {
-			orgTechProduct.setId(UUID.randomUUID().toString());
-			orgTechProduct.setUid(TokenManager.getUserId());
-			orgTechProduct.setDeletedSign(0);
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			orgTechProduct.setCreateTime(now.getTime());
-			orgTechProduct.setYear(Calendar.getInstance().get(Calendar.YEAR) - 1);
-			orgTechProductService.insert(orgTechProduct);
-		} else {
-			orgTechProductService.updateByPrimaryKeySelective(orgTechProduct);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(orgTechProduct.getId())) {
+				orgTechProduct.setId(UUID.randomUUID().toString());
+				orgTechProduct.setUid(TokenManager.getUserId());
+				orgTechProduct.setDeletedSign(0);
+				Calendar now = Calendar.getInstance();
+				now.set(Calendar.MILLISECOND, 0);
+				orgTechProduct.setCreateTime(now.getTime());
+				orgTechProduct.setYear(Calendar.getInstance().get(Calendar.YEAR) - 1);
+				orgTechProductService.insert(orgTechProduct);
+			} else {
+				orgTechProductService.updateByPrimaryKeySelective(orgTechProduct);
+			}
+			res.setData(orgTechProduct);
 		}
-		res.setData(orgTechProduct);
 		return res;
 	}
 
@@ -446,11 +461,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteTechProduct", method = RequestMethod.POST)
 	public Result deleteTechProduct(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgTechProductService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgTechProductService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -483,18 +498,21 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeRatepay", method = RequestMethod.POST)
 	public Result disposeRatepay(OrgRatepay orgRatepay) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgRatepay.getId())) {
-			if (null == orgRatepayService.selectRatepayByUidAndYear(TokenManager.getUserId(), orgRatepay.getYear())) {
-				orgRatepay.setId(UUID.randomUUID().toString());
-				orgRatepay.setUid(TokenManager.getUserId());
-				orgRatepay.setDeletedSign(0);
-				orgRatepayService.insert(orgRatepay);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(orgRatepay.getId())) {
+				if (null == orgRatepayService.selectRatepayByUidAndYear(TokenManager.getUserId(), orgRatepay.getYear())) {
+					orgRatepay.setId(UUID.randomUUID().toString());
+					orgRatepay.setUid(TokenManager.getUserId());
+					orgRatepay.setDeletedSign(0);
+					orgRatepayService.insert(orgRatepay);
+				} else {
+					res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度纳税申报表已录入!"));
+					return res;
+				}
 			} else {
-				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度纳税申报表已录入!"));
-				return res;
+				orgRatepayService.updateByPrimaryKeySelective(orgRatepay);
 			}
-		} else {
-			orgRatepayService.updateByPrimaryKeySelective(orgRatepay);
 		}
 		return res;
 	}
@@ -508,11 +526,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteRatepay", method = RequestMethod.POST)
 	public Result deleteRatepay(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgRatepayService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgRatepayService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -548,18 +566,21 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeFinance", method = RequestMethod.POST)
 	public Result disposeFinance(OrgFinance orgFinance) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgFinance.getId())) {
-			if (null == orgFinanceService.selectFinanceByUidAndYear(TokenManager.getUserId(), orgFinance.getYear())) {
-				orgFinance.setId(UUID.randomUUID().toString());
-				orgFinance.setUid(TokenManager.getUserId());
-				orgFinance.setDeletedSign(0);
-				orgFinanceService.insert(orgFinance);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(orgFinance.getId())) {
+				if (null == orgFinanceService.selectFinanceByUidAndYear(TokenManager.getUserId(), orgFinance.getYear())) {
+					orgFinance.setId(UUID.randomUUID().toString());
+					orgFinance.setUid(TokenManager.getUserId());
+					orgFinance.setDeletedSign(0);
+					orgFinanceService.insert(orgFinance);
+				} else {
+					res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度财务报表已录入!"));
+					return res;
+				}
 			} else {
-				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度财务报表已录入!"));
-				return res;
+				orgFinanceService.updateByPrimaryKeySelective(orgFinance);
 			}
-		} else {
-			orgFinanceService.updateByPrimaryKeySelective(orgFinance);
 		}
 		return res;
 	}
@@ -573,11 +594,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteFinance", method = RequestMethod.POST)
 	public Result deleteFinance(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgFinanceService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgFinanceService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -645,13 +666,16 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeAchievement", method = RequestMethod.POST)
 	public Result disposeAchievement(OrgTechAchievement achievement) throws ParseException {
 		Result res = new Result();
-		if (StringUtils.isBlank(achievement.getId())) {
-			achievement.setId(UUID.randomUUID().toString());
-			achievement.setUid(TokenManager.getUserId());
-			achievement.setDeletedSign(0);
-			orgTechAchievementService.inset(achievement);
-		} else {
-			orgTechAchievementService.updateByPrimaryKeySelective(achievement);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(achievement.getId())) {
+				achievement.setId(UUID.randomUUID().toString());
+				achievement.setUid(TokenManager.getUserId());
+				achievement.setDeletedSign(0);
+				orgTechAchievementService.insert(achievement);
+			} else {
+				orgTechAchievementService.updateByPrimaryKeySelective(achievement);
+			}
 		}
 		return res;
 	}
@@ -665,11 +689,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteAchievement", method = RequestMethod.POST)
 	public Result deleteAchievement(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgTechAchievementService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgTechAchievementService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -706,16 +730,19 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeHonor", method = RequestMethod.POST)
 	public Result disposeHonor(OrgHonorDatum honor, String issuingTimeFormattedDate) throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(issuingTimeFormattedDate)) {
-			honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(honor.getId())) {
-			honor.setId(UUID.randomUUID().toString());
-			honor.setUid(TokenManager.getUserId());
-			honor.setDeletedSign(0);
-			orgHonorDatumService.inset(honor);
-		} else {
-			orgHonorDatumService.updateByPrimaryKeySelective(honor);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (!StringUtils.isBlank(issuingTimeFormattedDate)) {
+				honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(honor.getId())) {
+				honor.setId(UUID.randomUUID().toString());
+				honor.setUid(TokenManager.getUserId());
+				honor.setDeletedSign(0);
+				orgHonorDatumService.insert(honor);
+			} else {
+				orgHonorDatumService.updateByPrimaryKeySelective(honor);
+			}
 		}
 		return res;
 	}
@@ -729,11 +756,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/deleteHonor", method = RequestMethod.POST)
 	public Result deleteHonor(@RequestParam(name = "ids[]", required = true) String[] ids) {
 		Result res = new Result();
-		List<String> id = new ArrayList<String>();
-		for (String s : ids) {
-			id.add(s);
-		}
-		res.setData(orgHonorDatumService.batchDeleteByPrimaryKey(id));
+			List<String> id = new ArrayList<String>();
+			for (String s : ids) {
+				id.add(s);
+			}
+			res.setData(orgHonorDatumService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -761,16 +788,19 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeCenter", method = RequestMethod.POST)
 	public Result disposeCenter(OrgTechCenter orgTechCenter, String foundingTimeFormattedDate) throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(foundingTimeFormattedDate)) {
-			orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(orgTechCenter.getId())) {
-			orgTechCenter.setId(UUID.randomUUID().toString());
-			orgTechCenter.setUid(TokenManager.getUserId());
-			orgTechCenter.setDeletedSign(0);
-			orgTechCenterService.insert(orgTechCenter);
-		} else {
-			orgTechCenterService.updateByPrimaryKeySelective(orgTechCenter);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (!StringUtils.isBlank(foundingTimeFormattedDate)) {
+				orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(orgTechCenter.getId())) {
+				orgTechCenter.setId(UUID.randomUUID().toString());
+				orgTechCenter.setUid(TokenManager.getUserId());
+				orgTechCenter.setDeletedSign(0);
+				orgTechCenterService.insert(orgTechCenter);
+			} else {
+				orgTechCenterService.updateByPrimaryKeySelective(orgTechCenter);
+			}
 		}
 		return res;
 	}
@@ -783,7 +813,6 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/centerDetail", method = RequestMethod.POST)
 	public Result centerDetail(String pageNo, String pageSize, String cid) {
 		Result res = new Result();
-		if (res.getError().isEmpty()) {
 			Integer pNo = 1;
 			Integer pSize = 10;
 			if (StringUtils.isNumeric(pageSize)) {
@@ -793,7 +822,6 @@ public class CognizanceApiController extends BaseApiController {
 				pNo = Integer.parseInt(pageNo);
 			}
 			res.setData(orgTechCenterDetailService.listOrgTechCenterDetail(pNo, pSize, cid));
-		}
 		return res;
 	}
 
@@ -810,19 +838,19 @@ public class CognizanceApiController extends BaseApiController {
 	public Result disposeCenterDetail(OrgTechCenterDetail orgTechCenterDetail, String projectTimeFormattedDate,
 			String termTimeFormattedDate) throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(projectTimeFormattedDate)) {
-			orgTechCenterDetail.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, "yyyy-MM-dd"));
-		}
-		if (!StringUtils.isBlank(termTimeFormattedDate)) {
-			orgTechCenterDetail.setTermTime(DateUtils.parseDate(termTimeFormattedDate, "yyyy-MM-dd"));
-		}
-		if (StringUtils.isBlank(orgTechCenterDetail.getId())) {
-			orgTechCenterDetail.setId(UUID.randomUUID().toString());
-			orgTechCenterDetail.setDeletedSign(0);
-			orgTechCenterDetailService.inset(orgTechCenterDetail);
-		} else {
-			orgTechCenterDetailService.updateByPrimaryKeySelective(orgTechCenterDetail);
-		}
+			if (!StringUtils.isBlank(projectTimeFormattedDate)) {
+				orgTechCenterDetail.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, "yyyy-MM-dd"));
+			}
+			if (!StringUtils.isBlank(termTimeFormattedDate)) {
+				orgTechCenterDetail.setTermTime(DateUtils.parseDate(termTimeFormattedDate, "yyyy-MM-dd"));
+			}
+			if (StringUtils.isBlank(orgTechCenterDetail.getId())) {
+				orgTechCenterDetail.setId(UUID.randomUUID().toString());
+				orgTechCenterDetail.setDeletedSign(0);
+				orgTechCenterDetailService.inset(orgTechCenterDetail);
+			} else {
+				orgTechCenterDetailService.updateByPrimaryKeySelective(orgTechCenterDetail);
+			}
 		return res;
 	}
 
@@ -839,7 +867,7 @@ public class CognizanceApiController extends BaseApiController {
 		for (String s : ids) {
 			id.add(s);
 		}
-		res.setData(orgTechCenterDetailService.batchDeleteByPrimaryKey(id));
+		res.setData(orgTechCenterDetailService.deleteByPrimaryKey(id));
 		return res;
 	}
 
@@ -865,16 +893,19 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/listCognizance", method = RequestMethod.POST)
 	public Result listCognizance(String locationProvince, 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 = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			Integer pNo = 1;
+			Integer pSize = 10;
+			if (StringUtils.isNumeric(pageSize)) {
+				pSize = Integer.parseInt(pageSize);
+			}
+			if (StringUtils.isNumeric(pageNo)) {
+				pNo = Integer.parseInt(pageNo);
+			}
+			res.setData(orgCognizanceService.listCognizance(TokenManager.getUserId(), locationProvince, pNo, pSize));
 		}
-
-		res.setData(orgCognizanceService.listCognizance(TokenManager.getUserId(), locationProvince, pNo, pSize));
+		
 		return res;
 	}
 
@@ -886,13 +917,15 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/applyCognizance", method = RequestMethod.POST)
 	public Result applyCognizance(Integer contacts, String comment, Integer year, Integer state) {
 		Result res = new Result();
-		if (null != orgCognizanceService.selectCognizanceByUidAndYear(year, TokenManager.getUserId())){
-			res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度高企认定已申请!"));
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (null != orgCognizanceService.selectCognizanceByUidAndYear(year, TokenManager.getUserId())){
+				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度高企认定已申请!"));
+				return res;
+			}
+			String aid = TokenManager.getToken().getAid();
+			orgCognizanceService.insertCognizance(contacts, comment, year,  state, aid, TokenManager.getUserId());
 		}
-		String aid = TokenManager.getToken().getAid();
-		orgCognizanceService.insertCognizance(contacts, comment, year,  state, aid, TokenManager.getUserId());
-		
-		
 		return res;
 	}
 
@@ -906,7 +939,10 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/cognizanceDetail", method = RequestMethod.POST)
 	public Result cognizanceDetail(String cid, Integer year) {
 		Result res = new Result();
-		res.setData(handleCognizanceDetail(TokenManager.getUserId(), cid, year));
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			res.setData(handleCognizanceDetail(TokenManager.getUserId(), cid, year));
+		}
 		return res;
 	}
 	
@@ -919,8 +955,11 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/cognizanceLog", method = RequestMethod.POST)
 	public Result cognizanceLog(String cid) {
 		Result res = new Result();
-		List<OrgCognizanceLog> list = orgCognizanceLogService.selectOrgCognizanceLogByCid(cid);
-		res.setData(list);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			List<OrgCognizanceLog> list = orgCognizanceLogService.selectOrgCognizanceLogByCid(cid);
+			res.setData(list);
+		}
 		return res;
 	}
 	
@@ -930,7 +969,10 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeCognizanceDetail", method = RequestMethod.POST)
 	public Result disposeCognizanceDetail(OrgCognizance cog){
 		Result res = new Result();
-		orgCognizanceService.updateByPrimaryKeySelective(cog);
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			orgCognizanceService.updateByPrimaryKeySelective(cog);
+		}
 		return res;
 	}
 
@@ -967,7 +1009,10 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/annualReportDetail", method = RequestMethod.POST)
 	public Result annualReportDetail(Integer year) {
 		Result res = new Result();
-		res.setData(handleAnnualReport(TokenManager.getUserId(), year));
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			res.setData(handleAnnualReport(TokenManager.getUserId(), year));
+		}
 		return res;
 	}
 
@@ -980,26 +1025,29 @@ public class CognizanceApiController extends BaseApiController {
 	@RequestMapping(value = "/disposeAnnualReport", method = RequestMethod.POST)
 	public Result disposeAnnualReport(OrgAnnualReport orgAnnualReport) {
 		Result res = new Result();
-		if (StringUtils.isBlank(orgAnnualReport.getId())) {
-			if (null != orgAnnualReportService.selectAnnualReportByYearAndUid(orgAnnualReport.getYear(),
-					TokenManager.getUserId())) {
-				res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年企业年报已录入!"));
-				return res;
-			} 
-				orgAnnualReport.setId(UUID.randomUUID().toString());
-				orgAnnualReport.setUid(TokenManager.getUserId());
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			if (StringUtils.isBlank(orgAnnualReport.getId())) {
+				if (null != orgAnnualReportService.selectAnnualReportByYearAndUid(orgAnnualReport.getYear(),
+						TokenManager.getUserId())) {
+					res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年企业年报已录入!"));
+					return res;
+				} 
+					orgAnnualReport.setId(UUID.randomUUID().toString());
+					orgAnnualReport.setUid(TokenManager.getUserId());
+					Calendar now = Calendar.getInstance();
+					now.set(Calendar.MILLISECOND, 0);
+					orgAnnualReport.setCreateTime(now.getTime());
+					orgAnnualReport.setLastUpdateTime(orgAnnualReport.getCreateTime());
+					orgAnnualReport.setDeletedSign(0);
+					orgAnnualReportService.insert(orgAnnualReport);
+				
+			} else {
 				Calendar now = Calendar.getInstance();
 				now.set(Calendar.MILLISECOND, 0);
-				orgAnnualReport.setCreateTime(now.getTime());
-				orgAnnualReport.setLastUpdateTime(orgAnnualReport.getCreateTime());
-				orgAnnualReport.setDeletedSign(0);
-				orgAnnualReportService.insert(orgAnnualReport);
-			
-		} else {
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			orgAnnualReport.setLastUpdateTime(now.getTime());
-			orgAnnualReportService.updateByPrimaryKeySelective(orgAnnualReport);
+				orgAnnualReport.setLastUpdateTime(now.getTime());
+				orgAnnualReportService.updateByPrimaryKeySelective(orgAnnualReport);
+			}
 		}
 		return res;
 	}
@@ -1017,7 +1065,7 @@ public class CognizanceApiController extends BaseApiController {
 		for (String s : ids) {
 			id.add(s);
 		}
-		res.setData(orgAnnualReportService.batchDeleteByPrimaryKey(id));
+		res.setData(orgAnnualReportService.deleteByPrimaryKey(id));
 		return res;
 	}
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgActivityCostService.java

@@ -19,7 +19,7 @@ public interface OrgActivityCostService {
 
 	OrgActivityCost selectOrgActivityCostByAid(String id);
 
-	int batchDeleteByAid(List<String> id);
+	int deleteByAid(List<String> id);
 
 	OrgActivityCost selectOrgActivityCostByUidAndAid(String aid, String userId);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgActivityService.java

@@ -16,7 +16,7 @@ public interface OrgActivityService {
 
 	int updateByPrimaryKeySelective(OrgActivity orgActivity);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	OrgActivity selectOrgActivityByPrimaryKey(String aid);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgAnnualReportService.java

@@ -13,7 +13,7 @@ public interface OrgAnnualReportService {
 
 	Pagination<OrgAnnualReport> listOrgAnnualReport(Integer year, Integer state, Integer pNo, Integer pSize, String userId);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	OrgAnnualReport insert(OrgAnnualReport orgAnnualReport);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgCognizanceService.java

@@ -34,7 +34,7 @@ public interface OrgCognizanceService {
 
 	OrgCognizance selectCognizanceByUidAndYear(Integer year, String uid);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	CognizanceDetailBo selectCognizanceDetailBo(String uid, String cid, Integer year);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgFinanceService.java

@@ -14,7 +14,7 @@ public interface OrgFinanceService {
 
 	Pagination<OrgFinance> listFinance(Integer year, Integer pNo, Integer pSize, String userId);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	OrgFinance selectFinanceByUidAndYear(String uid, Integer year);
 

+ 2 - 2
src/main/java/com/goafanti/cognizance/service/OrgHonorDatumService.java

@@ -9,10 +9,10 @@ public interface OrgHonorDatumService {
 
 	Pagination<OrgHonorDatum> listOrgHonorDatum(Integer pNo, Integer pSize, String userId);
 
-	OrgHonorDatum inset(OrgHonorDatum honor);
+	OrgHonorDatum insert(OrgHonorDatum honor);
 
 	int updateByPrimaryKeySelective(OrgHonorDatum honor);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgIntellectualPropertyService.java

@@ -13,7 +13,7 @@ public interface OrgIntellectualPropertyService {
 
 	int delete(String id);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	int updateByPrimaryKeySelective(OrgIntellectualProperty orgIntellectualProperty);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgRatepayService.java

@@ -14,7 +14,7 @@ public interface OrgRatepayService {
 
 	Pagination<OrgRatepay> listOrgRatepay(Integer year, Integer pNo, Integer pSize, String userId);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 	OrgRatepay selectRatepayByUidAndYear(String userId, Integer year);
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgStandardService.java

@@ -16,6 +16,6 @@ public interface OrgStandardService {
 
 	int delete(String id);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 }

+ 2 - 2
src/main/java/com/goafanti/cognizance/service/OrgTechAchievementService.java

@@ -9,10 +9,10 @@ public interface OrgTechAchievementService {
 
 	Pagination<OrgTechAchievement> listOrgTechAchievement(Integer pNo, Integer pSize, String userId);
 
-	OrgTechAchievement inset(OrgTechAchievement achievement);
+	OrgTechAchievement insert(OrgTechAchievement achievement);
 
 	int updateByPrimaryKeySelective(OrgTechAchievement achievement);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgTechCenterDetailService.java

@@ -13,6 +13,6 @@ public interface OrgTechCenterDetailService {
 
 	int updateByPrimaryKeySelective(OrgTechCenterDetail orgTechCenterDetail);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/OrgTechProductService.java

@@ -13,6 +13,6 @@ public interface OrgTechProductService {
 
 	int updateByPrimaryKeySelective(OrgTechProduct orgTechProduct);
 
-	int batchDeleteByPrimaryKey(List<String> id);
+	int deleteByPrimaryKey(List<String> id);
 
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgActivityCostServiceImpl.java

@@ -88,7 +88,7 @@ public class OrgActivityCostServiceImpl extends BaseMybatisDao<OrgActivityCostMa
 
 
 	@Override
-	public int batchDeleteByAid(List<String> aid) {
+	public int deleteByAid(List<String> aid) {
 		return orgActivityCostMapper.batchDeleteByAid(aid);
 	}
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgActivityServiceImpl.java

@@ -81,7 +81,7 @@ public class OrgActivityServiceImpl extends BaseMybatisDao<OrgActivityMapper> im
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgActivityMapper.batchDeleteByPrimaryKey(id);
 	}
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgAnnualReportServiceImpl.java

@@ -55,7 +55,7 @@ public class OrgAnnualReportServiceImpl extends BaseMybatisDao<OrgAnnualReportMa
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgAnnualReportMapper.batchDeleteByPrimaryKey(id);
 	}
 

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

@@ -21,10 +21,12 @@ import com.goafanti.cognizance.bo.CognizanceResearchCostBo;
 import com.goafanti.cognizance.service.OrgCognizanceService;
 import com.goafanti.common.dao.OrgCognizanceLogMapper;
 import com.goafanti.common.dao.OrgCognizanceMapper;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.OrgCognizance;
 import com.goafanti.common.model.OrgCognizanceLog;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.core.shiro.token.TokenManager;
 @Service
 public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper> implements OrgCognizanceService {
 	@Autowired
@@ -154,24 +156,24 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgCognizanceMapper.batchDeleteByPrimaryKey(id);
 	}
 
 	@Override
 	public void updateCognizance(OrgCognizance cog, OrgCognizanceLog log, Date recordTime, String aid) {
-		if (null != log.getState()) {
+		if (null != log.getState() && null != recordTime) {
 			log.setRecordTime(recordTime);
 			cog.setState(log.getState());
 			switch (log.getState()) {
 			case 1:
-				cog.setCreateTime(log.getRecordTime());
+				cog.setCreateTime(recordTime);
 				break;
 			case 2:
-				cog.setAcceptDate(log.getRecordTime());
+				cog.setAcceptDate(recordTime);
 				break;
 			case 5:
-				cog.setIssuingDate(log.getRecordTime());
+				cog.setIssuingDate(recordTime);
 				break;
 			}
 			log.setId(UUID.randomUUID().toString());
@@ -206,6 +208,9 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 		log.setState(state);
 		log.setComment(comment);
 		log.setPrincipal(aid);
+		if (TokenManager.getToken() instanceof  Admin) {
+			log.setOperator(TokenManager.getAdminId());
+		}
 		orgCognizanceLogMapper.insert(log);
 		
 	}

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgFinanceServiceImpl.java

@@ -55,7 +55,7 @@ public class OrgFinanceServiceImpl  extends BaseMybatisDao<OrgFinanceMapper> imp
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgFinanceMapper.batchDeleteByPrimaryKey(id);
 	}
 

+ 2 - 2
src/main/java/com/goafanti/cognizance/service/impl/OrgHonorDatumServiceImpl.java

@@ -39,7 +39,7 @@ public class OrgHonorDatumServiceImpl extends BaseMybatisDao<OrgHonorDatumMapper
 	}
 
 	@Override
-	public OrgHonorDatum inset(OrgHonorDatum honor) {
+	public OrgHonorDatum insert(OrgHonorDatum honor) {
 		orgHonorDatumMapper.insert(honor);
 		return honor;
 	}
@@ -50,7 +50,7 @@ public class OrgHonorDatumServiceImpl extends BaseMybatisDao<OrgHonorDatumMapper
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgHonorDatumMapper.batchDeleteByPrimaryKey(id);
 	}
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgIntellectualPropertyServiceImpl.java

@@ -52,7 +52,7 @@ public class OrgIntellectualPropertyServiceImpl extends BaseMybatisDao<OrgIntell
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgIntellectualPropertyMapper.batchDeleteByPrimaryKey(id);
 	}
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgRatepayServiceImpl.java

@@ -55,7 +55,7 @@ public class OrgRatepayServiceImpl extends BaseMybatisDao<OrgRatepayMapper> impl
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgRatepayMapper.batchDeleteByPrimaryKey(id);
 	}
 

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgStandardServiceImpl.java

@@ -73,7 +73,7 @@ public class OrgStandardServiceImpl extends BaseMybatisDao<OrgStandardMapper> im
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		// TODO Auto-generated method stub
 		return orgStandardMapper.batchDeleteByPrimaryKey(id);
 	}

+ 2 - 2
src/main/java/com/goafanti/cognizance/service/impl/OrgTechAchievementServiceImpl.java

@@ -39,7 +39,7 @@ public class OrgTechAchievementServiceImpl extends BaseMybatisDao<OrgTechAchieve
 	}
 
 	@Override
-	public OrgTechAchievement inset(OrgTechAchievement achievement) {
+	public OrgTechAchievement insert(OrgTechAchievement achievement) {
 		orgTechAchievementMapper.insert(achievement);
 		return achievement;
 	}
@@ -50,7 +50,7 @@ public class OrgTechAchievementServiceImpl extends BaseMybatisDao<OrgTechAchieve
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgTechAchievementMapper.batchDeleteByPrimaryKey(id);
 	}
 }

+ 3 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgTechCenterDetailServiceImpl.java

@@ -25,6 +25,8 @@ public class OrgTechCenterDetailServiceImpl extends BaseMybatisDao<OrgTechCenter
 		
 		if (!StringUtils.isBlank(cid)){
 			params.put("cid", cid);
+		} else {
+			params.put("cid", "-1");
 		}
 
 		if (pageNo == null || pageNo < 0) {
@@ -50,7 +52,7 @@ public class OrgTechCenterDetailServiceImpl extends BaseMybatisDao<OrgTechCenter
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgTechCenterDetailMapper.batchDeleteByPrimaryKey(id);
 	}
 }

+ 1 - 1
src/main/java/com/goafanti/cognizance/service/impl/OrgTechProductServiceImpl.java

@@ -53,7 +53,7 @@ public class OrgTechProductServiceImpl extends BaseMybatisDao<OrgTechProductMapp
 	}
 
 	@Override
-	public int batchDeleteByPrimaryKey(List<String> id) {
+	public int deleteByPrimaryKey(List<String> id) {
 		return orgTechProductMapper.batchDeleteByPrimaryKey(id);
 	}
 }

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

@@ -33,6 +33,9 @@ public class BaseController {
 	@Value(value = "${static.host}")
 	private String staticHost = null;
 	
+	@Value(value = "${avatar.host}")
+	private String avatarHost = null;
+	
 	@Value(value = "${upload.path}")
 	private String uploadPath = null;
 	
@@ -77,6 +80,7 @@ public class BaseController {
 	protected Error buildErrorByMsg(String msg, Object... params) {
 		return new Error(MessageFormat.format(msg, params));
 	}
+	
 
 	@InitBinder
 	public void initBinder(WebDataBinder binder) {
@@ -89,6 +93,7 @@ public class BaseController {
 	public void prepareModel(HttpServletRequest request, Model model) {
 		
 		model.addAttribute("staticHost", staticHost);
+		model.addAttribute("avatarHost", avatarHost);
 		model.addAttribute("basePath", request.getContextPath());
 		model.addAttribute("uploadPath",uploadPath);
 		model.addAttribute("uploadPrivatePath",uploadPrivatePath);

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

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

+ 20 - 0
src/main/java/com/goafanti/common/dao/TechProjectMapper.java

@@ -0,0 +1,20 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.TechProject;
+import com.goafanti.techproject.bo.TechProjectDetailBo;
+
+public interface TechProjectMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(TechProject record);
+
+    int insertSelective(TechProject record);
+
+    TechProject selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(TechProject record);
+
+    int updateByPrimaryKey(TechProject record);
+
+	TechProjectDetailBo selectProjectDetail(String pid);
+}

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

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

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

@@ -177,7 +177,7 @@
 	<if test="uid != null">
 		and uid = #{uid,jdbcType=VARCHAR}
 	</if>
-	order by create_time desc
+	order by year desc
     <if test="page_sql != null">
     	${page_sql}
     </if>

+ 7 - 12
src/main/java/com/goafanti/common/mapper/OrgTechCenterDetailMapper.xml

@@ -128,13 +128,11 @@
   
    <select id="findOrgTechCenterDetailListByPage" parameterType="java.lang.String" resultMap="BaseResultMap">
   	 select 
-    <include refid="Base_Column_List" />
-    from org_tech_center_detail
-    where deleted_sign = 0
-    <if test="uid != null">
-	    and  cid = #{cid,jdbcType=VARCHAR}
-	</if>
-	order by project_time desc
+     d.id, d.cid, d.project_time , d.project_name , d.term_time,
+      d.institution, d.protocol_url , d.deleted_sign
+    from org_tech_center_detail d 
+    where d.deleted_sign = 0 and d.cid = #{cid,jdbcType=VARCHAR}
+	order by d.project_time desc
     <if test="page_sql != null">
     	${page_sql}
     </if>
@@ -142,11 +140,8 @@
   
   <select id="findOrgTechCenterDetailCount" resultType="java.lang.Integer" parameterType="String">
    	select count(1) 
-	    from org_tech_center_detail
-    where deleted_sign = 0
-	    <if test="cid != null">
-		    and  cid = #{cid,jdbcType=VARCHAR}
-		</if>
+	   from org_tech_center_detail d 
+    where d.deleted_sign = 0 and d.cid = #{cid,jdbcType=VARCHAR}
   </select>
   
   <update id="batchDeleteByPrimaryKey" parameterType="java.util.List">

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

@@ -34,7 +34,7 @@
   </delete>
   <insert id="insert" parameterType="com.goafanti.common.model.OrgTechCenter" >
     insert into org_tech_center (id, uid, center_name, founding_time, 
-      principal, system_url, deleted_sign, 
+      principal, comment, system_url, deleted_sign, 
       system_catalog)
     values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR}, #{centerName,jdbcType=VARCHAR}, #{foundingTime,jdbcType=TIMESTAMP}, 
       #{principal,jdbcType=VARCHAR}, #{comment,jdbcType=VARCHAR}, #{systemUrl,jdbcType=VARCHAR}, #{deletedSign,jdbcType=INTEGER}, 

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

@@ -416,12 +416,6 @@
     where id = #{id,jdbcType=VARCHAR}
   </update>
   
-   <select id="selectPatentInfoByUserId" parameterType="java.lang.String" resultMap="BaseResultMap">
-    select 
-      <include refid="Base_Column_List" />
-      from patent_info
-    where uid = #{uid,jdbcType=VARCHAR} and deleted_sign = 0
-  </select>
   
    <select id="findClientApplyListByPage" resultMap="BaseResultMap" parameterType="String">
  	select

+ 124 - 0
src/main/java/com/goafanti/common/mapper/TechProjectLogMapper.xml

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

+ 386 - 0
src/main/java/com/goafanti/common/mapper/TechProjectMapper.xml

@@ -0,0 +1,386 @@
+<?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.TechProjectMapper">
+	<resultMap id="BaseResultMap" type="com.goafanti.common.model.TechProject">
+		<id column="id" property="id" jdbcType="VARCHAR" />
+		<result column="uid" property="uid" jdbcType="VARCHAR" />
+		<result column="serial_number" property="serialNumber"
+			jdbcType="INTEGER" />
+		<result column="contacts" property="contacts" jdbcType="INTEGER" />
+		<result column="department" property="department" jdbcType="VARCHAR" />
+		<result column="dispatch_info" property="dispatchInfo"
+			jdbcType="VARCHAR" />
+		<result column="project_name" property="projectName" jdbcType="VARCHAR" />
+		<result column="project_catagory" property="projectCatagory"
+			jdbcType="VARCHAR" />
+		<result column="tech_field" property="techField" jdbcType="VARCHAR" />
+		<result column="project_des" property="projectDes" jdbcType="VARCHAR" />
+		<result column="project_mode" property="projectMode" jdbcType="INTEGER" />
+		<result column="project_approval" property="projectApproval"
+			jdbcType="DECIMAL" />
+		<result column="subsidy" property="subsidy" jdbcType="INTEGER" />
+		<result column="consultant" property="consultant" jdbcType="VARCHAR" />
+		<result column="approval_url" property="approvalUrl" jdbcType="VARCHAR" />
+		<result column="state" property="state" jdbcType="INTEGER" />
+		<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+		<result column="accept_date" property="acceptDate" jdbcType="TIMESTAMP" />
+		<result column="approved_date" property="approvedDate"
+			jdbcType="TIMESTAMP" />
+		<result column="record_time" property="recordTime" jdbcType="TIMESTAMP" />
+		<result column="deleted_sign" property="deletedSign" jdbcType="INTEGER" />
+	</resultMap>
+	<sql id="Base_Column_List">
+		id, uid, serial_number, contacts, department, dispatch_info,
+		project_name, project_catagory,
+		tech_field, project_des, project_mode, project_approval, subsidy, consultant,
+		approval_url,
+		state, create_time, accept_date, approved_date, record_time, deleted_sign
+	</sql>
+	<select id="selectByPrimaryKey" resultMap="BaseResultMap"
+		parameterType="java.lang.String">
+		select
+		<include refid="Base_Column_List" />
+		from tech_project
+		where id = #{id,jdbcType=VARCHAR}
+	</select>
+	<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+		delete from tech_project
+		where id = #{id,jdbcType=VARCHAR}
+	</delete>
+	<insert id="insert" parameterType="com.goafanti.common.model.TechProject">
+		insert into tech_project (id, uid, serial_number,
+		contacts, department, dispatch_info,
+		project_name, project_catagory, tech_field,
+		project_des, project_mode, project_approval,
+		subsidy, consultant, approval_url,
+		state, create_time, accept_date,
+		approved_date, record_time, deleted_sign
+		)
+		values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR},
+		#{serialNumber,jdbcType=INTEGER},
+		#{contacts,jdbcType=INTEGER}, #{department,jdbcType=VARCHAR}, #{dispatchInfo,jdbcType=VARCHAR},
+		#{projectName,jdbcType=VARCHAR}, #{projectCatagory,jdbcType=VARCHAR},
+		#{techField,jdbcType=VARCHAR},
+		#{projectDes,jdbcType=VARCHAR}, #{projectMode,jdbcType=INTEGER}, #{projectApproval,jdbcType=DECIMAL},
+		#{subsidy,jdbcType=INTEGER}, #{consultant,jdbcType=VARCHAR},
+		#{approvalUrl,jdbcType=VARCHAR},
+		#{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{acceptDate,jdbcType=TIMESTAMP},
+		#{approvedDate,jdbcType=TIMESTAMP}, #{recordTime,jdbcType=TIMESTAMP},
+		#{deletedSign,jdbcType=INTEGER}
+		)
+	</insert>
+	<insert id="insertSelective" parameterType="com.goafanti.common.model.TechProject">
+		insert into tech_project
+		<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="contacts != null">
+				contacts,
+			</if>
+			<if test="department != null">
+				department,
+			</if>
+			<if test="dispatchInfo != null">
+				dispatch_info,
+			</if>
+			<if test="projectName != null">
+				project_name,
+			</if>
+			<if test="projectCatagory != null">
+				project_catagory,
+			</if>
+			<if test="techField != null">
+				tech_field,
+			</if>
+			<if test="projectDes != null">
+				project_des,
+			</if>
+			<if test="projectMode != null">
+				project_mode,
+			</if>
+			<if test="projectApproval != null">
+				project_approval,
+			</if>
+			<if test="subsidy != null">
+				subsidy,
+			</if>
+			<if test="consultant != null">
+				consultant,
+			</if>
+			<if test="approvalUrl != null">
+				approval_url,
+			</if>
+			<if test="state != null">
+				state,
+			</if>
+			<if test="createTime != null">
+				create_time,
+			</if>
+			<if test="acceptDate != null">
+				accept_date,
+			</if>
+			<if test="approvedDate != null">
+				approved_date,
+			</if>
+			<if test="recordTime != null">
+				record_time,
+			</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="contacts != null">
+				#{contacts,jdbcType=INTEGER},
+			</if>
+			<if test="department != null">
+				#{department,jdbcType=VARCHAR},
+			</if>
+			<if test="dispatchInfo != null">
+				#{dispatchInfo,jdbcType=VARCHAR},
+			</if>
+			<if test="projectName != null">
+				#{projectName,jdbcType=VARCHAR},
+			</if>
+			<if test="projectCatagory != null">
+				#{projectCatagory,jdbcType=VARCHAR},
+			</if>
+			<if test="techField != null">
+				#{techField,jdbcType=VARCHAR},
+			</if>
+			<if test="projectDes != null">
+				#{projectDes,jdbcType=VARCHAR},
+			</if>
+			<if test="projectMode != null">
+				#{projectMode,jdbcType=INTEGER},
+			</if>
+			<if test="projectApproval != null">
+				#{projectApproval,jdbcType=DECIMAL},
+			</if>
+			<if test="subsidy != null">
+				#{subsidy,jdbcType=INTEGER},
+			</if>
+			<if test="consultant != null">
+				#{consultant,jdbcType=VARCHAR},
+			</if>
+			<if test="approvalUrl != null">
+				#{approvalUrl,jdbcType=VARCHAR},
+			</if>
+			<if test="state != null">
+				#{state,jdbcType=INTEGER},
+			</if>
+			<if test="createTime != null">
+				#{createTime,jdbcType=TIMESTAMP},
+			</if>
+			<if test="acceptDate != null">
+				#{acceptDate,jdbcType=TIMESTAMP},
+			</if>
+			<if test="approvedDate != null">
+				#{approvedDate,jdbcType=TIMESTAMP},
+			</if>
+			<if test="recordTime != null">
+				#{recordTime,jdbcType=TIMESTAMP},
+			</if>
+			<if test="deletedSign != null">
+				#{deletedSign,jdbcType=INTEGER},
+			</if>
+		</trim>
+	</insert>
+	<update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.TechProject">
+		update tech_project
+		<set>
+			<if test="uid != null">
+				uid = #{uid,jdbcType=VARCHAR},
+			</if>
+			<if test="serialNumber != null">
+				serial_number = #{serialNumber,jdbcType=INTEGER},
+			</if>
+			<if test="contacts != null">
+				contacts = #{contacts,jdbcType=INTEGER},
+			</if>
+			<if test="department != null">
+				department = #{department,jdbcType=VARCHAR},
+			</if>
+			<if test="dispatchInfo != null">
+				dispatch_info = #{dispatchInfo,jdbcType=VARCHAR},
+			</if>
+			<if test="projectName != null">
+				project_name = #{projectName,jdbcType=VARCHAR},
+			</if>
+			<if test="projectCatagory != null">
+				project_catagory = #{projectCatagory,jdbcType=VARCHAR},
+			</if>
+			<if test="techField != null">
+				tech_field = #{techField,jdbcType=VARCHAR},
+			</if>
+			<if test="projectDes != null">
+				project_des = #{projectDes,jdbcType=VARCHAR},
+			</if>
+			<if test="projectMode != null">
+				project_mode = #{projectMode,jdbcType=INTEGER},
+			</if>
+			<if test="projectApproval != null">
+				project_approval = #{projectApproval,jdbcType=DECIMAL},
+			</if>
+			<if test="subsidy != null">
+				subsidy = #{subsidy,jdbcType=INTEGER},
+			</if>
+			<if test="consultant != null">
+				consultant = #{consultant,jdbcType=VARCHAR},
+			</if>
+			<if test="approvalUrl != null">
+				approval_url = #{approvalUrl,jdbcType=VARCHAR},
+			</if>
+			<if test="state != null">
+				state = #{state,jdbcType=INTEGER},
+			</if>
+			<if test="createTime != null">
+				create_time = #{createTime,jdbcType=TIMESTAMP},
+			</if>
+			<if test="acceptDate != null">
+				accept_date = #{acceptDate,jdbcType=TIMESTAMP},
+			</if>
+			<if test="approvedDate != null">
+				approved_date = #{approvedDate,jdbcType=TIMESTAMP},
+			</if>
+			<if test="recordTime != null">
+				record_time = #{recordTime,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.TechProject">
+		update tech_project
+		set uid = #{uid,jdbcType=VARCHAR},
+		serial_number = #{serialNumber,jdbcType=INTEGER},
+		contacts = #{contacts,jdbcType=INTEGER},
+		department = #{department,jdbcType=VARCHAR},
+		dispatch_info = #{dispatchInfo,jdbcType=VARCHAR},
+		project_name = #{projectName,jdbcType=VARCHAR},
+		project_catagory = #{projectCatagory,jdbcType=VARCHAR},
+		tech_field = #{techField,jdbcType=VARCHAR},
+		project_des = #{projectDes,jdbcType=VARCHAR},
+		project_mode = #{projectMode,jdbcType=INTEGER},
+		project_approval = #{projectApproval,jdbcType=DECIMAL},
+		subsidy = #{subsidy,jdbcType=INTEGER},
+		consultant = #{consultant,jdbcType=VARCHAR},
+		approval_url = #{approvalUrl,jdbcType=VARCHAR},
+		state = #{state,jdbcType=INTEGER},
+		create_time = #{createTime,jdbcType=TIMESTAMP},
+		accept_date = #{acceptDate,jdbcType=TIMESTAMP},
+		approved_date = #{approvedDate,jdbcType=TIMESTAMP},
+		record_time = #{recordTime,jdbcType=TIMESTAMP},
+		deleted_sign = #{deletedSign,jdbcType=INTEGER}
+		where id = #{id,jdbcType=VARCHAR}
+	</update>
+
+	<select id="findTechProjectClientListByPage" parameterType="java.lang.String"
+		resultType="com.goafanti.techproject.bo.TechProjectClientListBo">
+	    select p.id, p.uid, i.location_province as province, 
+	        i.unit_name as unitName,  
+		    CONCAT(i.first_contacts,'  ', i.first_mobile) as firstContacts,
+		    CONCAT(i.second_contacts,'  ', i.second_mobile) as secondContacts,
+		    CONCAT(i.third_contacts,'  ', i.third_mobile) as thirdContacts, 
+		    p.serial_number as serialNumber, p.create_time as createTime, p.approved_date as approvedDate, 
+		    p.accept_date as acceptDate, a.name as consultant, p.contacts,
+		    p.project_name as projectName, p.project_catagory as projectCatagory, p.tech_field as techField, p.state
+	    FROM  tech_project p
+		LEFT JOIN organization_identity i on i.uid = p.uid
+		LEFT JOIN admin a on p.consultant = a.id 
+		where p.deleted_sign = 0 
+		<if test ="uid != null">
+	        and p.uid = #{uid,jdbcType=VARCHAR}
+	    </if>
+	    order by p.serial_number desc
+	    <if test="page_sql!=null">
+			${page_sql}
+		</if>
+	</select>
+	
+	<select id="findTechProjectClientCount" resultType="java.lang.Integer" parameterType="String">
+ 	select count(1)
+    FROM  tech_project p
+		LEFT JOIN organization_identity i on i.uid = p.uid
+		LEFT JOIN admin a on p.consultant = a.id 
+		where p.deleted_sign = 0 
+    <if test ="uid != null">
+        and p.uid = #{uid,jdbcType=VARCHAR}
+    </if>
+  </select>
+  
+  <select id ="findTechProjectManageListByPage" parameterType="java.lang.String" 
+     resultType="com.goafanti.techproject.bo.TechProjectManageListBo">
+  	 select p.id, p.uid, i.location_province as province, 
+	        i.unit_name as unitName,  
+		    CONCAT(i.first_contacts,'  ', i.first_mobile) as firstContacts,
+		    CONCAT(i.second_contacts,'  ', i.second_mobile) as secondContacts,
+		    CONCAT(i.third_contacts,'  ', i.third_mobile) as thirdContacts, 
+		    p.serial_number as serialNumber, p.create_time as createTime, p.approved_date as approvedDate, 
+		    p.accept_date as acceptDate, a.name as consultant, p.contacts,
+		    p.project_name as projectName, p.project_catagory as projectCatagory, p.tech_field as techField, p.state,
+        w.id as wid, w.website, w.account_number as accountNumber, w.department, w.password
+	  FROM  tech_project p
+		LEFT JOIN organization_identity i on i.uid = p.uid
+		LEFT JOIN admin a on p.consultant = a.id 
+    LEFT JOIN tech_website w on p.department = w.id 
+		where p.deleted_sign = 0 and w.deleted_sign = 0
+		 <if test="province != null">
+    	and i.location_province = #{province,jdbcType=VARCHAR}
+    </if>
+    <if test="uid != null" >
+    	and p.uid = #{uid,jdbcType=VARCHAR}
+    </if>
+    order by p.serial_number desc
+   <if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findTechProjectManageCount" resultType="java.lang.Integer" parameterType="String">
+ 	select count(1)
+    FROM  tech_project p
+		LEFT JOIN organization_identity i on i.uid = p.uid
+		LEFT JOIN admin a on p.consultant = a.id 
+   		 LEFT JOIN tech_website w on p.department = w.id 
+		where p.deleted_sign = 0 and w.deleted_sign = 0
+	 <if test="province != null">
+    	and i.location_province = #{province,jdbcType=VARCHAR}
+    </if>
+    <if test="uid != null" >
+    	and p.uid = #{uid,jdbcType=VARCHAR}
+    </if>
+  </select>
+  
+  <select id="selectProjectDetail" resultType="com.goafanti.techproject.bo.TechProjectDetailBo" parameterType="java.lang.String">
+  		 select 
+  		 p.id, p.uid, i.location_province as province, i.location_city as city, i.location_area as area,
+	        i.unit_name as unitName,  i.org_code as orgCode,
+		    p.serial_number as serialNumber,  
+		     a.name as consultant, p.contacts, p.project_des as projectDes, p.subsidy, p.dispatch_info as dispatchInfo,
+        p.project_mode as projectMode, p.project_approval as projectApproval, p.approval_url as approvalUrl , p.department,
+		    p.project_name as projectName, p.project_catagory as projectCatagory, p.tech_field as techField, p.state       
+	  FROM  tech_project p
+		LEFT JOIN organization_identity i on i.uid = p.uid
+		LEFT JOIN admin a on p.consultant = a.id 
+		where p.deleted_sign = 0  and p.id = #{uid,jdbcType=VARCHAR}
+  </select>
+</mapper>

+ 166 - 0
src/main/java/com/goafanti/common/mapper/TechWebsiteMapper.xml

@@ -0,0 +1,166 @@
+<?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.TechWebsiteMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.TechWebsite" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="uid" property="uid" jdbcType="VARCHAR" />
+    <result column="department" property="department" jdbcType="VARCHAR" />
+    <result column="website" property="website" jdbcType="VARCHAR" />
+    <result column="account_number" property="accountNumber" jdbcType="VARCHAR" />
+    <result column="password" property="password" jdbcType="VARCHAR" />
+    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="deleted_sign" property="deletedSign" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, uid, department, website, account_number, password, create_time, deleted_sign
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from tech_website
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from tech_website
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.TechWebsite" >
+    insert into tech_website (id, uid, department, 
+      website, account_number, password, 
+      create_time, deleted_sign)
+    values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR}, #{department,jdbcType=VARCHAR}, 
+      #{website,jdbcType=VARCHAR}, #{accountNumber,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
+      #{createTime,jdbcType=TIMESTAMP}, #{deletedSign,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.TechWebsite" >
+    insert into tech_website
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="uid != null" >
+        uid,
+      </if>
+      <if test="department != null" >
+        department,
+      </if>
+      <if test="website != null" >
+        website,
+      </if>
+      <if test="accountNumber != null" >
+        account_number,
+      </if>
+      <if test="password != null" >
+        password,
+      </if>
+      <if test="createTime != null" >
+        create_time,
+      </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="department != null" >
+        #{department,jdbcType=VARCHAR},
+      </if>
+      <if test="website != null" >
+        #{website,jdbcType=VARCHAR},
+      </if>
+      <if test="accountNumber != null" >
+        #{accountNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null" >
+        #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deletedSign != null" >
+        #{deletedSign,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.TechWebsite" >
+    update tech_website
+    <set >
+      <if test="uid != null" >
+        uid = #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="department != null" >
+        department = #{department,jdbcType=VARCHAR},
+      </if>
+      <if test="website != null" >
+        website = #{website,jdbcType=VARCHAR},
+      </if>
+      <if test="accountNumber != null" >
+        account_number = #{accountNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null" >
+        password = #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        create_time = #{createTime,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.TechWebsite" >
+    update tech_website
+    set uid = #{uid,jdbcType=VARCHAR},
+      department = #{department,jdbcType=VARCHAR},
+      website = #{website,jdbcType=VARCHAR},
+      account_number = #{accountNumber,jdbcType=VARCHAR},
+      password = #{password,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      deleted_sign = #{deletedSign,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+  <select id="selectTechWebsiteByUid" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from tech_website
+    where uid = #{uid,jdbcType=VARCHAR} and deleted_sign = 0
+  </select>
+  
+   <select id="findTechWebsiteListByPage" resultType="com.goafanti.techproject.bo.TechWebsiteListBo" parameterType="java.lang.String" >
+   select w.id, w.uid, i.unit_name as unitName, i.location_province as province, 
+		w.department, w.website, w.account_number as accountNumber,
+		w.password
+		from tech_website w 
+	LEFT JOIN organization_identity i on w.uid = i.uid where w.deleted_sign = 0 
+    <if test="province != null">
+    	and i.location_province = #{province,jdbcType=VARCHAR}
+    </if>
+    <if test="uid != null" >
+    	and w.uid = #{uid,jdbcType=VARCHAR}
+    </if>
+    order by w.create_time desc
+   <if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findTechWebsiteCount" resultType="java.lang.Integer" parameterType="String">
+  	select count(1)
+		from tech_website w 
+	LEFT JOIN organization_identity i on w.uid = i.uid 
+	where w.deleted_sign = 0 
+    <if test="province != null">
+    	and i.location_province = #{province,jdbcType=VARCHAR}
+    </if>
+    <if test="uid != null" >
+    	and w.uid = #{uid,jdbcType=VARCHAR}
+    </if>
+  </select>
+</mapper>

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

@@ -23,6 +23,7 @@
     <result column="number" jdbcType="INTEGER" property="number"/>
     <result column="type" jdbcType="INTEGER" property="type"/>
     <result column="person_portrait_url" jdbcType="VARCHAR" property="personPortraitUrl"/>
+    <result column="logo_url" jdbcType="VARCHAR" property="logoUrl"/>
   </resultMap>
   
   <resultMap type="com.goafanti.user.bo.UserDownLoadBo" id="UserDownLoadBo">
@@ -180,8 +181,9 @@
   </select>
   
   <select id="selectUserPageHomeBoByUserId" resultMap="UserPageHomeBo" parameterType="java.lang.String">
-   select u.lvl,u.nickname,u.email,u.number,u.type,i.person_portrait_url, o.logo_url ,i.id ,i.uid from user u LEFT JOIN user_info  i 
-   on u.id = i.uid 
+   select u.lvl,u.nickname,u.email,u.number,u.type,i.person_portrait_url, o.logo_url ,i.id ,u.id as uid 
+   from user u 
+   LEFT JOIN user_info  i on u.id = i.uid 
    LEFT JOIN organization_info o on u.id = o.uid where u.id = #{uid,jdbcType = VARCHAR}
   </select>
   

+ 276 - 0
src/main/java/com/goafanti/common/model/TechProject.java

@@ -0,0 +1,276 @@
+package com.goafanti.common.model;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public class TechProject {
+    private String id;
+
+    private String uid;
+
+    /**
+    * 编号
+    */
+    private Integer serialNumber;
+
+    /**
+    * 联系人
+    */
+    private Integer contacts;
+
+    /**
+    * 科技项目申报部门
+    */
+    private String department;
+
+    /**
+    * 派单信息
+    */
+    private String dispatchInfo;
+
+    /**
+    * 项目名称
+    */
+    private String projectName;
+
+    /**
+    * 项目类型
+    */
+    private String projectCatagory;
+
+    /**
+    * 技术领域
+    */
+    private String techField;
+
+    /**
+    * 项目简介
+    */
+    private String projectDes;
+
+    /**
+    * 是否立项
+    */
+    private Integer projectMode;
+
+    /**
+    * 立项金额
+    */
+    private BigDecimal projectApproval;
+
+    /**
+    * 是否补助
+    */
+    private Integer subsidy;
+
+    /**
+    * 咨询师
+    */
+    private String consultant;
+
+    /**
+    * 项目材料URL
+    */
+    private String approvalUrl;
+
+    /**
+    * 申报状态
+    */
+    private Integer state;
+
+    /**
+    * 派单日
+    */
+    private Date createTime;
+
+    /**
+    * 受理日
+    */
+    private Date acceptDate;
+
+    /**
+    * 项目批复日期
+    */
+    private Date approvedDate;
+
+    /**
+    * 记录创建日期
+    */
+    private Date recordTime;
+
+    /**
+    * 删除标记
+    */
+    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 Integer getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(Integer contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getDepartment() {
+        return department;
+    }
+
+    public void setDepartment(String department) {
+        this.department = department;
+    }
+
+    public String getDispatchInfo() {
+        return dispatchInfo;
+    }
+
+    public void setDispatchInfo(String dispatchInfo) {
+        this.dispatchInfo = dispatchInfo;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getProjectCatagory() {
+        return projectCatagory;
+    }
+
+    public void setProjectCatagory(String projectCatagory) {
+        this.projectCatagory = projectCatagory;
+    }
+
+    public String getTechField() {
+        return techField;
+    }
+
+    public void setTechField(String techField) {
+        this.techField = techField;
+    }
+
+    public String getProjectDes() {
+        return projectDes;
+    }
+
+    public void setProjectDes(String projectDes) {
+        this.projectDes = projectDes;
+    }
+
+    public Integer getProjectMode() {
+        return projectMode;
+    }
+
+    public void setProjectMode(Integer projectMode) {
+        this.projectMode = projectMode;
+    }
+
+    public BigDecimal getProjectApproval() {
+        return projectApproval;
+    }
+
+    public void setProjectApproval(BigDecimal projectApproval) {
+        this.projectApproval = projectApproval;
+    }
+
+    public Integer getSubsidy() {
+        return subsidy;
+    }
+
+    public void setSubsidy(Integer subsidy) {
+        this.subsidy = subsidy;
+    }
+
+    public String getConsultant() {
+        return consultant;
+    }
+
+    public void setConsultant(String consultant) {
+        this.consultant = consultant;
+    }
+
+    public String getApprovalUrl() {
+        return approvalUrl;
+    }
+
+    public void setApprovalUrl(String approvalUrl) {
+        this.approvalUrl = approvalUrl;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getAcceptDate() {
+        return acceptDate;
+    }
+
+    public void setAcceptDate(Date acceptDate) {
+        this.acceptDate = acceptDate;
+    }
+
+    public Date getApprovedDate() {
+        return approvedDate;
+    }
+
+    public void setApprovedDate(Date approvedDate) {
+        this.approvedDate = approvedDate;
+    }
+
+    public Date getRecordTime() {
+        return recordTime;
+    }
+
+    public void setRecordTime(Date recordTime) {
+        this.recordTime = recordTime;
+    }
+    
+    @JsonIgnore
+    public Integer getDeletedSign() {
+        return deletedSign;
+    }
+
+    public void setDeletedSign(Integer deletedSign) {
+        this.deletedSign = deletedSign;
+    }
+}

+ 90 - 0
src/main/java/com/goafanti/common/model/TechProjectLog.java

@@ -0,0 +1,90 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class TechProjectLog {
+    private String id;
+
+    private String pid;
+
+    /**
+    * 状态变更录入时间
+    */
+    private Date recordTime;
+
+    /**
+    * 状态
+    */
+    private Integer state;
+
+    /**
+    * 负责人
+    */
+    private String principal;
+
+    /**
+    * 操作人
+    */
+    private String operator;
+
+    /**
+    * 备注
+    */
+    private String comment;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public Date getRecordTime() {
+        return recordTime;
+    }
+
+    public void setRecordTime(Date recordTime) {
+        this.recordTime = recordTime;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    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;
+    }
+}

+ 103 - 0
src/main/java/com/goafanti/common/model/TechWebsite.java

@@ -0,0 +1,103 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class TechWebsite {
+    private String id;
+
+    private String uid;
+
+    /**
+    * 科技部门名称
+    */
+    private String department;
+
+    /**
+    * 网址
+    */
+    private String website;
+
+    /**
+    * 帐号
+    */
+    private String accountNumber;
+
+    /**
+    * 密码
+    */
+    private String password;
+
+    /**
+    * 创建日期
+    */
+    private Date createTime;
+
+    /**
+    * 删除标记
+    */
+    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 String getDepartment() {
+        return department;
+    }
+
+    public void setDepartment(String department) {
+        this.department = department;
+    }
+
+    public String getWebsite() {
+        return website;
+    }
+
+    public void setWebsite(String website) {
+        this.website = website;
+    }
+
+    public String getAccountNumber() {
+        return accountNumber;
+    }
+
+    public void setAccountNumber(String accountNumber) {
+        this.accountNumber = accountNumber;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Integer getDeletedSign() {
+        return deletedSign;
+    }
+
+    public void setDeletedSign(Integer deletedSign) {
+        this.deletedSign = deletedSign;
+    }
+}

+ 3 - 1
src/main/java/com/goafanti/patent/controller/PatentApiController.java

@@ -231,10 +231,12 @@ public class PatentApiController extends BaseApiController {
 	@RequestMapping(value = "/managePatentInfo", method = RequestMethod.POST)
 	public Result managePatentInfo(String patentNumber, String patentName, String patentCatagory, String patentField,
 			String patentDes, String patentWritingUrl, String authorizationNoticeUrl, String patentCertificateUrl,
-			String xid, PatentLog patentLog, String recordTimeFormattedDate) throws ParseException {
+			String xid, PatentLog patentLog, String recordTimeFormattedDate, Integer pState) throws ParseException {
 		Result res = new Result();
 		PatentInfo patentInfo = new PatentInfo();
 		patentInfo.setId(xid);
+		patentInfo.setPatentState(pState);
+		patentInfo.setPatentName(patentName);
 		patentInfo.setPatentNumber(patentNumber);
 		patentInfo.setPatentCatagory(StringUtils.isNumeric(patentCatagory) ? Integer.parseInt(patentCatagory) : null);
 		patentInfo.setPatentField(StringUtils.isNumeric(patentField) ? Integer.parseInt(patentField) : null);

+ 0 - 1
src/main/java/com/goafanti/patent/service/PatentInfoService.java

@@ -14,7 +14,6 @@ import com.goafanti.patent.bo.PatentPendingBo;
 
 public interface PatentInfoService {
 
-	PatentInfo selectPatentInfoByUserId(String userId);
 
 	PatentInfo insert(PatentInfo patentInfo);
 

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

@@ -18,13 +18,13 @@ import com.goafanti.common.dao.PatentInfoMapper;
 import com.goafanti.common.dao.PatentLogMapper;
 import com.goafanti.common.dao.PatentRegistrationMapper;
 import com.goafanti.common.dao.UserMapper;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.OrgIntellectualProperty;
 import com.goafanti.common.model.PatentCost;
 import com.goafanti.common.model.PatentInfo;
 import com.goafanti.common.model.PatentLog;
 import com.goafanti.common.model.PatentRegistration;
 import com.goafanti.common.utils.DateUtils;
-import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -48,10 +48,6 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 	@Autowired
 	OrgIntellectualPropertyMapper	orgIntellectualPropertyMapper;
 
-	@Override
-	public PatentInfo selectPatentInfoByUserId(String uid) {
-		return patentInfoMapper.selectPatentInfoByUserId(uid);
-	}
 
 	@Override
 	public PatentInfo insert(PatentInfo patentInfo) {
@@ -310,13 +306,16 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 		log.setRecordTime(patentInfo.getCreateTime());
 		log.setState(1);
 		log.setPrincipal(aid);
+		if (TokenManager.getToken() instanceof  Admin) {
+			log.setOperator(TokenManager.getAdminId());
+		}
 		patentLogMapper.insert(log);
 		return patentInfo;
 	}
 
 	@Override
 	public void updatePatentInfo(PatentInfo patentInfo, PatentLog patentLog, Date recordTime) {
-		if (!StringUtils.isBlank(patentLog.getPrincipal())) {
+		if (null != patentLog.getState() && recordTime != null) {
 			switch (patentLog.getState()) {
 			case 2:
 				patentInfo.setCreateTime(recordTime);
@@ -329,7 +328,7 @@ public class PatentInfoServiceImpl extends BaseMybatisDao<PatentInfoMapper> impl
 				break;
 			}
 			patentInfo.setPatentState(patentLog.getState());
-			patentInfo.setPrincipal(patentLog.getPrincipal());
+			patentInfo.setPrincipal(null == patentLog.getPrincipal() ? "" : patentLog.getPrincipal());
 			patentLog.setPid(patentInfo.getId());
 			patentLog.setId(UUID.randomUUID().toString());
 			patentLog.setRecordTime(recordTime);

+ 221 - 0
src/main/java/com/goafanti/techproject/bo/TechProjectClientListBo.java

@@ -0,0 +1,221 @@
+package com.goafanti.techproject.bo;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+/**
+ * 用户科技申报项目列表
+ */
+public class TechProjectClientListBo {
+	private String id;
+	
+	private String uid;
+	
+	private Integer serialNumber;
+	
+	private String province;
+	
+	private Integer contacts;
+	
+	private String unitName;
+	
+	private String projectName;
+	
+	private String projectCatagory;
+	
+	private String techField;
+	
+	private Integer state;
+	
+	private Date createTime;
+	
+	private String consultant;
+	
+	private Date acceptDate;
+	
+	private Date approvedDate;
+	
+	private String firstContacts;
+	
+	private String secondContacts;
+	
+	private String thirdContacts;
+
+	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 getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public Integer getContacts() {
+		return contacts;
+	}
+
+	public void setContacts(Integer contacts) {
+		this.contacts = contacts;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public String getProjectName() {
+		return projectName;
+	}
+
+	public void setProjectName(String projectName) {
+		this.projectName = projectName;
+	}
+
+	public String getProjectCatagory() {
+		return projectCatagory;
+	}
+
+	public void setProjectCatagory(String projectCatagory) {
+		this.projectCatagory = projectCatagory;
+	}
+
+	public String getTechField() {
+		return techField;
+	}
+
+	public void setTechField(String techField) {
+		this.techField = techField;
+	}
+
+	public Integer getState() {
+		return state;
+	}
+
+	public void setState(Integer state) {
+		this.state = state;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+    
+	public String getConsultant() {
+		return consultant;
+	}
+
+	public void setConsultant(String consultant) {
+		this.consultant = consultant;
+	}
+
+	public Date getAcceptDate() {
+		return acceptDate;
+	}
+
+	public void setAcceptDate(Date acceptDate) {
+		this.acceptDate = acceptDate;
+	}
+
+	public Date getApprovedDate() {
+		return approvedDate;
+	}
+
+	public void setApprovedDate(Date approvedDate) {
+		this.approvedDate = approvedDate;
+	}
+	
+	
+	
+	public String getFirstContacts() {
+		return firstContacts;
+	}
+
+	public void setFirstContacts(String firstContacts) {
+		this.firstContacts = firstContacts;
+	}
+
+	public String getSecondContacts() {
+		return secondContacts;
+	}
+
+	public void setSecondContacts(String secondContacts) {
+		this.secondContacts = secondContacts;
+	}
+
+	public String getThirdContacts() {
+		return thirdContacts;
+	}
+
+	public void setThirdContacts(String thirdContacts) {
+		this.thirdContacts = thirdContacts;
+	}
+
+	public String getCreateTimeFormattedDate(){
+		if (this.createTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getCreateTime(), "yyyy-MM-dd");
+		}
+	}
+	
+	public void setCreateTimeFormattedDate(String createTimeFormattedDate){
+		
+	}
+	
+	public String getAcceptDateFormattedDate(){
+		if (this.acceptDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getAcceptDate(), "yyyy-MM-dd");
+		}
+	}
+	
+	public void setAcceptDateFormattedDate(String acceptDateFormattedDate){
+		
+	}
+	
+	public String getApprovedDateFormattedDate(){
+		if (this.approvedDate == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getApprovedDate(), "yyyy-MM-dd");
+		}
+	}
+	
+	public void setApprovedDateFormattedDate(String approvedDateFormattedDate){
+		
+	}
+
+
+}

+ 60 - 0
src/main/java/com/goafanti/techproject/bo/TechProjectDetailBo.java

@@ -0,0 +1,60 @@
+package com.goafanti.techproject.bo;
+
+import com.goafanti.common.model.TechProject;
+/**
+ * 科技项目详情
+ */
+public class TechProjectDetailBo extends TechProject {
+	private String orgName;
+	
+	private String orgCode;
+	
+	private String province;
+	
+	private String city;
+	
+	private String area;
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public String getCity() {
+		return city;
+	}
+
+	public void setCity(String city) {
+		this.city = city;
+	}
+
+	public String getArea() {
+		return area;
+	}
+
+	public void setArea(String area) {
+		this.area = area;
+	}
+	
+	
+
+}

+ 50 - 0
src/main/java/com/goafanti/techproject/bo/TechProjectManageListBo.java

@@ -0,0 +1,50 @@
+package com.goafanti.techproject.bo;
+/**
+ * 科技申报项目
+ */
+public class TechProjectManageListBo extends TechProjectClientListBo {
+	private String wid;
+	
+	private String website;
+	
+	private String accountNumber;
+	
+	private String password;
+	
+	public String getWid() {
+		return wid;
+	}
+
+	public void setWid(String wid) {
+		this.wid = wid;
+	}
+
+	public String getWebsite() {
+		return website;
+	}
+
+	public void setWebsite(String website) {
+		this.website = website;
+	}
+
+	public String getAccountNumber() {
+		return accountNumber;
+	}
+
+	public void setAccountNumber(String accountNumber) {
+		this.accountNumber = accountNumber;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	
+	
+	
+	
+}

+ 85 - 0
src/main/java/com/goafanti/techproject/bo/TechWebsiteListBo.java

@@ -0,0 +1,85 @@
+package com.goafanti.techproject.bo;
+
+public class TechWebsiteListBo {
+	private String id;
+	
+	private String uid;
+	
+	private String unitName;
+	
+	private String province;
+	
+	private String department;
+	
+	private String website;
+	
+	private String accountNumber;
+	
+	private String password;
+
+	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 getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+
+	public String getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public String getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(String department) {
+		this.department = department;
+	}
+
+	public String getWebsite() {
+		return website;
+	}
+
+	public void setWebsite(String website) {
+		this.website = website;
+	}
+
+	public String getAccountNumber() {
+		return accountNumber;
+	}
+
+	public void setAccountNumber(String accountNumber) {
+		this.accountNumber = accountNumber;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+	
+	
+}

+ 117 - 0
src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java

@@ -0,0 +1,117 @@
+package com.goafanti.techproject.controller;
+
+
+
+import java.text.ParseException;
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.model.TechProject;
+import com.goafanti.common.model.TechProjectLog;
+import com.goafanti.common.utils.DateUtils;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.techproject.service.TechProjectLogService;
+import com.goafanti.techproject.service.TechProjectService;
+import com.goafanti.techproject.service.TechWebsiteService;
+
+@Controller
+@RequestMapping(value = "/api/techproject")
+public class TechProjectApiController extends BaseApiController{
+	@Resource
+	private TechProjectService techProjectService;
+	@Resource
+	private TechWebsiteService techWebsiteService;
+	@Resource
+	private TechProjectLogService techProjectLogService;
+	
+	/**
+	 * 科技项目申报列表
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value = "/listClientTechProject", method = RequestMethod.POST)
+	public Result listClientTechProject(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(techProjectService.listClientTechProject(TokenManager.getUserId(), pNo, pSize));
+		return res;
+	}
+	
+	
+	
+	/**
+	 * 科技项目申报
+	 * @return
+	 */
+	@RequestMapping(value = "/applyTechProject", method = RequestMethod.POST)
+	public Result applyTechProject(TechProject techProject){
+		Result res = new Result();
+		techProjectService.saveTechProject(techProject, TokenManager.getUserId(), TokenManager.getToken().getAid());
+		return res;
+		
+	}
+	
+	/**
+	 * 科技项目申报详情
+	 * @return
+	 */
+	@RequestMapping(value = "/techProjectDetial", method = RequestMethod.POST)
+	public Result techProjectDetial(String pid){
+		Result res = new Result();
+		res.setData(techProjectService.selectProjectDetail(pid));
+		return res;
+	}
+	
+	
+	/**
+	 * 科技项目状态流转
+	 * @param pid
+	 * @return
+	 */
+	@RequestMapping(value = "/techProjectLog", method = RequestMethod.POST)
+	public Result techProjectLog(String pid){
+		Result res = new Result();
+		res.setData(techProjectLogService.selectTechProjectLogByPid(pid));
+		return res;
+	}
+	
+	/**
+	 * update科技项目 
+	 * @param t
+	 * @param l
+	 * @param recordTimeFormattedDate
+	 * @return
+	 * @throws ParseException
+	 */
+	@RequestMapping(value = "/updateTechProject", method = RequestMethod.POST)
+	public Result updateTechProject(TechProject t, TechProjectLog l, String recordTimeFormattedDate) throws ParseException{
+		Result res = new Result();
+		Date recordTime =null;
+		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
+			recordTime = DateUtils.parseDate(recordTimeFormattedDate, "yyyy-MM-dd");
+		}
+		res.setData(techProjectService.updateTechProject(t, l, recordTime));
+		return res;
+	}
+	
+	
+	
+	
+
+}

+ 11 - 0
src/main/java/com/goafanti/techproject/service/TechProjectLogService.java

@@ -0,0 +1,11 @@
+package com.goafanti.techproject.service;
+
+import java.util.List;
+
+import com.goafanti.common.model.TechProjectLog;
+
+public interface TechProjectLogService {
+
+	List<TechProjectLog> selectTechProjectLogByPid(String pid);
+
+}

+ 24 - 0
src/main/java/com/goafanti/techproject/service/TechProjectService.java

@@ -0,0 +1,24 @@
+package com.goafanti.techproject.service;
+
+import java.util.Date;
+
+import com.goafanti.common.model.TechProject;
+import com.goafanti.common.model.TechProjectLog;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.techproject.bo.TechProjectClientListBo;
+import com.goafanti.techproject.bo.TechProjectDetailBo;
+import com.goafanti.techproject.bo.TechProjectManageListBo;
+
+public interface TechProjectService {
+
+	Pagination<TechProjectClientListBo> listClientTechProject(String userId, Integer pNo, Integer pSize);
+
+	int updateTechProject(TechProject t, TechProjectLog l, Date recordTime);
+
+	void saveTechProject(TechProject techProject, String uid, String aid);
+
+	Pagination<TechProjectManageListBo> listManageTechProject(String province, String uid, Integer pNo, Integer pSize);
+
+	TechProjectDetailBo selectProjectDetail(String pid);
+
+}

+ 16 - 0
src/main/java/com/goafanti/techproject/service/TechWebsiteService.java

@@ -0,0 +1,16 @@
+package com.goafanti.techproject.service;
+
+import java.util.Map;
+
+import com.goafanti.common.model.TechWebsite;
+import com.goafanti.core.mybatis.page.Pagination;
+
+public interface TechWebsiteService {
+
+	Map<String, String> getDepartment(String uid);
+
+	Pagination<TechWebsite> listTechWebsite(String province, String uid, Integer pNo, Integer pSize);
+
+	int saveWebsite(TechWebsite t);
+
+}

+ 21 - 0
src/main/java/com/goafanti/techproject/service/impl/TechProjectLogServiceImpl.java

@@ -0,0 +1,21 @@
+package com.goafanti.techproject.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.TechProjectLogMapper;
+import com.goafanti.common.model.TechProjectLog;
+import com.goafanti.techproject.service.TechProjectLogService;
+@Service
+public class TechProjectLogServiceImpl implements TechProjectLogService {
+    @Autowired
+    private TechProjectLogMapper techProjectLogMapper;
+	
+	@Override
+	public List<TechProjectLog> selectTechProjectLogByPid(String pid) {
+		return techProjectLogMapper.selectTechProjectLogByPid(pid);
+	}
+
+}

+ 125 - 0
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -0,0 +1,125 @@
+package com.goafanti.techproject.service.impl;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.TechProjectLogMapper;
+import com.goafanti.common.dao.TechProjectMapper;
+import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.TechProject;
+import com.goafanti.common.model.TechProjectLog;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.techproject.bo.TechProjectClientListBo;
+import com.goafanti.techproject.bo.TechProjectDetailBo;
+import com.goafanti.techproject.bo.TechProjectManageListBo;
+import com.goafanti.techproject.service.TechProjectService;
+@Service
+public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> implements TechProjectService {
+	@Autowired
+	private TechProjectMapper techProjectMapper;
+	@Autowired
+	private TechProjectLogMapper techProjectLogMapper;
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<TechProjectClientListBo> listClientTechProject(String uid, Integer pageNo, Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
+		
+		params.put("uid", uid);
+
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 10;
+		}
+		return (Pagination<TechProjectClientListBo>)findPage("findTechProjectClientListByPage",
+				"findTechProjectClientCount", params, pageNo, pageSize);
+	}
+
+	@Override
+	public int updateTechProject(TechProject t, TechProjectLog log, Date recordTime) {
+		if (null != recordTime && null != log.getState()) {
+			log.setId(UUID.randomUUID().toString());
+			log.setPid(t.getId());
+			log.setRecordTime(recordTime);
+			switch (log.getState()) {
+			case 1:
+				t.setCreateTime(recordTime);
+				break;
+			case 2:
+				t.setAcceptDate(recordTime);
+				break;
+			case 5:
+				t.setApprovedDate(recordTime);
+				break;
+			}
+			t.setState(log.getState());
+			techProjectLogMapper.insert(log);
+		}
+		
+		return techProjectMapper.updateByPrimaryKey(t);
+	}
+
+	@Override
+	public void saveTechProject(TechProject techProject, String uid, String aid) {
+		techProject.setId(UUID.randomUUID().toString());
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.MILLISECOND, 0);
+		techProject.setRecordTime(now.getTime());
+		techProject.setState(0);
+		techProject.setDeletedSign(0);
+	    techProjectMapper.insert(techProject);
+		
+		TechProjectLog log = new TechProjectLog();
+		log.setId(UUID.randomUUID().toString());
+		log.setPid(techProject.getId());
+		log.setRecordTime(techProject.getRecordTime());
+		log.setPrincipal(aid);
+		log.setState(0);
+		if (TokenManager.getToken() instanceof  Admin) {
+			log.setOperator(TokenManager.getAdminId());
+		}
+		techProjectLogMapper.insert(log);
+		
+		
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<TechProjectManageListBo> listManageTechProject(String province, String uid, Integer pageNo,
+			Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
+		if (!StringUtils.isBlank(province)){
+			params.put("province", province);
+		}
+		if (!StringUtils.isBlank(uid)){
+			params.put("uid", uid);
+		}
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 10;
+		}
+		return (Pagination<TechProjectManageListBo>)findPage("findTechProjectManageListByPage",
+				"findTechProjectManageCount", params, pageNo, pageSize);
+	}
+
+	@Override
+	public TechProjectDetailBo selectProjectDetail(String pid) {
+		return techProjectMapper.selectProjectDetail(pid);
+	}
+
+}

+ 73 - 0
src/main/java/com/goafanti/techproject/service/impl/TechWebsiteServiceImpl.java

@@ -0,0 +1,73 @@
+package com.goafanti.techproject.service.impl;
+
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.TechWebsiteMapper;
+import com.goafanti.common.model.TechWebsite;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.techproject.service.TechWebsiteService;
+
+@Service
+public class TechWebsiteServiceImpl extends BaseMybatisDao<TechWebsiteMapper> implements TechWebsiteService {
+	@Autowired
+	private TechWebsiteMapper techWebsiteMapper;
+
+	@Override
+	public Map<String, String> getDepartment(String uid) {
+		Map<String, String> map = new TreeMap<String, String>();
+		List<TechWebsite> list = techWebsiteMapper.selectTechWebsiteByUid(uid);
+		if (null != list && 0 != list.size()) {
+			for (TechWebsite t : list) {
+				map.put(t.getId(), t.getDepartment());
+			}
+		}
+		return map;
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<TechWebsite> listTechWebsite(String province, String uid, Integer pageNo, Integer pageSize) {
+		Map<String, Object> params = new HashMap<>();
+		if (!StringUtils.isBlank(province)) {
+			params.put("province", province);
+		}
+		if (!StringUtils.isBlank(uid)) {
+			params.put("uid", uid);
+		}
+
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 10;
+		}
+		return (Pagination<TechWebsite>) findPage("findTechWebsiteListByPage", "findTechWebsiteCount", params, pageNo,
+				pageSize);
+	}
+
+	@Override
+	public int saveWebsite(TechWebsite t) {
+		if (StringUtils.isBlank(t.getId())) {
+			t.setId(UUID.randomUUID().toString());
+			t.setDeletedSign(0);
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
+			t.setCreateTime(now.getTime());
+			return techWebsiteMapper.insert(t);
+		} else {
+			return techWebsiteMapper.updateByPrimaryKeySelective(t);
+		}
+		
+	}
+}

+ 38 - 41
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import com.goafanti.cognizance.service.OrgRatepayService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
@@ -37,6 +38,7 @@ import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.techproject.service.TechWebsiteService;
 import com.goafanti.user.bo.OrgIdentityBo;
 import com.goafanti.user.bo.OrgProBo;
 import com.goafanti.user.bo.UidAndTypeBo;
@@ -83,6 +85,10 @@ public class UserApiController extends BaseApiController {
 	private OrganizationPropertiesService	organizationPropertiesService;
 	@Resource
 	private OrgHumanResourceService			orgHumanResourceService;
+	@Resource
+	private TechWebsiteService  techWebsiteService;
+	@Resource
+	private OrgRatepayService  orgRatepayService;
 
 	/**
 	 * 修改密码
@@ -717,15 +723,15 @@ public class UserApiController extends BaseApiController {
 			if (0 != (u.getAmountMoney().compareTo(userIdentity.getAmountMoney()))) {
 				int t = 3 - u.getWrongCount() - 1;
 				u.setWrongCount(u.getWrongCount() + 1);
-				userIdentityService.updateByPrimaryKeySelective(u);
+				
 				if (0 == t) {
 					u.setAuditStatus(4);
 					u.setProcess(5);
-					userIdentityService.updateByPrimaryKeySelective(u);
 					res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				} else {
 					res.getError().add(buildError("", "输入打款金额错误,您还有" + t + "次机会"));
 				}
+				userIdentityService.updateByPrimaryKeySelective(u);
 				return res;
 			}
 			userIdentity.setAuditStatus(5);
@@ -752,19 +758,22 @@ public class UserApiController extends BaseApiController {
 	@RequestMapping(value = "/orgNextPro", method = RequestMethod.POST)
 	public Result orgNextProcess(OrganizationIdentity orgIdentity, String listedDateFormattedDate, String verificationCode) throws ParseException {
 		Result res = new Result();
-		if (!StringUtils.isBlank(listedDateFormattedDate)){
-			orgIdentity.setListedDate(DateUtils.parseDate(listedDateFormattedDate, "yyyy-MM-dd"));
-		}
 		if (1 == orgIdentity.getProcess()) {
 			if (!TokenManager.getSession().getAttribute(VerifyCodeUtils.V_CODE).equals(verificationCode)) {
 				res.getError().add(buildError(ErrorConstants.VCODE_ERROR, "验证码错误"));
 				return res;
 			}
+			if (!StringUtils.isBlank(listedDateFormattedDate)){
+				orgIdentity.setListedDate(DateUtils.parseDate(listedDateFormattedDate, "yyyy-MM-dd"));
+			}
+			/*res.setData(organizationIdentityService.saveLastYearTaxReprotUrl(orgIdentity, TokenManager.getUserId()));
+			return res;*/
 		}
 		if (3 == orgIdentity.getProcess()) {
 			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
 			o.setAuditStatus(1);
 			organizationIdentityService.updateByPrimaryKeySelective(o);
+			return res;
 		}
 		if (5 == orgIdentity.getProcess()) {
 			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
@@ -784,15 +793,14 @@ public class UserApiController extends BaseApiController {
 			if (0 != (o.getValidationAmount().compareTo(orgIdentity.getValidationAmount()))) {
 				int t = 3 - o.getWrongCount() - 1;
 				o.setWrongCount(o.getWrongCount() + 1);
-				organizationIdentityService.updateByPrimaryKeySelective(o);
 				if (0 == t) {
 					o.setAuditStatus(4);
-					o.setProcess(5);
-					organizationIdentityService.updateByPrimaryKeySelective(o);
+					o.setProcess(6);
 					res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				} else {
 					res.getError().add(buildError("", "输入打款金额错误,您还有" + t + "次机会"));
 				}
+				organizationIdentityService.updateByPrimaryKeySelective(o);
 				return res;
 			}
 			orgIdentity.setAuditStatus(5);
@@ -835,6 +843,18 @@ public class UserApiController extends BaseApiController {
 	}
 	
 	
+	/**
+	 * 获取科技部门
+	 * @return
+	 */
+	@RequestMapping(value = "/getDepartment", method = RequestMethod.POST)
+	public Result getDepartment(String uid){
+		Result res = new Result();
+		 res.setData(techWebsiteService.getDepartment(null == uid ? TokenManager.getUserId() : uid));
+		 return res;
+	}
+	
+	
 
 	// 认证失败清除相关认证信息
 	private Result dealFaild(Result res) {
@@ -844,7 +864,9 @@ public class UserApiController extends BaseApiController {
 			user.setId(u.getId());
 			user.setUid(u.getUid());
 			user.setProcess(0);
+			user.setWrongCount(0);
 			user.setAmountMoney(new BigDecimal(0));
+			user.setAuditStatus(0);
 			res.setData(userIdentityService.updateByPrimaryKey(user));
 		} else {
 			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
@@ -852,6 +874,8 @@ public class UserApiController extends BaseApiController {
 			org.setId(o.getId());
 			org.setUid(o.getUid());
 			org.setProcess(0);
+			org.setWrongCount(0);
+			org.setAuditStatus(0);
 			org.setValidationAmount(new BigDecimal(0));
 			res.setData(organizationIdentityService.updateByPrimaryKey(org));
 		}
@@ -860,42 +884,13 @@ public class UserApiController extends BaseApiController {
 
 	// orgProcess
 	private Result dealOrgProcess(Result res, OrganizationIdentity o, String uid) {
-		OrganizationIdentity org = organizationIdentityService.selectOrgIdentityByUserId(uid);
-		if (null == org) {
-			o.setId(UUID.randomUUID().toString());
-			o.setUid(uid);
-			res.setData(organizationIdentityService.insert(o));
-		} else {
-			o.setId(org.getId());
-			res.setData(organizationIdentityService.updateByPrimaryKeySelective(o));
-			if (5 == o.getAuditStatus()){
-				User u = new User();
-				u.setId(organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId()).getUid());
-				u.setLvl(1);;
-				userService.updateByPrimaryKeySelective(u);
-			}
-		}
+		res.setData(organizationIdentityService.saveOrgIndentityProcess(res, o, uid));
 		return res;
 	}
 
 	// userProcess
-	private Result dealUserProcess(Result res, UserIdentity userIdentity, String uid) {
-		UserIdentity identity = userIdentityService.selectUserIdentityByUserId(uid);
-		if (null == identity) {
-			userIdentity.setId(UUID.randomUUID().toString());
-			userIdentity.setUid(uid);
-			userIdentity.setWrongCount(0);
-			res.setData(userIdentityService.insert(userIdentity));
-		} else {
-			userIdentity.setId(identity.getId());
-			res.setData(userIdentityService.updateByPrimaryKeySelective(userIdentity));
-			if (5 == userIdentity.getAuditStatus()){
-				User u = new User();
-				u.setId(userIdentityService.selectUserIdentityByUserId(TokenManager.getUserId()).getUid());
-				u.setLvl(1);;
-				userService.updateByPrimaryKeySelective(u);
-			}
-		}
+	private Result dealUserProcess(Result res, UserIdentity u, String uid) {
+		res.setData(userIdentityService.saveUserIdentityProcess(res, u, uid));
 		return res;
 	}
 
@@ -916,9 +911,11 @@ public class UserApiController extends BaseApiController {
 	
 	// 判断用户是否通过认证
 		private Result checkCertify(Result res) {
-			if (5 != organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId()).getAuditStatus()) {
+			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
+			if (null == o || 5 != o.getAuditStatus()) {
 				res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
 			}
+			
 			return res;
 		}
 	

+ 2 - 3
src/main/java/com/goafanti/user/controller/UserRegisterController.java

@@ -75,11 +75,9 @@ public class UserRegisterController extends BaseController {
 		} else if (StringUtils.isBlank(user.getPassword())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "密码"));
 		} else {
-			User u = userService.selectByMobieAndType(user.getMobile(), user.getType());
+			User u = userService.selectByMobieAndType(user.getMobile().trim(), user.getType());
 			if (null != u) {
-				if (u.getMobile().equals(user.getMobile()) && u.getType() == user.getType()) {
 					res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户名已存在"));
-				}
 			}
 		}
 		if (res.getError().isEmpty()) {
@@ -99,5 +97,6 @@ public class UserRegisterController extends BaseController {
 
 		return res;
 	}
+	
 
 }

+ 7 - 0
src/main/java/com/goafanti/user/service/OrganizationIdentityService.java

@@ -3,6 +3,7 @@ package com.goafanti.user.service;
 import java.util.List;
 import java.util.Map;
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.model.OrganizationIdentity;
 import com.goafanti.user.bo.OrgIdentityBo;
 
@@ -23,6 +24,12 @@ public interface OrganizationIdentityService {
 	Map<String, String> selectContactsByUserId(String uid);
 
 
+
+	int saveOrgIndentityProcess(Result res, OrganizationIdentity o, String uid);
+
+	int updateOrgDetail(OrganizationIdentity orgIdentity);
+
+
 	
 
 }

+ 5 - 0
src/main/java/com/goafanti/user/service/UserIdentityService.java

@@ -1,5 +1,6 @@
 package com.goafanti.user.service;
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.model.UserIdentity;
 import com.goafanti.user.bo.UserIdentityBo;
 
@@ -15,5 +16,9 @@ public interface UserIdentityService {
 
 	int updateByPrimaryKey(UserIdentity u);
 
+	int  saveUserIdentityProcess(Result res, UserIdentity u, String uid);
+
+	int updateUserDetail(UserIdentity userIdentity);
+
 
 }

+ 80 - 15
src/main/java/com/goafanti/user/service/impl/OrganizationIdentityServiceImpl.java

@@ -1,25 +1,36 @@
 package com.goafanti.user.service.impl;
 
-
+import java.util.Calendar;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
+import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.dao.OrgRatepayMapper;
 import com.goafanti.common.dao.OrganizationIdentityMapper;
+import com.goafanti.common.dao.UserMapper;
+import com.goafanti.common.model.OrgRatepay;
 import com.goafanti.common.model.OrganizationIdentity;
+import com.goafanti.common.model.User;
 import com.goafanti.core.mybatis.BaseMybatisDao;
-import com.goafanti.user.bo.OrgIdentityBo;	
+import com.goafanti.user.bo.OrgIdentityBo;
 import com.goafanti.user.service.OrganizationIdentityService;
 
 @Service
-public class OrganizationIdentityServiceImpl extends BaseMybatisDao<OrganizationIdentityMapper> implements OrganizationIdentityService{
-    @Autowired
-    OrganizationIdentityMapper organizationIdentityMapper;
-    
+public class OrganizationIdentityServiceImpl extends BaseMybatisDao<OrganizationIdentityMapper>
+		implements OrganizationIdentityService {
+	@Autowired
+	OrganizationIdentityMapper	organizationIdentityMapper;
+	@Autowired
+	OrgRatepayMapper			orgRatepayMapper;
+	@Autowired
+	UserMapper					userMapper;
+
 	@Override
 	public OrganizationIdentity insert(OrganizationIdentity organizationIdentity) {
 		organizationIdentityMapper.insert(organizationIdentity);
@@ -55,20 +66,74 @@ public class OrganizationIdentityServiceImpl extends BaseMybatisDao<Organization
 	public Map<String, String> selectContactsByUserId(String uid) {
 		OrganizationIdentity i = organizationIdentityMapper.selectOrgIdentityByUserId(uid);
 		Map<String, String> map = new TreeMap<String, String>();
-		if (!StringUtils.isBlank(i.getFirstContacts()) && !StringUtils.isBlank(i.getFirstMobile())) {
-			map.put("1", i.getFirstContacts() + "  " + i.getFirstMobile());
-		}
+		if (null != i) {
+			if (!StringUtils.isBlank(i.getFirstContacts()) && !StringUtils.isBlank(i.getFirstMobile())) {
+				map.put("1", i.getFirstContacts() + "  " + i.getFirstMobile());
+			}
 
-		if (!StringUtils.isBlank(i.getSecondContacts()) && !StringUtils.isBlank(i.getSecondMobile())) {
-			map.put("2", i.getSecondContacts() + "  " + i.getSecondMobile());
-		}
+			if (!StringUtils.isBlank(i.getSecondContacts()) && !StringUtils.isBlank(i.getSecondMobile())) {
+				map.put("2", i.getSecondContacts() + "  " + i.getSecondMobile());
+			}
 
-		if (!StringUtils.isBlank(i.getThirdContacts()) && !StringUtils.isBlank(i.getThirdMobile())) {
-			map.put("3", i.getThirdContacts() + "  " + i.getThirdMobile());
+			if (!StringUtils.isBlank(i.getThirdContacts()) && !StringUtils.isBlank(i.getThirdMobile())) {
+				map.put("3", i.getThirdContacts() + "  " + i.getThirdMobile());
+			}
 		}
 		return map;
 	}
 
-		
+	@Override
+	public int saveOrgIndentityProcess(Result res, OrganizationIdentity o, String uid) {
+		OrganizationIdentity org = organizationIdentityMapper.selectOrgIdentityByUserId(uid);
+		if (null == org) {
+			o.setId(UUID.randomUUID().toString());
+			o.setUid(uid);
+			return organizationIdentityMapper.insert(o);
+		} else {
+			o.setId(org.getId());
+			if (null != o.getAuditStatus() && 5 == o.getAuditStatus()) {
+				User u = new User();
+				u.setId(uid);
+				u.setLvl(1);
+				;
+				userMapper.updateByPrimaryKeySelective(u);
+				Calendar cal = Calendar.getInstance();
+				if (null != o.getLastYearTaxReportUrl()
+						&& null == orgRatepayMapper.selectRatepayByUidAndYear(uid, Calendar.YEAR - 1)) {
+					OrgRatepay r = new OrgRatepay();
+					r.setId(UUID.randomUUID().toString());
+					r.setUid(uid);
+					r.setYear(cal.get(Calendar.YEAR) - 1);
+					r.setDeletedSign(0);
+					r.setTaxReturnUrl(o.getLastYearTaxReportUrl());
+					orgRatepayMapper.insert(r);
+				}
+			}
+			return organizationIdentityMapper.updateByPrimaryKeySelective(o);
+		}
+	}
+
+	@Override
+	public int updateOrgDetail(OrganizationIdentity orgIdentity) {
+		if (null != orgIdentity.getAuditStatus() && 5 == orgIdentity.getAuditStatus() && !StringUtils.isBlank(orgIdentity.getUid())) {
+			User u = new User();
+			u.setId(orgIdentity.getUid());
+			u.setLvl(1);
+			userMapper.updateByPrimaryKeySelective(u);
+
+			Calendar cal = Calendar.getInstance();
+			if (null != orgIdentity.getLastYearTaxReportUrl()
+					&& null == orgRatepayMapper.selectRatepayByUidAndYear(orgIdentity.getUid(), Calendar.YEAR - 1)) {
+				OrgRatepay r = new OrgRatepay();
+				r.setId(UUID.randomUUID().toString());
+				r.setUid(orgIdentity.getUid());
+				r.setYear(cal.get(Calendar.YEAR) - 1);
+				r.setDeletedSign(0);
+				r.setTaxReturnUrl(orgIdentity.getLastYearTaxReportUrl());
+				orgRatepayMapper.insert(r);
+			}
+		}
+		return organizationIdentityMapper.updateByPrimaryKeySelective(orgIdentity);
+	}
 
 }

+ 40 - 0
src/main/java/com/goafanti/user/service/impl/UserIdentityServiceImpl.java

@@ -1,9 +1,15 @@
 package com.goafanti.user.service.impl;
 
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.dao.UserIdentityMapper;
+import com.goafanti.common.dao.UserMapper;
+import com.goafanti.common.model.User;
 import com.goafanti.common.model.UserIdentity;
 import com.goafanti.user.bo.UserIdentityBo;
 import com.goafanti.user.service.UserIdentityService;
@@ -12,6 +18,9 @@ import com.goafanti.user.service.UserIdentityService;
 public class UserIdentityServiceImpl implements UserIdentityService{
 	@Autowired
 	UserIdentityMapper userIdentityMapper;
+	@Autowired
+	UserMapper userMapper;
+	
 	@Override
 	public UserIdentity selectUserIdentityByUserId(String uid) {
 		return userIdentityMapper.selectUserIdentityByUserId(uid);
@@ -38,4 +47,35 @@ public class UserIdentityServiceImpl implements UserIdentityService{
 		return userIdentityMapper.updateByPrimaryKey(u);
 	}
 
+	@Override
+	public int saveUserIdentityProcess(Result res, UserIdentity userIdentity, String uid) {
+		UserIdentity identity = userIdentityMapper.selectUserIdentityByUserId(uid);
+		if (null == identity) {
+			userIdentity.setId(UUID.randomUUID().toString());
+			userIdentity.setUid(uid);
+			userIdentity.setWrongCount(0);
+			return userIdentityMapper.insert(userIdentity);
+		} else {
+			userIdentity.setId(identity.getId());
+			if (5 == userIdentity.getAuditStatus()){
+				User u = new User();
+				u.setId(userIdentity.getUid());
+				u.setLvl(1);
+				userMapper.updateByPrimaryKeySelective(u);
+			}
+			return userIdentityMapper.updateByPrimaryKeySelective(userIdentity);
+		}
+	}
+
+	@Override
+	public int updateUserDetail(UserIdentity u) {
+		if (null != u.getAuditStatus() && 5 == u.getAuditStatus() && !StringUtils.isBlank(u.getUid())){
+			User user = new User();
+			user.setId(u.getUid());
+			user.setLvl(1);
+			userMapper.updateByPrimaryKeySelective(user);
+		} 
+		return userIdentityMapper.updateByPrimaryKeySelective(u);
+	}
+
 }

+ 1 - 1
src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java

@@ -39,7 +39,7 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 	@Override
 	public User insertRegister(User user,String contacts,String unitName) {
 		userMapper.insert(user);
-		if (1 == user.getType()){
+		if (null != user.getType() && 1 == user.getType()){
 			if (!StringUtils.isBlank(unitName) || !StringUtils.isBlank(contacts)){
 				OrganizationIdentity organizationIdentity = new OrganizationIdentity();
 				organizationIdentity.setUid(user.getId());

+ 4 - 2
src/main/resources/props/config_dev.properties

@@ -51,10 +51,12 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.7
+static.host=//afts.hnzhiming.com/1.0.8
 
 upload.path=/data/wwwroot/aft/upload
 upload.private.path=/data/upload
 
 accessKey=LTAIqTgQLLwz252Z
-accessSecret=ICGuiUnqzaar7urw4zecVcJrJ1MHg9
+accessSecret=ICGuiUnqzaar7urw4zecVcJrJ1MHg9
+
+avatar.host=//afts.hnzhiming.com

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

@@ -53,10 +53,12 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.7
+static.host=//afts.hnzhiming.com/1.0.8
 
 upload.path=/Users/xiaolong/Sites/upload
 upload.private.path=/Users/xiaolong/Sites/doc
 
 accessKey=LTAIqTgQLLwz252Z
 accessSecret=ICGuiUnqzaar7urw4zecVcJrJ1MHg9
+
+avatar.host=//afts.hnzhiming.com

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

@@ -51,4 +51,4 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//afts.hnzhiming.com/1.0.7
+static.host=//afts.hnzhiming.com/1.0.8

+ 4 - 2
src/main/resources/props/config_test.properties

@@ -53,10 +53,12 @@ session.validate.timespan=18000000
 
 app.name=AFT
 
-static.host=//aftts.hnzhiming.com/1.0.7
+static.host=//aftts.hnzhiming.com/1.0.8
 
 upload.path=/data/aft/public/upload
 upload.private.path=/data/aft/private/upload
 
 accessKey=LTAIqTgQLLwz252Z
-accessSecret=ICGuiUnqzaar7urw4zecVcJrJ1MHg9
+accessSecret=ICGuiUnqzaar7urw4zecVcJrJ1MHg9
+
+avatar.host=//aftts.hnzhiming.com

+ 2 - 1
src/main/webapp/WEB-INF/views/header.jsp

@@ -33,7 +33,8 @@
 		context : "${basePath}",
 		staticHost : "${staticHost}",
 		uploadPath : "${uploadPath}",
-		uploadPrivatePath : "${uploadPrivatePath}"
+		uploadPrivatePath : "${uploadPrivatePath}",
+		avatarHost : "${avatarHost}"
 	}
 
 	<c:if test="${not empty adminData}">