package com.ltkj.web.controller.system; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.DictEmer; import com.ltkj.hosp.domain.DictIcd; import com.ltkj.hosp.domain.DictSsdm; import com.ltkj.hosp.service.IDictEmerService; import com.ltkj.hosp.service.IDictIcdService; import com.ltkj.hosp.service.IDictSsdmService; import com.ltkj.hosp.vodomain.DictProVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; /** * 知识库Controller * * @author ltkj * @date 2023-03-22 */ @RestController @RequestMapping("/system/emer") @Api(tags = "1项目知识库字典管理") public class DictEmerController extends BaseController { @Resource private IDictEmerService emerService; @Resource private IDictIcdService icdService; @Resource private IDictSsdmService ssdmService; /** * 查询库列表 */ @GetMapping("/getList") @ApiOperation(value = "根据type查询不同的项目") public AjaxResult getList(@RequestParam(required = false) @ApiParam(value = "1,知识库2,疾病字典3,手术编码") Integer type, @RequestParam(required = false) @ApiParam(value = "编码") String proEncoded, @RequestParam(required = false) @ApiParam(value = "名字") String proName, @RequestParam(required = false) @ApiParam(value = "拼音") String pinYin) { List list = new ArrayList<>(); switch (type) { case 1: LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); if (null != proEncoded) wq0.eq(DictEmer::getEmerpym, proEncoded); if (null != proName) wq0.eq(DictEmer::getEmertitle, proName); if (null != pinYin) wq0.eq(DictEmer::getEmerpym, pinYin); List emerList = emerService.list(wq0); if (null != emerList && emerList.size() > 0) { for (DictEmer emer : emerList) { DictProVo proVo = new DictProVo(); proVo.setProName(emer.getEmertitle()); proVo.setProEncoded(emer.getEmerpym()); proVo.setPinYin(emer.getEmerpym()); proVo.setWuBi(MatchUtils.toWubi(emer.getEmerpym())); proVo.setRemark(emer.getRemark()); list.add(proVo); } } return AjaxResult.success(list); case 2: LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); if (null != proEncoded) wq1.eq(DictIcd::getIcdcode, proEncoded); if (null != proName) wq1.eq(DictIcd::getIcdname, proName); if (null != pinYin) wq1.eq(DictIcd::getPym, pinYin); List dictIcds = icdService.list(wq1); if (null != dictIcds && dictIcds.size() > 0) { for (DictIcd dictIcd : dictIcds) { DictProVo proVo = new DictProVo(); proVo.setProName(dictIcd.getIcdname()); proVo.setProEncoded(dictIcd.getIcdcode()); proVo.setPinYin(dictIcd.getPym()); proVo.setWuBi(MatchUtils.toWubi(dictIcd.getPym())); proVo.setRemark(dictIcd.getRemark()); list.add(proVo); } } return AjaxResult.success(list); case 3: LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); if (null != proEncoded) wq2.eq(DictSsdm::getSscode, proEncoded); if (null != proName) wq2.eq(DictSsdm::getSsname, proName); if (null != pinYin) wq2.eq(DictSsdm::getPym, pinYin); List ssdmList = ssdmService.list(wq2); if (null != ssdmList && ssdmList.size() > 0) { for (DictSsdm ssdm : ssdmList) { DictProVo proVo = new DictProVo(); proVo.setProName(ssdm.getSsname()); proVo.setProEncoded(ssdm.getSscode()); proVo.setPinYin(ssdm.getPym()); proVo.setWuBi(MatchUtils.toWubi(ssdm.getPym())); proVo.setRemark(ssdm.getRemark()); list.add(proVo); } } return AjaxResult.success(list); } return AjaxResult.error(); } /** * 查询知识库列表 */ //@PreAuthorize("@ss.hasPermi('system:emer:list')") @GetMapping("/list") @ApiOperation(value = "查询") public TableDataInfo list(DictEmer dictEmer) { startPage(); List list = emerService.selectDictEmerList(dictEmer); return getDataTable(list); } @GetMapping("/getDictEmerList") @ApiOperation(value = "查询知识库类型接口") public AjaxResult getDictEmerList() { List list1 = emerService.getEmertypeDictEmerList(); List list2 = emerService.getEmertitleDictEmerList(); Map map = new HashMap<>(); map.put("emertype", list1); map.put("emertitle", list2); return AjaxResult.success(map); } /** * 导出知识库列表 */ //@PreAuthorize("@ss.hasPermi('system:emer:export')") @Log(title = "知识库", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "导出") public void export(HttpServletResponse response, DictEmer dictEmer) { List list = emerService.selectDictEmerList(dictEmer); ExcelUtil util = new ExcelUtil(DictEmer.class); util.exportExcel(response, list, "知识库数据"); } /** * 获取知识库详细信息 */ //@PreAuthorize("@ss.hasPermi('system:emer:query')") @GetMapping(value = "/{id}") @ApiOperation(value = "根据id获取信息") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(emerService.selectDictEmerById(id)); } /** * 新增知识库 */ //@PreAuthorize("@ss.hasPermi('system:emer:add')") @Log(title = "知识库", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "新增") public AjaxResult add(@RequestBody DictEmer dictEmer) { return toAjax(emerService.insertDictEmer(dictEmer)); } /** * 修改知识库 */ //@PreAuthorize("@ss.hasPermi('system:emer:edit')") @Log(title = "知识库", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "修改") public AjaxResult edit(@RequestBody DictEmer dictEmer) { return toAjax(emerService.updateDictEmer(dictEmer)); } /** * 删除知识库 */ //@PreAuthorize("@ss.hasPermi('system:emer:remove')") @Log(title = "知识库", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation(value = "删除") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(emerService.deleteDictEmerByIds(ids)); } }