mitao
2024-12-20 a7c804a7dccc5c928fe8914d54a277f31bb9bfae
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.sinata.web.controller.backend;
 
import com.sinata.common.core.domain.R;
import com.sinata.common.entity.PageDTO;
import com.sinata.system.domain.query.CheckoutRecordQuery;
import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
import com.sinata.system.domain.query.MwTransitRecordQuery;
import com.sinata.system.domain.vo.MwCheckoutRecordVO;
import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
import com.sinata.system.domain.vo.MwTransitRecordVO;
import com.sinata.system.service.MwCheckoutRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
 
/**
 * <p>
 * 暂存间出库记录 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-12-02
 */
@Api(tags = {"转运记录、运输记录相关接口"})
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/backend/mwCheckoutRecord")
public class MwCheckoutRecordController {
    private final MwCheckoutRecordService mwCheckoutRecordService;
 
    /**
     * 转运记录分页列表
     *
     * @param query
     * @return
     */
    @ApiOperation(value = "转运记录分页列表")
    @PostMapping("/hospital/page")
    public R<PageDTO<MwCheckoutRecordVO>> pageList(@Valid @RequestBody CheckoutRecordQuery query) {
        return R.ok(mwCheckoutRecordService.pageHospitalTransitList(query));
    }
 
    /**
     * 转运记录导出
     *
     * @param query
     * @param response
     */
    @ApiOperation("转运记录导出")
    @PostMapping("/hospital/export")
    public void checkoutRecordExport(@RequestBody CheckoutRecordQuery query, HttpServletResponse response) {
        try {
            mwCheckoutRecordService.checkoutRecordExport(query, response);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    /**
     * 转运记录详情
     *
     * @param departmentId
     * @return
     */
    @ApiOperation(value = "转运记录详情")
    @GetMapping("/hospital/detail/{departmentId}")
    public R<MwCheckoutRecordVO> hospitalDetail(@ApiParam(name = "id", value = "医院id", required = true) @PathVariable("departmentId") Long departmentId) {
        return R.ok(mwCheckoutRecordService.hospitalDetail(departmentId));
    }
 
    /**
     * 转运记录医废详情分页列表
     *
     * @param query
     * @return
     */
    @ApiOperation(value = "转运记录医废详情分页列表")
    @PostMapping("/hospital/detailPage")
    public R<PageDTO<MwMedicalWasteBoxVO>> hospitalDetailPage(@Valid @RequestBody MwCheckoutRecordItemQuery query) {
        return R.ok(mwCheckoutRecordService.hospitalDetailPage(query));
    }
 
    /**
     * 运输记录分页列表
     *
     * @param query
     * @return
     */
    @ApiOperation(value = "运输记录分页列表")
    @PostMapping("/transit/page")
    public R<PageDTO<MwTransitRecordVO>> transitPageList(@Valid @RequestBody MwTransitRecordQuery query) {
        return R.ok(mwCheckoutRecordService.transitPageList(query));
    }
 
    /**
     * 运输记录详情
     *
     * @param id
     * @return
     */
    @ApiOperation("运输记录详情")
    @GetMapping("/transit/detail/{id}")
    public R<MwTransitRecordVO> transitDetail(@ApiParam(name = "id", value = "运输记录id", required = true) @PathVariable("id") Long id) {
        return R.ok(mwCheckoutRecordService.transitDetail(id));
    }
 
    /**
     * 运输记录详情分页列表
     *
     * @param query
     * @return
     */
    @ApiOperation("运输记录详情分页列表")
    @PostMapping("/transit/detailPage")
    public R<PageDTO<MwMedicalWasteBoxVO>> transitDetailPage(@Valid @RequestBody MwTransitRecordQuery query) {
        return R.ok(mwCheckoutRecordService.transitDetailPageList(query));
    }
}