| | |
| | | package com.ruoyi.web.controller.smartor; |
| | | |
| | | import com.github.pagehelper.ISelect; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.domain.PatArchive; |
| | | import com.smartor.domain.PatUpInfoVO; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.service.IPatArchiveService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.concurrent.Executor; |
| | | import java.util.concurrent.Executors; |
| | | |
| | | /** |
| | | * 患者档案Controller |
| | |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @Api(description = "患者档案") |
| | | @RestController |
| | | @RequestMapping("/smartor/patarchive") |
| | | public class PatArchiveController extends BaseController { |
| | | @Autowired |
| | | private IPatArchiveService patArchiveService; |
| | | |
| | | /** |
| | | * 查询患者档案列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(PatArchive patArchive) { |
| | | startPage(); |
| | | List<PatArchive> list = patArchiveService.selectPatArchiveList(patArchive); |
| | | return getDataTable(list); |
| | | } |
| | | // |
| | | // /** |
| | | // * 查询患者档案列表 |
| | | // */ |
| | | // @ApiOperation("查询患者档案列表") |
| | | // @PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") |
| | | // @PostMapping("/list") |
| | | // public TableDataInfo list(@RequestBody PatArchive patArchive) { |
| | | // startPage(); |
| | | // List<PatArchive> list = patArchiveService.selectPatArchiveList(patArchive); |
| | | // return getDataTable(list); |
| | | //} |
| | | |
| | | /** |
| | | * 导出患者档案列表 |
| | | */ |
| | | @ApiOperation("导出患者档案列表") |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:export')") |
| | | @Log(title = "患者档案", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | |
| | | /** |
| | | * 获取患者档案详细信息 |
| | | */ |
| | | @ApiOperation("获取患者档案详细信息") |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:query')") |
| | | @GetMapping(value = "/{patid}") |
| | | public AjaxResult getInfo(@PathVariable("patid") Long patid) { |
| | | @GetMapping(value = "/getInfo/{patid}") |
| | | @ApiImplicitParam(name = "patid", value = "患者id") |
| | | public AjaxResult getInfo(@PathVariable(name = "patid") Long patid) { |
| | | return success(patArchiveService.selectPatArchiveByPatid(patid)); |
| | | } |
| | | |
| | | /** |
| | | * 新增患者档案 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:add')") |
| | | @Log(title = "患者档案", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody PatArchive patArchive) { |
| | | return toAjax(patArchiveService.insertPatArchive(patArchive)); |
| | | } |
| | | // /** |
| | | // * 新增患者档案 |
| | | // */ |
| | | // @ApiOperation("新增患者档案") |
| | | // @PreAuthorize("@ss.hasPermi('smartor:patarchive:add')") |
| | | // @Log(title = "患者档案", businessType = BusinessType.INSERT) |
| | | // @PostMapping("/add") |
| | | // public AjaxResult add(@RequestBody PatArchive patArchive) { |
| | | // return toAjax(patArchiveService.insertPatArchive(patArchive)); |
| | | // } |
| | | |
| | | /** |
| | | * 修改患者档案 |
| | | * 新增或修改患者档信息 |
| | | */ |
| | | @ApiOperation("新增或修改患者档信息") |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:edit')") |
| | | @Log(title = "患者档案", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody PatArchive patArchive) { |
| | | return toAjax(patArchiveService.updatePatArchive(patArchive)); |
| | | @PostMapping("/saveOrUpdatePatInfo") |
| | | public AjaxResult saveOrUpdatePatInfo(@RequestBody PatArchiveVO patArchiveVO) { |
| | | return toAjax(patArchiveService.saveOrUpdatePatInfo(patArchiveVO)); |
| | | } |
| | | |
| | | /** |
| | | * 删除患者档案 |
| | | */ |
| | | @ApiOperation("删除患者档案") |
| | | @PreAuthorize("@ss.hasPermi('smartor:patarchive:remove')") |
| | | @Log(title = "患者档案", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{patids}") |
| | | @GetMapping("/remove/{patids}") |
| | | @ApiImplicitParam(name = "patids", value = "患者id集合", dataType = "long", dataTypeClass = Long.class) |
| | | public AjaxResult remove(@PathVariable Long[] patids) { |
| | | return toAjax(patArchiveService.deletePatArchiveByPatids(patids)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 患者文件处理 |
| | | * 导入患者文件处理 |
| | | * |
| | | * @param multipartFile |
| | | */ |
| | | @ApiOperation("导入患者文件处理") |
| | | @PostMapping("/importFilehandle") |
| | | public AjaxResult importFilehandle(@RequestParam("multipartFile") MultipartFile multipartFile) { |
| | | @ApiImplicitParams({@ApiImplicitParam(name = "tags", value = "标签"), @ApiImplicitParam(name = "multipartFile", value = "上传文件")}) |
| | | public AjaxResult importFilehandle(@RequestParam("tags") String tags, @RequestParam("multipartFile") MultipartFile multipartFile) { |
| | | Executor executor = Executors.newFixedThreadPool(3); |
| | | //获取当前登陆人 |
| | | LoginUser loginUser = getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | String userName = user.getUserName(); |
| | | |
| | | PatUpInfoVO patUpInfoVO = patArchiveService.importFilehandle(userName, multipartFile); |
| | | |
| | | PatUpInfoVO patUpInfoVO = patArchiveService.importFilehandle(user, tags, multipartFile); |
| | | return success(patUpInfoVO); |
| | | } |
| | | |
| | | /** |
| | | * 导入患者信息模板 |
| | | * |
| | | * @param response |
| | | */ |
| | | @ApiOperation("患者信息导入模板") |
| | | @PostMapping("/patImportTemplate") |
| | | public void patImportTemplate(HttpServletResponse response) { |
| | | // ExcelUtil<PatImportInfoVO> util = new ExcelUtil<PatImportInfoVO>(PatImportInfoVO.class); |
| | | ExcelUtil<PatArchive> util = new ExcelUtil<PatArchive>(PatArchive.class); |
| | | util.importTemplateExcel(response, "患者信息导入"); |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * @param patArchiveList |
| | | */ |
| | | @PostMapping("/exportErrPatInfo") |
| | | public AjaxResult exportErrPatInfo(@RequestBody List<PatArchive> patArchiveList) { |
| | | @ApiOperation("导出患者错误信息") |
| | | @PostMapping(value = "/exportErrPatInfo") |
| | | public void exportErrPatInfo(HttpServletResponse response, @RequestBody List<PatImportInfoVO> patArchiveList) { |
| | | |
| | | return success(patArchiveService.exportErrPatInfo(patArchiveList)); |
| | | ExcelUtil<PatImportInfoVO> util = new ExcelUtil<PatImportInfoVO>(PatImportInfoVO.class); |
| | | util.exportExcel(response, patArchiveList, "导出患者错误信息"); |
| | | } |
| | | |
| | | /** |
| | | * 查询患者列表 |
| | | */ |
| | | @ApiOperation("查询患者列表") |
| | | @PostMapping("/patInfoByContion") |
| | | public TableDataInfo patInfoByCondition(@RequestBody PatArchiveReq patArchive) { |
| | | PageUtils.startPageByPost(patArchive.getPageNum(), patArchive.getPageSize()); |
| | | List<PatArchive> patArchives = patArchiveService.patInfoByContion(patArchive); |
| | | long count = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | patArchiveService.patInfoByContion(patArchive); |
| | | } |
| | | }); |
| | | return getDataTable2(count, patArchives); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导出患者列表根据条件 |
| | | */ |
| | | @ApiOperation("导出患者列表根据条件") |
| | | @PostMapping("/exportPatInfo") |
| | | public void exportPpatInfo(HttpServletResponse response, @RequestBody PatArchiveReq patArchive) { |
| | | startPage(); |
| | | List<PatArchive> patArchives = patArchiveService.patInfoByContion(patArchive); |
| | | if (!CollectionUtils.isEmpty(patArchives)) { |
| | | for (int i = 0; i < patArchives.size(); i++) { |
| | | patArchives.get(i).setTag(patArchives.get(i).getTagList().toString()); |
| | | } |
| | | } |
| | | ExcelUtil<PatArchive> util = new ExcelUtil<PatArchive>(PatArchive.class); |
| | | util.exportExcel(response, patArchives, "患者档案数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取患者信息 |
| | | */ |
| | | @ApiOperation("获取患者信息") |
| | | @PostMapping("/getPatientInfo") |
| | | public TableDataInfo getPatientInfo(@RequestBody PatArchiveReq patArchiveReq) { |
| | | PageUtils.startPageByPost(patArchiveReq.getPageNum(), patArchiveReq.getPageSize()); |
| | | List<PatTaskRelevance> patientInfo = patArchiveService.getPatientInfo(patArchiveReq); |
| | | long count = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | patArchiveService.getPatientInfo(patArchiveReq); |
| | | } |
| | | }); |
| | | return getDataTable2(count, patientInfo); |
| | | } |
| | | |
| | | } |