Browse Source

Accept Merge Request #103 merge : (master -> test)

Merge Request: merge
Created By: @Antiloveg
Accepted By: @Antiloveg
URL: https://coding.net/t/aft/p/AFT/git/merge/103
Antiloveg 9 years ago
parent
commit
fc804073b8
36 changed files with 596 additions and 123 deletions
  1. 5 0
      schema/2017-04-08.sql
  2. 6 6
      schema/permission.sql
  3. 92 26
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  4. 20 0
      src/main/java/com/goafanti/admin/controller/AdminCopyrightApiController.java
  5. 121 13
      src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java
  6. 41 3
      src/main/java/com/goafanti/admin/controller/AdminTechProjectApiController.java
  7. 25 3
      src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java
  8. 2 0
      src/main/java/com/goafanti/cognizance/service/OrgCognizanceService.java
  9. 7 2
      src/main/java/com/goafanti/cognizance/service/impl/OrgCognizanceServiceImpl.java
  10. 4 0
      src/main/java/com/goafanti/common/constant/ErrorConstants.java
  11. 1 1
      src/main/java/com/goafanti/common/enums/AttachmentType.java
  12. 60 0
      src/main/java/com/goafanti/common/enums/IdentityAuditStatus.java
  13. 58 0
      src/main/java/com/goafanti/common/enums/IdentityProcess.java
  14. 1 0
      src/main/java/com/goafanti/common/mapper/OrgActivityCostMapper.xml
  15. 1 0
      src/main/java/com/goafanti/common/mapper/OrgActivityMapper.xml
  16. 2 2
      src/main/java/com/goafanti/common/mapper/OrgCognizanceMapper.xml
  17. 2 2
      src/main/java/com/goafanti/common/model/OrgActivity.java
  18. 1 1
      src/main/java/com/goafanti/common/model/OrgHonorDatum.java
  19. 1 1
      src/main/java/com/goafanti/common/model/OrgIntellectualProperty.java
  20. 3 3
      src/main/java/com/goafanti/common/model/OrgTechCenterDetail.java
  21. 1 1
      src/main/java/com/goafanti/common/model/PatentInfo.java
  22. 1 1
      src/main/java/com/goafanti/common/model/UserIdentity.java
  23. 1 1
      src/main/java/com/goafanti/copyright/bo/InputCopyright.java
  24. 21 0
      src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java
  25. 5 2
      src/main/java/com/goafanti/patent/bo/PatentApplicationFeeBo.java
  26. 1 1
      src/main/java/com/goafanti/patent/service/impl/PatentCostServiceImpl.java
  27. 41 3
      src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java
  28. 2 1
      src/main/java/com/goafanti/user/bo/OrgListBo.java
  29. 4 1
      src/main/java/com/goafanti/user/bo/UserListBo.java
  30. 27 20
      src/main/java/com/goafanti/user/controller/UserApiController.java
  31. 1 1
      src/main/resources/props/config_dev.properties
  32. 1 1
      src/main/resources/props/config_local.properties
  33. 1 1
      src/main/resources/props/config_prod.properties
  34. 1 1
      src/main/resources/props/config_test.properties
  35. 29 25
      src/main/resources/props/error.properties
  36. 6 0
      src/main/webapp/WEB-INF/views/header.jsp

+ 5 - 0
schema/2017-04-08.sql

@@ -0,0 +1,5 @@
+alter table `patent_info` 
+MODIFY COLUMN `record_time` DATETIME NULL COMMENT '专利发文日期' ;
+
+
+

+ 6 - 6
schema/permission.sql

@@ -164,7 +164,7 @@ values
 (UUID(), 'CognizanceStatus10', '高企认定流转状态--已到期'), 
 (UUID(), 'CognizanceStatus11', '高企认定流转状态--培育中'), 
 (UUID(), 'CognizanceStatus12', '高企认定流转状态--已结款'), 
-(UUID(), 'CognizanceStatus13', '高企认定流转状态--撤销');
+(UUID(), 'CognizanceStatus13', '高企认定流转状态--退单');
 
 insert into `permission`(`id`, `url`, `name`) 
 values
@@ -208,7 +208,7 @@ values
 (UUID(), 'CopyrightStatus7', '软著申请管理--驳回'),
 (UUID(), 'CopyrightStatus8', '软著申请管理--已下证'), 
 (UUID(), 'CopyrightStatus9', '软著申请管理--已结款'),
-(UUID(), 'CopyrightStatus10', '软著申请管理--撤销');
+(UUID(), 'CopyrightStatus10', '软著申请管理--退单');
 
 insert into `permission`(`id`, `url`, `name`) 
 values
@@ -262,7 +262,7 @@ values
 (UUID(), 'PatentInfoStatus11', '专利申请管理--驳回'),
 (UUID(), 'PatentInfoStatus12', '专利申请管理--发证'),
 (UUID(), 'PatentInfoStatus13', '专利申请管理--已结款'),
-(UUID(), 'PatentInfoStatus14', '专利申请管理--撤销');
+(UUID(), 'PatentInfoStatus14', '专利申请管理--退单');
 
 
 insert into `permission`(`id`, `url`, `name`) 
@@ -276,6 +276,8 @@ values
 (UUID(), 'api/admin/techproject/getDepartment', '科技项目申报管理--获取科技部门'),
 (UUID(), 'api/admin/techproject/deleteTechProject', '科技项目申报管理--删除科技项目申报记录'),
 (UUID(), 'api/admin/techproject/getConsultant', '科技项目申报管理--咨询师下拉列表'),
+(UUID(), 'api/admin/techproject/upload', '科技项目申报管理--科技项目申报材料上传'),
+(UUID(), 'api/admin/techproject/download', '科技项目申报管理--下载科技项目材料'),
 (UUID(), 'api/admin/techproject/getPrincipal', '科技项目申报管理--负责人下拉');
 
 insert into `permission`(`id`, `url`, `name`) 
@@ -283,8 +285,6 @@ values
 (UUID(), 'api/admin/techproject/listTechWebsite', '科技单位网址管理--科技单位网址列表'),
 (UUID(), 'api/admin/techproject/disposeTechWebsite', '科技单位网址管理--科技单位网址新增及修改'),
 (UUID(), 'api/admin/techproject/techWebsiteDetail', '科技单位网址管理--网址管理详情'),
-(UUID(), 'api/admin/techproject/upload', '科技单位网址管理--科技项目申报材料上传'),
-(UUID(), 'api/admin/techproject/download', '科技单位网址管理--下载科技项目材料'),
 (UUID(), 'api/admin/techproject/deleteTechWebsite', '科技单位网址管理--删除科技网址记录');
 
 insert into `permission`(`id`, `url`, `name`) 
@@ -298,7 +298,7 @@ values
 (UUID(), 'TechProjectStatus6', '科技项目申报管理--审批通过'), 
 (UUID(), 'TechProjectStatus7', '科技项目申报管理--审批不通过'), 
 (UUID(), 'TechProjectStatus8', '科技项目申报管理--已结款'), 
-(UUID(), 'TechProjectStatus9', '科技项目申报管理--撤销');
+(UUID(), 'TechProjectStatus9', '科技项目申报管理--退单');
 
 
 

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

