package com.ruoyi.web.controller.smartor; import java.lang.reflect.Array; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.core.domain.entity.SysUser; import com.smartor.domain.PatMedReq; import com.smartor.domain.PatMedRes; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; 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.smartor.domain.PatMedOuthosp; import com.smartor.service.IPatMedOuthospService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 患者门诊记录Controller * * @author smartor * @date 2023-03-04 */ @RestController @RequestMapping("/smartor/patouthosp") @Api(description = "患者门诊记录") public class PatMedOuthospController extends BaseController { @Autowired private IPatMedOuthospService patMedOuthospService; /** * 查询患者门诊记录列表 */ //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:list')") @PostMapping("/selectPatMedOuthospList") @ApiOperation("查询患者门诊记录列表") public TableDataInfo selectPatMedOuthosplist(@RequestBody PatMedOuthosp patMedOuthosp) { startPage(); List list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp); return getDataTable(list); } /** * 查询患者门诊记录列表 */ @PostMapping("/selectPatMedOuthospCount") @ApiOperation("查询门诊看病人次和人数") public AjaxResult selectPatMedOuthospCount(@RequestBody PatMedReq patMedReq) { PatMedRes patMedRes = patMedOuthospService.selectPatMedOuthospCount(patMedReq); return success(patMedRes); } @PostMapping("/getDeptCodeByPatId") @ApiOperation("查询部门编码通过userId") public AjaxResult getDeptCodeByPatId(@RequestBody PatMedOuthosp patMedOuthosp) { return success(patMedOuthospService.getDeptCodeByPatId(patMedOuthosp)); } /** * 导出患者门诊记录列表 */ //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:export')") @Log(title = "患者门诊记录", businessType = BusinessType.EXPORT) @ApiOperation("患者门诊记录") @PostMapping("/export") public void export(HttpServletResponse response, PatMedOuthosp patMedOuthosp) { List list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp); ExcelUtil util = new ExcelUtil(PatMedOuthosp.class); util.exportExcel(response, list, "患者门诊记录数据"); } /** * 获取患者门诊记录详细信息 */ @ApiOperation("获取患者门诊记录详细信息") @ApiImplicitParam(name = "getInfo", value = "主键ID", dataType = "long", dataTypeClass = Long.class) //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:query')") @GetMapping(value = "getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(patMedOuthospService.selectPatMedOuthospById(id)); } /** * 新增患者门诊记录 */ @ApiOperation("新增患者门诊记录") //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:add')") @Log(title = "患者门诊记录", businessType = BusinessType.INSERT) @PostMapping("/add") public AjaxResult add(@RequestBody PatMedOuthosp patMedOuthosp) { SysUser user = getLoginUser().getUser(); patMedOuthosp.setOrgid(user.getOrgid()); return toAjax(patMedOuthospService.insertPatMedOuthosp(patMedOuthosp)); } /** * 修改患者门诊记录 */ @ApiOperation("修改患者门诊记录") //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:edit')") @Log(title = "患者门诊记录", businessType = BusinessType.UPDATE) @PostMapping("/edit") public AjaxResult edit(@RequestBody PatMedOuthosp patMedOuthosp) { return toAjax(patMedOuthospService.updatePatMedOuthosp(patMedOuthosp)); } /** * 删除患者门诊记录 */ @ApiOperation("删除患者门诊记录") //@PreAuthorize("@ss.hasPermi('smartor:patouthosp:remove')") @ApiImplicitParam(name = "remove", value = "主键ID", dataType = "long", dataTypeClass = Array.class) @Log(title = "患者门诊记录", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(patMedOuthospService.deletePatMedOuthospByIds(ids)); } }