| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package com.goafanti.RD.controller;
- import com.goafanti.RD.bo.InputRdDetails;
- import com.goafanti.RD.bo.InputRdList;
- import com.goafanti.RD.service.RDService;
- 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.controller.PublicController;
- import com.goafanti.common.enums.AttachmentType;
- import com.goafanti.common.model.Attachment;
- import com.goafanti.common.model.RdDetails;
- import com.goafanti.common.utils.DateUtils;
- import com.goafanti.common.utils.LoggerUtils;
- import com.goafanti.common.utils.ParamUtils;
- import com.goafanti.common.utils.StringUtils;
- import com.goafanti.common.utils.excel.FileUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.http.MediaType;
- import org.springframework.validation.BindingResult;
- import org.springframework.validation.annotation.Validated;
- 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 javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Date;
- @RestController
- @RequestMapping(value = "/api/admin/RD")
- public class RDContorller extends BaseApiController {
- @Autowired
- private RDService rdService;
- @Value(value = "${upload.path}")
- private final String uploadPath = null;
- @RequestMapping(value="/add",method = RequestMethod.POST)
- public Result add(@Validated InputRdDetails in ,BindingResult bindingResult) {
- Result res= new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- ParamUtils.getParamName(in,bindingResult.getFieldError().getField())));
- return res;
- }
- if (rdService.checkRdNo(in.getRdNo(),null)){
- res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_BEING_ERROR,"研发活动编号"));
- return res;
- }
- if (StringUtils.isNotBlank(in.getRdStartStr())){
- in.setRdStart(DateUtils.StringToDate(in.getRdStartStr(), AFTConstants.YYYYMMDD));
- }
- if (StringUtils.isNotBlank(in.getRdEndStr())){
- in.setRdEnd(DateUtils.StringToDate(in.getRdEndStr(),AFTConstants.YYYYMMDD));
- }
- res.data(rdService.add(in));
- return res;
- }
- @RequestMapping(value="/update",method = RequestMethod.POST)
- public Result update(@Validated InputRdDetails in ,BindingResult bindingResult) {
- Result res= new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- ParamUtils.getParamName(in,bindingResult.getFieldError().getField())));
- return res;
- }
- if (rdService.checkRdNo(in.getRdNo(),in.getId())){
- res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_BEING_ERROR,"研发活动编号"));
- return res;
- }
- if (StringUtils.isNotBlank(in.getRdStartStr())){
- in.setRdStart(DateUtils.StringToDate(in.getRdStartStr(), AFTConstants.YYYYMMDD));
- }
- if (StringUtils.isNotBlank(in.getRdEndStr())){
- in.setRdEnd(DateUtils.StringToDate(in.getRdEndStr(),AFTConstants.YYYYMMDD));
- }
- res.data(rdService.update(in));
- return res;
- }
- @RequestMapping(value = "/details",method = RequestMethod.GET)
- public Result details(Long id){
- Result res =new Result();
- res.setData(rdService.details(id));
- return res;
- }
- @RequestMapping(value = "/list",method = RequestMethod.GET)
- public Result list(InputRdList in){
- Result res =new Result();
- res.setData(rdService.list(in));
- return res;
- }
- @RequestMapping(value = "/exportList",method = RequestMethod.GET)
- public Result exportList(InputRdList in){
- return rdService.exportList(in,uploadPath);
- }
- /**
- * Excel批量导入回款
- *
- * @return
- */
- @RequestMapping(value = "/import" , method = RequestMethod.POST)
- public Result importTemplate(@RequestParam(value = "file", required = false) MultipartFile file) {
- Result res=new Result();
- //判断文件是否存在
- if(null == file){
- res.getError().add(buildError("文件不存在!","文件不存在!"));
- return res;
- }
- String fileName = file.getOriginalFilename();
- if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
- res.getError().add(buildError("格式不正确","格式不正确"));
- return res;
- }
- res.data(rdService.batchList(file));
- return res;
- }
- /**
- * 批量导入回款模版
- *
- * @return
- */
- @RequestMapping(value = "/downloadTemplate", method = RequestMethod.GET)
- public void downloadTemplate(HttpServletResponse response) {
- Result res = new Result();
- StringBuffer url= new StringBuffer(uploadPath);
- url=url.append("/tmp").append("/RD_details_template.xlsx");
- try {
- response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
- FileUtils.setAttachmentResponseHeader(response, url.toString(),"研发活动导入模版.xlsx");
- FileUtils.writeBytes(url.toString(), response.getOutputStream());
- }
- catch (Exception e) {
- LoggerUtils.error(PublicController.class,"下载文件失败", e);
- }
- }
- }
|