@@ -64,6 +64,8 @@ import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.AdminFields;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.CognizanceApplyFields;
+import com.goafanti.common.enums.IdentityAuditStatus;
+import com.goafanti.common.enums.IdentityProcess;
 import com.goafanti.common.enums.OrgActivityFields;
 import com.goafanti.common.enums.OrgAnnualReportFields;
 import com.goafanti.common.enums.OrgCognizanceFields;
@@ -164,28 +166,29 @@ public class AdminApiController extends CertifyApiController {
 	private AdminService					adminService;
 	@Resource
 	private OrgTechCenterDetailService		orgTechCenterDetailService;
-	
+
 	/**
 	 * 
 	 */
-	
+
 	@RequestMapping(value = "/role", method = RequestMethod.GET)
-	public Result getRole(String uid){
+	public Result getRole(String uid) {
 		Result res = new Result();
-		if (StringUtils.isBlank(uid)){
+		if (StringUtils.isBlank(uid)) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "管理员ID"));
 			return res;
 		}
 		res.setData(adminService.selectRoleByPrimaryKey(uid));
 		return res;
 	}
-	
+
 	/**
 	 * 管理员"我的客户"列表
+	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "/customer", method = RequestMethod.GET)
-	public Result getCustomer(){
+	public Result getCustomer() {
 		Result res = new Result();
 		res.setData(userService.selectUserByAid(TokenManager.getAdminId()));
 		return res;
@@ -464,7 +467,7 @@ public class AdminApiController extends CertifyApiController {
 	@RequestMapping(value = "/addNewUser", method = RequestMethod.POST)
 	public Result addNewUser(@Valid InputUser inputUser, BindingResult bindingResult) {
 		Result res = new Result();
-		
+
 		if (bindingResult.hasErrors()) {
 			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
 					UserFields.getFieldDesc(bindingResult.getFieldError().getField())));
@@ -574,7 +577,7 @@ public class AdminApiController extends CertifyApiController {
 
 		if (!StringUtils.isBlank(paymentDateFormattedDate)) {
 			try {
-				userIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				userIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -584,10 +587,32 @@ public class AdminApiController extends CertifyApiController {
 
 		if (StringUtils.isBlank(ui.getId())) {
 			ui.setId(UUID.randomUUID().toString());
-			ui.setAuditStatus(null == userIdentity.getAuditStatus() ? 0 : userIdentity.getAuditStatus());
-			ui.setProcess(null == userIdentity.getProcess() ? 0 : userIdentity.getProcess());
+			ui.setAuditStatus(null == ui.getAuditStatus() ? 0 : ui.getAuditStatus());
+			if (IdentityAuditStatus.UNCOMMITTED.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.UNCOMMITTED.getCode());
+			} else if (IdentityAuditStatus.COMMITTED.getCode() == ui.getAuditStatus()
+					|| IdentityAuditStatus.UNPAID.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.COMMITTED.getCode());
+			} else if (IdentityAuditStatus.PAID.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.FILLIN.getCode());
+			} else if (IdentityAuditStatus.NOTPASSED.getCode() == ui.getAuditStatus()
+					|| IdentityAuditStatus.PASSED.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.RESULTS.getCode());
+			}
 			res.setData(userIdentityService.insert(ui));
 		} else {
+			ui.setAuditStatus(null == ui.getAuditStatus() ? 0 : ui.getAuditStatus());
+			if (IdentityAuditStatus.UNCOMMITTED.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.UNCOMMITTED.getCode());
+			} else if (IdentityAuditStatus.COMMITTED.getCode() == ui.getAuditStatus()
+					|| IdentityAuditStatus.UNPAID.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.COMMITTED.getCode());
+			} else if (IdentityAuditStatus.PAID.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.FILLIN.getCode());
+			} else if (IdentityAuditStatus.NOTPASSED.getCode() == ui.getAuditStatus()
+					|| IdentityAuditStatus.PASSED.getCode() == ui.getAuditStatus()) {
+				ui.setProcess(IdentityProcess.RESULTS.getCode());
+			}
 			res.setData(userIdentityService.updateUserDetail(ui));
 		}
 		return res;
@@ -664,7 +689,7 @@ public class AdminApiController extends CertifyApiController {
 		}
 		if (!StringUtils.isBlank(paymentDateFormattedDate)) {
 			try {
-				orgIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgIdentity.setPaymentDate(DateUtils.parseDate(paymentDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -676,11 +701,33 @@ public class AdminApiController extends CertifyApiController {
 			oi.setId(UUID.randomUUID().toString());
 			oi.setIdentityType(null == oi.getIdentityType() ? 0 : oi.getIdentityType());
 			oi.setAuditStatus(null == oi.getAuditStatus() ? 0 : oi.getAuditStatus());
-			oi.setProcess(null == oi.getProcess() ? 0 : oi.getProcess());
+			if (IdentityAuditStatus.UNCOMMITTED.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.UNCOMMITTED.getCode());
+			} else if (IdentityAuditStatus.COMMITTED.getCode() == oi.getAuditStatus()
+					|| IdentityAuditStatus.UNPAID.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.COMMITTED.getCode());
+			} else if (IdentityAuditStatus.PAID.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.FILLIN.getCode());
+			} else if (IdentityAuditStatus.NOTPASSED.getCode() == oi.getAuditStatus()
+					|| IdentityAuditStatus.PASSED.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.RESULTS.getCode());
+			}
 			oi.setListed(null == oi.getListed() ? 0 : oi.getListed());
 			oi.setListedType(null == oi.getListedType() ? 0 : oi.getListedType());
 			res.setData(organizationIdentityService.insert(oi));
 		} else {
+			oi.setAuditStatus(null == oi.getAuditStatus() ? 0 : oi.getAuditStatus());
+			if (IdentityAuditStatus.UNCOMMITTED.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.UNCOMMITTED.getCode());
+			} else if (IdentityAuditStatus.COMMITTED.getCode() == oi.getAuditStatus()
+					|| IdentityAuditStatus.UNPAID.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.COMMITTED.getCode());
+			} else if (IdentityAuditStatus.PAID.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.FILLIN.getCode());
+			} else if (IdentityAuditStatus.NOTPASSED.getCode() == oi.getAuditStatus()
+					|| IdentityAuditStatus.PASSED.getCode() == oi.getAuditStatus()) {
+				oi.setProcess(IdentityProcess.RESULTS.getCode());
+			}
 			res.setData(organizationIdentityService.updateOrgDetail(oi));
 		}
 		return res;
@@ -1009,7 +1056,7 @@ public class AdminApiController extends CertifyApiController {
 		if (!StringUtils.isBlank(authorizationDateFormattedDate)) {
 			try {
 				orgIntellectualProperty.setAuthorizationDate(
-						DateUtils.parseDate(authorizationDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						DateUtils.parseDate(authorizationDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -1313,14 +1360,14 @@ public class AdminApiController extends CertifyApiController {
 
 		if (!StringUtils.isBlank(startDateFormattedDate)) {
 			try {
-				orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
 
 		if (StringUtils.isBlank(endDateFormattedDate)) {
 			try {
-				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -1473,7 +1520,7 @@ public class AdminApiController extends CertifyApiController {
 		}
 		if (StringUtils.isBlank(signDateFormattedDate)) {
 			try {
-				orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2104,7 +2151,7 @@ public class AdminApiController extends CertifyApiController {
 		}
 		if (!StringUtils.isBlank(issuingTimeFormattedDate)) {
 			try {
-				honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2242,7 +2289,7 @@ public class AdminApiController extends CertifyApiController {
 		}
 		if (!StringUtils.isBlank(foundingTimeFormattedDate)) {
 			try {
-				orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2367,14 +2414,14 @@ public class AdminApiController extends CertifyApiController {
 		if (!StringUtils.isBlank(projectTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
 		if (!StringUtils.isBlank(termStartTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setTermStartTime(DateUtils.parseDate(termStartTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setTermStartTime(DateUtils.parseDate(termStartTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2382,7 +2429,7 @@ public class AdminApiController extends CertifyApiController {
 		if (!StringUtils.isBlank(termEndTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setTermEndTime(DateUtils.parseDate(termEndTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setTermEndTime(DateUtils.parseDate(termEndTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2534,13 +2581,14 @@ public class AdminApiController extends CertifyApiController {
 		res.setData(orgCognizanceService.listCognizance(uid, unitName, locationProvince, pNo, pSize));
 		return res;
 	}
-	
+
 	/**
 	 * 高企认定咨询师下拉列表
+	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "/getConsultant", method = RequestMethod.GET)
-	public Result getConsultant(){
+	public Result getConsultant() {
 		Result res = new Result();
 		List<Admin> list = adminService.selectCognizanceConsultant();
 		Map<String, String> map = new TreeMap<String, String>();
@@ -2550,7 +2598,7 @@ public class AdminApiController extends CertifyApiController {
 		res.setData(map);
 		return res;
 	}
-	
+
 	/**
 	 * 高企负责人下拉
 	 * 
@@ -2686,10 +2734,28 @@ public class AdminApiController extends CertifyApiController {
 			return res;
 		}
 
-		if (StringUtils.isBlank(cog.getUid())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
+		if (StringUtils.isBlank(cog.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到", "高企认定"));
 			return res;
 		}
+
+		OrgCognizance o = orgCognizanceService.selectByPrimaryKey(cog.getId());
+
+		if (null == o) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到", "高企认定"));
+			return res;
+		}
+
+		if (OrgCognizanceStatus.CALLBACK.getCode() == o.getState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+
+		if (OrgCognizanceStatus.SETTLEMENT.getCode() == o.getState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
+
 		if (!checkCertify(res, cog.getUid()).getError().isEmpty()) {
 			return res;
 		}

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

@@ -96,6 +96,16 @@ public class AdminCopyrightApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到软著", "软著申请"));
 			return res;
 		}
+		
+		if (CopyrightStatus.CALLBACK.getCode() == oci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (CopyrightStatus.SETTLEMENT.getCode() == oci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
 
 		CopyrightInfo ci = new CopyrightInfo();
 		CopyrightLog cl = new CopyrightLog();
@@ -133,6 +143,16 @@ public class AdminCopyrightApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "软著id"));
 			return res;
 		}
+		
+		if (CopyrightStatus.CALLBACK.getCode() == ci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (CopyrightStatus.SETTLEMENT.getCode() == ci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
 		AttachmentType attachmentType = AttachmentType.getField(sign);
 		if (attachmentType == AttachmentType.COPYRIGHT_APPLY || attachmentType == AttachmentType.COPYRIGHT_AUTH) {
 			String filePath = handleFile(res, true, req, attachmentType.getCode(), ci.getUid(), ci.getId());

+ 121 - 13
src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java

@@ -208,6 +208,16 @@ public class AdminPatentApiController extends CertifyApiController {
 			return res;
 		}
 
+		if (PatentInfoStatus.CALLBACK.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前申请已退单,无法修改!"));
+			return res;
+		}
+
+		if (PatentInfoStatus.SETTLEMENT.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前申请已结款,无法修改!"));
+			return res;
+		}
+
 		Date recordTime = null;
 		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
 			try {
@@ -279,7 +289,7 @@ public class AdminPatentApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/upload", method = RequestMethod.POST)
-	public Result upload(HttpServletRequest req, String sign, String uid) {
+	public Result upload(HttpServletRequest req, String sign, String uid, String id) {
 		Result res = new Result();
 
 		User curUser = userService.selectByPrimaryKey(uid);
@@ -287,6 +297,27 @@ public class AdminPatentApiController extends CertifyApiController {
 			return res;
 		}
 
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
+			return res;
+		}
+
+		PatentInfo p = patentInfoService.selectByPrimaryKey(id);
+		if (null == p) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
+			return res;
+		}
+
+		if (PatentInfoStatus.CALLBACK.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前申请已退单,无法修改!"));
+			return res;
+		}
+
+		if (PatentInfoStatus.SETTLEMENT.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前申请已结款,无法修改!"));
+			return res;
+		}
+
 		AttachmentType attachmentType = AttachmentType.getField(sign);
 		if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT || attachmentType == AttachmentType.PATENT_WRITING
 				|| attachmentType == AttachmentType.AUTHORIZATION_NOTICE
@@ -300,6 +331,33 @@ public class AdminPatentApiController extends CertifyApiController {
 	}
 
 	/**
+	 * 新增专利申请上传专利代理委托书
+	 * 
+	 * @param req
+	 * @param sign
+	 * @param uid
+	 * @return
+	 */
+	@RequestMapping(value = "/uploadProry", method = RequestMethod.POST)
+	public Result uploadProry(HttpServletRequest req, String sign, String uid) {
+		Result res = new Result();
+
+		User curUser = userService.selectByPrimaryKey(uid);
+		if (!checkCertify(res, curUser)) {
+			return res;
+		}
+
+		AttachmentType attachmentType = AttachmentType.getField(sign);
+		if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT) {
+			res.setData(handleFiles(res, "/patent/", true, req, sign, uid));
+		} else {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
+		}
+
+		return res;
+	}
+
+	/**
 	 * 下载专利相关材料
 	 * 
 	 * @param id
@@ -535,6 +593,16 @@ public class AdminPatentApiController extends CertifyApiController {
 			return res;
 		}
 
+		if (PatentInfoStatus.CALLBACK.getCode() == info.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前申请已退单,无法修改!"));
+			return res;
+		}
+
+		if (PatentInfoStatus.SETTLEMENT.getCode() == info.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前申请已结款,无法修改!"));
+			return res;
+		}
+
 		PatentCost patentCost = new PatentCost();
 		patentCost.setId(cid);
 		patentCost.setAnnualFeeState(1);
@@ -627,6 +695,23 @@ public class AdminPatentApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "专利记录ID", "专利记录ID"));
 			return res;
 		}
+		
+		PatentInfo p = patentInfoService.selectByPrimaryKey(pid);
+		if (null == p){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
+			return res;
+		}
+		
+		if (PatentInfoStatus.CALLBACK.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前申请已退单,无法修改!"));
+			return res;
+		}
+
+		if (PatentInfoStatus.SETTLEMENT.getCode() == p.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前申请已结款,无法修改!"));
+			return res;
+		}
+		
 		patentRegistrationService.updateByPrimaryKey(regBo2Reg(rid, pid, patentRegistrationBo));
 		return res;
 	}
@@ -667,6 +752,29 @@ public class AdminPatentApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "专利记录ID", "专利记录ID"));
 			return res;
 		}
+		
+		PatentCost cost = patentCostService.selectByPrimaryKey(cid);
+		if (null == cost) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
+			return res;
+		}
+
+		if (null == cost.getPid()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
+			return res;
+		}
+
+		PatentInfo info = patentInfoService.selectByPrimaryKey(cost.getPid());
+
+		if (PatentInfoStatus.CALLBACK.getCode() == info.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前申请已退单,无法修改!"));
+			return res;
+		}
+		
+		if (PatentInfoStatus.SETTLEMENT.getCode() == info.getPatentState()) {
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前申请已结款,无法修改!"));
+			return res;
+		}
 
 		PatentCost pc = new PatentCost();
 		BeanUtils.copyProperties(patentCost, pc);
@@ -955,32 +1063,32 @@ public class AdminPatentApiController extends CertifyApiController {
 		patentRegistration.setAcceptanceExpressCompany(patentRegistrationBo.getAcceptanceExpressCompany());
 		try {
 			if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceIssueTime())) {
-				patentRegistration.setAcceptanceIssueTime(
-						DateUtils.parseDate(patentRegistrationBo.getAcceptanceIssueTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setAcceptanceIssueTime(DateUtils
+						.parseDate(patentRegistrationBo.getAcceptanceIssueTime(), AFTConstants.YYYYMMDD));
 			}
 			if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceReceiveTime())) {
-				patentRegistration.setAcceptanceReceiveTime(
-						DateUtils.parseDate(patentRegistrationBo.getAcceptanceReceiveTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setAcceptanceReceiveTime(DateUtils
+						.parseDate(patentRegistrationBo.getAcceptanceReceiveTime(), AFTConstants.YYYYMMDD));
 			}
 			patentRegistration.setAcceptanceTrackingNumber(patentRegistrationBo.getAcceptanceTrackingNumber());
 			patentRegistration.setAuthorizationExpressCompany(patentRegistrationBo.getAuthorizationExpressCompany());
 			if (!StringUtils.isBlank(patentRegistrationBo.getAuthorizationIssueTime())) {
-				patentRegistration.setAuthorizationIssueTime(
-						DateUtils.parseDate(patentRegistrationBo.getAuthorizationIssueTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setAuthorizationIssueTime(DateUtils
+						.parseDate(patentRegistrationBo.getAuthorizationIssueTime(), AFTConstants.YYYYMMDD));
 			}
 			if (!StringUtils.isBlank(patentRegistrationBo.getAuthorizationReceiveTime())) {
-				patentRegistration.setAuthorizationReceiveTime(
-						DateUtils.parseDate(patentRegistrationBo.getAuthorizationReceiveTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setAuthorizationReceiveTime(DateUtils
+						.parseDate(patentRegistrationBo.getAuthorizationReceiveTime(), AFTConstants.YYYYMMDD));
 			}
 			patentRegistration.setAuthorizationTrackingNumber(patentRegistrationBo.getAuthorizationTrackingNumber());
 			patentRegistration.setCertificateExpressCompany(patentRegistrationBo.getCertificateExpressCompany());
 			if (!StringUtils.isBlank(patentRegistrationBo.getCertificateIssueTime())) {
-				patentRegistration.setCertificateIssueTime(
-						DateUtils.parseDate(patentRegistrationBo.getCertificateIssueTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setCertificateIssueTime(DateUtils
+						.parseDate(patentRegistrationBo.getCertificateIssueTime(), AFTConstants.YYYYMMDD));
 			}
 			if (!StringUtils.isBlank(patentRegistrationBo.getCertificateRecieveTime())) {
-				patentRegistration.setCertificateRecieveTime(
-						DateUtils.parseDate(patentRegistrationBo.getCertificateRecieveTime(), AFTConstants.YYYYMMDDHHMMSS));
+				patentRegistration.setCertificateRecieveTime(DateUtils
+						.parseDate(patentRegistrationBo.getCertificateRecieveTime(), AFTConstants.YYYYMMDD));
 			}
 		} catch (ParseException e) {
 		}

+ 41 - 3
src/main/java/com/goafanti/admin/controller/AdminTechProjectApiController.java

@@ -26,6 +26,7 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.TechProjectFields;
 import com.goafanti.common.enums.TechProjectStatus;
 import com.goafanti.common.model.Admin;
@@ -225,6 +226,16 @@ public class AdminTechProjectApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到申报项目", "科技项目申报"));
 			return res;
 		}
+		
+		if (TechProjectStatus.CALLBACK.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (TechProjectStatus.SETTLEMENT.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
 
 		Date recordTime = null;
 		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
@@ -412,15 +423,42 @@ public class AdminTechProjectApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/upload", method = RequestMethod.POST)
-	public Result cognizanceFile(HttpServletRequest req, String uid) {
+	public Result cognizanceFile(HttpServletRequest req, String uid, String id, String sign) {
 		Result res = new Result();
 		User curUser = userService.selectByPrimaryKey(uid);
 		if (!checkCertify(res, curUser)) {
 			return res;
 		}
+		
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技申报项目", "科技项目申报ID"));
+			return res;
+		}
+
+		TechProject t = techProjectService.selectByPrimaryKey(id);
+		if (null == t) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到申报项目", "科技项目申报"));
+			return res;
+		}
+		
+		if (TechProjectStatus.CALLBACK.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (TechProjectStatus.SETTLEMENT.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
+		
+		AttachmentType attachmentType = AttachmentType.getField(sign);
+		
+		if (attachmentType == AttachmentType.TECH_PROJECT){
+			res.setData(handleFiles(res, "/techProject/", true, req, sign, uid));
+		} else {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
+		}
 
-		String sign = "tech_project";
-		res.setData(handleFiles(res, "/techProject/", true, req, sign, uid));
 		return res;
 	}
 

+ 25 - 3
src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java

@@ -1903,14 +1903,14 @@ public class CognizanceApiController extends CertifyApiController {
 		if (!StringUtils.isBlank(projectTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
 		if (!StringUtils.isBlank(termStartTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setTermStartTime(DateUtils.parseDate(termStartTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setTermStartTime(DateUtils.parseDate(termStartTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -1918,7 +1918,7 @@ public class CognizanceApiController extends CertifyApiController {
 		if (!StringUtils.isBlank(termEndTimeFormattedDate)) {
 			try {
 				orgTechCenterDetail
-						.setTermEndTime(DateUtils.parseDate(termEndTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+						.setTermEndTime(DateUtils.parseDate(termEndTimeFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -2107,6 +2107,28 @@ public class CognizanceApiController extends CertifyApiController {
 		if (!checkCertify(res, curUser)) {
 			return res;
 		}
+		
+		if (StringUtils.isBlank(cog.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到", "高企认定"));
+			return res;
+		}
+		
+		OrgCognizance o = orgCognizanceService.selectByPrimaryKey(cog.getId());
+		
+		if (null == o){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到", "高企认定"));
+			return res;
+		}
+		
+		if (OrgCognizanceStatus.CALLBACK.getCode() == o.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (OrgCognizanceStatus.SETTLEMENT.getCode() == o.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		} 
 
 		OrgCognizance oc = new OrgCognizance();
 		BeanUtils.copyProperties(cog, oc);

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

@@ -45,5 +45,7 @@ public interface OrgCognizanceService {
 
 	Pagination<CultivationListBo> listCultivation(String uid, String province, String unitName, Integer pNo, Integer pSize);
 
+	OrgCognizance selectByPrimaryKey(String id);
+
 
 }

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

@@ -206,7 +206,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 				organizationIdentityMapper.updateByPrimaryKeySelective(o);
 			}
 
-			if (OrgCognizanceStatus.getStatus(cog.getState()) != OrgCognizanceStatus.CIRCULATION) {
+			if (OrgCognizanceStatus.getStatus(cog.getState()) == OrgCognizanceStatus.CIRCULATION) {
 				cog.setState(OrgCognizanceStatus.DELIVERD.getCode());
 			}
 
@@ -235,7 +235,7 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 		log.setId(UUID.randomUUID().toString());
 		log.setCid(c.getId());
 
-		log.setRecordTime(c.getCreateTime());
+		log.setRecordTime(c.getRecordTime());
 		log.setState(c.getState());
 		if (TokenManager.getToken() instanceof Admin) {
 			log.setPrincipal(TokenManager.getAdminId());
@@ -292,4 +292,9 @@ public class OrgCognizanceServiceImpl extends BaseMybatisDao<OrgCognizanceMapper
 		n.setNoticeType(NoticeStatus.COGNIZANCE.getCode());
 		noticeMapper.insert(n);
 	}
+
+	@Override
+	public OrgCognizance selectByPrimaryKey(String id) {
+		return orgCognizanceMapper.selectByPrimaryKey(id);
+	}
 }

+ 4 - 0
src/main/java/com/goafanti/common/constant/ErrorConstants.java

@@ -64,4 +64,8 @@ public class ErrorConstants {
 
 	public static final String	FILE_PATTERN_ERROR				= "FILE_PATTERN_ERROR";
 
+	public static final String	RECORD_CALLBACK					= "RECORD_CALLBACK";
+
+	public static final String	RECORD_SETTLEMENT				= "RECORD_SETTLEMENT";
+
 }

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

@@ -11,7 +11,7 @@ public enum AttachmentType {
 	ACTIVITY_COST_ACCOUNT("activity_cost_account", "研发活动费用台帐"), TECH_PRODUCT("tech_product", "高新技术产品台帐"),
 	PROPERTY_RIGHT("property_right", "知识产权证书"), ACHIEVEMENT("achievement", "科技成果附件"), RATEPAY("ratepay", "企业纳税申报表"),
 	FINANCE("finance", "企业财务报表"), ROSTER("roster", "企业花名册"), SOCIAL_SECURITY("social_security", "企业社保情况表"), 
-	HONOR("honor", "荣誉及其他证明材料"), LAST_YEAR_RATEPAY("last_year_ratepay", "上年度纳税申报表");
+	HONOR("honor", "荣誉及其他证明材料"), LAST_YEAR_RATEPAY("last_year_ratepay", "上年度纳税申报表"), TECH_PROJECT("tech_project", "科技项目申报材料");
 
 	private AttachmentType(String code, String desc) {
 		this.code = code;

+ 60 - 0
src/main/java/com/goafanti/common/enums/IdentityAuditStatus.java

@@ -0,0 +1,60 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum IdentityAuditStatus {
+	
+	UNCOMMITTED(0, "未提交审核"),
+	COMMITTED(1, "提交审核"),
+	UNPAID(2, "审核未打款"),
+	PAID(3, "审核已打款"),
+	NOTPASSED(4, "审核未通过"),
+	PASSED(5, "审核通过"),
+	OTHER(6, "其他");
+
+	private IdentityAuditStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, IdentityAuditStatus> status = new HashMap<Integer, IdentityAuditStatus>();
+
+	static {
+		for (IdentityAuditStatus value : IdentityAuditStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static IdentityAuditStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static IdentityAuditStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 58 - 0
src/main/java/com/goafanti/common/enums/IdentityProcess.java

@@ -0,0 +1,58 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum IdentityProcess {
+	
+	UNCOMMITTED(0, "填写认证信息"),
+	COMMITTED(3, "审核信息"),
+	FILLIN(4, "填写银行卡金额"),
+	RESULTS(5, "认证结果"),
+	OTHER(6, "其他");
+
+	private IdentityProcess(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, IdentityProcess> status = new HashMap<Integer, IdentityProcess>();
+
+	static {
+		for (IdentityProcess value : IdentityProcess.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static IdentityProcess getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static IdentityProcess getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

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

@@ -291,6 +291,7 @@
     <if test="endDate != null">
     	and  end_date <![CDATA[ < ]]> #{endDate,jdbcType=TIMESTAMP}
     </if>
+    order by start_date
     <if test="page_sql != null">
     	${page_sql}
     </if>

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

@@ -325,6 +325,7 @@
     <if test="endDate != null">
     	and  end_date <![CDATA[ < ]]> #{endDate,jdbcType=TIMESTAMP}
     </if>
+    order by start_date 
     <if test="page_sql != null">
     	${page_sql}
     </if>

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

@@ -347,12 +347,12 @@
 			+ internal_design_cost + internal_equipment_cost + internal_other_cost +external_total_cost) as cost1, 
 			external_abroad_cost as territory
 			 from org_activity_cost 
-    where uid = #{1} and (start_date >= (select  str_to_date(CONCAT(#{0}-3,'-01-01'), '%Y-%m-%d %H'))
+    where  (start_date >= (select  str_to_date(CONCAT(#{0}-3,'-01-01'), '%Y-%m-%d %H'))
       and start_date <![CDATA[ < ]]> (select  str_to_date(CONCAT(#{0},'-01-01'), '%Y-%m-%d %H'))) 
 			or (end_date <![CDATA[ < ]]> (select  str_to_date(CONCAT(#{0},'-01-01'), '%Y-%m-%d %H'))   and 
       end_date >= (select  str_to_date(CONCAT(#{0}-3,'-01-01'), '%Y-%m-%d %H')))
       and deleted_sign = 0
-		) m GROUP BY m.uid
+		) m where m.uid = #{1} GROUP BY m.uid
 
   </select>
 	

+ 2 - 2
src/main/java/com/goafanti/common/model/OrgActivity.java

@@ -300,7 +300,7 @@ public class OrgActivity {
 		if (this.startDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getStartDate(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getStartDate(), AFTConstants.YYYYMMDD);
 		}
 	}
 	
@@ -312,7 +312,7 @@ public class OrgActivity {
 		if (this.endDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getEndDate(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getEndDate(), AFTConstants.YYYYMMDD);
 		}
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/common/model/OrgHonorDatum.java

@@ -100,7 +100,7 @@ public class OrgHonorDatum {
 		if (this.issuingTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getIssuingTime(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getIssuingTime(), AFTConstants.YYYYMMDD);
 		}
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/common/model/OrgIntellectualProperty.java

@@ -183,7 +183,7 @@ public class OrgIntellectualProperty {
 		if (this.authorizationDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getAuthorizationDate(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getAuthorizationDate(), AFTConstants.YYYYMMDD);
 		}
 	}
 	

+ 3 - 3
src/main/java/com/goafanti/common/model/OrgTechCenterDetail.java

@@ -127,7 +127,7 @@ public class OrgTechCenterDetail {
 		if (this.projectTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getProjectTime(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getProjectTime(), AFTConstants.YYYYMMDD);
 		}
 	}
 	
@@ -139,7 +139,7 @@ public class OrgTechCenterDetail {
 		if (this.termStartTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getTermStartTime(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getTermStartTime(), AFTConstants.YYYYMMDD);
 		}
 	}
 	
@@ -152,7 +152,7 @@ public class OrgTechCenterDetail {
 		if (this.termEndTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.getTermEndTime(), AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.getTermEndTime(), AFTConstants.YYYYMMDD);
 		}
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/common/model/PatentInfo.java

@@ -157,7 +157,7 @@ public class PatentInfo {
 	private Integer	confirmState;
 
 	/**
-	 * 专利申请时间
+	 * 专利发文时间
 	 */
 	private Date	recordTime;
 

