Antiloveg 8 years ago
parent
commit
c38014736a

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

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

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

@@ -2686,10 +2686,24 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			return res;
+		}
+		
+		
 		if (!checkCertify(res, cog.getUid()).getError().isEmpty()) {
 			return res;
 		}

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

@@ -96,6 +96,11 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			return res;
+		}
 
 		CopyrightInfo ci = new CopyrightInfo();
 		CopyrightLog cl = new CopyrightLog();
@@ -133,6 +138,11 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			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());

+ 50 - 1
src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java

@@ -207,6 +207,11 @@ public class AdminPatentApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
 			return res;
 		}
+		
+		if (PatentInfoStatus.CALLBACK.getCode() == p.getPatentState()){
+			res.getError().add(buildError(ErrorConstants.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			return res;
+		}
 
 		Date recordTime = null;
 		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
@@ -279,13 +284,29 @@ 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);
 		if (!checkCertify(res, curUser)) {
 			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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			return res;
+		}
 
 		AttachmentType attachmentType = AttachmentType.getField(sign);
 		if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT || attachmentType == AttachmentType.PATENT_WRITING
@@ -298,6 +319,34 @@ public class AdminPatentApiController extends CertifyApiController {
 
 		return res;
 	}
+	
+	/**
+	 * 新增专利申请上传专利代理委托书
+	 * @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;
+	}
+	
+	
 
 	/**
 	 * 下载专利相关材料

+ 31 - 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,11 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			return res;
+		}
 
 		Date recordTime = null;
 		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
@@ -412,15 +418,37 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			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;
 	}
 

+ 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);
+
 
 }

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

@@ -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);
+	}
 }

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

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

+ 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;

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

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

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

@@ -119,6 +119,12 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			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());

+ 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);
 		}
 

+ 25 - 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;
@@ -210,7 +211,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 +221,29 @@ 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.FILE_PATTERN_ERROR, "当前申请已退单,无法修改!"));
+			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;
 	}
 

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

@@ -1,41 +1,43 @@
-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\u7533\u8bf7\u5df2\u9000\u5355\uff0c\u65e0\u6cd5\u4fee\u6539\uff01