| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306 |
- package com.goafanti.admin.controller;
- import java.io.IOException;
- import java.text.ParseException;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.TreeMap;
- import java.util.UUID;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.validation.Valid;
- import org.apache.commons.lang3.time.DateUtils;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFRow;
- import org.apache.poi.hssf.usermodel.HSSFSheet;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.util.CellRangeAddress;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import com.alibaba.fastjson.JSON;
- import com.goafanti.admin.service.AdminService;
- import com.goafanti.admin.service.AftFileService;
- import com.goafanti.cognizance.service.OrgIntellectualPropertyService;
- import com.goafanti.cognizance.service.OrgRatepayService;
- 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.PatentCostFields;
- import com.goafanti.common.enums.PatentInfoFields;
- import com.goafanti.common.enums.PatentInfoStatus;
- import com.goafanti.common.enums.PatentRegistrationFields;
- import com.goafanti.common.model.Admin;
- import com.goafanti.common.model.AftFile;
- import com.goafanti.common.model.OrgRatepay;
- 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.model.User;
- import com.goafanti.common.utils.FileUtils;
- import com.goafanti.common.utils.LoggerUtils;
- import com.goafanti.common.utils.SHA256Util;
- import com.goafanti.common.utils.StringUtils;
- import com.goafanti.core.mybatis.page.Pagination;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.patent.bo.InputPatentCost;
- import com.goafanti.patent.bo.InputPatentInfo;
- import com.goafanti.patent.bo.InputPatentRegistration;
- import com.goafanti.patent.bo.PatentApplicationFeeBo;
- import com.goafanti.patent.bo.PatentManageListBo;
- import com.goafanti.patent.bo.PatentPendingBo;
- import com.goafanti.patent.service.PatentCostService;
- import com.goafanti.patent.service.PatentInfoService;
- import com.goafanti.patent.service.PatentLogService;
- import com.goafanti.patent.service.PatentRegistrationService;
- import com.goafanti.user.service.OrganizationIdentityService;
- import com.goafanti.user.service.UserService;
- @RestController
- @RequestMapping(value = "/api/admin/patent")
- public class AdminPatentApiController extends CertifyApiController {
- @Resource
- private PatentInfoService patentInfoService;
- @Resource
- private PatentLogService patentLogService;
- @Resource
- private OrganizationIdentityService organizationIdentityServivce;
- @Resource
- private PatentCostService patentCostService;
- @Resource
- private PatentRegistrationService patentRegistrationService;
- @Resource
- private AdminService adminService;
- @Resource
- private OrgIntellectualPropertyService orgIntellectualPropertyService;
- @Resource
- private UserService userService;
- @Resource
- private AftFileService aftFileService;
- @Resource
- private OrgRatepayService orgRatepayService;
- @Value(value = "${aesSecretKey}")
- private String secretKey = null;
- /**
- * 专利批量流转
- *
- * @return
- */
- @RequestMapping(value = "/circulation", method = RequestMethod.POST)
- public Result circulation(@RequestParam(name = "ids[]", required = true) String[] ids, @Valid InputPatentInfo pi,
- BindingResult bindingResult, String recordTimeFormattedDate) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- PatentInfoFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (null == pi.getState()) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到流转状态", "流转状态"));
- return res;
- }
- if (null == pi.getPrincipal()) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到负责人", "负责人"));
- return res;
- }
-
- if (null == recordTimeFormattedDate) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到记录流转时间", "记录流转时间"));
- return res;
- }
-
- PatentLog pl = new PatentLog();
- BeanUtils.copyProperties(pi, pl);
-
- res.setData(patentInfoService.batchCirculation(ids,recordTimeFormattedDate, pl));
- return res;
- }
- /**
- * 专利列表
- *
- * @throws ParseException
- */
- @RequestMapping(value = "/patentList", method = RequestMethod.GET)
- public Result patentList(Integer serialNumber, String patentNumber, String office, String locationProvince,
- String unitName, Integer patentCatagory, String patentName, Integer patentState,
- @RequestParam(name = "createTime[]", required = false) String[] createTime,
- @RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
- String author, 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(patentInfoService.getManagePatentList(serialNumber, patentNumber, office, locationProvince,
- unitName, patentCatagory, patentName, patentState, createTime, patentApplicationDate, author, pNo,
- pSize));
- return res;
- }
- /**
- * 新增专利申请
- */
- @RequestMapping(value = "/apply", method = RequestMethod.POST)
- public Result manageApplyPatent(@Valid InputPatentInfo patentInfo, BindingResult bindingResult) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- PatentInfoFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (StringUtils.isBlank(patentInfo.getUid())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
- return res;
- }
- User curUser = userService.selectByPrimaryKey(patentInfo.getUid());
- if (!checkCertify(res, curUser)) {
- return res;
- }
- PatentInfo pi = new PatentInfo();
- BeanUtils.copyProperties(patentInfo, pi);
- res.setData(patentInfoService.savePatentInfo(pi, curUser.getAid()));
- return res;
- }
- /**
- * 专利详情
- *
- * @param pid
- * @return
- */
- @RequestMapping(value = "/detail", method = RequestMethod.GET)
- public Result patentDetail(String pid) {
- Result res = new Result();
- if (StringUtils.isBlank(pid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "专利ID"));
- } else {
- res.setData(patentInfoService.selectPatentInfoDetail(pid));
- }
- return res;
- }
- /**
- * 管理端logs
- */
- @RequestMapping(value = "/logs", method = RequestMethod.GET)
- public Result patentProcess(String pid) {
- Result res = new Result();
- if (StringUtils.isBlank(pid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "专利ID"));
- } else {
- res.setData(patentLogService.selectProcessByPid(pid));
- }
- return res;
- }
- /**
- * 专利详情修改保存
- *
- * @throws ParseException
- */
- @RequestMapping(value = "/update", method = RequestMethod.POST)
- public Result managePatentInfo(@Valid InputPatentInfo patentInfo, BindingResult bindingResult,
- String recordTimeFormattedDate) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- PatentInfoFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (StringUtils.isBlank(patentInfo.getId())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
- return res;
- }
- PatentInfo p = patentInfoService.selectByPrimaryKey(patentInfo.getId());
- 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;
- }
- Date recordTime = null;
- if (!StringUtils.isBlank(recordTimeFormattedDate)) {
- try {
- recordTime = DateUtils.parseDate(recordTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS);
- } catch (ParseException e) {
- }
- }
- PatentInfo pi = new PatentInfo();
- PatentLog pl = new PatentLog();
- pi.setId(patentInfo.getId());
- BeanUtils.copyProperties(patentInfo, pi);
- BeanUtils.copyProperties(patentInfo, pl);
- patentInfoService.updatePatentInfo(pi, pl, recordTime);
- res.setData(1);
- return res;
- }
- /**
- * 专利状态流转下拉
- *
- * @return
- */
- @RequestMapping(value = "/patentStatus", method = RequestMethod.GET)
- public Result patentStatus() {
- Result res = new Result();
- res.setData(disposePatentStatus());
- return res;
- }
- /**
- * 上年度纳税申报报表是否存在
- *
- * @param uid
- * @param sign
- * @return
- */
- @RequestMapping(value = "/lastYearTax", method = RequestMethod.GET)
- public Result lastYearTax(String uid, String sign) {
- Result res = new Result();
- if (StringUtils.isBlank(uid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
- return res;
- }
- AttachmentType attachmentType = AttachmentType.getField(sign);
- if (attachmentType == AttachmentType.LAST_YEAR_RATEPAY) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
- return res;
- }
- Calendar cal = Calendar.getInstance();
- OrgRatepay ratepay = orgRatepayService.selectRatepayByUidAndYear(uid, cal.get(Calendar.YEAR) - 1);
- if (null == ratepay) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到上年度纳税申报表", "上年度纳税申报表"));
- return res;
- }
- return res;
- }
- /**
- * 专利相关材料上传(专利稿件,授权通知书,专利证书)
- *
- * @param req
- * @param uid
- * @param sign
- * @return
- */
- @RequestMapping(value = "/upload", method = RequestMethod.POST)
- 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.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_WRITING || attachmentType == AttachmentType.AUTHORIZATION_NOTICE
- || attachmentType == AttachmentType.PATENT_CERTIFICATE) {
- res.setData(handleFiles(res, "/patent/", true, req, sign, uid));
- } else {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
- }
- 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;
- }
- /**
- * 下载专利相关材料
- *
- * @param id
- * @param sign
- * @param response
- * @return
- */
- @RequestMapping(value = "/download", method = RequestMethod.GET)
- public Result download(String id, String sign, HttpServletResponse response) {
- Result res = new Result();
- if (StringUtils.isEmpty(id)) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利id"));
- return res;
- }
- PatentInfo pi = patentInfoService.selectByPrimaryKey(id);
- if (pi == null) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利id"));
- return res;
- }
- AttachmentType attachmentType = AttachmentType.getField(sign);
- if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT || attachmentType == AttachmentType.PATENT_WRITING
- || attachmentType == AttachmentType.AUTHORIZATION_NOTICE
- || attachmentType == AttachmentType.PATENT_CERTIFICATE) {
- if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT) {
- downloadFile(response, pi.getPatentProryStatementDownloadFileName(), pi.getPatentProryStatementUrl());
- } else if (attachmentType == AttachmentType.PATENT_WRITING) {
- downloadFile(response, pi.getPatentWritingDownloadFileName(), pi.getPatentWritingUrl());
- } else if (attachmentType == AttachmentType.AUTHORIZATION_NOTICE) {
- downloadFile(response, pi.getAuthorizationNoticeDownloadFileName(), pi.getAuthorizationNoticeUrl());
- } else if (attachmentType == AttachmentType.PATENT_CERTIFICATE) {
- downloadFile(response, pi.getPatentCertificateDownloadFileName(), pi.getPatentCertificateUrl());
- }
- } else {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
- }
- return res;
- }
- /**
- * 预览专利相关材料
- *
- * @param id
- * @param sign
- * @param response
- * @return
- */
- @RequestMapping(value = "/preview", method = RequestMethod.GET)
- public Result preview(String id, String sign) {
- Result res = new Result();
- if (StringUtils.isEmpty(id)) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利id"));
- return res;
- }
- PatentInfo pi = patentInfoService.selectByPrimaryKey(id);
- if (pi == null) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利id"));
- return res;
- }
- AttachmentType attachmentType = AttachmentType.getField(sign);
- if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT || attachmentType == AttachmentType.PATENT_WRITING
- || attachmentType == AttachmentType.AUTHORIZATION_NOTICE
- || attachmentType == AttachmentType.PATENT_CERTIFICATE) {
- String time = String.valueOf(Calendar.getInstance().getTime().getTime());
- String auth = SHA256Util.toHash(sign + "|" + id + "|" + secretKey, time);
- res.setData("sign=" + sign + "&token=" + id + "&auth=" + auth + "&temp=" + time);
- } else {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
- }
- return res;
- }
- /**
- * 下载模版文件(专利代理委托书)
- *
- * @param response
- * @return
- */
- @RequestMapping(value = "/downloadTemplateFile", method = RequestMethod.GET)
- public Result downloadTemplateFile(HttpServletResponse response, String sign) {
- Result res = new Result();
- AttachmentType attachmentType = AttachmentType.getField(sign);
- if (attachmentType == AttachmentType.PATENT_PRORY_STATEMENT) {
- String fileName = "";
- AftFile af = aftFileService.selectAftFileBySign(sign);
- if (null == af) {
- res.getError().add(buildError(ErrorConstants.FILE_NON_EXISTENT, "找不到", "文件"));
- } else {
- String path = af.getFilePath();
- String suffix = path.substring(path.lastIndexOf("."));
- fileName = "专利代理委托书模版" + suffix;
- downloadFile(response, fileName, path);
- }
- } else {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "专利代理委托书标示"));
- }
- return res;
- }
- /**
- * 下载上年度纳税申报表
- *
- * @param response
- * @param uid
- * @param year
- * @param sign
- * @return
- */
- @RequestMapping(value = "/downloadRatepay", method = RequestMethod.GET)
- public Result downloadRatepay(HttpServletResponse response, String uid, String sign) {
- Result res = new Result();
- if (StringUtils.isBlank(uid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
- return res;
- }
- Calendar cal = Calendar.getInstance();
- OrgRatepay ratepay = orgRatepayService.selectRatepayByUidAndYear(uid, cal.get(Calendar.YEAR) - 1);
- if (null == ratepay) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到上年度纳税申报表", "上年度纳税申报表"));
- return res;
- }
- AttachmentType attachmentType = AttachmentType.getField(sign);
- if (attachmentType == AttachmentType.LAST_YEAR_RATEPAY) {
- downloadFile(response, ratepay.getTaxReturnDownloadFileName(), ratepay.getTaxReturnUrl());
- } else {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
- }
- return res;
- }
- /**
- * 上传专利代理委托书模版
- *
- * @param req
- * @return
- */
- @RequestMapping(value = "/uploadTemplate", method = RequestMethod.POST)
- public Result uploadPatentTemplate(HttpServletRequest req, String sign) {
- Result res = new Result();
- String fileName = "";
- List<MultipartFile> files = getFiles(req);
- MultipartFile mf = files.get(0);
- String suffix = mf.getOriginalFilename().substring(mf.getOriginalFilename().lastIndexOf("."));
- System.err.println("suffix" + " " + suffix);
- if (suffix.equals(".doc") || suffix.equals(".docx")) {
- if ("patent_prory_statement".equals(sign)) {
- fileName = "patent_prory_statement" + suffix;
- } else {
- fileName = System.nanoTime() + "";
- }
- String name = handleFile(res, req, fileName, files, mf);
- res.setData(name);
- System.out.println(name);
- if (res.getData() != "" && res.getData() != null && null == aftFileService.selectAftFileBySign(sign)) {
- AftFile f = new AftFile();
- f.setId(UUID.randomUUID().toString());
- if ("patent_prory_statement".equals(sign)) {
- f.setFileName("专利代理委托书模版");
- f.setSign(sign);
- }
- f.setFilePath("/admin/" + fileName);
- f.setDeleletedSign(0);
- aftFileService.insert(f);
- }
- } else {
- res.getError().add(buildError(ErrorConstants.FILE_PATTERN_ERROR, "文件格式错误,请重新上传!"));
- }
- return res;
- }
- /**
- * 删除专利
- *
- * @param ids
- * @return
- */
- @RequestMapping(value = "/delete", method = RequestMethod.POST)
- public Result deletePatent(@RequestParam(name = "ids[]", required = false) String[] ids) {
- Result res = new Result();
- if (ids == null || ids.length < 1) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
- } else {
- res.setData(patentInfoService.batchDeleteByPrimaryKey(Arrays.asList(ids)));
- }
- return res;
- }
- /**
- * 待缴费专利管理列表
- */
- @RequestMapping(value = "/pendingPaymentList", method = RequestMethod.GET)
- public Result managePendingPaymentList(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.setData(patentInfoService.getManagePendingPaymentList(locationProvince, pNo, pSize));
- return res;
- }
- /**
- * 年费确认缴费
- */
- @RequestMapping(value = "/confirmPayment", method = RequestMethod.POST)
- public Result confirmPayment(String cid, String uid) {
- Result res = new Result();
- if (StringUtils.isBlank(cid) || StringUtils.isBlank(uid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录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 (!uid.equals(info.getUid())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
- 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);
- patentCostService.updateByPrimaryKeySelective(patentCost);
- return res;
- }
- /**
- * 补正审查通知列表
- */
- @RequestMapping(value = "/noticeOfCorrectionList", method = RequestMethod.POST)
- public Result noticeOfCorrectionList(Date authorizedDate, Integer serialNumber, String patentNumber, String office,
- String locationProvince, String unitName, Integer patentCatagory, String patentName, Integer patentState,
- String author, 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(patentInfoService.getNoticeOfCorrectionList(authorizedDate, serialNumber, patentNumber, office,
- locationProvince, unitName, patentCatagory, patentName, patentState, author, pNo, pSize));
- return res;
- }
- /**
- * 补正审查通知答复确认
- */
- @RequestMapping(value = "/replyConfirm", method = RequestMethod.POST)
- public Result replyConfirm(String pid, String uid, Integer patentState) {
- Result res = new Result();
- if (StringUtils.isBlank(pid) || StringUtils.isBlank(uid)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
- return res;
- }
- if (null == patentState || (patentState != PatentInfoStatus.REVIEWNOTICE.getCode()
- && patentState != PatentInfoStatus.CORRECTIONNOTICE.getCode())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "专利状态"));
- return res;
- }
- PatentInfo info = patentInfoService.selectByPrimaryKey(pid);
- if (!uid.equals(info.getUid())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到专利申请", "专利记录ID"));
- return res;
- }
- patentInfoService.updateNoticeOfCorrection(pid, patentState);
- return res;
- }
- /**
- * 收发详情入口/收发纸件登记
- */
- @RequestMapping(value = "/getRecieveSendList", method = RequestMethod.GET)
- public Result RecieveSendList(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(patentRegistrationService.getRecieveSendList(pNo, pSize));
- return res;
- }
- /**
- * 收发登记详情编辑保存
- *
- * @throws ParseException
- */
- @RequestMapping(value = "/saveRecieveSend", method = RequestMethod.POST)
- public Result recieveSendDetail(@Valid InputPatentRegistration patentRegistrationBo, BindingResult bindingResult,
- String rid, String pid) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- PatentRegistrationFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (StringUtils.isBlank(pid) || StringUtils.isBlank(rid)) {
- 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;
- }
- /**
- * 专利申请费用管理
- */
- @RequestMapping(value = "/getApplicationFeeList", method = RequestMethod.GET)
- public Result getApplicationFeeList(
- @RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
- String locationProvince, String pageNo, String pageSize) throws ParseException {
- 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(patentCostService.getApplicationFeeList(patentApplicationDate, locationProvince, pNo, pSize));
- return res;
- }
- /**
- * 登记申请费用
- */
- @RequestMapping(value = "/registerApplicationFee", method = RequestMethod.POST)
- public Result registerApplicationFee(@Valid InputPatentCost patentCost, BindingResult bindingResult, String cid) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- PatentCostFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (null == cid) {
- 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);
- pc.setId(cid);
- res.setData(patentCostService.updateByPrimaryKeySelective(pc));
- return res;
- }
- /**
- * 专利综合管理报表导出
- *
- * @throws ParseException
- */
- @SuppressWarnings("unchecked")
- @RequestMapping(value = "/exportComposite", method = RequestMethod.GET)
- public Result exportComposite(@RequestParam(name = "serialNumber", required = false) String serialNumber,
- String patentNumber, String office, String locationProvince, String unitName,
- @RequestParam(name = "patentCatagory", required = false) String patentCatagory, String patentName,
- @RequestParam(name = "patentState", required = false) String patentState,
- @RequestParam(name = "createTime[]", required = false) String[] createTime,
- @RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
- String author, HttpServletResponse response) throws ParseException {
- Result res = new Result();
- Integer sn = (!StringUtils.isNumeric(serialNumber) ? null : Integer.parseInt(serialNumber));
- Integer pc = (!StringUtils.isNumeric(patentCatagory) ? null : Integer.parseInt(patentCatagory));
- Integer ps = (!StringUtils.isNumeric(patentState) ? null : Integer.parseInt(patentState));
- String lp = ("undefined".equals(locationProvince)) ? null : locationProvince;
- List<PatentManageListBo> composites = (List<PatentManageListBo>) getManagePatentList(sn, patentNumber, office,
- lp, unitName, pc, patentName, ps, createTime, patentApplicationDate, author, 1, 1000).getList();
- if (res.getError().isEmpty()) {
- exportComosites(response, composites);
- } else {
- FileUtils.out(response, JSON.toJSONString(res));
- }
- return res;
- }
- /**
- * 待缴年登印费专利管理报表导出
- */
- @RequestMapping(value = "/exportPending", method = RequestMethod.GET)
- public Result exportPending(String locationProvince, HttpServletResponse response) {
- Result res = new Result();
- @SuppressWarnings("unchecked")
- List<PatentPendingBo> pendings = (List<PatentPendingBo>) getManagePendingPaymentList(locationProvince, 1, 1000)
- .getList();
- if (res.getError().isEmpty()) {
- exportPendings(response, pendings);
- } else {
- FileUtils.out(response, JSON.toJSONString(res));
- }
- return res;
- }
- /**
- * 专利申请费用管理报表导出
- *
- * @throws ParseException
- */
- @SuppressWarnings("unchecked")
- @RequestMapping(value = "/exportApplicationFee", method = RequestMethod.GET)
- public Result exportApplicationFee(
- @RequestParam(name = "patentApplicationDate[]", required = false) String[] patentApplicationDate,
- String locationProvince, HttpServletResponse response) throws ParseException {
- Result res = new Result();
- List<PatentApplicationFeeBo> fees = (List<PatentApplicationFeeBo>) getApplicationFeeList(patentApplicationDate,
- locationProvince, 1, 1000).getList();
- if (res.getError().isEmpty()) {
- exportFees(response, fees);
- } else {
- FileUtils.out(response, JSON.toJSONString(res));
- }
- return res;
- }
- /**
- * 获取资料撰写人下拉
- *
- * @return
- */
- @RequestMapping(value = "/getAuthor", method = RequestMethod.GET)
- public Result getAuthor() {
- Result res = new Result();
- List<Admin> list = adminService.selectPatentAuthor();
- Map<String, String> map = new TreeMap<String, String>();
- for (Admin o : list) {
- map.put(o.getId(), o.getName());
- }
- res.setData(map);
- return res;
- }
- /**
- * 专利负责人下拉
- *
- * @return
- */
- @RequestMapping(value = "/getPrincipal", method = RequestMethod.GET)
- public Result getPrincipal() {
- Result res = new Result();
- List<Admin> list = adminService.selectPatentPrincipal();
- Map<String, String> map = new TreeMap<String, String>();
- for (Admin o : list) {
- map.put(o.getId(), o.getName());
- }
- res.setData(map);
- return res;
- }
- // 专利申请费用管理报表
- private void exportFees(HttpServletResponse response, List<PatentApplicationFeeBo> fees) {
- String sheetName = "专利申请费用管理报表";
- HSSFWorkbook workbook = createWorkbook(sheetName, new String[] { "编号", "申请号/专利号", "省份", "公司名称", "专利名称", "缴费状态",
- "申请费", "实审费", "文印费", "是否请款", "是否报销", "申请日", "缴费截止时间" });
- HSSFSheet sheet = workbook.getSheet(sheetName);
- for (int i = 0; i < fees.size(); i++) {
- PatentApplicationFeeBo obj = fees.get(i);
- HSSFRow row = sheet.createRow(i + 2);// 创建所需的行数
- if (null == obj.getSerialNumber()) {
- row.createCell(0).setCellValue("");
- } else {
- row.createCell(0).setCellValue(obj.getSerialNumber());
- }
- row.createCell(1).setCellValue(obj.getPatentNumber());
- row.createCell(2).setCellValue(obj.getLocationProvince());
- row.createCell(3).setCellValue(obj.getUnitName());
- row.createCell(4).setCellValue(obj.getPatentName());
- if (null != obj.getPaymentState()) {
- switch (obj.getPaymentState()) {
- case 0:
- row.createCell(5).setCellValue("未缴费");
- break;
- case 1:
- row.createCell(5).setCellValue("已缴费");
- }
- } else {
- row.createCell(5).setCellValue("未缴费");
- }
- row.createCell(6).setCellValue(null == obj.getApplicationFee() ? 0 : obj.getApplicationFee());
- row.createCell(7).setCellValue(null == obj.getTrialFee() ? 0 : obj.getTrialFee());
- row.createCell(8).setCellValue(null == obj.getPrintingFee() ? 0 : obj.getPrintingFee());
- if (null != obj.getFunds()) {
- switch (obj.getFunds()) {
- case 0:
- row.createCell(9).setCellValue("否");
- break;
- case 1:
- row.createCell(9).setCellValue("是");
- }
- } else {
- row.createCell(9).setCellValue("否");
- }
- if (null != obj.getReimbursement()) {
- switch (obj.getReimbursement()) {
- case 0:
- row.createCell(10).setCellValue("否");
- break;
- case 1:
- row.createCell(10).setCellValue("是");
- }
- } else {
- row.createCell(10).setCellValue("否");
- }
- row.createCell(11).setCellValue(obj.getPatentApplicationDateFormattedDate());
- row.createCell(12).setCellValue(null == obj.getPatentApplicationDateFormattedDate() ? ""
- : calDeadline(obj.getPatentApplicationDateFormattedDate()));
- }
- FileUtils.downloadExcel(response, sheetName + Calendar.getInstance().getTimeInMillis() + ".xls", workbook);
- }
- // 待缴年登印费专利管理报表
- private void exportPendings(HttpServletResponse response, List<PatentPendingBo> pendings) {
- String sheetName = "待缴年登印费专利管理报表";
- HSSFWorkbook workbook = createWorkbook(sheetName,
- new String[] { "编号", "申请号/专利号", "省份", "公司名称", "专利类型", "专利名称", "专利状态", "缴费状态", "缴费截止日期" });
- HSSFSheet sheet = workbook.getSheet(sheetName);
- for (int i = 0; i < pendings.size(); i++) {
- PatentPendingBo obj = pendings.get(i);
- HSSFRow row = sheet.createRow(i + 2);// 创建所需的行数
- if (null == obj.getSerialNumber()) {
- row.createCell(0).setCellValue("");
- } else {
- row.createCell(0).setCellValue(obj.getSerialNumber());
- }
- row.createCell(1).setCellValue(obj.getPatentNumber());
- row.createCell(2).setCellValue(obj.getLocationProvince());
- row.createCell(3).setCellValue(obj.getUnitName());
- if (null != obj.getPatentCatagory()) {
- switch (obj.getPatentCatagory()) {
- case 0:
- row.createCell(4).setCellValue("发明型专利");
- break;
- case 1:
- row.createCell(4).setCellValue("科技型专利");
- break;
- case 2:
- row.createCell(4).setCellValue("外观型专利");
- break;
- }
- } else {
- row.createCell(4).setCellValue("");
- }
- row.createCell(5).setCellValue(obj.getPatentName());
- row.createCell(6).setCellValue(null == obj.getPatentState() ? "" : switchPatState(obj.getPatentState()));
- if (null != obj.getAnnualFeeState()) {
- switch (obj.getAnnualFeeState()) {
- case 0:
- row.createCell(7).setCellValue("未缴费");
- break;
- case 1:
- row.createCell(7).setCellValue("已缴费");
- break;
- }
- } else {
- row.createCell(7).setCellValue("未缴费");
- }
- row.createCell(8).setCellValue(null == obj.getAuthorizedDateFormattedDate() ? ""
- : calDeadline(obj.getAuthorizedDateFormattedDate()));
- }
- FileUtils.downloadExcel(response, sheetName + Calendar.getInstance().getTimeInMillis() + ".xls", workbook);
- }
- private void exportComosites(HttpServletResponse response, List<PatentManageListBo> composites) {
- String sheetName = "专利综合管理报表";
- HSSFWorkbook workbook = createWorkbook(sheetName,
- new String[] { "编号", "申请号/专利号", "事务所", "省份", "公司名称", "专利名称", "专利状态", "派单日", "申请日", "授权日", "资料撰写人" });
- HSSFSheet sheet = workbook.getSheet(sheetName);
- // 将查询出的数据设置到sheet对应的单元格中
- for (int i = 0; i < composites.size(); i++) {
- PatentManageListBo obj = composites.get(i);// 遍历每个对象
- HSSFRow row = sheet.createRow(i + 2);// 创建所需的行数
- if (null == obj.getSerialNumber()) {
- row.createCell(0).setCellValue("");
- } else {
- row.createCell(0).setCellValue(obj.getSerialNumber());
- }
- row.createCell(1).setCellValue(obj.getPatentNumber());
- row.createCell(2).setCellValue(obj.getOffice());
- row.createCell(3).setCellValue(obj.getLocationProvince());
- row.createCell(4).setCellValue(obj.getUnitName());
- row.createCell(5).setCellValue(obj.getPatentName());
- row.createCell(6).setCellValue(null == obj.getPatentState() ? "" : switchPatState(obj.getPatentState()));
- row.createCell(7).setCellValue(null == obj.getPatentState() ? "" : switchPatState(obj.getPatentState()));
- row.createCell(8).setCellValue(obj.getCreateTimeFormattedDate());
- row.createCell(9).setCellValue(obj.getPatentApplicationFormattedDate());
- row.createCell(10).setCellValue(obj.getPatentApplicationFormattedDate());
- row.createCell(11).setCellValue(obj.getAuthor());
- }
- FileUtils.downloadExcel(response, sheetName + Calendar.getInstance().getTimeInMillis() + ".xls", workbook);
- }
- private HSSFWorkbook createWorkbook(String sheetName, String[] colNames) {
- HSSFWorkbook workbook = new HSSFWorkbook();
- HSSFSheet sheet = workbook.createSheet(sheetName);
- // 产生表格标题行
- HSSFRow rowm = sheet.createRow(0);
- HSSFCell cellTitle = rowm.createCell(0);
- cellTitle.setCellValue(sheetName);
- sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, (colNames.length - 1)));
- HSSFRow rowRowName = sheet.createRow(1); // 在索引2的位置创建行(最顶端的行开始的第二行)
- // 将列头设置到sheet的单元格中
- for (int n = 0; n < colNames.length; n++) {
- rowRowName.createCell(n).setCellValue(colNames[n]);
- }
- return workbook;
- }
- private PatentRegistration regBo2Reg(String rid, String pid, InputPatentRegistration patentRegistrationBo) {
- PatentRegistration patentRegistration = new PatentRegistration();
- patentRegistration.setId(rid);
- patentRegistration.setAcceptanceExpressCompany(patentRegistrationBo.getAcceptanceExpressCompany());
- try {
- if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceIssueTime())) {
- patentRegistration.setAcceptanceIssueTime(
- DateUtils.parseDate(patentRegistrationBo.getAcceptanceIssueTime(), AFTConstants.YYYYMMDD));
- }
- if (!StringUtils.isBlank(patentRegistrationBo.getAcceptanceReceiveTime())) {
- 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.YYYYMMDD));
- }
- if (!StringUtils.isBlank(patentRegistrationBo.getAuthorizationReceiveTime())) {
- 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.YYYYMMDD));
- }
- if (!StringUtils.isBlank(patentRegistrationBo.getCertificateRecieveTime())) {
- patentRegistration.setCertificateRecieveTime(
- DateUtils.parseDate(patentRegistrationBo.getCertificateRecieveTime(), AFTConstants.YYYYMMDD));
- }
- } catch (ParseException e) {
- }
- patentRegistration.setCertificateTrackingNumber(patentRegistrationBo.getCertificateTrackingNumber());
- patentRegistration.setPid(pid);
- return patentRegistration;
- }
- // 专利申请费用管理
- private Pagination<PatentApplicationFeeBo> getApplicationFeeList(String[] patentApplicationDate,
- String locationProvince, Integer pNo, Integer pSize) throws ParseException {
- return patentCostService.getApplicationFeeList(patentApplicationDate, locationProvince, pNo, pSize);
- }
- // 待缴费专利管理
- private Pagination<PatentPendingBo> getManagePendingPaymentList(String locationProvince, Integer pNo,
- Integer pSize) {
- return patentInfoService.getManagePendingPaymentList(locationProvince, pNo, pSize);
- }
- // 管理端申请专利列表(专利综合管理)
- private Pagination<PatentManageListBo> getManagePatentList(Integer serialNumber, String patentNumber, String office,
- String locationProvince, String unitName, Integer patentCatagory, String patentName, Integer patentState,
- String[] createTime, String[] patentApplicationDate, String author, Integer pNo, Integer pSize)
- throws ParseException {
- return patentInfoService.getManagePatentList(serialNumber, patentNumber, office, locationProvince, unitName,
- patentCatagory, patentName, patentState, createTime, patentApplicationDate, author, pNo, pSize);
- }
- // 缴费截止日期
- private String calDeadline(String s) {
- String[] arr = s.split("-");
- String y = arr[0];
- String m = arr[1];
- String d = arr[2];
- if ("11".equals(arr[0])) {
- m = "01";
- y = String.valueOf(Integer.parseInt(y) + 1);
- } else if ("12".equals(arr[0])) {
- m = "02";
- y = String.valueOf(Integer.parseInt(y) + 1);
- } else {
- m = String.valueOf(Integer.parseInt(m) + 2);
- }
- return y + m + d;
- }
- // 专利状态
- private String switchPatState(Integer s) {
- String state = "";
- switch (s) {
- case 0:
- state = "申请";
- break;
- case 1:
- state = "签单";
- break;
- case 2:
- state = "派单";
- break;
- case 3:
- state = "流转";
- break;
- case 4:
- state = "撰写";
- break;
- case 5:
- state = "受理";
- break;
- case 6:
- state = "审查意见通知";
- break;
- case 7:
- state = "审查意见已答复";
- break;
- case 8:
- state = "补正通知";
- break;
- case 9:
- state = "补正已答复";
- break;
- case 10:
- state = "授权";
- break;
- case 11:
- state = "驳回";
- break;
- case 12:
- state = "发证";
- break;
- case 13:
- state = "已结款";
- break;
- case 14:
- state = "退单";
- break;
- }
- return state;
- }
- private String handleFile(Result res, HttpServletRequest req, String fileName, List<MultipartFile> files,
- MultipartFile mf) {
- if (!files.isEmpty()) {
- try {
- mf.transferTo(toAdminPrivateFile(fileName));
- LoggerUtils.debug(getClass(), fileName + " 文件上传成功");
- } catch (IllegalStateException | IOException e) {
- LoggerUtils.error(getClass(), "文件上传失败", e);
- res.getError().add(buildError("", "文件上传失败!"));
- return "";
- }
- } else {
- res.getError().add(buildError("", "文件上传失败!"));
- return "";
- }
- return fileName;
- }
- private Map<String, String> disposePatentStatus() {
- Map<String, String> status = new TreeMap<String, String>();
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
- for (PatentInfoStatus p : PatentInfoStatus.values()) {
- status.put(p.getCode().toString(), p.getDesc());
- status.remove(PatentInfoStatus.OTHER.getCode().toString());
- }
- } else {
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.CREATE.getCode())) {
- status.put(PatentInfoStatus.CREATE.getCode().toString(), PatentInfoStatus.CREATE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.SIGN.getCode())) {
- status.put(PatentInfoStatus.SIGN.getCode().toString(), PatentInfoStatus.SIGN.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.DELIVERD.getCode())) {
- status.put(PatentInfoStatus.DELIVERD.getCode().toString(), PatentInfoStatus.DELIVERD.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.CIRCULATION.getCode())) {
- status.put(PatentInfoStatus.CIRCULATION.getCode().toString(), PatentInfoStatus.CIRCULATION.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.COMPOSE.getCode())) {
- status.put(PatentInfoStatus.COMPOSE.getCode().toString(), PatentInfoStatus.COMPOSE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.ACCEPT.getCode())) {
- status.put(PatentInfoStatus.ACCEPT.getCode().toString(), PatentInfoStatus.ACCEPT.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.REVIEWNOTICE.getCode())) {
- status.put(PatentInfoStatus.REVIEWNOTICE.getCode().toString(), PatentInfoStatus.REVIEWNOTICE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.REVIEWREPLY.getCode())) {
- status.put(PatentInfoStatus.REVIEWREPLY.getCode().toString(), PatentInfoStatus.REVIEWREPLY.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.CORRECTIONNOTICE.getCode())) {
- status.put(PatentInfoStatus.CORRECTIONNOTICE.getCode().toString(),
- PatentInfoStatus.CORRECTIONNOTICE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.CORRECTIONREPLY.getCode())) {
- status.put(PatentInfoStatus.CORRECTIONREPLY.getCode().toString(),
- PatentInfoStatus.CORRECTIONREPLY.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.AUTHORIZE.getCode())) {
- status.put(PatentInfoStatus.AUTHORIZE.getCode().toString(), PatentInfoStatus.AUTHORIZE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.REJECT.getCode())) {
- status.put(PatentInfoStatus.REJECT.getCode().toString(), PatentInfoStatus.REJECT.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.LICENSE.getCode())) {
- status.put(PatentInfoStatus.LICENSE.getCode().toString(), PatentInfoStatus.LICENSE.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.SETTLEMENT.getCode())) {
- status.put(PatentInfoStatus.SETTLEMENT.getCode().toString(), PatentInfoStatus.SETTLEMENT.getDesc());
- }
- if (TokenManager.hasPermission("PatentInfoStatus" + PatentInfoStatus.CALLBACK.getCode())) {
- status.put(PatentInfoStatus.CALLBACK.getCode().toString(), PatentInfoStatus.CALLBACK.getDesc());
- }
- }
- return status;
- }
- }
|