package com.ruoyi.web.controller.smartor; 
 | 
  
 | 
import java.lang.reflect.Array; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
  
 | 
import com.ruoyi.common.core.domain.entity.SysDept; 
 | 
import com.ruoyi.common.core.domain.entity.SysUser; 
 | 
import com.ruoyi.common.utils.PageUtils; 
 | 
import com.smartor.domain.PatMedReq; 
 | 
import com.smartor.domain.PatMedRes; 
 | 
import io.netty.util.internal.ObjectUtil; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiImplicitParam; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.commons.lang3.ObjectUtils; 
 | 
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) { 
 | 
        PageUtils.startPageByPost(patMedOuthosp.getPageNum(), patMedOuthosp.getPageSize()); 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
        patMedOuthosp.setOrgid(user.getOrgid()); 
 | 
        List<PatMedOuthosp> list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp); 
 | 
        return getDataTable(list); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询患者门诊记录列表 
 | 
     */ 
 | 
    @PostMapping("/selectPatMedOuthospCount") 
 | 
    @ApiOperation("查询门诊看病人次和人数") 
 | 
    public AjaxResult selectPatMedOuthospCount(@RequestBody PatMedReq patMedReq) { 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
//        List<String> deptCode = new ArrayList<>(); 
 | 
//        for (Map<String, Object> map : user.getBelongDepts()) { 
 | 
//            if (ObjectUtils.isNotEmpty(map.get("deptCode"))) deptCode.add(map.get("deptCode").toString()); 
 | 
//        } 
 | 
//        patMedReq.setDeptcodeList(deptCode); 
 | 
        patMedReq.setOrgid(user.getOrgid()); 
 | 
        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<PatMedOuthosp> list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp); 
 | 
        ExcelUtil<PatMedOuthosp> util = new ExcelUtil<PatMedOuthosp>(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)); 
 | 
    } 
 | 
} 
 |