瀏覽代碼

动物样本附件调整,获取检测指标

陈长荣 2 月之前
父節點
當前提交
7aaf5fe201

+ 15 - 5
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/biz/SampleAnimalServiceImpl.java

@@ -200,11 +200,7 @@ public class SampleAnimalServiceImpl extends ServiceImpl<SampleAnimalMapper, Sam
         //血清样本送检
         if (StrUtil.isNotBlank(sampleAnimal.getScientificSampleType()) &&
                 sampleAnimal.getScientificSampleType().contains(ScientificSampleTypeEnum.serum.getDescription())) {
-            //获取检测指标
-            String sql = "select id, name from dbo.HT_DICT_ITEM where status=1 and type=0";
-            List<Entity> entities = lisDb.query(sql);
-            Map<String, String> dictItemMap = entities.stream()
-                    .collect(Collectors.toMap(e -> e.getStr("id"), e -> e.getStr("name")));
+            Map<Integer, Map<String, String>> lisDictItemMap = new HashMap<>();
 
             sampleAnimal.getOrder().getSerum().getItems().forEach(item -> {
                 //加急
@@ -215,6 +211,20 @@ public class SampleAnimalServiceImpl extends ServiceImpl<SampleAnimalMapper, Sam
                 }
                 //检测指标
                 if (StrUtil.isNotBlank(item.getTarget())) {
+                    //获取检测指标
+                    Map<String, String> dictItemMap;
+                    if (lisDictItemMap.containsKey(item.getLisMachineId())) {
+                        dictItemMap = lisDictItemMap.get(item.getLisMachineId());
+                    } else {
+                        String sql = "select di.id, di.name from dbo.HT_MACHINE_ITEM mi " +
+                                "left join dbo.HT_DICT_ITEM di on mi.ITEM_ID = di.ID " +
+                                "where mi.status=1 and mi.machine_id=" + item.getLisMachineId();
+                        List<Entity> entities = lisDb.query(sql);
+                        dictItemMap = entities.stream()
+                                .collect(Collectors.toMap(e -> e.getStr("id"), e -> e.getStr("name")));
+                        lisDictItemMap.put(item.getLisMachineId(), dictItemMap);
+                    }
+
                     String target = Stream.of(item.getTarget().split(","))
                             .map(dictItemMap::get)
                             .collect(Collectors.joining("、"));