Commit c9e42f3d by wangweidong

土工平台修改

parent 0a9ed5a1
package com.patzn.cloud.service.lims.hmhj.controller;
import com.baomidou.kisso.annotation.Action;
import com.baomidou.kisso.annotation.Login;
import com.patzn.cloud.service.hmhj.entity.EntrustAnnex;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustAnnexService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import java.util.List;
/**
* 委托附件表 前端控制器
*
* @author wwd
* @since 2021-03-10
*/
@Api(tags = "委托附件表")
@RestController
@RequestMapping("/v1/annex")
public class EntrustAnnexController extends ServiceController {
@Autowired
private IEntrustAnnexService entrustAnnexService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<EntrustAnnex>> getPage(EntrustAnnex entrustAnnex) {
return success(entrustAnnexService.page(getPage(), entrustAnnex));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<EntrustAnnex> get(@PathVariable("id") Long id) {
return success(entrustAnnexService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, EntrustAnnex entrustAnnex) {
entrustAnnex.setId(id);
return success(entrustAnnexService.updateById(entrustAnnex));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(EntrustAnnex entrustAnnex) {
return success(entrustAnnexService.save(entrustAnnex));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(entrustAnnexService.removeByIds(ids));
}
@ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload/{entrustId}")
public RestResult<Boolean> upload(@PathVariable("entrustId") Long entrustId, MultipartFile file) {
return success(entrustAnnexService.upload(file, entrustId));
}
@ApiOperation(value = "附件批量上传", notes = "附件批量上传")
@PostMapping("/upload_bath/{entrustId}")
public RestResult<Boolean> uploadBath(@PathVariable("entrustId") Long entrustId, MultipartHttpServletRequest httpServletRequest) {
return success(entrustAnnexService.uploadBath(httpServletRequest, entrustId,getAccount()));
}
@ApiOperation(value = "下载附件", notes = "下载指定附件")
@GetMapping("/download/{id}")
public void downloadFile(@PathVariable("id")Long id) {
entrustAnnexService.downloadFile(id, response);
}
@ApiOperation(value = "预览图片", notes = "预览图片")
@Login(action = Action.Skip)
@GetMapping("/view")
public void view(String objectKey) {
entrustAnnexService.view(response, objectKey);
}
}
...@@ -373,4 +373,19 @@ public class EntrustController extends ServiceController { ...@@ -373,4 +373,19 @@ public class EntrustController extends ServiceController {
return success(entrustService.pageEntrustJudge(getPage(), entrust)); return success(entrustService.pageEntrustJudge(getPage(), entrust));
} }
@ApiOperation("电子档案委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_e_book")
public RestResult<Page<EntrustVO>> getPageEntrustEBook(EntrustVO entrust) {
entrust.setSampleStatus(EntrustSampleStatusEnum.END);
entrust.setJudgeStatus(2);
return success(entrustService.pageEntrustJudge(getPage(), entrust));
}
} }
...@@ -76,6 +76,19 @@ public class EntrustReportController extends ServiceController { ...@@ -76,6 +76,19 @@ public class EntrustReportController extends ServiceController {
@ApiOperation("报告电子档案分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page_report_e_book")
public RestResult<Page<EntrustReport>> getPageReportEBook(EntrustReport entrustReport) {
entrustReport.setStatus(EntrustReportStatusEnum.END);
return success(entrustReportService.page(getPage(), entrustReport));
}
@ApiOperation("查询 id 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
......
...@@ -193,6 +193,22 @@ public class EntrustSampleController extends ServiceController { ...@@ -193,6 +193,22 @@ public class EntrustSampleController extends ServiceController {
} }
@ApiOperation("电子档案样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_sample_e_book")
public RestResult<Page<EntrustSample>> getPageSampleEBook(EntrustSample entrustSample) {
entrustSample.setStatus(EntrustSampleStatusEnum.END);
entrustSample.setJudgeStatus(2);
return success(entrustSampleService.page(getPage(), entrustSample));
}
@ApiOperation("质量登记提交") @ApiOperation("质量登记提交")
@PostMapping("/submit_judge_register") @PostMapping("/submit_judge_register")
public RestResult<Boolean> submitJudgeRegister(@RequestParam("ids") Long [] ids) { public RestResult<Boolean> submitJudgeRegister(@RequestParam("ids") Long [] ids) {
......
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.EntrustAnnex;
import com.patzn.cloud.commons.mapper.BatchMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2021-03-10
*/
public interface EntrustAnnexMapper extends BatchMapper<EntrustAnnex> {
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.EntrustAnnex;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2021-03-10
*/
public interface IEntrustAnnexService extends IBaseService<EntrustAnnex> {
Page<EntrustAnnex> page(Page<EntrustAnnex> page, EntrustAnnex entrustAnnex);
boolean removeByIds(List<Long> ids);
boolean upload(MultipartFile file, Long contractSampleId);
void downloadFile(Long id, HttpServletResponse response);
void view(HttpServletResponse response, String objectKey);
boolean uploadBath(MultipartHttpServletRequest httpServletRequest, Long entrustId, Account account);
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.EntrustAnnex;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustAnnexMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustAnnexService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 服务实现类
*
* @author wwd
* @since 2021-03-10
*/
@Service
public class EntrustAnnexServiceImpl extends BaseServiceImpl<EntrustAnnexMapper, EntrustAnnex> implements IEntrustAnnexService {
@Autowired
private OssClient ossClient;
@Autowired
private IEntrustService entrustService;
@Override
public Page<EntrustAnnex> page(Page<EntrustAnnex> page, EntrustAnnex entrustAnnex) {
Wrapper wrapper = new EntityWrapper<>(entrustAnnex);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean upload(MultipartFile file, Long entrustId) {
RestAssert.fail(null == entrustId,"请选择委托");
String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
if (null==entrustService.getById(entrustId)){
RestAssert.fail("委托不存在");
}
OssFileResult result = ossClient.upload(file);
if (null == result) {
return false;
}
EntrustAnnex sampleAnnex = new EntrustAnnex();
sampleAnnex.setType(result.getType());
sampleAnnex.setFileName(result.getName());
sampleAnnex.setObjectKey(result.getObjectKey());
sampleAnnex.setEntrustId(entrustId);
return save(sampleAnnex);
}
@Override
public void downloadFile(Long id, HttpServletResponse response) {
EntrustAnnex attachment = super.getById(id);
if (null == attachment) {
RestAssert.fail("抱歉!该照片不存在");
}
ossClient.download(attachment.getObjectKey(), attachment.getFileName() + "." + attachment.getType(), response);
}
@Override
public void view(HttpServletResponse response, String objectKey) {
ossClient.download(objectKey, response);
}
@Override
public boolean uploadBath(MultipartHttpServletRequest multipartHttpServletRequest, Long contractSampleId, Account account) {
// 先拿到文件名称的迭代器
Iterator<String> fileNamesIt = multipartHttpServletRequest.getFileNames();
List<String> failedNameList = new ArrayList<>();
while (fileNamesIt.hasNext()) {
String fileName = fileNamesIt.next();
// 获取文件
MultipartFile multipartFile = multipartHttpServletRequest.getFile(fileName);
upload(multipartFile,contractSampleId);
failedNameList.add(fileName);
}
return true;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustAnnexMapper">
</mapper>
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