+ 1 - 1
src/main/java/com/goafanti/common/model/UserIdentity.java

@@ -296,7 +296,7 @@ public class UserIdentity {
 		if (this.paymentDate == null) {
 			 return null;
 		   } else {
-			 return DateFormatUtils.format(this.getPaymentDate(), AFTConstants.YYYYMMDDHHMMSS);
+			 return DateFormatUtils.format(this.getPaymentDate(), AFTConstants.YYYYMMDD);
 		   }
 	}
 		

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

@@ -27,7 +27,7 @@ public class InputCopyright {
 	@Size(min = 0, max = 60, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	copyrightName;
 
-	@Max(value = 9, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 10, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	status;
 

+ 21 - 0
src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java

@@ -88,6 +88,16 @@ public class CopyrightApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到软著", "软著申请"));
 			return res;
 		}
+		
+		if (CopyrightStatus.CALLBACK.getCode() == oci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (CopyrightStatus.SETTLEMENT.getCode() == oci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
 
 		CopyrightInfo ci = new CopyrightInfo();
 		CopyrightLog cl = new CopyrightLog();
@@ -119,6 +129,17 @@ public class CopyrightApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "软著id"));
 			return res;
 		}
+		
+		if (CopyrightStatus.CALLBACK.getCode() == ci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (CopyrightStatus.SETTLEMENT.getCode() == ci.getStatus()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
+		
 		AttachmentType attachmentType = AttachmentType.getField(sign);
 		if (attachmentType == AttachmentType.COPYRIGHT_APPLY || attachmentType == AttachmentType.COPYRIGHT_AUTH) {
 			String filePath = handleFile(res, true, req, attachmentType.getCode(), ci.getUid(), ci.getId());

+ 5 - 2
src/main/java/com/goafanti/patent/bo/PatentApplicationFeeBo.java

@@ -4,6 +4,8 @@ import java.util.Date;
 
 import org.apache.commons.lang3.time.DateFormatUtils;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
 import com.goafanti.common.constant.AFTConstants;
 
 /**
@@ -150,7 +152,7 @@ public class PatentApplicationFeeBo {
 
     	
 	
-
+	@JsonFormat(shape = Shape.STRING)
 	public Integer getFunds() {
 		return funds;
 	}
@@ -158,7 +160,8 @@ public class PatentApplicationFeeBo {
 	public void setFunds(Integer funds) {
 		this.funds = funds;
 	}
-
+	
+	@JsonFormat(shape = Shape.STRING)
 	public Integer getReimbursement() {
 		return reimbursement;
 	}

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

@@ -55,7 +55,7 @@ public class PatentCostServiceImpl extends BaseMybatisDao<PatentCostMapper> impl
 			params.put("pEnd", pEnd);
 		}
 
-		if (locationProvince != null && locationProvince != "") {
+		if (!StringUtils.isBlank(locationProvince)) {
 			params.put("locationProvince", locationProvince);
 		}
 

+ 41 - 3
src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.CopyrightFields;
 import com.goafanti.common.enums.TechProjectStatus;
 import com.goafanti.common.model.TechProject;
@@ -192,6 +193,17 @@ public class TechProjectApiController extends CertifyApiController {
 		}
 
 		TechProject t = techProjectService.selectByPrimaryKey(techProject.getId());
+		
+		if (TechProjectStatus.CALLBACK.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (TechProjectStatus.SETTLEMENT.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
+		
 		if (null != t.getUid() && t.getUid().equals(curUser.getId())) {
 			TechProject tp = new TechProject();
 			BeanUtils.copyProperties(techProject, tp);
@@ -210,7 +222,7 @@ public class TechProjectApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/upload", method = RequestMethod.POST)
-	public Result cognizanceFile(HttpServletRequest req, String uid) {
+	public Result cognizanceFile(HttpServletRequest req, String id, String sign) {
 		Result res = new Result();
 		if (!checkUserLogin(res)) {
 			return res;
@@ -220,8 +232,34 @@ public class TechProjectApiController extends CertifyApiController {
 			return res;
 		}
 
-		String sign = "tech_project";
-		res.setData(handleFiles(res, "/techProject/", true, req, sign, uid));
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技申报项目", "科技项目申报ID"));
+			return res;
+		}
+
+		TechProject t = techProjectService.selectByPrimaryKey(id);
+		if (null == t) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到申报项目", "科技项目申报"));
+			return res;
+		}
+		
+		if (TechProjectStatus.CALLBACK.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_CALLBACK, "当前记录已退单,无法修改!"));
+			return res;
+		}
+		
+		if (TechProjectStatus.SETTLEMENT.getCode() == t.getState()){
+			res.getError().add(buildError(ErrorConstants.RECORD_SETTLEMENT, "当前记录已结款,无法修改!"));
+			return res;
+		}
+		
+		AttachmentType attachmentType = AttachmentType.getField(sign);
+		
+		if (attachmentType == AttachmentType.TECH_PROJECT){
+			res.setData(handleFiles(res, "/techProject/", true, req, sign, TokenManager.getUserId()));
+		} else {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
+		}
 		return res;
 	}
 

+ 2 - 1
src/main/java/com/goafanti/user/bo/OrgListBo.java

@@ -77,6 +77,7 @@ public class OrgListBo {
 		this.aftUsername = aftUsername;
 	}
 
+	@JsonFormat(shape = Shape.STRING)
 	public Integer getAuditStatus() {
 		return auditStatus;
 	}
@@ -118,7 +119,7 @@ public class OrgListBo {
 		if (this.createTime == null) {
 			 return null;
 		   } else {
-			 return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
+			 return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDD);
 		   }
 	}
 			

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

@@ -4,6 +4,8 @@ import java.util.Date;
 
 import org.apache.commons.lang3.time.DateFormatUtils;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
 import com.goafanti.common.constant.AFTConstants;
 
 
@@ -74,7 +76,8 @@ public class UserListBo {
 	public void setAftUsername(String aftUsername) {
 		this.aftUsername = aftUsername;
 	}
-
+	
+	@JsonFormat(shape = Shape.STRING)
 	public Integer getAuditStatus() {
 		return auditStatus;
 	}

+ 27 - 20
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -24,6 +24,8 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.enums.IdentityAuditStatus;
+import com.goafanti.common.enums.IdentityProcess;
 import com.goafanti.common.enums.OrgProFields;
 import com.goafanti.common.enums.OrganizationIdentityFields;
 import com.goafanti.common.enums.OrganizationTechFields;
@@ -737,30 +739,32 @@ public class UserApiController extends BaseApiController {
 	@RequestMapping(value = "/userNextPro", method = RequestMethod.POST)
 	public Result userNextProcess(UserIdentity userIdentity, String verificationCode) {
 		Result res = new Result();
-		if (1 == userIdentity.getProcess()) {
+		if ((IdentityProcess.UNCOMMITTED.getCode() + 1) == userIdentity.getProcess()) {
 			if (!TokenManager.getSession().getAttribute(VerifyCodeUtils.V_CODE).equals(verificationCode)) {
 				res.getError().add(buildError(ErrorConstants.VCODE_ERROR, "验证码错误"));
 				return res;
 			}
 		}
 
-		if (3 == userIdentity.getProcess()) {
+		if (IdentityProcess.COMMITTED.getCode() == userIdentity.getProcess()) {//3
 			UserIdentity u = userIdentityService.selectUserIdentityByUserId(TokenManager.getUserId());
-			u.setAuditStatus(1);
+			u.setProcess(IdentityProcess.COMMITTED.getCode());
+			u.setAuditStatus(IdentityAuditStatus.COMMITTED.getCode());
 			userIdentityService.updateByPrimaryKeySelective(u);
+			return res;
 		}
 
-		if (5 == userIdentity.getProcess()) {
+		if (IdentityProcess.RESULTS.getCode() == userIdentity.getProcess()) {
 			UserIdentity u = userIdentityService.selectUserIdentityByUserId(TokenManager.getUserId());
 			if ((System.currentTimeMillis() - u.getPaymentDate().getTime()) > 432000000) {
-				u.setAuditStatus(4);
+				u.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
 				userIdentityService.updateByPrimaryKeySelective(u);
 				res.getError().add(buildError("", "1"));// 超过打款日期5日,无法提交确认
 				return res;
 			}
 			if (3 == u.getWrongCount()) {
-				u.setAuditStatus(4);
-				u.setProcess(5);
+				u.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
+				u.setProcess(IdentityProcess.RESULTS.getCode());//5
 				userIdentityService.updateByPrimaryKeySelective(u);
 				res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				return res;
@@ -770,8 +774,8 @@ public class UserApiController extends BaseApiController {
 				u.setWrongCount(u.getWrongCount() + 1);
 
 				if (0 == t) {
-					u.setAuditStatus(4);
-					u.setProcess(5);
+					u.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
+					u.setProcess(IdentityProcess.RESULTS.getCode());//5
 					res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				} else {
 					res.getError().add(buildError("", "输入打款金额错误,您还有" + t + "次机会"));
@@ -779,7 +783,8 @@ public class UserApiController extends BaseApiController {
 				userIdentityService.updateByPrimaryKeySelective(u);
 				return res;
 			}
-			userIdentity.setAuditStatus(5);
+			userIdentity.setAuditStatus(IdentityAuditStatus.PASSED.getCode());
+			userIdentity.setProcess(IdentityProcess.RESULTS.getCode());
 		}
 		return dealUserProcess(res, userIdentity, TokenManager.getUserId());
 	}
@@ -805,32 +810,33 @@ public class UserApiController extends BaseApiController {
 	public Result orgNextProcess(OrganizationIdentity orgIdentity, String listedDateFormattedDate,
 			String verificationCode) throws ParseException {
 		Result res = new Result();
-		if (1 == orgIdentity.getProcess()) {
+		if ((IdentityProcess.UNCOMMITTED.getCode() + 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, AFTConstants.YYYYMMDDHHMMSS));
+				orgIdentity.setListedDate(DateUtils.parseDate(listedDateFormattedDate, AFTConstants.YYYYMMDD));
 			}
 		}
-		if (3 == orgIdentity.getProcess()) {
+		if (IdentityProcess.COMMITTED.getCode() == orgIdentity.getProcess()) {
 			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
-			o.setAuditStatus(1);
+			o.setAuditStatus(IdentityAuditStatus.COMMITTED.getCode());
+			o.setProcess(IdentityProcess.COMMITTED.getCode());
 			organizationIdentityService.updateByPrimaryKeySelective(o);
 			return res;
 		}
 		if (5 == orgIdentity.getProcess()) {
 			OrganizationIdentity o = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
 			if (System.currentTimeMillis() - o.getPaymentDate().getTime() > 432000000) {
-				o.setAuditStatus(4);
+				o.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
 				organizationIdentityService.updateByPrimaryKeySelective(o);
 				res.getError().add(buildError("", "1"));// 超过打款日期5日,无法提交确认
 				return res;
 			}
 			if (3 == o.getWrongCount()) {
-				o.setAuditStatus(4);
-				o.setProcess(5);
+				o.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
+				o.setProcess(IdentityProcess.RESULTS.getCode());//5
 				organizationIdentityService.updateByPrimaryKeySelective(o);
 				res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				return res;
@@ -839,8 +845,8 @@ public class UserApiController extends BaseApiController {
 				int t = 3 - o.getWrongCount() - 1;
 				o.setWrongCount(o.getWrongCount() + 1);
 				if (0 == t) {
-					o.setAuditStatus(4);
-					o.setProcess(6);
+					o.setAuditStatus(IdentityAuditStatus.NOTPASSED.getCode());//4
+					o.setProcess(IdentityProcess.RESULTS.getCode());//5
 					res.getError().add(buildError("", "2"));// 输入错误金额次数过多
 				} else {
 					res.getError().add(buildError("", "输入打款金额错误,您还有" + t + "次机会"));
@@ -848,7 +854,8 @@ public class UserApiController extends BaseApiController {
 				organizationIdentityService.updateByPrimaryKeySelective(o);
 				return res;
 			}
-			orgIdentity.setAuditStatus(5);
+			orgIdentity.setAuditStatus(IdentityAuditStatus.PASSED.getCode());
+			orgIdentity.setProcess(IdentityProcess.RESULTS.getCode());
 		}
 		return dealOrgProcess(res, orgIdentity, TokenManager.getUserId());
 	}

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

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

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

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

+ 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.15
+static.host=//afts.hnzhiming.com/1.0.16

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

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

+ 29 - 25
src/main/resources/props/error.properties

@@ -1,41 +1,45 @@
-org.apache.shiro.authc.UnknownAccountException=\u8D26\u53F7\u6216\u5BC6\u7801\u4E0D\u5339\u914D\u3002
-org.apache.shiro.authc.IncorrectCredentialsException=\u8D26\u53F7\u6216\u5BC6\u7801\u4E0D\u5339\u914D\u3002
-org.apache.shiro.authc.LockedAccountException=\u8BE5\u8D26\u53F7\u5DF2\u51BB\u7ED3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002
-org.apache.shiro.authc.DisabledAccountException=\u8BE5\u8D26\u53F7\u5DF2\u51BB\u7ED3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002
-org.apache.shiro.authc.ExcessiveAttemptsException=\u5C1D\u8BD5\u6B21\u6570\u8FC7\u591A\uFF0C\u8D26\u53F7\u6682\u65F6\u88AB\u9501\u5B9A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002
-org.apache.shiro.session.ExpiredSessionException=\u767B\u5F55\u4FE1\u606F\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u3002
-org.springframework.dao.DataIntegrityViolationException=\u670D\u52A1\u5668\u6253\u4E86\u4E2A\u76F9\u513F\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6216\u7A0D\u540E\u518D\u8BD5\u3002
-org.springframework.jdbc.BadSqlGrammarException=\u6570\u636E\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6216\u7A0D\u540E\u518D\u8BD5\u3002
-java.text.ParseException=\u53C2\u6570\u683C\u5F0F\u9519\u8BEF\uFF0C\u8BF7\u6838\u5BF9\u8F93\u5165\u6570\u636E\u540E\u518D\u8BD5\u3002
+org.apache.shiro.authc.UnknownAccountException=\u8d26\u53f7\u6216\u5bc6\u7801\u4e0d\u5339\u914d\u3002
+org.apache.shiro.authc.IncorrectCredentialsException=\u8d26\u53f7\u6216\u5bc6\u7801\u4e0d\u5339\u914d\u3002
+org.apache.shiro.authc.LockedAccountException=\u8be5\u8d26\u53f7\u5df2\u51bb\u7ed3\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u3002
+org.apache.shiro.authc.DisabledAccountException=\u8be5\u8d26\u53f7\u5df2\u51bb\u7ed3\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u3002
+org.apache.shiro.authc.ExcessiveAttemptsException=\u5c1d\u8bd5\u6b21\u6570\u8fc7\u591a\uff0c\u8d26\u53f7\u6682\u65f6\u88ab\u9501\u5b9a\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002
+org.apache.shiro.session.ExpiredSessionException=\u767b\u5f55\u4fe1\u606f\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002
+org.springframework.dao.DataIntegrityViolationException=\u670d\u52a1\u5668\u6253\u4e86\u4e2a\u76f9\u513f\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6216\u7a0d\u540e\u518d\u8bd5\u3002
+org.springframework.jdbc.BadSqlGrammarException=\u6570\u636e\u5f02\u5e38\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6216\u7a0d\u540e\u518d\u8bd5\u3002
+java.text.ParseException=\u53c2\u6570\u683c\u5f0f\u9519\u8bef\uff0c\u8bf7\u6838\u5bf9\u8f93\u5165\u6570\u636e\u540e\u518d\u8bd5\u3002
 
-NON_LOGIN=\u7528\u6237\u672A\u767B\u5F55\u3002
+NON_LOGIN=\u7528\u6237\u672a\u767b\u5f55\u3002
 
-VCODE_ERROR=\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF\uFF01
+VCODE_ERROR=\u9a8c\u8bc1\u7801\u8f93\u5165\u9519\u8bef\uff01
 
-NO_AUTH_ERROR=\u672A\u6388\u6743\u6216\u6388\u6743\u8FC7\u671F\u3002
+NO_AUTH_ERROR=\u672a\u6388\u6743\u6216\u6388\u6743\u8fc7\u671f\u3002
 
-PARAM_ERROR={0}\u53C2\u6570\u9519\u8BEF
+PARAM_ERROR={0}\u53c2\u6570\u9519\u8bef
 
-PARAM_INTEGER_ERROR={0}\u53C2\u6570\u5FC5\u987B\u4E3A\u6570\u5B57\u3002
+PARAM_INTEGER_ERROR={0}\u53c2\u6570\u5fc5\u987b\u4e3a\u6570\u5b57\u3002
 
-PARAM_EMPTY_ERROR={0}\u5FC5\u987B\u6307\u5B9A\u3002
+PARAM_EMPTY_ERROR={0}\u5fc5\u987b\u6307\u5b9a\u3002
 
-PARAM_SIZE_ERROR={0}\u53C2\u6570\u957F\u5EA6\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4\u3002
+PARAM_SIZE_ERROR={0}\u53c2\u6570\u957f\u5ea6\u4e0d\u6b63\u786e\uff0c\u5fc5\u987b\u5728{min}\u548c{max}\u4e4b\u95f4\u3002
 
-PARAM_PATTERN_ERROR={0}\u53C2\u6570\u683C\u5F0F\u987B\u6B63\u786E\u6307\u5B9A{1}\u3002
+PARAM_PATTERN_ERROR={0}\u53c2\u6570\u683c\u5f0f\u987b\u6b63\u786e\u6307\u5b9a{1}\u3002
 
-EMAIL_SIZE_ERROR=\u90AE\u7BB1\u5730\u5740\u957F\u5EA6\u9519\u8BEF\uFF01
+EMAIL_SIZE_ERROR=\u90ae\u7bb1\u5730\u5740\u957f\u5ea6\u9519\u8bef\uff01
 
-EMAIL_PATTERN_ERROR=\u90AE\u7BB1\u5730\u5740\u683C\u5F0F\u9519\u8BEF\uFF01
+EMAIL_PATTERN_ERROR=\u90ae\u7bb1\u5730\u5740\u683c\u5f0f\u9519\u8bef\uff01
 
-MOBILE_SIZE_ERROR=\u624B\u673A\u53F7\u957F\u5EA6\u9519\u8BEF\uFF01
+MOBILE_SIZE_ERROR=\u624b\u673a\u53f7\u957f\u5ea6\u9519\u8bef\uff01
 
-MOBILE_PATTERN_ERROR=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF\uFF01
+MOBILE_PATTERN_ERROR=\u624b\u673a\u53f7\u683c\u5f0f\u9519\u8bef\uff01
 
-DUNPLICATE_KAY_ERROR={0}\u5DF2\u88AB\u4ED6\u4EBA\u6CE8\u518C\uFF01
+DUNPLICATE_KAY_ERROR={0}\u5df2\u88ab\u4ed6\u4eba\u6ce8\u518c\uff01
 
-DATA_EMPTY_ERROR=\u5F53\u524D{0}\u6CA1\u6709\u6570\u636E\u3002
+DATA_EMPTY_ERROR=\u5f53\u524d{0}\u6ca1\u6709\u6570\u636e\u3002
 
-PWD_NOT_MATCH_ERROR=\u539F\u5BC6\u7801\u8F93\u5165\u4E0D\u5339\u914D\u3002
+PWD_NOT_MATCH_ERROR=\u539f\u5bc6\u7801\u8f93\u5165\u4e0d\u5339\u914d\u3002
 
-NON_CERTIFIED=\u672A\u901A\u8FC7\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u65E0\u6CD5\u64CD\u4F5C\uFF01
+NON_CERTIFIED=\u672a\u901a\u8fc7\u5b9e\u540d\u8ba4\u8bc1\uff0c\u65e0\u6cd5\u64cd\u4f5c\uff01
+
+RECORD_CALLBACK=\u5f53\u524d\u8bb0\u5f55\u5df2\u9000\u5355\uff0c\u65e0\u6cd5\u4fee\u6539\uff01
+
+RECORD_SETTLEMENT=\u5f53\u524d\u8bb0\u5f55\u5df2\u7ed3\u6b3e\uff0c\u65e0\u6cd5\u4fee\u6539\uff01

+ 6 - 0
src/main/webapp/WEB-INF/views/header.jsp

@@ -77,6 +77,12 @@
 	<shiro:hasPermission name="customer">
 	window.showCustomer = true;
 	</shiro:hasPermission>
+	<shiro:hasPermission name="api/admin/userList">
+	window.showUserList = true;
+	</shiro:hasPermission>
+	<shiro:hasPermission name="api/admin/orgList">
+	window.showOrgList = true;
+	</shiro:hasPermission>
 	
 </script>
 <script type="text/javascript" src="${staticHost}/vendors.js"></script>