liusheng
2023-06-13 196829a351cac0c7504a16e314c6f1169d1149e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.ruoyi.web.controller.smartor;
 
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.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
 *
 * @author smartor
 * @date 2023-03-04
 */
@Api("患者档案")
@RestController
@RequestMapping("/smartor/patarchive")
public class PatArchiveController extends BaseController {
    @Autowired
    private IPatArchiveService patArchiveService;
 
    /**
     * 查询患者档案列表
     */
    @ApiOperation("查询患者档案列表")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:list')")
    @GetMapping("/list")
    public TableDataInfo list(PatArchive patArchive) {
        startPage();
        List<PatArchive> list = patArchiveService.selectPatArchiveList(patArchive);
        return getDataTable(list);
    }
 
    /**
     * 导出患者档案列表
     */
    @ApiOperation("导出患者档案列表")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:export')")
    @Log(title = "患者档案", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, PatArchive patArchive) {
        List<PatArchive> list = patArchiveService.selectPatArchiveList(patArchive);
        ExcelUtil<PatArchive> util = new ExcelUtil<PatArchive>(PatArchive.class);
        util.exportExcel(response, list, "患者档案数据");
    }
 
    /**
     * 获取患者档案详细信息
     */
    @ApiOperation("获取患者档案详细信息")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:query')")
    @GetMapping(value = "/{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
    public AjaxResult add(@RequestBody PatArchive patArchive) {
        return toAjax(patArchiveService.insertPatArchive(patArchive));
    }
 
    /**
     * 修改患者档案
     */
    @ApiOperation("修改患者档案")
    @PreAuthorize("@ss.hasPermi('smartor:patarchive:edit')")
    @Log(title = "患者档案", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody PatArchive patArchive) {
        return toAjax(patArchiveService.updatePatArchive(patArchive));
    }
 
    /**
     * 删除患者档案
     */
    @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 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();
        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));
    }
 
 
}