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<DictProVo> list = new ArrayList<>();
|
switch (type) {
|
case 1:
|
LambdaQueryWrapper<DictEmer> 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<DictEmer> 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<DictIcd> 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<DictIcd> 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<DictSsdm> 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<DictSsdm> 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<DictEmer> list = emerService.selectDictEmerList(dictEmer);
|
return getDataTable(list);
|
}
|
|
@GetMapping("/getDictEmerList")
|
@ApiOperation(value = "查询知识库类型接口")
|
public AjaxResult getDictEmerList() {
|
List<DictEmer> list1 = emerService.getEmertypeDictEmerList();
|
List<DictEmer> list2 = emerService.getEmertitleDictEmerList();
|
Map<String, Object> 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<DictEmer> list = emerService.selectDictEmerList(dictEmer);
|
ExcelUtil<DictEmer> util = new ExcelUtil<DictEmer>(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));
|
}
|
}
|