123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.lantone.daqe.facade.base;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.lantone.common.exception.Asserts;
- import com.lantone.common.util.ListUtil;
- import com.lantone.common.util.StringUtil;
- import com.lantone.daqe.entity.DrugInfo;
- import com.lantone.daqe.service.impl.DrugInfoServiceImpl;
- import org.springframework.stereotype.Component;
- import java.util.List;
- /**
- * <p>
- * 表名:hos_drug_info 业务类
- * </p>
- */
- @Component
- public class DrugInfoFacade extends DrugInfoServiceImpl {
- /**
- * 判断即将新增/修改的药品是否与已存在的其他药品存在冲突
- *
- * @param drugInfo 即将新增/修改的药品,有id是修改,无id是新增。
- * @return true-存在冲突,false-无冲突
- */
- public boolean isExist(DrugInfo drugInfo) {
- if (drugInfo.getHospitalId() != null
- || StringUtil.isBlank(drugInfo.getName())) {
- Asserts.fail("判断即将新增/修改的药品是否与已存在的其他药品存在冲突时,hospitalId、code、name不能为空!");
- }
- QueryWrapper<DrugInfo> drugInfoQueryWrapper = new QueryWrapper<>();
- drugInfoQueryWrapper.eq("hospital_id", drugInfo.getHospitalId());
- drugInfoQueryWrapper.eq(StringUtil.isNotBlank(drugInfo.getCode()),"code", drugInfo.getCode());
- drugInfoQueryWrapper.eq("name", drugInfo.getName());
- List<DrugInfo> drugInfoList = list(drugInfoQueryWrapper);
- if (drugInfo.getId() == null) {
- return ListUtil.isNotEmpty(drugInfoList);
- } else {
- return drugInfoList.size() > 1
- || (drugInfoList.size() == 1
- && drugInfoList.get(0).getId().longValue() != drugInfo.getId().longValue());
- }
- }
- /**
- * 即将新增/修改的药品与已存在的其他药品存在冲突时,抛出异常
- *
- * @param drugInfo 即将新增/修改的药品,有id是修改,无id是新增。
- */
- public void assertIsExist(DrugInfo drugInfo) {
- if (isExist(drugInfo)) {
- Asserts.fail("与已存在的其他药品存在冲突!");
- }
- }
- }
|