|
@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.diagbot.client.UserServiceClient;
|
|
|
import com.diagbot.dto.GetModuleInfoOneDTO;
|
|
|
+import com.diagbot.dto.MedRecordAnalyzeDTO;
|
|
|
import com.diagbot.dto.ModuleInfoListDTO;
|
|
|
import com.diagbot.dto.QcModuleDetailDTO;
|
|
|
import com.diagbot.dto.QuestionDTO;
|
|
|
+import com.diagbot.entity.MedModuleMapping;
|
|
|
import com.diagbot.entity.QcModuleDetail;
|
|
|
import com.diagbot.entity.QcModuleInfo;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
@@ -17,10 +19,12 @@ import com.diagbot.service.impl.QcModuleInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
import com.diagbot.util.EntityUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
import com.diagbot.vo.AddModuleInfoVO;
|
|
|
import com.diagbot.vo.GetModuleInfoOneVO;
|
|
|
import com.diagbot.vo.GetModuleInfoVO;
|
|
|
+import com.diagbot.vo.ModuleIndexVO;
|
|
|
import com.diagbot.vo.QuestionIdsVO;
|
|
|
import com.diagbot.vo.UpdateModuleInfoVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -50,6 +54,10 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
@Autowired
|
|
|
QcQuestionFacade qcQuestionFacade;
|
|
|
@Autowired
|
|
|
+ MedModuleMappingFacade medModuleMappingFacade;
|
|
|
+ @Autowired
|
|
|
+ MedRecordAnalyzeFacade medRecordAnalyzeFacade;
|
|
|
+ @Autowired
|
|
|
CacheFacade cacheFacade;
|
|
|
|
|
|
/**
|
|
@@ -62,14 +70,25 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
String userId = UserUtils.getCurrentPrincipleID();
|
|
|
Date date = DateUtil.now();
|
|
|
Map paramMap = new HashMap<>();
|
|
|
+ List<String> idList = Arrays.asList(ids.split(","));
|
|
|
paramMap.put("delete", IsDeleteEnum.Y.getKey());
|
|
|
- paramMap.put("ids", Arrays.asList(ids.split(",")));
|
|
|
+ paramMap.put("ids", idList);
|
|
|
paramMap.put("gmtModified", date);
|
|
|
paramMap.put("modifier", userId);
|
|
|
- //删除模板
|
|
|
+ // 删除模板
|
|
|
this.deleteByIds(paramMap);
|
|
|
- //删除明细表
|
|
|
- qcModuleDetailFacade.deleteByModuleIdFac(paramMap);
|
|
|
+ // 删除明细表
|
|
|
+ if (ListUtil.isNotEmpty(idList)) {
|
|
|
+ qcModuleDetailFacade.remove(new QueryWrapper<QcModuleDetail>()
|
|
|
+ .in("module_id", idList)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 删除模板与文书的映射关系
|
|
|
+ if (ListUtil.isNotEmpty(idList)) {
|
|
|
+ medModuleMappingFacade.remove(new QueryWrapper<MedModuleMapping>()
|
|
|
+ .in("module_id", idList)
|
|
|
+ );
|
|
|
+ }
|
|
|
// 清除缓存
|
|
|
cacheFacade.clear();
|
|
|
return true;
|
|
@@ -94,15 +113,25 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
}
|
|
|
|
|
|
// 同一文书类型下只有一份
|
|
|
- QcModuleInfo existBean = this.getOne(new QueryWrapper<QcModuleInfo>()
|
|
|
+ // QcModuleInfo existBean = this.getOne(new QueryWrapper<QcModuleInfo>()
|
|
|
+ // .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ // .eq("mode_id", addModulInfoVO.getModeId())
|
|
|
+ // .eq("hospital_id", addModulInfoVO.getHospitalId())
|
|
|
+ // .eq("record_module_id", addModulInfoVO.getRecordModuleId())
|
|
|
+ // .ne("id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId()));
|
|
|
+ // if (existBean != null) {
|
|
|
+ // throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
+ // "相同【医院】【模块】下,模块类型已存在,模板名称【" + existBean.getName() + "】" );
|
|
|
+ // }
|
|
|
+
|
|
|
+ // 校验当前文书是否已添加,多人同时操作
|
|
|
+ int countRecord = medModuleMappingFacade.count(new QueryWrapper<MedModuleMapping>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("mode_id", addModulInfoVO.getModeId())
|
|
|
- .eq("hospital_id", addModulInfoVO.getHospitalId())
|
|
|
- .eq("record_module_id", addModulInfoVO.getRecordModuleId())
|
|
|
- .ne("id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId()));
|
|
|
- if (existBean != null) {
|
|
|
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
- "相同【医院】【模块】下,模块类型已存在,模板名称【" + existBean.getName() + "】" );
|
|
|
+ .ne("module_id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId())
|
|
|
+ .in("record_id", addModulInfoVO.getRecordIdList())
|
|
|
+ );
|
|
|
+ if (countRecord > 0) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "模块类型已添加,请刷新后重新选择");
|
|
|
}
|
|
|
|
|
|
Long moduleId = null;
|
|
@@ -142,7 +171,7 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
.eq("id", updateModuleInfoVO.getId())
|
|
|
.set("name", updateModuleInfoVO.getName())
|
|
|
.set("mode_id", updateModuleInfoVO.getModeId())
|
|
|
- .set("record_module_id", updateModuleInfoVO.getRecordModuleId())
|
|
|
+ // .set("record_module_id", updateModuleInfoVO.getRecordModuleId())
|
|
|
.set("modifier", userId)
|
|
|
.set("gmt_modified", DateUtil.now())
|
|
|
.set("remark", updateModuleInfoVO.getRemark());
|
|
@@ -172,15 +201,16 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
* @return
|
|
|
*/
|
|
|
public GetModuleInfoOneDTO getById(GetModuleInfoOneVO getModuleInfoOneVO) {
|
|
|
+ Long moduleId = getModuleInfoOneVO.getModuleId();
|
|
|
GetModuleInfoOneDTO getModuleInfoOneDTO = new GetModuleInfoOneDTO();
|
|
|
//获取模板信息
|
|
|
QueryWrapper<QcModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
|
|
|
moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("id", getModuleInfoOneVO.getModuleId());
|
|
|
+ .eq("id", moduleId);
|
|
|
QcModuleInfo moduleInfo = this.getOne(moduleInfoQueryWrapper, false);
|
|
|
if (null == moduleInfo) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
- "模板已删除【" + getModuleInfoOneVO.getModuleId() + "】");
|
|
|
+ "模板已删除【" + moduleId + "】");
|
|
|
}
|
|
|
BeanUtil.copyProperties(moduleInfo, getModuleInfoOneDTO);
|
|
|
List<QcModuleDetail> qcModuleDetailList = qcModuleDetailFacade.list(new QueryWrapper<QcModuleDetail>()
|
|
@@ -203,6 +233,10 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
}
|
|
|
Map<Integer, List<QcModuleDetailDTO>> map = EntityUtil.makeEntityListMap(qcModuleDetailDTOList, "groupId");
|
|
|
getModuleInfoOneDTO.setModuleDetail(map);
|
|
|
+
|
|
|
+ // 返回模板和文书的映射关系
|
|
|
+ List<MedRecordAnalyzeDTO> recordAnalyzeList = medRecordAnalyzeFacade.getByModuleId(moduleId);
|
|
|
+ getModuleInfoOneDTO.setRecordAnalyzeList(recordAnalyzeList);
|
|
|
return getModuleInfoOneDTO;
|
|
|
}
|
|
|
|
|
@@ -216,4 +250,14 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
public List<QcModuleInfo> getModuleNameByQuestionIdFac(Map map) {
|
|
|
return this.getModuleNameByQuestionId(map);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据医院和模块获取文书信息
|
|
|
+ *
|
|
|
+ * @param moduleIndexVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<MedRecordAnalyzeDTO> indexFac(ModuleIndexVO moduleIndexVO) {
|
|
|
+ return medRecordAnalyzeFacade.indexFac(moduleIndexVO);
|
|
|
+ }
|
|
|
}
|