package com.ruoyi.web.controller.smartor;
|
|
import com.github.pagehelper.ISelect;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.file.FileUtils;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.smartor.domain.PatArchiveImport;
|
import com.smartor.service.IPatArchiveImportService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.MediaType;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* Excel导入患者档案Controller
|
*
|
* @author lihu
|
* @date 2024-09-05
|
*/
|
@Api("Excel导入患者档案")
|
@RestController
|
@RequestMapping("/smartor/import")
|
public class PatArchiveImportController extends BaseController {
|
@Autowired
|
private IPatArchiveImportService patArchiveImportService;
|
|
/**
|
* 查询Excel导入患者档案列表
|
*/
|
@ApiOperation("查询Excel导入患者档案列表")
|
@PostMapping("/list")
|
public TableDataInfo list(@RequestBody PatArchiveImport patArchiveImport) {
|
PageUtils.startPageByPost(patArchiveImport.getPageNum(), patArchiveImport.getPageSize());
|
List<PatArchiveImport> list = patArchiveImportService.selectPatArchiveImportList(patArchiveImport);
|
//获取total
|
long total = PageUtils.count(new ISelect() {
|
@Override
|
public void doSelect() {
|
patArchiveImport.setPageNum(null);
|
patArchiveImport.setPageSize(null);
|
patArchiveImportService.selectPatArchiveImportList(patArchiveImport);
|
}
|
});
|
return getDataTable2(total, list);
|
}
|
|
/**
|
* 获取Excel导入患者档案详细信息
|
*/
|
@ApiOperation("获取Excel导入患者档案详细信息")
|
//@PreAuthorize("@ss.hasPermi('smartor:import:query')")
|
@GetMapping(value = "/getInfo/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
return success(patArchiveImportService.selectPatArchiveImportById(id));
|
}
|
|
/**
|
* 新增Excel导入患者档案
|
*/
|
//@PreAuthorize("@ss.hasPermi('smartor:import:add')")
|
@Log(title = "Excel导入患者档案", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
public AjaxResult add(@RequestBody PatArchiveImport patArchiveImport) {
|
SysUser user = getLoginUser().getUser();
|
patArchiveImport.setOrgid(user.getOrgid());
|
return toAjax(patArchiveImportService.insertPatArchiveImport(patArchiveImport));
|
}
|
|
/**
|
* 修改Excel导入患者档案
|
*/
|
@ApiOperation("修改Excel导入患者档案")
|
//@PreAuthorize("@ss.hasPermi('smartor:import:edit')")
|
@Log(title = "Excel导入患者档案", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
public AjaxResult edit(@RequestBody PatArchiveImport patArchiveImport) {
|
return toAjax(patArchiveImportService.updatePatArchiveImport(patArchiveImport));
|
}
|
|
/**
|
* 删除Excel导入患者档案
|
*/
|
@ApiOperation("删除Excel导入患者档案")
|
//@PreAuthorize("@ss.hasPermi('smartor:import:remove')")
|
@Log(title = "Excel导入患者档案", businessType = BusinessType.DELETE)
|
@GetMapping("/remove/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
return toAjax(patArchiveImportService.deletePatArchiveImportByIds(ids));
|
}
|
|
/**
|
* 获取导入患者模板
|
*
|
* @param response
|
*/
|
@ApiOperation("获取导入患者模板")
|
@PostMapping("/getImportPatTemplate")
|
public void getImportPatTemplate(HttpServletResponse response) {
|
ExcelUtil<PatArchiveImport> util = new ExcelUtil<PatArchiveImport>(PatArchiveImport.class);
|
util.importTemplateExcel(response, "导入患者");
|
}
|
|
@GetMapping("/download")
|
public void fileDownload(HttpServletResponse response) {
|
try {
|
String filePath = "D:\\import\\患者信息.xlsx";
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
FileUtils.setAttachmentResponseHeader(response, "患者信息.xlsx");
|
FileUtils.writeBytes(filePath, response.getOutputStream());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@ApiOperation("导入Excel患者信息")
|
//@PreAuthorize("@ss.hasPermi('smartor:import:list')")
|
@PostMapping("/importPatInfo")
|
public TableDataInfo importPatInfo(MultipartFile file) {
|
LoginUser loginUser = getLoginUser();
|
SysUser user = loginUser.getUser();
|
return getDataTable(patArchiveImportService.importPatInfo(file, user));
|
}
|
}
|