Jelajahi Sumber

先删二级映射关系,再删第一层

zhoutg 5 tahun lalu
induk
melakukan
76bca8e198

+ 7 - 5
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -189,19 +189,21 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         QuestionInfo questionInfo = param.getQuestionInfo();
         Date now = param.getNow();
         String person = param.getPerson();
-        //先删除原明细,再插入新明细
-        deleteMapping(questionInfo.getId(), param);//删除原映射关系
+
+        // 如果是既往史类型,考虑到整一列内容清空,原tagType=10下的映射关系就会遗留下来,
+        // 变成脏数据,导致删除标签时报错
+        // 将tagType=10下的所有映射关系删除
         if (InsertOrUpdateEnum.Update.getKey() == param.getInsertOrUpdate()
                 && TagTypeEnum.T6.getKey() == questionWrapper.getTagType()) {
-            // 如果是既往史类型,考虑到整一列内容清空,原tagType=10下的映射关系就会遗留下来,
-            // 变成脏数据,导致删除标签时报错
-            // 将tagType=10下的所有映射关系删除
             Map<String, Object> map = new HashMap();
             map.put("id", questionInfo.getId());
             map.put("date", param.getNow());
             map.put("person", param.getPerson());
             deleteTagType10Mapping(map);
         }
+
+        //先删除原明细,再插入新明细
+        deleteMapping(questionInfo.getId(), param);//删除原映射关系
         List<QuestionMappingWrapper> questionMappings = questionWrapper.getQuestionMappings();
         if (ListUtil.isNotEmpty(questionMappings)) {
             for (QuestionMappingWrapper bean : questionMappings) {