浏览代码

更新开单合理性的数据提取方式

MarkHuang 4 年之前
父节点
当前提交
66ac25c10d

+ 12 - 6
src/main/java/com/diagbot/facade/BillFacade.java

@@ -57,7 +57,8 @@ public class BillFacade {
         List<Drug> drugs = wordCrfDTO.getDrugOrder();
 
         for (Drug item : drugs) {
-            billNeoVO.getDrugList().put(item.getName(), item.getUniqueName());
+            billNeoVO.getDrugList().add(new HashMap<String, String>()
+                        {{put(item.getName(), item.getUniqueName());}});
         }
 
         List<Pacs> pacslist = wordCrfDTO.getPacsOrder();
@@ -69,26 +70,31 @@ public class BillFacade {
         List<Lis> lislist = wordCrfDTO.getLisOrder();
         for (Lis lis : lislist) {
             if (StringUtil.isBlank(lis.getDetailName())) {
-                billNeoVO.getLisList().put(lis.getName(), lis.getUniqueName());
+                billNeoVO.getLisList().add(new HashMap<String, String>()
+                        {{put(lis.getName(), lis.getUniqueName());}});
             }
             else {
-                billNeoVO.getLisDetailList().put(lis.getDetailName(), lis.getUniqueName());
+                billNeoVO.getLisDetailList().add(new HashMap<String, String>()
+                        {{put(lis.getName(), lis.getUniqueName());}});
             }
         }
 
         List<Item> operations = wordCrfDTO.getOperationOrder();
         for (Item item : operations) {
-            billNeoVO.getOperationList().put(item.getName(), item.getUniqueName());
+            billNeoVO.getOperationList().add(new HashMap<String, String>()
+                        {{put(item.getName(), item.getUniqueName());}});
         }
 
         List<Item> diags = wordCrfDTO.getDiagOrder();
         for (Item item : diags) {
-            billNeoVO.getDiagList().put(item.getName(), item.getUniqueName());
+            billNeoVO.getDiagList().add(new HashMap<String, String>()
+                        {{put(item.getName(), item.getUniqueName());}});
         }
 
         List<ItemExt> transfusions = wordCrfDTO.getTransfusionOrder();
         for (ItemExt item : transfusions) {
-            billNeoVO.getTransfusionList().put(item.getName(), item.getUniqueName());
+            billNeoVO.getTransfusionList().add(new HashMap<String, String>()
+                        {{put(item.getName(), item.getUniqueName());}});
         }
         return billNeoVO;
     }

+ 10 - 10
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -597,7 +597,7 @@ public class NeoFacade {
     /**
      * 处理处方开单合理性
      */
-    public List<BillNeoDTO> getDrugBill(Map<String, String> medsterm) {
+    public List<BillNeoDTO> getDrugBill(List<Map<String, String>> medsterm) {
 
         MedicineNode medicineNode = new MedicineNode();
         List<BillNeoDTO> billNeoDTOs = medicineNode.getMedicineBill(medsterm, medicineRepository, medRegNameRepository);
@@ -621,10 +621,10 @@ public class NeoFacade {
     /**
      * 处理化验套餐开单合理性
      */
-    public List<BillNeoDTO> getLisBill(Map<String, String> lissetterm) {
+    public List<BillNeoDTO> getLisBill(List<Map<String, String>> lissetterms) {
 
         LisSetNode lisSetNode = new LisSetNode();
-        List<BillNeoDTO> billNeoDTOs = lisSetNode.getLisBill(lissetterm, lisSetRepository);
+        List<BillNeoDTO> billNeoDTOs = lisSetNode.getLisBill(lissetterms, lisSetRepository);
 
         return billNeoDTOs;
     }
@@ -633,7 +633,7 @@ public class NeoFacade {
     /**
      * 处理化验开单合理性
      */
-    public List<BillNeoDTO> getLisDetailBill(Map<String, String> listerm) {
+    public List<BillNeoDTO> getLisDetailBill(List<Map<String, String>> listerm) {
 
         LisNameNode lisNode = new LisNameNode();
         List<BillNeoDTO> billNeoDTOs = lisNode.getLisDetailBill(listerm, lisNameRepository);
@@ -646,10 +646,10 @@ public class NeoFacade {
     /**
      * 处理手术开单合理性
      */
-    public List<BillNeoDTO> getOperationBill(Map<String, String> opterm) {
+    public List<BillNeoDTO> getOperationBill(List<Map<String, String>> opterms) {
 
         YiBaoOperationNameNode yiBaoOpNode = new YiBaoOperationNameNode();
-        List<BillNeoDTO> billNeoDTOs = yiBaoOpNode.getOperationBill(opterm, yiBaoOperationRepository);
+        List<BillNeoDTO> billNeoDTOs = yiBaoOpNode.getOperationBill(opterms, yiBaoOperationRepository);
 
         return billNeoDTOs;
     }
@@ -658,10 +658,10 @@ public class NeoFacade {
     /**
      * 处理联合项目开单合理性
      */
-    public List<BillNeoDTO> getCombiOpBill(Map<String, String> combiterm) {
+    public List<BillNeoDTO> getCombiOpBill(List<Map<String, String>> combiterms) {
 
         CombiOperationNode combiNode = new CombiOperationNode();
-        List<BillNeoDTO> billNeoDTOS = combiNode.getCombiOpBill(combiterm, combiOperationRepository);
+        List<BillNeoDTO> billNeoDTOS = combiNode.getCombiOpBill(combiterms, combiOperationRepository);
 
         return billNeoDTOS;
     }
@@ -670,9 +670,9 @@ public class NeoFacade {
     /**
      * 处理输血开单合理性
      */
-    public List<BillNeoDTO> getTransfusionBill(Map<String, String> term) {
+    public List<BillNeoDTO> getTransfusionBill(List<Map<String, String>> termlist) {
         TransfusionRemindNode transfusionRemindNode = new TransfusionRemindNode();
-        List<BillNeoDTO> billNeoDTOS = transfusionRemindNode.getTransfusionBill(term, transfusionRemindRepository);
+        List<BillNeoDTO> billNeoDTOS = transfusionRemindNode.getTransfusionBill(termlist, transfusionRemindRepository);
 
         return billNeoDTOS;
     }

+ 13 - 11
src/main/java/com/diagbot/repository/CombiOperationNode.java

@@ -78,7 +78,7 @@ public class CombiOperationNode {
 	/**
 	 * 获取联合项目开单合理性
 	 */
-	public List<BillNeoDTO> getCombiOpBill(Map<String, String> combiterm, CombiOperationRepository combiRepository) {
+	public List<BillNeoDTO> getCombiOpBill(List<Map<String, String>> combitermlist, CombiOperationRepository combiRepository) {
 
 		List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
 		BillNeoDTO billNeoDTO;
@@ -88,20 +88,22 @@ public class CombiOperationNode {
 		List<CombiOperation> oplist;
 		String opname;
 
-		for (String term : combiterm.keySet()) {
-			billNeoDTO = new BillNeoDTO();
-			opname = combiterm.get(term);
-			billNeoDTO.setName(term);
-			billNeoDTO.setStandname(opname);
+		for (Map<String, String> combiterm : combitermlist) {
+			for (String term : combiterm.keySet()) {
+				billNeoDTO = new BillNeoDTO();
+				opname = combiterm.get(term);
+				billNeoDTO.setName(term);
+				billNeoDTO.setStandname(opname);
 
-			oplist = combiRepository.findByNameIs(opname);
+				oplist = combiRepository.findByNameIs(opname);
 
-			if (ListUtil.isNotEmpty(oplist)) {
-				combiOpBillNeoDTO = CombiOptoCombiOpDTO(oplist.get(0));
+				if (ListUtil.isNotEmpty(oplist)) {
+					combiOpBillNeoDTO = CombiOptoCombiOpDTO(oplist.get(0));
 
-				billNeoDTO.setCombiOpBillNeoDTO(combiOpBillNeoDTO);
+					billNeoDTO.setCombiOpBillNeoDTO(combiOpBillNeoDTO);
 
-				billNeoDTOs.add(billNeoDTO);
+					billNeoDTOs.add(billNeoDTO);
+				}
 			}
 		}
 

+ 16 - 14
src/main/java/com/diagbot/repository/LisNameNode.java

@@ -138,32 +138,34 @@ public class LisNameNode {
 	/**
 	 * 处理化验开单合理性
 	 */
-	public List<BillNeoDTO> getLisDetailBill(Map<String, String> listerm, LisNameRepository lisRepository) {
+	public List<BillNeoDTO> getLisDetailBill(List<Map<String, String>> listermlist, LisNameRepository lisRepository) {
 		List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
 		BillNeoDTO billNeoDTO;
 
 		LisBillNeoDTO lisBillNeoDTO;
 
-		LisName lis;
+		List<LisName> lislist;
 		String lisname;
 
-		for (String term : listerm.keySet()) {
-			billNeoDTO = new BillNeoDTO();
-			lisname = listerm.get(term);
-			billNeoDTO.setName(term);
-			billNeoDTO.setStandname(lisname);
+		for (Map<String, String> listerm : listermlist) {
+			for (String term : listerm.keySet()) {
+				billNeoDTO = new BillNeoDTO();
+				lisname = listerm.get(term);
+				billNeoDTO.setName(term);
+				billNeoDTO.setStandname(lisname);
 
-			lisBillNeoDTO = new LisBillNeoDTO();
+				lisBillNeoDTO = new LisBillNeoDTO();
 
-			lis = lisRepository.findByNameIs(lisname).get(0);
+				lislist = lisRepository.findByNameIs(lisname);
 
-			if (lis != null) {
-				lisBillNeoDTO = ListoLISDTO(lis);
-			}
+				if (ListUtil.isNotEmpty(lislist)) {
+					lisBillNeoDTO = ListoLISDTO(lislist.get(0));
+				}
 
-			billNeoDTO.setLisBillNeoDTO(lisBillNeoDTO);
+				billNeoDTO.setLisBillNeoDTO(lisBillNeoDTO);
 
-			billNeoDTOs.add(billNeoDTO);
+				billNeoDTOs.add(billNeoDTO);
+			}
 		}
 
 		return billNeoDTOs;

+ 15 - 13
src/main/java/com/diagbot/repository/LisSetNode.java

@@ -108,7 +108,7 @@ public class LisSetNode {
 	/**
 	 * 处理化验套餐开单合理性
 	 */
-	public List<BillNeoDTO> getLisBill(Map<String, String> lispackterm, LisSetRepository lisSetRepository) {
+	public List<BillNeoDTO> getLisBill(List<Map<String, String>> lispacktermlist, LisSetRepository lisSetRepository) {
 		List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
 		BillNeoDTO billNeoDTO;
 
@@ -117,23 +117,25 @@ public class LisSetNode {
 		List<LisSet> lisSetlist;
 		String lissetname;
 
-		for (String term : lispackterm.keySet()) {
-			billNeoDTO = new BillNeoDTO();
-			lissetname = lispackterm.get(term);
-			billNeoDTO.setName(term);
-			billNeoDTO.setStandname(lissetname);
+		for (Map<String, String> lispackterm : lispacktermlist) {
+			for (String term : lispackterm.keySet()) {
+				billNeoDTO = new BillNeoDTO();
+				lissetname = lispackterm.get(term);
+				billNeoDTO.setName(term);
+				billNeoDTO.setStandname(lissetname);
 
-			lisBillNeoDTO = new LisBillNeoDTO();
+				lisBillNeoDTO = new LisBillNeoDTO();
 
-			lisSetlist = lisSetRepository.findByNameIs(lissetname);
+				lisSetlist = lisSetRepository.findByNameIs(lissetname);
 
-			if (lisSetlist != null && lisSetlist.size() > 0) {
-				lisBillNeoDTO = LisPacktoLISDTO(lisSetlist.get(0));
-			}
+				if (ListUtil.isNotEmpty(lisSetlist)) {
+					lisBillNeoDTO = LisPacktoLISDTO(lisSetlist.get(0));
+				}
 
-			billNeoDTO.setLisBillNeoDTO(lisBillNeoDTO);
+				billNeoDTO.setLisBillNeoDTO(lisBillNeoDTO);
 
-			billNeoDTOs.add(billNeoDTO);
+				billNeoDTOs.add(billNeoDTO);
+			}
 		}
 
 		return billNeoDTOs;

+ 19 - 17
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -87,7 +87,7 @@ public class MedicineNode {
     /**
      * 处理处方开单合理性
      */
-    public List<BillNeoDTO> getMedicineBill(Map<String, String> medsterm, MedicineRepository medicineRepository,
+    public List<BillNeoDTO> getMedicineBill(List<Map<String, String>> medslist, MedicineRepository medicineRepository,
                                             MedRegNameRepository medRegNameRepository) {
         List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
         BillNeoDTO billNeoDTO;
@@ -97,31 +97,33 @@ public class MedicineNode {
         List<MedRegName> medRegNames;
         String medname;
 
-        for (String term : medsterm.keySet()) {
-            billNeoDTO = new BillNeoDTO();
-            medname = medsterm.get(term);
-            billNeoDTO.setName(term);
-            billNeoDTO.setStandname(medname);
+        for (Map<String, String> medsterm : medslist) {
+            for (String term : medsterm.keySet()) {
+                billNeoDTO = new BillNeoDTO();
+                medname = medsterm.get(term);
+                billNeoDTO.setName(term);
+                billNeoDTO.setStandname(medname);
 
-            drugBillNeoDTO = new DrugBillNeoDTO();
+                drugBillNeoDTO = new DrugBillNeoDTO();
 
-            List<String> medRegNamels = medicineRepository.findMedRegNamebyMedicine(medname);
+                List<String> medRegNamels = medicineRepository.findMedRegNamebyMedicine(medname);
 
-            for (String mrnames : medRegNamels) {
-                medRegNames = medRegNameRepository.findByNameIs(mrnames);
+                for (String mrnames : medRegNamels) {
+                    medRegNames = medRegNameRepository.findByNameIs(mrnames);
 
-                if (medRegNames != null && medRegNames.size() > 0) {
-                    MedRegNameNode medRegNameNode = new MedRegNameNode();
-                    for (MedRegName medrn : medRegNames) {
-                        drugBillNeoDTO = medRegNameNode.MedRegNametoDrugDTO(medrn, drugBillNeoDTO);
+                    if (ListUtil.isNotEmpty(medRegNames)) {
+                        MedRegNameNode medRegNameNode = new MedRegNameNode();
+                        for (MedRegName medrn : medRegNames) {
+                            drugBillNeoDTO = medRegNameNode.MedRegNametoDrugDTO(medrn, drugBillNeoDTO);
+                        }
                     }
                 }
-            }
 
-            billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
+                billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
 
-            billNeoDTOs.add(billNeoDTO);
+                billNeoDTOs.add(billNeoDTO);
 
+            }
         }
 
 

+ 3 - 1
src/main/java/com/diagbot/repository/PacsNameNode.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import ch.qos.logback.core.util.StringCollectionUtil;
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.PacsBillNeoDTO;
 import com.diagbot.entity.node.Allergen;
@@ -14,6 +15,7 @@ import com.diagbot.entity.node.OralMedicine;
 import com.diagbot.entity.node.PacsDescribe;
 import com.diagbot.entity.node.PacsName;
 import com.diagbot.entity.node.Vital;
+import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.NeoUtil;
 
@@ -168,7 +170,7 @@ public class PacsNameNode {
 
                 pacslt = pacsRepository.findByNameIs(pacsname);
 
-                if (pacslt != null && pacslt.size() > 0) {
+                if (ListUtil.isNotEmpty(pacslt)) {
                     pacsBillNeoDTO = PacstoPACSDTO(pacslt.get(0));
                 }
 

+ 14 - 11
src/main/java/com/diagbot/repository/TransfusionRemindNode.java

@@ -63,7 +63,8 @@ public class TransfusionRemindNode {
 	/**
 	 * 获取输血开单合理性
 	 */
-	public List<BillNeoDTO> getTransfusionBill(Map<String, String> transfusion, TransfusionRemindRepository transfusionRepository) {
+	public List<BillNeoDTO> getTransfusionBill(List<Map<String, String>> transfusionlist,
+											   TransfusionRemindRepository transfusionRepository) {
 
 		List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
 		BillNeoDTO billNeoDTO;
@@ -73,20 +74,22 @@ public class TransfusionRemindNode {
 		List<TransfusionRemind> trlist;
 		String transfsname;
 
-		for (String term : transfusion.keySet()) {
-			billNeoDTO = new BillNeoDTO();
-			transfsname = transfusion.get(term);
-			billNeoDTO.setName(term);
-			billNeoDTO.setStandname(transfsname);
+		for (Map<String, String> transfusion : transfusionlist) {
+			for (String term : transfusion.keySet()) {
+				billNeoDTO = new BillNeoDTO();
+				transfsname = transfusion.get(term);
+				billNeoDTO.setName(term);
+				billNeoDTO.setStandname(transfsname);
 
-			trlist = transfusionRepository.findByTransfusionName(transfsname);
+				trlist = transfusionRepository.findByTransfusionName(transfsname);
 
-			if (ListUtil.isNotEmpty(trlist)) {
-				transfusionBillNeoDTO = TransfusionRemindtoTransfusionDTO(trlist);
+				if (ListUtil.isNotEmpty(trlist)) {
+					transfusionBillNeoDTO = TransfusionRemindtoTransfusionDTO(trlist);
 
-				billNeoDTO.setTransfusionBillNeoDTO(transfusionBillNeoDTO);
+					billNeoDTO.setTransfusionBillNeoDTO(transfusionBillNeoDTO);
 
-				billNeoDTOs.add(billNeoDTO);
+					billNeoDTOs.add(billNeoDTO);
+				}
 			}
 		}
 

+ 13 - 11
src/main/java/com/diagbot/repository/YiBaoOperationNameNode.java

@@ -139,7 +139,7 @@ public class YiBaoOperationNameNode {
     /**
      * 处理手术开单合理性
      */
-    public List<BillNeoDTO> getOperationBill(Map<String, String> opterm, YiBaoOperationNameRepository opRepository) {
+    public List<BillNeoDTO> getOperationBill(List<Map<String, String>> optermlist, YiBaoOperationNameRepository opRepository) {
         List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
         BillNeoDTO billNeoDTO;
 
@@ -147,19 +147,21 @@ public class YiBaoOperationNameNode {
 
         String opname;
 
-        for (String term : opterm.keySet()) {
-            billNeoDTO = new BillNeoDTO();
-            opname = opterm.get(term);
-            billNeoDTO.setName(opname);
+        for (Map<String, String> opterm : optermlist) {
+            for (String term : opterm.keySet()) {
+                billNeoDTO = new BillNeoDTO();
+                opname = opterm.get(term);
+                billNeoDTO.setName(opname);
 
-            List<YiBaoOperationName> operations = opRepository.findByNameIs(opname);
+                List<YiBaoOperationName> operations = opRepository.findByNameIs(opname);
 
-            if (null != operations && operations.size() > 0) {
-                opBillNeoDTO = YiBaoOperationtoOperationDTO(operations.get(0));
-                billNeoDTO.setOperationBillNeoDTO(opBillNeoDTO);
-            }
+                if (ListUtil.isNotEmpty(operations)) {
+                    opBillNeoDTO = YiBaoOperationtoOperationDTO(operations.get(0));
+                    billNeoDTO.setOperationBillNeoDTO(opBillNeoDTO);
+                }
 
-            billNeoDTOs.add(billNeoDTO);
+                billNeoDTOs.add(billNeoDTO);
+            }
         }
 
         return billNeoDTOs;

+ 7 - 7
src/main/java/com/diagbot/vo/BillNeoVO.java

@@ -11,26 +11,26 @@ import java.util.Map;
 public class BillNeoVO {
 
     // 化验入参
-    private Map<String, String> lisList = new HashMap<>();
+    private List<Map<String, String>> lisList = new ArrayList();
 
     // 化验细项入参
-    private Map<String, String> lisDetailList = new HashMap<>();
+    private List<Map<String, String>> lisDetailList = new ArrayList();
 
     // 辅检入参
     private List<Map<String, String>> pacsList = new ArrayList();
 
     // 药品入参
-    private Map<String, String> drugList = new HashMap<>();
+    private List<Map<String, String>> drugList = new ArrayList();
 
     // 诊断入参
-    private Map<String, String> diagList = new HashMap<>();
+    private List<Map<String, String>> diagList = new ArrayList();
 
     // 手术和操作入参
-    private Map<String, String> operationList = new HashMap<>();
+    private List<Map<String, String>> operationList = new ArrayList();
 
     // 联合项目入参
-    private Map<String, String> combiopList = new HashMap<>();
+    private List<Map<String, String>> combiopList = new ArrayList();
 
     // 输血开单项
-    private Map<String, String> transfusionList = new HashMap<>();
+    private List<Map<String, String>> transfusionList = new ArrayList();
 }