|
@@ -2,9 +2,9 @@ package com.diagbot.facade;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.diagbot.dto.KlConceptSimDTO;
|
|
|
import com.diagbot.dto.KlDrugRegisterDTO;
|
|
|
import com.diagbot.entity.CommonParam;
|
|
|
-import com.diagbot.entity.KlConcept;
|
|
|
import com.diagbot.entity.KlDrugMapping;
|
|
|
import com.diagbot.entity.KlDrugRegister;
|
|
|
import com.diagbot.enums.InsertOrUpdateEnum;
|
|
@@ -15,14 +15,15 @@ import com.diagbot.service.impl.KlDrugRegisterServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
-import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
+import com.diagbot.vo.KlDrugMappingGetVO;
|
|
|
import com.diagbot.vo.KlDrugRegisterDelVO;
|
|
|
import com.diagbot.vo.KlDrugRegisterGetVO;
|
|
|
import com.diagbot.vo.KlDrugRegisterPageVO;
|
|
|
import com.diagbot.vo.KlDrugRegisterSaveVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -37,6 +38,8 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
|
|
|
@Autowired
|
|
|
KlDrugMappingFacade klDrugMappingFacade;
|
|
|
@Autowired
|
|
|
+ KlDrugRegisterFacade klDrugRegisterFacade;
|
|
|
+ @Autowired
|
|
|
KlConceptFacade klConceptFacade;
|
|
|
@Autowired
|
|
|
UserFacade userFacade;
|
|
@@ -60,13 +63,13 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
|
|
|
}
|
|
|
BeanUtil.copyProperties(klDrugRegisterSaveVO, klDrugRegister);
|
|
|
// 重复校验
|
|
|
- int count = this.count(new QueryWrapper<KlDrugRegister>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("drug_code", klDrugRegisterSaveVO.getDrugCode())
|
|
|
- .ne("id", klDrugRegisterSaveVO.getId() == null ? -1 : klDrugRegisterSaveVO.getId()));
|
|
|
- if (count > 0) {
|
|
|
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "药品代码已存在");
|
|
|
- }
|
|
|
+ // int count = this.count(new QueryWrapper<KlDrugRegister>()
|
|
|
+ // .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ // .eq("drug_code", klDrugRegisterSaveVO.getDrugCode())
|
|
|
+ // .ne("id", klDrugRegisterSaveVO.getId() == null ? -1 : klDrugRegisterSaveVO.getId()));
|
|
|
+ // if (count > 0) {
|
|
|
+ // throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "药品代码已存在");
|
|
|
+ // }
|
|
|
if (InsertOrUpdateEnum.Insert.getKey() == param.getInsertOrUpdate()) {
|
|
|
klDrugRegister.setCreator(param.getPerson()); //创建人
|
|
|
klDrugRegister.setGmtCreate(param.getNow());//创建时间
|
|
@@ -74,6 +77,20 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
|
|
|
klDrugRegister.setGmtModified(param.getNow());//修改时间
|
|
|
klDrugRegister.setModifier(param.getPerson());//修改人
|
|
|
this.saveOrUpdate(klDrugRegister);
|
|
|
+
|
|
|
+ // 保存药品通用名和注册名映射关系
|
|
|
+ klDrugMappingFacade.remove(new QueryWrapper<KlDrugMapping>()
|
|
|
+ .eq("register_id", klDrugRegister.getId()));
|
|
|
+
|
|
|
+ // 保存药品通用
|
|
|
+ KlDrugMapping klDrugMapping = new KlDrugMapping();
|
|
|
+ klDrugMapping.setRegisterId(klDrugRegister.getId());
|
|
|
+ klDrugMapping.setDrugConcept(klDrugRegisterSaveVO.getDrugConceptId());
|
|
|
+ klDrugMapping.setCreator(param.getPerson());
|
|
|
+ klDrugMapping.setModifier(param.getPerson());
|
|
|
+ klDrugMapping.setGmtModified(param.getNow());
|
|
|
+ klDrugMapping.setGmtCreate(param.getNow());
|
|
|
+ klDrugMappingFacade.save(klDrugMapping);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -113,14 +130,16 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
|
|
|
.eq("register_id", klDrugRegisterDelVO.getId()));
|
|
|
if (ListUtil.isNotEmpty(klDrugMappingList)) {
|
|
|
List<Long> idList = klDrugMappingList.stream().map(r -> r.getDrugConcept()).collect(Collectors.toList());
|
|
|
- List<KlConcept> klConceptList = klConceptFacade.list(new QueryWrapper<KlConcept>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", idList));
|
|
|
- if (ListUtil.isNotEmpty(klConceptList)) {
|
|
|
- String errMsg = klConceptList.stream().map(r -> r.getLibName()).distinct().collect(Collectors.joining(","));
|
|
|
- if (StringUtil.isNotBlank(errMsg)) {
|
|
|
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "已关联药品通用名:" + errMsg);
|
|
|
- }
|
|
|
- }
|
|
|
+ klDrugMappingFacade.remove(new QueryWrapper<KlDrugMapping>().in("register_id", idList));
|
|
|
+ // 校验是否有关联
|
|
|
+ // List<KlConcept> klConceptList = klConceptFacade.list(new QueryWrapper<KlConcept>()
|
|
|
+ // .eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", idList));
|
|
|
+ // if (ListUtil.isNotEmpty(klConceptList)) {
|
|
|
+ // String errMsg = klConceptList.stream().map(r -> r.getLibName()).distinct().collect(Collectors.joining(","));
|
|
|
+ // if (StringUtil.isNotBlank(errMsg)) {
|
|
|
+ // throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "已关联药品通用名:" + errMsg);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
this.remove(new QueryWrapper<KlDrugRegister>().eq("id", klDrugRegisterDelVO.getId()));
|
|
|
}
|
|
@@ -139,6 +158,14 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
|
|
|
if (klDrugRegister != null) {
|
|
|
BeanUtil.copyProperties(klDrugRegister, klDrugRegisterDTO);
|
|
|
}
|
|
|
+
|
|
|
+ // 获取注册对应的药品通用名
|
|
|
+ KlDrugMappingGetVO klDrugMappingGetVO = new KlDrugMappingGetVO();
|
|
|
+ klDrugMappingGetVO.setRegisterId(klDrugRegister.getId());
|
|
|
+ List<KlConceptSimDTO> klConceptSimDTOList = klDrugRegisterFacade.getMappingDrug(klDrugMappingGetVO);
|
|
|
+ if (ListUtil.isNotEmpty(klConceptSimDTOList)) {
|
|
|
+ klDrugRegisterDTO.setCommonName(klConceptSimDTOList.get(0).getLibName());
|
|
|
+ }
|
|
|
return klDrugRegisterDTO;
|
|
|
}
|
|
|
}
|