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.query.TransitRecordQuery; 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; /** *

* 暂存间出库记录 前端控制器 *

* * @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> 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 id * @return */ @ApiOperation(value = "转运记录详情") @GetMapping("/hospital/detail/{id}") public R hospitalDetail(@ApiParam(name = "id", value = "医院id", required = true) @PathVariable("id") Long id) { return R.ok(mwCheckoutRecordService.hospitalDetail(id)); } /** * 转运记录医废详情分页列表 * * @param query * @return */ @ApiOperation(value = "转运记录医废详情分页列表") @PostMapping("/hospital/detailPage") public R> hospitalDetailPage(@Valid @RequestBody MwCheckoutRecordItemQuery query) { return R.ok(mwCheckoutRecordService.hospitalDetailPage(query)); } /** * 运输记录分页列表 * * @param query * @return */ @ApiOperation(value = "运输记录分页列表") @PostMapping("/transit/page") public R> transitPageList(@Valid @RequestBody MwTransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitPageList(query)); } /** * 运输记录详情 * * @param query * @return */ @ApiOperation("运输记录详情") @PostMapping("/transit/detail") public R transitDetail(@RequestBody TransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitDetail(query)); } /** * 运输记录详情分页列表 * * @param query * @return */ @ApiOperation("运输记录详情分页列表") @PostMapping("/transit/detailPage") public R> transitDetailPage(@Valid @RequestBody TransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitDetailPageList(query)); } }