zhoutg 5 роки тому
батько
коміт
35f94062f2

+ 11 - 0
mrman-service/src/main/java/com/diagbot/facade/QcModuleInfoFacade.java

@@ -184,4 +184,15 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
         getModuleInfoOneDTO.setModuleDetail(map);
         return getModuleInfoOneDTO;
     }
+
+
+    /**
+     * 校验questionId是否在模板中使用
+     *
+     * @param map
+     * @return
+     */
+    public List<QcModuleInfo> getModuleNameByQuestionIdFac(Map map) {
+        return this.getModuleNameByQuestionId(map);
+    }
 }

+ 18 - 31
mrman-service/src/main/java/com/diagbot/facade/QcQuestionFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.entity.CommonParam;
+import com.diagbot.entity.QcModuleInfo;
 import com.diagbot.entity.QcQuestionInfo;
 import com.diagbot.entity.QcQuestionMapping;
 import com.diagbot.entity.wrapper.QuestionInfoWrapper;
@@ -60,8 +61,8 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
     UserServiceClient userServiceClient;
 //    @Autowired
 //    ModuleDetailFacade moduleDetailFacade;
-//    @Autowired
-//    ModuleInfoFacade moduleInfoFacade;
+    @Autowired
+    QcModuleInfoFacade qcModuleInfoFacade;
 
     /**
      * 标签保存
@@ -77,7 +78,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         saveQuestionMapping(questionWrapper, param);
     }
 
-
     /**
      * 初始化参数
      *
@@ -92,7 +92,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         return param;
     }
 
-
     /**
      * 保存映射关系
      *
@@ -111,7 +110,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         }
     }
 
-
     /**
      * 删除映射关系
      *
@@ -128,7 +126,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
                         .set("is_deleted", IsDeleteEnum.Y.getKey()));
     }
 
-
     /**
      * 保存映射关系
      *
@@ -190,7 +187,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         this.saveOrUpdate(qcQuestionInfo);
     }
 
-
     /**
      * 标签列表
      *
@@ -213,7 +209,6 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         return res;
     }
 
-
     /**
      * 根据id删除标签
      *
@@ -246,29 +241,21 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
                         sb.toString());
             }
 
-            // TODO 从模板中查找是否有关联
-//            List<ModuleDetail> moduleDetails = moduleDetailFacade.list(new QueryWrapper<ModuleDetail>()
-//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-//                    .eq("question_id", Long.parseLong(id)));
-//            if (ListUtil.isNotEmpty(moduleDetails)) {
-//                StringBuffer errMsg = new StringBuffer();
-//                StringBuffer finalMsg = new StringBuffer();
-//                List<Long> moduleIds = moduleDetails.stream().map(row -> row.getModuleId()).collect(Collectors.toList());
-//                List<String> moduleNames = moduleInfoFacade.list(new QueryWrapper<ModuleInfo>()
-//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-//                        .in("id", moduleIds))
-//                        .stream().map(row -> row.getName()).collect(Collectors.toList());
-//                for (String mouduleName : moduleNames) {
-//                    if (moduleNames.get(moduleNames.size() - 1).equals(mouduleName)) {//如果当前元素是最后一个,不追加顿号
-//                        errMsg.append("【" + mouduleName + "】");
-//                    } else {
-//                        errMsg.append("【" + mouduleName + "】").append("、");
-//                    }
-//                }
-//                finalMsg.append("该标签已关联模板").append(errMsg);
-//                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-//                        finalMsg.toString());
-//            }
+            // 从模板中查找是否有关联
+            Map<String, Object> paraMap = new HashMap<>();
+            if (deleteQuestionVO.getHospitalId() != null) {
+                paraMap.put("hospitalId", deleteQuestionVO.getHospitalId());
+            }
+            paraMap.put("questionId", Long.parseLong(id));
+            List<QcModuleInfo> qcModuleInfoList = qcModuleInfoFacade.getModuleNameByQuestionIdFac(paraMap);
+            if (ListUtil.isNotEmpty(qcModuleInfoList)) {
+                StringBuffer errMsg = new StringBuffer();
+                errMsg.append("该标签已关联模板");
+                for (QcModuleInfo bean : qcModuleInfoList) {
+                    errMsg.append("【" + bean.getName() + "】");
+                }
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, errMsg.toString());
+            }
 
             //删除自身
             this.deleteByIds(paramMap);

+ 3 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcModuleInfoMapper.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.ModuleInfoListDTO;
 import com.diagbot.entity.QcModuleInfo;
 import com.diagbot.vo.GetModuleInfoVO;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -28,4 +29,6 @@ public interface QcModuleInfoMapper extends BaseMapper<QcModuleInfo> {
      * @return
      */
     public IPage<ModuleInfoListDTO> getModuleInfoListByType(GetModuleInfoVO getModuleInfoVO);
+
+    public List<QcModuleInfo> getModuleNameByQuestionId(Map map);
 }

+ 4 - 0
mrman-service/src/main/java/com/diagbot/service/QcModuleInfoService.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.ModuleInfoListDTO;
 import com.diagbot.entity.QcModuleInfo;
 import com.diagbot.vo.GetModuleInfoVO;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -33,4 +34,7 @@ public interface QcModuleInfoService extends IService<QcModuleInfo> {
      * @return
      */
     public IPage<ModuleInfoListDTO> getModuleInfoListByType(GetModuleInfoVO getModuleInfoVO);
+
+
+    public List<QcModuleInfo> getModuleNameByQuestionId(Map map);
 }

+ 6 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcModuleInfoServiceImpl.java

@@ -9,6 +9,7 @@ import com.diagbot.service.QcModuleInfoService;
 import com.diagbot.vo.GetModuleInfoVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -31,4 +32,9 @@ public class QcModuleInfoServiceImpl extends ServiceImpl<QcModuleInfoMapper, QcM
     public IPage<ModuleInfoListDTO> getModuleInfoListByType(GetModuleInfoVO getModuleInfoVO) {
         return baseMapper.getModuleInfoListByType(getModuleInfoVO);
     }
+
+    @Override
+    public List<QcModuleInfo> getModuleNameByQuestionId(Map map) {
+        return baseMapper.getModuleNameByQuestionId(map);
+    }
 }

+ 1 - 0
mrman-service/src/main/java/com/diagbot/vo/DeleteQuestionVO.java

@@ -12,4 +12,5 @@ import lombok.Setter;
 @Setter
 public class DeleteQuestionVO {
     private String ids;
+    private Long hospitalId;
 }

+ 12 - 0
mrman-service/src/main/resources/mapper/QcModuleInfoMapper.xml

@@ -39,4 +39,16 @@
         </if>
         order by gmt_modified desc
     </select>
+
+    <select id="getModuleNameByQuestionId" parameterType="java.util.Map" resultType="com.diagbot.entity.QcModuleInfo">
+        SELECT DISTINCT t1.* FROM `qc_module_info` t1, qc_module_detail t2
+        where t1.is_deleted = 'N' and t2.is_deleted = 'N'
+        and t1.id = t2.module_id
+        <if test="hospitalId != null">
+            AND t1.hospital_id = #{hospitalId}
+        </if>
+        <if test="questionId != null ">
+            and t2.question_id = #{questionId}
+        </if>
+    </select>
 </mapper>