|
|
|
package com.supervision.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.supervision.model.Disease;
|
|
|
|
import com.supervision.service.DiseaseService;
|
|
|
|
import com.supervision.mapper.DiseaseMapper;
|
|
|
|
import com.supervision.vo.manage.DiseaseReqVo;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author flevance
|
|
|
|
* @description 针对表【vp_disease(疾病名称)】的数据库操作Service实现
|
|
|
|
* @createDate 2023-10-20 17:19:21
|
|
|
|
*/
|
|
|
|
@Service
|
|
|
|
public class DiseaseServiceImpl extends ServiceImpl<DiseaseMapper, Disease>
|
|
|
|
implements DiseaseService{
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<Disease> listDiseaseNestIfComposite(String id) {
|
|
|
|
Assert.notEmpty(id, "id is not allow empty");
|
|
|
|
Disease disease = super.getById(id);
|
|
|
|
if (!isCompositeDisease(disease) || CollUtil.isEmpty(disease.getContainDiseaseIds())){
|
|
|
|
return CollUtil.newArrayList(disease);
|
|
|
|
}
|
|
|
|
|
|
|
|
return super.listByIds(disease.getContainDiseaseIds());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public IPage<? extends Disease> queryPageList(Integer pageNum, Integer pageSize, DiseaseReqVo diseaseReqVo) {
|
|
|
|
return super.getBaseMapper().queryPageList(new Page<>(pageNum, pageSize), diseaseReqVo);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<String> queryAllDiseaseListByDiseaseId(List<String> diseaseId) {
|
|
|
|
if (CollUtil.isEmpty(diseaseId)){
|
|
|
|
return new ArrayList<>();
|
|
|
|
}
|
|
|
|
return this.baseMapper.queryAllDiseaseListByDiseaseId(diseaseId);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否是复合疾病
|
|
|
|
* @param disease 疾病
|
|
|
|
* @return true 是复合疾病 false 不是复合疾病
|
|
|
|
*/
|
|
|
|
private boolean isCompositeDisease(Disease disease){
|
|
|
|
|
|
|
|
if (Objects.isNull(disease)){
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return isCompositeDisease(disease.getDiseaseType());
|
|
|
|
}
|
|
|
|
|
|
|
|
private boolean isCompositeDisease(Integer integer){
|
|
|
|
if (Objects.isNull(integer)){
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return Integer.valueOf(1).equals(integer);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|