|
|
|
package com.supervision.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.supervision.exception.BusinessException;
|
|
|
|
import com.supervision.model.Disease;
|
|
|
|
import com.supervision.service.DiseaseService;
|
|
|
|
import com.supervision.mapper.DiseaseMapper;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
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());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否是复合疾病
|
|
|
|
* @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);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|