liusheng
2023-06-08 19bbb04fe271943850e5b0cdba1aaeed633bc83f
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
@@ -1,29 +1,27 @@
package com.smartor.controller;
package com.ruoyi.web.controller.smartor;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.smartor.domain.PatUpInfoVO;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.smartor.domain.PatArchive;
import com.smartor.service.IPatArchiveService;
import com.ruoyi.common.utils.poi.ExcelUtil;
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.poi.ExcelUtil;
import com.smartor.domain.PatArchive;
import com.smartor.domain.PatUpInfoVO;
import com.smartor.service.IPatArchiveService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * 患者档案Controller
@@ -31,6 +29,7 @@
 * @author smartor
 * @date 2023-03-04
 */
@Api("患者档案")
@RestController
@RequestMapping("/smartor/patarchive")
public class PatArchiveController extends BaseController {
@@ -40,6 +39,7 @@
    /**
     * 查询患者档案列表
     */
    @ApiOperation("查询患者档案列表")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:list')")
    @GetMapping("/list")
    public TableDataInfo list(PatArchive patArchive) {
@@ -51,6 +51,7 @@
    /**
     * 导出患者档案列表
     */
    @ApiOperation("导出患者档案列表")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:export')")
    @Log(title = "患者档案", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
@@ -63,15 +64,18 @@
    /**
     * 获取患者档案详细信息
     */
    @ApiOperation("获取患者档案详细信息")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:query')")
    @GetMapping(value = "/{patid}")
    public AjaxResult getInfo(@PathVariable("patid") Long patid) {
    @ApiImplicitParam(name = "patid",value = "患者id")
    public AjaxResult getInfo(@PathVariable(name = "patid") Long patid) {
        return success(patArchiveService.selectPatArchiveByPatid(patid));
    }
    /**
     * 新增患者档案
     */
    @ApiOperation("新增患者档案")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:add')")
    @Log(title = "患者档案", businessType = BusinessType.INSERT)
    @PostMapping
@@ -82,6 +86,7 @@
    /**
     * 修改患者档案
     */
    @ApiOperation("修改患者档案")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:edit')")
    @Log(title = "患者档案", businessType = BusinessType.UPDATE)
    @PutMapping
@@ -92,29 +97,48 @@
    /**
     * 删除患者档案
     */
    @ApiOperation("删除患者档案")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:remove')")
    @Log(title = "患者档案", businessType = BusinessType.DELETE)
    @DeleteMapping("/{patids}")
    @ApiImplicitParam(name = "patids",value = "患者id集合", dataType = "long", dataTypeClass = Long.class)
    public AjaxResult remove(@PathVariable Long[] patids) {
        return toAjax(patArchiveService.deletePatArchiveByPatids(patids));
    }
    /**
     * 患者文件处理
     * 导入患者文件处理
     *
     * @param title
     * @param multipartFile
     */
    @PostMapping("/filehandle")
    public AjaxResult fileHandle(@RequestParam("multipartFile") MultipartFile multipartFile) {
    @ApiOperation("导入患者文件处理")
    @PostMapping("/importFilehandle")
    @ApiImplicitParams({
           @ApiImplicitParam(name = "tags", value = "标签"),
            @ApiImplicitParam(name = "multipartFile", value = "上传文件")
    })
    public AjaxResult importFilehandle(@RequestParam("tags") String tags, @RequestParam("multipartFile") MultipartFile multipartFile) {
        //获取当前登陆人
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        String userName = user.getUserName();
        PatUpInfoVO patUpInfoVO = patArchiveService.fileHandle(userName, multipartFile);
        PatUpInfoVO patUpInfoVO = patArchiveService.importFilehandle(user, tags, multipartFile);
        return success(patUpInfoVO);
    }
    /**
     * 导出患者错误信息
     *
     * @param patArchiveList
     */
    @ApiOperation("导出患者错误信息")
    @PostMapping("/exportErrPatInfo")
    public AjaxResult exportErrPatInfo(@RequestBody List<PatArchive> patArchiveList) {
        return success(patArchiveService.exportErrPatInfo(patArchiveList));
    }
}