Commit f0df4d63 authored by 徐俊's avatar 徐俊

xujun

parent 7d44a1f7
package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.entity.ComDownload;
import com.yiboshi.science.param.dto.ComDownloadDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO;
import org.apache.ibatis.annotations.Param;
/**
* 附件表 DAO
......@@ -14,4 +17,5 @@ import com.yiboshi.science.param.query.ComDownloadQueryVO;
*/
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;
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "附件表DTO")
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 */
@ApiModelProperty(value = "URL", position = 1)
private String downloadUrl;
......
......@@ -19,6 +19,21 @@ import java.util.Date;
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "查询附件表VO")
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 */
@ApiModelProperty(value = "URL", position = 1)
private String downloadUrl;
......
package com.yiboshi.science.rest.v1;
import com.yiboshi.arch.base.ResponseDataModel;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.config.annotation.Logs;
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.ComPersonDTO;
import com.yiboshi.science.param.query.ComDownloadQueryVO;
import com.yiboshi.science.param.query.ComPersonQueryVO;
import com.yiboshi.science.rest.BaseController;
import com.yiboshi.science.service.ComDownloadService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
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.multipart.MultipartFile;
......@@ -44,4 +50,14 @@ public class ComDownloadController extends BaseController<ComDownloadService, Co
public ResponseDataModel<String> delete(@PathVariable String 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;
import com.yiboshi.science.base.BaseService;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.entity.ComDownload;
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.ComPersonQueryVO;
import org.springframework.web.multipart.MultipartFile;
/**
......@@ -32,4 +35,11 @@ public interface ComDownloadService extends BaseService<ComDownloadQueryVO, ComD
String getDirectorySize();
ComDownloadDTO convertEntity2DTO(ComDownload entity);
/**
*
* @param vo
* @return
*/
Pagination<ComDownloadDTO> getAllListByPage(ComDownloadQueryVO vo);
}
\ No newline at end of file
package com.yiboshi.science.service.impl;
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.science.base.BaseServiceImpl;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.dao.ComDownloadDAO;
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.ComPersonDTO;
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.SystemSetService;
import com.yiboshi.science.utils.SystemSetKey;
......@@ -20,6 +25,7 @@ import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
......@@ -32,11 +38,57 @@ import java.util.UUID;
@Service
public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComDownloadQueryVO, ComDownloadDTO, ComDownload> implements ComDownloadService {
@Autowired
private ComDownloadDAO comDownloadDAO;
@Autowired
private SystemSetService systemSetService;
@Override
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())) {
criteria.eq("download_url", vo.getDownloadUrl());
}
......@@ -166,4 +218,12 @@ public class ComDownloadServiceImpl extends BaseServiceImpl<ComDownloadDAO, ComD
public ComDownloadDTO convertEntity2DTO(ComDownload 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 @@
<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
</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>
\ 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