Sfoglia il codice sorgente

化验重复开立修复bug

zhoutg 3 anni fa
parent
commit
8ada63737d

+ 64 - 15
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -4,7 +4,12 @@ import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.client.CRFServiceClient;
 import com.diagbot.client.StandConvertServiceClient;
-import com.diagbot.dto.*;
+import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.RuleDTO;
+import com.diagbot.dto.RuleExtDTO;
+import com.diagbot.dto.StandConvertCrfBatchDTO;
+import com.diagbot.dto.StandConvertCrfDTO;
+import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.RedisEnum;
@@ -12,15 +17,38 @@ import com.diagbot.enums.StandConvertEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.model.ai.AIAnalyze;
+import com.diagbot.model.entity.BodyPart;
+import com.diagbot.model.entity.Clinical;
+import com.diagbot.model.entity.Modification;
 import com.diagbot.model.entity.Operation;
-import com.diagbot.model.entity.*;
-import com.diagbot.model.label.*;
+import com.diagbot.model.entity.Pacs;
+import com.diagbot.model.entity.Vital;
+import com.diagbot.model.label.ChiefLabel;
+import com.diagbot.model.label.DiagLabel;
+import com.diagbot.model.label.PacsLabel;
+import com.diagbot.model.label.PastLabel;
+import com.diagbot.model.label.PresentLabel;
+import com.diagbot.model.label.VitalLabel;
 import com.diagbot.rule.CommonRule;
-import com.diagbot.util.*;
-import com.diagbot.vo.*;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.CoreUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RedisUtil;
+import com.diagbot.util.ReflectUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.NeoPushVO;
+import com.diagbot.vo.RuleVO;
+import com.diagbot.vo.SearchData;
+import com.diagbot.vo.StandConvert;
+import com.diagbot.vo.StandConvertCrfVO;
+import com.diagbot.vo.neoPushEntity.ChiefPushVo;
 import com.diagbot.vo.neoPushEntity.Diag;
+import com.diagbot.vo.neoPushEntity.DiagVo;
 import com.diagbot.vo.neoPushEntity.Drug;
-import com.diagbot.vo.neoPushEntity.*;
+import com.diagbot.vo.neoPushEntity.LisPushVo;
+import com.diagbot.vo.neoPushEntity.PacsPushVo;
+import com.diagbot.vo.neoPushEntity.PresentPushVo;
+import com.diagbot.vo.neoPushEntity.Symptom;
 import com.google.common.collect.Lists;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -30,7 +58,11 @@ import org.springframework.stereotype.Component;
 
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -749,6 +781,7 @@ public class CommonFacade {
         if (ListUtil.isNotEmpty(lisHisNameList)) {
             Map<String, Map<String, Map<String, List<String>>>> lisConfigMap = mappingConfigFacade.groupByHisNameWithName(lisHisNameList, ConceptTypeEnum.LisPack.getKey(), wordCrfDTO.getHospitalId());
             setListProperty(wordCrfDTO, "lis", ConceptTypeEnum.LisPack.getKey(), "UniqueName", lisConfigMap);
+            setListProperty(wordCrfDTO, "lisOrder", ConceptTypeEnum.LisPack.getKey(), "UniqueName", lisConfigMap);
         }
 
     }
@@ -884,7 +917,6 @@ public class CommonFacade {
                                     retList.add(o);
                                 }
                             }
-
                         } else {
                             List<String> standNames = new ArrayList<>(subMap.get(hisDetailName).keySet());
                             for (String stdName : standNames) {
@@ -896,16 +928,11 @@ public class CommonFacade {
                             }
                         }
                     } else {
+                        setUniqueNameNoMapping(item, propertyName, name, hisDetailName);
                         retList.add(item);
                     }
                 } else {
-                    if (propertyName.equals("UniqueName")) {
-                        if (StringUtil.isNotBlank(hisDetailName)) {
-                            BeanUtils.copyProperty(item, "uniqueName", hisDetailName);
-                        } else {
-                            BeanUtils.copyProperty(item, "uniqueName", name);
-                        }
-                    }
+                    setUniqueNameNoMapping(item, propertyName, name, hisDetailName);
                     retList.add(item);
                 }
             }
@@ -915,6 +942,28 @@ public class CommonFacade {
         return retList;
     }
 
+    /**
+     * 映射没找到,如果有细项,就用细项;无细项用套餐
+     *
+     * @param item
+     * @param propertyName
+     * @param name
+     * @param detailName
+     */
+    public <T> void setUniqueNameNoMapping(T item, String propertyName, String name, String detailName) {
+        try {
+            if (propertyName.equals("UniqueName")) {
+                if (StringUtil.isNotBlank(detailName)) {
+                    BeanUtils.copyProperty(item, "uniqueName", detailName);
+                } else {
+                    BeanUtils.copyProperty(item, "uniqueName", name);
+                }
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
     /**
      * 生成给图谱的入参(推送)
      */

+ 2 - 1
src/main/java/com/diagbot/util/MsgNewUtil.java

@@ -59,7 +59,8 @@ public class MsgNewUtil {
 
         // 放到最后统一替换【多处匹配】
         msg = msg.replaceAll("\\[匹配内容]", content);
-        msg = msg.replaceAll("\\[开单名称]", orderName);
+        String orderNameNew = orderName.replaceAll("\\\\","\\\\\\\\"); // 防止开单名称中有\\
+        msg = msg.replaceAll("\\[开单名称]", orderNameNew);
         msg = msg.replaceAll("\\[项目名称]", structName);
         billMsg.setMsg(msg);
         billMsg.setOrderName(orderName);