|
|
@@ -1,5 +1,10 @@
|
|
|
package com.goafanti.techservice.patent.controller;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileInputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Calendar;
|
|
|
@@ -10,8 +15,11 @@ import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import org.junit.Test;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
@@ -27,6 +35,7 @@ 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.LoggerUtils;
|
|
|
import com.goafanti.common.utils.StringUtils;
|
|
|
import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
@@ -58,6 +67,9 @@ public class PatentApiController extends BaseApiController {
|
|
|
private PatentRegistrationService patentRegistrationService;
|
|
|
@Resource
|
|
|
private AdminService adminService;
|
|
|
+
|
|
|
+ @Value(value = "${upload.private.path}")
|
|
|
+ private String uploadPrivatePath = null;
|
|
|
|
|
|
/**
|
|
|
* 用户端专利申请
|
|
|
@@ -343,9 +355,9 @@ public class PatentApiController extends BaseApiController {
|
|
|
* @throws ParseException
|
|
|
*/
|
|
|
@RequestMapping(value = "/saveRecieveSend", method = RequestMethod.POST)
|
|
|
- public Result recieveSendDetail(String rid, PatentRegistrationBo patentRegistrationBo) throws ParseException {
|
|
|
+ public Result recieveSendDetail(String rid, String pid ,PatentRegistrationBo patentRegistrationBo) throws ParseException {
|
|
|
Result res = new Result();
|
|
|
- patentRegistrationService.updateByPrimaryKeySelective(regBo2Reg(rid, patentRegistrationBo));
|
|
|
+ patentRegistrationService.updateByPrimaryKey(regBo2Reg(rid, pid, patentRegistrationBo));
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
@@ -386,6 +398,54 @@ public class PatentApiController extends BaseApiController {
|
|
|
res.setData(patentCostService.updateByPrimaryKeySelective(p));
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载专利代理委托书模版
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/downLoadTemplate",method = RequestMethod.GET)
|
|
|
+ public Result downloadPatentProryStatement(HttpServletResponse response, HttpServletRequest request){
|
|
|
+ Result res = new Result();
|
|
|
+ /*if(null == TokenManager.getAdminToken() || null == TokenManager.getToken()){
|
|
|
+ res.getError().add(buildError(ErrorConstants.FILE_NON_EXISTENT, "权限不足,无法下载!"));
|
|
|
+ return res;
|
|
|
+ }*/
|
|
|
+ String filename =Long.toString(System.nanoTime())+".doc";
|
|
|
+ InputStream in = null;
|
|
|
+ OutputStream out = null;
|
|
|
+ byte[] buffer = new byte[8 * 1024];
|
|
|
+ String fileSaveRootPath = "";
|
|
|
+ try {
|
|
|
+ fileSaveRootPath = uploadPrivatePath + "/patent/patent_prory_statement.doc";
|
|
|
+ File file = new File(fileSaveRootPath);
|
|
|
+ in = new FileInputStream(file);
|
|
|
+ out = response.getOutputStream();
|
|
|
+ // 设置文件MIME类型
|
|
|
+ response.setContentType("application/octet-stream");
|
|
|
+ response.setHeader("Content-Disposition", "attachment; filename=" + filename);
|
|
|
+ for (;;) {
|
|
|
+ int bytes = in.read(buffer);
|
|
|
+ if (bytes == -1) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ out.write(buffer, 0, bytes);
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ LoggerUtils.fmtError(getClass(), e, "IO错误:%s", e.getMessage());
|
|
|
+ } finally {
|
|
|
+ try {
|
|
|
+ in.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ LoggerUtils.fmtError(getClass(), e, "IO错误:%s", e.getMessage());
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ out.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ LoggerUtils.fmtError(getClass(), e, "IO错误:%s", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
|
|
|
// 专利纸件收发登记
|
|
|
private Pagination<PatentRecieveSendBo> getRecieveSendList(Integer pNo, Integer pSize) {
|
|
|
@@ -432,27 +492,35 @@ public class PatentApiController extends BaseApiController {
|
|
|
patentName, patentCatagory, patentState, pNo, pSize);
|
|
|
}
|
|
|
|
|
|
- private PatentRegistration regBo2Reg(String rid, PatentRegistrationBo patentRegistrationBo) throws ParseException {
|
|
|
+ private PatentRegistration regBo2Reg(String rid, String pid ,PatentRegistrationBo patentRegistrationBo) throws ParseException {
|
|
|
PatentRegistration patentRegistration = new PatentRegistration();
|
|
|
patentRegistration.setId(rid);
|
|
|
patentRegistration.setAcceptanceExpressCompany(patentRegistrationBo.getAcceptanceExpressCompany());
|
|
|
if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceIssueTime())) {
|
|
|
patentRegistration.setAcceptanceIssueTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getAcceptanceIssueTime(), "yyyy-MM-dd"));
|
|
|
+ }else{
|
|
|
+ patentRegistration.setAcceptanceIssueTime(null);
|
|
|
}
|
|
|
if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceReceiveTime())) {
|
|
|
patentRegistration.setAcceptanceReceiveTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getAcceptanceReceiveTime(), "yyyy-MM-dd"));
|
|
|
+ }else{
|
|
|
+ patentRegistration.setAcceptanceReceiveTime(null);
|
|
|
}
|
|
|
patentRegistration.setAcceptanceTrackingNumber(patentRegistrationBo.getAcceptanceTrackingNumber());
|
|
|
patentRegistration.setAuthorizationExpressCompany(patentRegistrationBo.getAuthorizationExpressCompany());
|
|
|
if (!StringUtils.isBlank(patentRegistrationBo.getAuthorizationIssueTime())) {
|
|
|
patentRegistration.setAuthorizationIssueTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getAuthorizationIssueTime(), "yyyy-MM-dd"));
|
|
|
+ }else{
|
|
|
+ patentRegistration.setAuthorizationIssueTime(null);
|
|
|
}
|
|
|
if (!StringUtils.isBlank(patentRegistrationBo.getAuthorizationReceiveTime())) {
|
|
|
patentRegistration.setAuthorizationReceiveTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getAuthorizationReceiveTime(), "yyyy-MM-dd"));
|
|
|
+ }else{
|
|
|
+ patentRegistration.setAuthorizationReceiveTime(null);
|
|
|
}
|
|
|
patentRegistration.setAuthorizationTrackingNumber(patentRegistrationBo.getAuthorizationTrackingNumber());
|
|
|
patentRegistration.setCertificateExpressCompany(patentRegistrationBo.getCertificateExpressCompany());
|
|
|
@@ -460,12 +528,17 @@ public class PatentApiController extends BaseApiController {
|
|
|
patentRegistration.setCertificateIssueTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getCertificateIssueTime(), "yyyy-MM-dd"));
|
|
|
|
|
|
+ }else{
|
|
|
+ patentRegistration.setCertificateIssueTime(null);
|
|
|
}
|
|
|
if (!StringUtils.isBlank(patentRegistrationBo.getCertificateRecieveTime())) {
|
|
|
patentRegistration.setCertificateRecieveTime(
|
|
|
DateUtils.parseDate(patentRegistrationBo.getCertificateRecieveTime(), "yyyy-MM-dd"));
|
|
|
+ }else{
|
|
|
+ patentRegistration.setCertificateRecieveTime(null);
|
|
|
}
|
|
|
patentRegistration.setCertificateTrackingNumber(patentRegistrationBo.getCertificateTrackingNumber());
|
|
|
+ patentRegistration.setPid(pid);
|
|
|
return patentRegistration;
|
|
|
}
|
|
|
|