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
package com.ruoyi.othervisit.controller;
 
import java.util.List;
 
import com.ruoyi.common.annotation.AddOrgId;
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.PatMedOperationItem;
import com.ruoyi.othervisit.api.OtherVisitFacade;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
 
/**
 * OperationItemController —— 从 {@code ruoyi-admin} 的 {@code PatMedOperationItemController.java} <b>整体迁入</b>。
 *
 * <h3>⚠️ URL 一个都不能变</h3>
 * 类级路径与方法级路径逐字照抄,由
 * {@code sql/_probe/verify_othervisit_url_equivalence.py} 把关(全集判定 + 重复映射检查)。
 *
 * <h3>迁入时同步删除</h3>
 * 原 {@code PatMedOperationItemController.java} 必须整体删除,否则两个类都映射同一路径,
 * Spring 会因 {@code Ambiguous mapping} <b>直接启动失败</b>。
 *
 * <h3>与原实现唯一的一处改写(已登记)</h3>
 * 不再经 smartor 侧那个已删除的 Service 接口(com.smartor.service.IPatMedOperationItemService):
 * 它原本只被本 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/item")
public class OperationItemController extends BaseController {
    @Autowired
    private OtherVisitFacade facade;
 
    /**
     * 查询患者检查检验记录子列表
     */
    @ApiOperation("查询患者检查检验记录子列表")
    //@PreAuthorize("@ss.hasPermi('smartor:item:list')")
    @GetMapping("/list")
    public TableDataInfo list(PatMedOperationItem patMedOperationItem) {
        startPage();
        List<PatMedOperationItem> list = facade.selectOperationItemList(patMedOperationItem);
        return getDataTable(list);
    }
 
    /**
     * 导出患者检查检验记录子列表
     */
    @ApiOperation("导出患者检查检验记录子列表")
    //@PreAuthorize("@ss.hasPermi('smartor:item:export')")
    @Log(title = "患者检查检验记录子", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, PatMedOperationItem patMedOperationItem) {
        List<PatMedOperationItem> list = facade.selectOperationItemList(patMedOperationItem);
        ExcelUtil<PatMedOperationItem> util = new ExcelUtil<PatMedOperationItem>(PatMedOperationItem.class);
        util.exportExcel(response, list, "患者检查检验记录子数据");
    }
 
    /**
     * 获取患者检查检验记录子详细信息
     */
    @ApiOperation("获取患者检查检验记录子详细信息")
    //@PreAuthorize("@ss.hasPermi('smartor:item:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(facade.selectOperationItemById(id));
    }
 
    /**
     * 新增患者检查检验记录子
     */
    @ApiOperation("新增患者检查检验记录子")
    //@PreAuthorize("@ss.hasPermi('smartor:item:add')")
    @Log(title = "患者检查检验记录子", businessType = BusinessType.INSERT)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/add")
    public AjaxResult add(@RequestBody PatMedOperationItem patMedOperationItem) {
        return toAjax(facade.insertOperationItem(patMedOperationItem));
    }
 
    /**
     * 修改患者检查检验记录子
     */
    @ApiOperation("修改患者检查检验记录子")
    //@PreAuthorize("@ss.hasPermi('smartor:item:edit')")
    @Log(title = "患者检查检验记录子", businessType = BusinessType.UPDATE)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody PatMedOperationItem patMedOperationItem) {
        return toAjax(facade.updateOperationItem(patMedOperationItem));
    }
 
    /**
     * 删除患者检查检验记录子
     */
    @ApiOperation("删除患者检查检验记录子")
    //@PreAuthorize("@ss.hasPermi('smartor:item:remove')")
    @Log(title = "患者检查检验记录子", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(facade.deleteOperationItemByIds(ids));
    }
}