Commit f0df4d63 authored by 徐俊's avatar 徐俊

xujun

parent 7d44a1f7
package com.yiboshi.science.dao; package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yiboshi.science.base.BaseDAO; import com.yiboshi.science.base.BaseDAO;
import com.yiboshi.science.entity.ComDownload; import com.yiboshi.science.entity.ComDownload;
import com.yiboshi.science.param.dto.ComDownloadDTO; import com.yiboshi.science.param.dto.ComDownloadDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO; import com.yiboshi.science.param.query.ComDownloadQueryVO;
import org.apache.ibatis.annotations.Param;
/** /**
* 附件表 DAO * 附件表 DAO
...@@ -14,4 +17,5 @@ import com.yiboshi.science.param.query.ComDownloadQueryVO; ...@@ -14,4 +17,5 @@ import com.yiboshi.science.param.query.ComDownloadQueryVO;
*/ */
public interface ComDownloadDAO extends BaseMapper<ComDownload>, BaseDAO<ComDownloadQueryVO, ComDownloadDTO, ComDownload> { public interface ComDownloadDAO extends BaseMapper<ComDownload>, BaseDAO<ComDownloadQueryVO, ComDownloadDTO, ComDownload> {
Page<ComDownloadDTO> getAllListByPage(Page<ComDownloadQueryVO> page, @Param("ew") Wrapper<ComDownloadQueryVO> queryWrapper);
} }
\ No newline at end of file
...@@ -20,6 +20,18 @@ import java.util.Date; ...@@ -20,6 +20,18 @@ import java.util.Date;
@EqualsAndHashCode(callSuper=true) @EqualsAndHashCode(callSuper=true)
@ApiModel(description = "附件表DTO") @ApiModel(description = "附件表DTO")
public class ComDownloadDTO extends BaseDTO { public class ComDownloadDTO extends BaseDTO {
/** 申请编号 */
@ApiModelProperty(value = "申请编号", position = 4)
private String appNo;
/** 项目编号 */
@ApiModelProperty(value = "项目编号", position = 2)
private String projNo;
/** 项目名称 */
@ApiModelProperty(value = "项目名称", position = 1)
private String projName;
/** 申报年度 */
@ApiModelProperty(value = "申报年度", position = 6)
private Integer reportYear;
/** URL */ /** URL */
@ApiModelProperty(value = "URL", position = 1) @ApiModelProperty(value = "URL", position = 1)
private String downloadUrl; private String downloadUrl;
......
...@@ -19,6 +19,21 @@ import java.util.Date; ...@@ -19,6 +19,21 @@ import java.util.Date;
@EqualsAndHashCode(callSuper=true) @EqualsAndHashCode(callSuper=true)
@ApiModel(description = "查询附件表VO") @ApiModel(description = "查询附件表VO")
public class ComDownloadQueryVO extends PaginationVO { public class ComDownloadQueryVO extends PaginationVO {
/** 申请编号 */
@ApiModelProperty(value = "申请编号", position = 4)
private String appNo;
/** 项目编号 */
@ApiModelProperty(value = "项目编号", position = 2)
private String projNo;
/** 项目名称 */
@ApiModelProperty(value = "项目名称", position = 1)
private String projName;
/** 申报年度 */
@ApiModelProperty(value = "申报年度", position = 6)
private Integer reportYear;
/** 项目状态 */
@ApiModelProperty(value = "项目状态", position = 6)
private Integer ProjState;
/** URL */ /** URL */
@ApiModelProperty(value = "URL", position = 1) @ApiModelProperty(value = "URL", position = 1)
private String downloadUrl; private String downloadUrl;
......
package com.yiboshi.science.rest.v1; package com.yiboshi.science.rest.v1;
import com.yiboshi.arch.base.ResponseDataModel; import com.yiboshi.arch.base.ResponseDataModel;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.config.annotation.Logs; import com.yiboshi.science.config.annotation.Logs;
import com.yiboshi.science.entity.ComDownload; import com.yiboshi.science.entity.ComDownload;
import com.yiboshi.science.enumeration.CommonEnum; import com.yiboshi.science.enumeration.CommonEnum;
import com.yiboshi.science.param.dto.ComDownloadDTO; import com.yiboshi.science.param.dto.ComDownloadDTO;
import com.yiboshi.science.param.dto.ComPersonDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO; import com.yiboshi.science.param.query.ComDownloadQueryVO;
import com.yiboshi.science.param.query.ComPersonQueryVO;
import com.yiboshi.science.rest.BaseController; import com.yiboshi.science.rest.BaseController;
import com.yiboshi.science.service.ComDownloadService; import com.yiboshi.science.service.ComDownloadService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -44,4 +50,14 @@ public class ComDownloadController extends BaseController<ComDownloadService, Co ...@@ -44,4 +50,14 @@ public class ComDownloadController extends BaseController<ComDownloadService, Co
public ResponseDataModel<String> delete(@PathVariable String id) { public ResponseDataModel<String> delete(@PathVariable String id) {
return ResponseDataModel.ok(ComDownloadService.delete(id)); return ResponseDataModel.ok(ComDownloadService.delete(id));
} }
@ApiOperation(value = "申报书文件列表", httpMethod = "GET", notes = "申报书文件列表")
@GetMapping
@RequestMapping("/getAllListByPage")
@PreAuthorize("hasAnyRole('ADMIN')")
public ResponseDataModel<Pagination<ComDownloadDTO>> getAllListByPage(@Validated ComDownloadQueryVO vo, BindingResult bindingResult) {
Pagination<ComDownloadDTO> page = ComDownloadService.getAllListByPage(vo);
return ResponseDataModel.ok(page);
}
} }
\ No newline at end of file
package com.yiboshi.science.service; package com.yiboshi.science.service;
import com.yiboshi.science.base.BaseService; import com.yiboshi.science.base.BaseService;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.entity.ComDownload; import com.yiboshi.science.entity.ComDownload;
import com.yiboshi.science.param.dto.ComDownloadDTO; import com.yiboshi.science.param.dto.ComDownloadDTO;
import com.yiboshi.science.param.dto.ComPersonDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO; import com.yiboshi.science.param.query.ComDownloadQueryVO;
import com.yiboshi.science.param.query.ComPersonQueryVO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
/** /**
...@@ -32,4 +35,11 @@ public interface ComDownloadService extends BaseService<ComDownloadQueryVO, ComD ...@@ -32,4 +35,11 @@ public interface ComDownloadService extends BaseService<ComDownloadQueryVO, ComD
String getDirectorySize(); String getDirectorySize();
ComDownloadDTO convertEntity2DTO(ComDownload entity); ComDownloadDTO convertEntity2DTO(ComDownload entity);
/**
*
* @param vo
* @return
*/
Pagination<ComDownloadDTO> getAllListByPage(ComDownloadQueryVO vo);
} }
\ No newline at end of file
package com.yiboshi.science.service.impl; package com.yiboshi.science.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yiboshi.arch.exception.BusinessException; import com.yiboshi.arch.exception.BusinessException;
import com.yiboshi.science.base.BaseServiceImpl; import com.yiboshi.science.base.BaseServiceImpl;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.dao.ComDownloadDAO; import com.yiboshi.science.dao.ComDownloadDAO;
import com.yiboshi.science.entity.ComDownload; import com.yiboshi.science.entity.ComDownload;
import com.yiboshi.science.enumeration.CommonEnum;
import com.yiboshi.science.param.dto.ComDownloadDTO; import com.yiboshi.science.param.dto.ComDownloadDTO;
import com.yiboshi.science.param.dto.ComPersonDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO; import com.yiboshi.science.param.query.ComDownloadQueryVO;
import com.yiboshi.science.param.query.ComPersonQueryVO;
import com.yiboshi.science.service.ComDownloadService; import com.yiboshi.science.service.ComDownloadService;
import com.yiboshi.science.service.SystemSetService; import com.yiboshi.science.service.SystemSetService;
import com.yiboshi.science.utils.SystemSetKey; import com.yiboshi.science.utils.SystemSetKey;
...@@ -20,6 +25,7 @@ import java.io.FileOutputStream; ...@@ -20,6 +25,7 @@ import java.io.FileOutputStream;
import java.io.InputStream; import java.io.InputStream;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.UUID; import java.util.UUID;
...@@ -32,11 +38,57 @@ import java.util.UUID; ...@@ -32,11 +38,57 @@ import java.util.UUID;
@Service @Service
public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComDownloadQueryVO, ComDownloadDTO, ComDownload> implements ComDownloadService { public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComDownloadQueryVO, ComDownloadDTO, ComDownload> implements ComDownloadService {
@Autowired
private ComDownloadDAO comDownloadDAO;
@Autowired @Autowired
private SystemSetService systemSetService; private SystemSetService systemSetService;
@Override @Override
protected void setCriteriaForQuery(ComDownloadQueryVO vo, QueryWrapper<ComDownloadQueryVO> criteria) { protected void setCriteriaForQuery(ComDownloadQueryVO vo, QueryWrapper<ComDownloadQueryVO> criteria) {
if (Objects.nonNull(vo.getAppNo())) {
criteria.eq("app_no", vo.getAppNo());
}
if (Objects.nonNull(vo.getProjNo())) {
criteria.like("proj_no", vo.getProjNo());
}
if (Objects.nonNull(vo.getProjName())) {
criteria.like("proj_name", vo.getProjName());
}
if (Objects.nonNull(vo.getReportYear())) {
criteria.eq("report_year", vo.getReportYear());
}
if (Objects.nonNull(vo.getProjState())) {
switch (vo.getProjState()) {
case 1:
criteria.in("proj_state",
CommonEnum.projState.draft.getCode(),
CommonEnum.projState.waitSubmit.getCode());
break;
case 2:
criteria.eq("proj_state", CommonEnum.projState.returnModify.getCode());
break;
case 3:
criteria.in("proj_state",
CommonEnum.projState.toAudit.getCode(),
CommonEnum.projState.failed.getCode(),
CommonEnum.projState.pass.getCode(),
CommonEnum.projState.report.getCode(),
CommonEnum.projState.conclusion.getCode());
break;
case 4:
break;
case 5:
criteria.ge("proj_state", CommonEnum.projState.pass.getCode());
break;
case 6:
criteria.ge("proj_state", CommonEnum.projState.report.getCode());
break;
default:
criteria.eq("proj_state", vo.getProjState());
break;
}
}
if (Objects.nonNull(vo.getDownloadUrl())) { if (Objects.nonNull(vo.getDownloadUrl())) {
criteria.eq("download_url", vo.getDownloadUrl()); criteria.eq("download_url", vo.getDownloadUrl());
} }
...@@ -166,4 +218,12 @@ public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComD ...@@ -166,4 +218,12 @@ public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComD
public ComDownloadDTO convertEntity2DTO(ComDownload entity) { public ComDownloadDTO convertEntity2DTO(ComDownload entity) {
return this.convert2DTO(entity); return this.convert2DTO(entity);
} }
public Pagination<ComDownloadDTO> getAllListByPage(ComDownloadQueryVO vo) {
QueryWrapper criteria = new QueryWrapper();
setCriteriaForQuery(vo, criteria);
Page<ComDownloadQueryVO> page = new Page<>(vo.getPageIndex(), vo.getPageSize());
List<ComDownloadDTO> dtoList = comDownloadDAO.getAllListByPage(page, criteria).getRecords();
return new Pagination<>(dtoList, page.getTotal(), vo.getPageSize());
}
} }
\ No newline at end of file
...@@ -6,4 +6,14 @@ ...@@ -6,4 +6,14 @@
<sql id="allColumns"> <sql id="allColumns">
t.id as id, t.download_url as downloadUrl, t.file_name as fileName, t.extension as extension, t.created as created, t.updated as updated t.id as id, t.download_url as downloadUrl, t.file_name as fileName, t.extension as extension, t.created as created, t.updated as updated
</sql> </sql>
<select id="getAllListByPage" resultType="com.yiboshi.science.param.dto.ComDownloadDTO">
select a.app_no, a.proj_no, a.proj_name, a.report_year, b.file_id, c.*
from com_project a left join com_project_basic b on a.id = b.proj_id
left join com_download c on b.file_id = c.id
<where>
${ew.sqlSegment}
</where>
ORDER BY c.created desc
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment