liusheng
8 天以前 34f78281cf395a24e1f3f1c3b861186ff8a03b7b
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
package com.ruoyi.othervisit.controller;
 
import java.util.List;
 
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.utils.PageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
 
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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.ruoyi.othervisit.domain.PatMedOperation;
import com.ruoyi.othervisit.api.OtherVisitFacade;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
 
/**
 * OperationController —— 从 {@code ruoyi-admin} 的 {@code PatMedOperationController.java} <b>整体迁入</b>。
 *
 * <h3>⚠️ URL 一个都不能变</h3>
 * 类级路径与方法级路径逐字照抄,由
 * {@code sql/_probe/verify_othervisit_url_equivalence.py} 把关(全集判定 + 重复映射检查)。
 *
 * <h3>迁入时同步删除</h3>
 * 原 {@code PatMedOperationController.java} 必须整体删除,否则两个类都映射同一路径,
 * Spring 会因 {@code Ambiguous mapping} <b>直接启动失败</b>。
 *
 * <h3>与原实现唯一的一处改写(已登记)</h3>
 * 不再经 smartor 侧那个已删除的 Service 接口(com.smartor.service.IPatMedOperationService):
 * 它原本只被本 Controller 使用,属纯 CRUD,已整体删除;
 * 本类改为经本模块门面 {@link OtherVisitFacade} 调用
 * {@code com.ruoyi.othervisit.service.*Service}。方法体、注解、分页方式均未改。
 *
 * <h3>开关</h3>
 * 本类<b>不挂</b>开关拦截器:属基础数据 CRUD(前端管理页在用),
 * {@code othervisit.enabled} 只该控制"要不要生成手术随访"。
 *
 * @author lihu
 * @date 2025-02-25
 */
@Api("患者手术记录")
@RestController
@RequestMapping("/smartor/operation")
public class OperationController extends BaseController {
    @Autowired
    private OtherVisitFacade facade;
 
    /**
     * 查询患者手术记录列表
     */
    @ApiOperation("查询患者手术记录列表")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:list')")
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("list")
    public TableDataInfo list(@RequestBody PatMedOperation patMedOperation) {
        //startPage();
        PageUtils.startPageByPost(patMedOperation.getPageNum(), patMedOperation.getPageSize());
        List<PatMedOperation> list = facade.selectOperationList(patMedOperation);
        return getDataTable(list);
    }
 
    /**
     * 导出患者手术记录列表
     */
    @ApiOperation("导出患者手术记录列表")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:export')")
    @Log(title = "患者手术记录", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, PatMedOperation patMedOperation) {
        List<PatMedOperation> list = facade.selectOperationList(patMedOperation);
        ExcelUtil<PatMedOperation> util = new ExcelUtil<PatMedOperation>(PatMedOperation.class);
        util.exportExcel(response, list, "患者手术记录数据");
    }
 
    /**
     * 获取患者手术记录详细信息
     */
    @ApiOperation("获取患者手术记录详细信息")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(facade.selectOperationById(id));
    }
 
    /**
     * 新增患者手术记录
     */
    @ApiOperation("新增患者手术记录")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:add')")
    @Log(title = "患者手术记录", businessType = BusinessType.INSERT)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/add")
    public AjaxResult add(@RequestBody PatMedOperation patMedOperation) {
        return toAjax(facade.insertOperation(patMedOperation));
    }
 
    /**
     * 修改患者手术记录
     */
    @ApiOperation("修改患者手术记录")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:edit')")
    @Log(title = "患者手术记录", businessType = BusinessType.UPDATE)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody PatMedOperation patMedOperation) {
        return toAjax(facade.updateOperation(patMedOperation));
    }
 
    /**
     * 删除患者手术记录
     */
    @ApiOperation("删除患者手术记录")
    //@PreAuthorize("@ss.hasPermi('smartor:operation:remove')")
    @Log(title = "患者手术记录", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(facade.deleteOperationByIds(ids));
    }
}