|
@@ -1,44 +1,65 @@
|
|
package com.diagbot.repository;
|
|
package com.diagbot.repository;
|
|
|
|
|
|
-import com.diagbot.dto.BillNeoDTO;
|
|
|
|
-import com.diagbot.dto.DrugBillNeoDTO;
|
|
|
|
-import com.diagbot.dto.DrugInfoDTO;
|
|
|
|
import com.diagbot.dto.HighRiskNeoDTO;
|
|
import com.diagbot.dto.HighRiskNeoDTO;
|
|
|
|
+import com.diagbot.entity.node.MedCodeName;
|
|
import com.diagbot.entity.node.MedRegName;
|
|
import com.diagbot.entity.node.MedRegName;
|
|
import com.diagbot.entity.node.Medicine;
|
|
import com.diagbot.entity.node.Medicine;
|
|
|
|
+import com.diagbot.vo.Drug;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
-import java.util.Map;
|
|
|
|
|
|
+
|
|
|
|
|
|
public class MedRegNameNode {
|
|
public class MedRegNameNode {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取高危药品数据
|
|
* 获取高危药品数据
|
|
*/
|
|
*/
|
|
- public List<HighRiskNeoDTO> getHighRiskDrug(Map<String, String> drugsterm, MedRegNameRepository medRegNameRepository) {
|
|
|
|
|
|
+ public List<HighRiskNeoDTO> getHighRiskDrug(List<Drug> druglist, MedicineRepository medRepository,
|
|
|
|
+ MedicineCodeRepository medCodeRepository) {
|
|
List<HighRiskNeoDTO> highRiskNeoDTOS = new ArrayList<>();
|
|
List<HighRiskNeoDTO> highRiskNeoDTOS = new ArrayList<>();
|
|
HighRiskNeoDTO highRiskNeoDTO;
|
|
HighRiskNeoDTO highRiskNeoDTO;
|
|
- String drugname;
|
|
|
|
- List<MedRegName> medicine;
|
|
|
|
- MedRegName med;
|
|
|
|
|
|
+ String drugname, drugform;
|
|
|
|
+ List<Medicine> medicine;
|
|
|
|
+ List<MedCodeName> medcdnames;
|
|
|
|
+ MedRegName medreg;
|
|
|
|
|
|
- for (String term : drugsterm.keySet()) {
|
|
|
|
|
|
+ for (Drug drug : druglist) {
|
|
highRiskNeoDTO = new HighRiskNeoDTO();
|
|
highRiskNeoDTO = new HighRiskNeoDTO();
|
|
|
|
|
|
- drugname = drugsterm.get(term);
|
|
|
|
- highRiskNeoDTO.setName(term);
|
|
|
|
|
|
+ drugname = drug.getUniqueName();
|
|
|
|
+ highRiskNeoDTO.setName(drug.getName());
|
|
highRiskNeoDTO.setStandname(drugname);
|
|
highRiskNeoDTO.setStandname(drugname);
|
|
|
|
+ drugform = drug.getForm();
|
|
|
|
+
|
|
|
|
+ medicine = medRepository.findByNameIs(drugname);
|
|
|
|
+
|
|
|
|
+ if (null != medicine) {
|
|
|
|
+ for (Medicine med: medicine) {
|
|
|
|
+ for (MedCodeName medcdname : med.getMedcodenames()) {
|
|
|
|
+ if (medcdname.getReg_JiXin().equals(drugform)) {
|
|
|
|
+ medcdnames = medCodeRepository.findByNameIs(medcdname.getName());
|
|
|
|
+ for (MedCodeName medcdnm : medcdnames) {
|
|
|
|
+ List<MedRegName> medRegNames = new ArrayList<>(medcdnm.getMedregnames());
|
|
|
|
+ medreg = medRegNames.get(0);
|
|
|
|
+ if (null != medreg.getRisklevel() && medreg.getRisklevel().trim().length() > 0) {
|
|
|
|
+ highRiskNeoDTO.setIsHighrisk(true);
|
|
|
|
+ highRiskNeoDTO.setType(Constants.medicine);
|
|
|
|
+ highRiskNeoDTOS.add(highRiskNeoDTO);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- medicine = medRegNameRepository.findByNameIs(drugname);
|
|
|
|
|
|
+ if (highRiskNeoDTO.getType()!=null) {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- if (null != medicine && medicine.size()>0) {
|
|
|
|
- med = medicine.get(0);
|
|
|
|
|
|
+ if (highRiskNeoDTO.getType()!=null) {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
|
|
- if (null!=med.getRisklevel() && med.getRisklevel().trim().length()>0) {
|
|
|
|
- highRiskNeoDTO.setIsHighrisk(true);
|
|
|
|
- highRiskNeoDTO.setType(Constants.medicine);
|
|
|
|
- highRiskNeoDTOS.add(highRiskNeoDTO);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|