package com.lyms.talkonlineweb.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyms.talkonlineweb.domain.LymsDictCodeOrm;
import com.lyms.talkonlineweb.domain.RegisterPatientInfo;
import com.lyms.talkonlineweb.result.BaseResponse;
import com.lyms.talkonlineweb.service.LymsDictCodeOrmService;
import com.lyms.talkonlineweb.util.StringUtil;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 疾病名称映射
*/
@RestController
@Log4j2
@RequestMapping("orm")
public class LymsDictCodeORMController {
@Autowired
private LymsDictCodeOrmService lymsDictCodeOrmService;
/**
* 新增 疾病名称映射
* @param lymsDictCodeOrm
* @param bindingResult
* @return
*/
@PostMapping("addOrm")
public BaseResponse addOrm(@RequestBody @Validated LymsDictCodeOrm lymsDictCodeOrm
, BindingResult bindingResult){
BaseResponse baseResponse = new BaseResponse();
baseResponse.setErrorcode(1);
baseResponse.setErrormsg("失败");
//@Validated对象验证的错误信息
if(bindingResult.hasErrors()){
baseResponse.setErrorcode(1);
for (ObjectError allError : bindingResult.getAllErrors()) {
baseResponse.setErrormsg((StringUtil.isNotEmpty(baseResponse.getErrormsg())?baseResponse.getErrormsg():"")+allError.getDefaultMessage()+";");
}
return baseResponse;
}
try {
//新增
boolean result = lymsDictCodeOrmService.save(lymsDictCodeOrm);
if(result){
baseResponse.setErrorcode(0);
baseResponse.setErrormsg("成功");
}
} catch (Exception e) {
e.printStackTrace();
}
return baseResponse;
}
/**
* 修改 疾病名称映射
* @param lymsDictCodeOrm
* @param bindingResult
* @return
*/
@PostMapping("updateOrm")
public BaseResponse updateOrm(@RequestBody @Validated LymsDictCodeOrm lymsDictCodeOrm
, BindingResult bindingResult){
BaseResponse baseResponse = new BaseResponse();
baseResponse.setErrorcode(1);
baseResponse.setErrormsg("失败");
//@Validated对象验证的错误信息
if(bindingResult.hasErrors()){
baseResponse.setErrorcode(1);
for (ObjectError allError : bindingResult.getAllErrors()) {
baseResponse.setErrormsg((StringUtil.isNotEmpty(baseResponse.getErrormsg())?baseResponse.getErrormsg():"")+allError.getDefaultMessage()+";");
}
return baseResponse;
}
try {
//修改
if(null==lymsDictCodeOrm.getId()){
baseResponse.setErrormsg("修改 id 不能为空");
return baseResponse;
}
boolean result = lymsDictCodeOrmService.updateById(lymsDictCodeOrm);
if(result){
baseResponse.setErrorcode(0);
baseResponse.setErrormsg("成功");
}
} catch (Exception e) {
e.printStackTrace();
}
return baseResponse;
}
/**
* 删除 疾病名称映射
* @param id
* @return
*/
@DeleteMapping("delOrm")
public BaseResponse delOrm(Integer id){
BaseResponse baseResponse = new BaseResponse();
baseResponse.setErrorcode(1);
baseResponse.setErrormsg("失败");
try {
//修改
if(null==id){
baseResponse.setErrormsg("删除 id 不能为空");
return baseResponse;
}
boolean result = lymsDictCodeOrmService.removeById(id);
if(result){
baseResponse.setErrorcode(0);
baseResponse.setErrormsg("成功");
}
} catch (Exception e) {
e.printStackTrace();
}
return baseResponse;
}
/**
* 查询列表 疾病名称映射
* @param lymsDictCodeOrm
* @param current
* @param size
* @return
*/
@GetMapping("getListPageOrm")
public BaseResponse getListPageOrm(LymsDictCodeOrm lymsDictCodeOrm,Integer current,Integer size ){
BaseResponse baseResponse = new BaseResponse();
try {
LambdaQueryWrapper<LymsDictCodeOrm> query=new QueryWrapper().lambda();
query.setEntity(lymsDictCodeOrm);
query.orderByDesc(LymsDictCodeOrm::getCreatedTime);
Page<LymsDictCodeOrm> page= new Page<>(current,size);
Page<LymsDictCodeOrm> lymsDictCodeOrmPage = lymsDictCodeOrmService.page(page,query);
baseResponse.setObject(lymsDictCodeOrmPage);
} catch (Exception e) {
e.printStackTrace();
}
return baseResponse;
}
/**
* 查询关联疾病名称 查重
* @param lymsDictCodeOrm
* @return
*/
@GetMapping("getIllnessRepetition")
public BaseResponse getIllnessRepetition(LymsDictCodeOrm lymsDictCodeOrm){
BaseResponse baseResponse = new BaseResponse();
try {
//疾病名称查重
List<LymsDictCodeOrm> list = lymsDictCodeOrmService.list(Wrappers.query(lymsDictCodeOrm));
if (list.size()>0) {
baseResponse.setErrorcode(1);
baseResponse.setErrormsg("疾病名称已存在!");
return baseResponse;
}
baseResponse.setErrorcode(0);
baseResponse.setErrormsg("疾病名称可以使用");
} catch (Exception e) {
e.printStackTrace();
}
return baseResponse;
}
}