|
@@ -28,7 +28,9 @@ import com.diagbot.entity.HomeOperationInfo;
|
|
|
import com.diagbot.entity.HomePage;
|
|
|
import com.diagbot.entity.MedCheckInfo;
|
|
|
import com.diagbot.entity.MedCrisisInfo;
|
|
|
+import com.diagbot.entity.MedLisInfo;
|
|
|
import com.diagbot.entity.MedLisResult;
|
|
|
+import com.diagbot.entity.MedPacsInfo;
|
|
|
import com.diagbot.entity.MedPacsResult;
|
|
|
import com.diagbot.entity.MedicalRecord;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
@@ -118,8 +120,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
@Autowired
|
|
|
private FilterFacade filterFacade;
|
|
|
@Autowired
|
|
|
+ MedLisInfoFacade medLisInfoFacade;
|
|
|
+ @Autowired
|
|
|
MedLisResultFacade medLisResultFacade;
|
|
|
@Autowired
|
|
|
+ MedPacsInfoFacade medPacsInfoFacade;
|
|
|
+ @Autowired
|
|
|
MedPacsResultFacade medPacsResultFacade;
|
|
|
@Autowired
|
|
|
MedCrisisInfoFacade medCrisisInfoFacade;
|
|
@@ -290,20 +296,6 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
.eq("behospital_code", analyzeVO.getBehospitalCode())
|
|
|
);
|
|
|
|
|
|
- // 化验
|
|
|
- List<MedLisResult> medLisResultList = medLisResultFacade.list(new QueryWrapper<MedLisResult>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("hospital_id", hospitalId)
|
|
|
- .eq("behospital_code", analyzeVO.getBehospitalCode())
|
|
|
- );
|
|
|
-
|
|
|
- // 辅检
|
|
|
- List<MedPacsResult> medPacsResultList = medPacsResultFacade.list(new QueryWrapper<MedPacsResult>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("hospital_id", hospitalId)
|
|
|
- .eq("behospital_code", analyzeVO.getBehospitalCode())
|
|
|
- );
|
|
|
-
|
|
|
// 获取病案首页
|
|
|
HomePage homePage = homePageFacade.getOne(new QueryWrapper<HomePage>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
@@ -359,6 +351,11 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
queryVo.setBehospitalInfo(behospitalInfoList.get(0));
|
|
|
}
|
|
|
|
|
|
+ // 化验
|
|
|
+ List<MedLisResult> medLisResultList = getMedLisResultList(behospitalInfoList.get(0));
|
|
|
+ // 辅检
|
|
|
+ List<MedPacsResult> medPacsResultList = getMedPacsResultList(behospitalInfoList.get(0));
|
|
|
+
|
|
|
// 会诊记录
|
|
|
addDataWithKey("会诊", recMap, medrecVoList,
|
|
|
Arrays.asList("会诊记录", "会诊结果单", "会诊申请单"));
|
|
@@ -426,6 +423,101 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
return queryVo;
|
|
|
}
|
|
|
|
|
|
+ private List<MedLisResult> getMedLisResultList(BehospitalInfo behospitalInfo) {
|
|
|
+ String behospitalDate = null, leaveHospitalDate = null;
|
|
|
+ try {
|
|
|
+ behospitalDate = DateUtil.format(behospitalInfo.getBehospitalDate(), DateUtil.DATE_TIME_FORMAT);
|
|
|
+ leaveHospitalDate = DateUtil.format(behospitalInfo.getLeaveHospitalDate(), DateUtil.DATE_TIME_FORMAT);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
+ if (StringUtil.isBlank(behospitalDate)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<MedLisResult> medLisResultList = null;
|
|
|
+ QueryWrapper<MedLisInfo> medLisInfoQe = new QueryWrapper<>();
|
|
|
+ medLisInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ medLisInfoQe.eq("hospital_id", behospitalInfo.getHospitalId());
|
|
|
+ medLisInfoQe.eq("behospital_code", behospitalInfo.getFileCode());
|
|
|
+ medLisInfoQe.isNotNull("rep_name");
|
|
|
+ medLisInfoQe.isNotNull("check_date");
|
|
|
+ medLisInfoQe.apply("check_date!=''");
|
|
|
+ medLisInfoQe.apply(
|
|
|
+ "date_format (check_date,'%Y-%m-%d %H:%i:%s') >= date_format('"
|
|
|
+ + behospitalDate
|
|
|
+ + "','%Y-%m-%d %H:%i:%s')"
|
|
|
+ );
|
|
|
+ if (StringUtil.isNotBlank(behospitalInfo.getIsPlacefile())
|
|
|
+ && behospitalInfo.getIsPlacefile().equals("1")
|
|
|
+ && StringUtil.isNotBlank(leaveHospitalDate)) {
|
|
|
+ medLisInfoQe.apply(
|
|
|
+ "date_format (check_date,'%Y-%m-%d %H:%i:%s') <= date_format('"
|
|
|
+ + leaveHospitalDate
|
|
|
+ + "','%Y-%m-%d %H:%i:%s')"
|
|
|
+ );
|
|
|
+ }
|
|
|
+ medLisInfoQe.select("rep_no", "rep_name");
|
|
|
+ List<MedLisInfo> medLisInfoList = medLisInfoFacade.list(medLisInfoQe);
|
|
|
+ if (ListUtil.isNotEmpty(medLisInfoList)) {
|
|
|
+ Map<String, String> repNoRepNameMap = medLisInfoList.stream().collect(Collectors.toMap(i -> i.getRepNo(), i -> i.getRepName()));
|
|
|
+ medLisResultList = medLisResultFacade.list(new QueryWrapper<MedLisResult>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_id", behospitalInfo.getHospitalId())
|
|
|
+ .eq("behospital_code", behospitalInfo.getFileCode())
|
|
|
+ .isNotNull("item_name")
|
|
|
+ .in("rept_no", medLisInfoList.stream().map(i -> i.getRepNo()).collect(Collectors.toList()))
|
|
|
+ );
|
|
|
+ medLisResultList.forEach(medLisResult -> {
|
|
|
+ medLisResult.setItemName(repNoRepNameMap.get(medLisResult.getReptNo()) + "=" + medLisResult.getItemName());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return medLisResultList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<MedPacsResult> getMedPacsResultList(BehospitalInfo behospitalInfo) {
|
|
|
+ String behospitalDate = null, leaveHospitalDate = null;
|
|
|
+ try {
|
|
|
+ behospitalDate = DateUtil.format(behospitalInfo.getBehospitalDate(), DateUtil.DATE_TIME_FORMAT);
|
|
|
+ leaveHospitalDate = DateUtil.format(behospitalInfo.getLeaveHospitalDate(), DateUtil.DATE_TIME_FORMAT);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
+ if (StringUtil.isBlank(behospitalDate)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<MedPacsResult> medPacsResultList = null;
|
|
|
+ QueryWrapper<MedPacsInfo> medPacsInfoQe = new QueryWrapper<>();
|
|
|
+ medPacsInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ medPacsInfoQe.eq("hospital_id", behospitalInfo.getHospitalId());
|
|
|
+ medPacsInfoQe.eq("behospital_code", behospitalInfo.getFileCode());
|
|
|
+ medPacsInfoQe.isNotNull("check_date");
|
|
|
+ medPacsInfoQe.apply("check_date!=''");
|
|
|
+ medPacsInfoQe.apply(
|
|
|
+ "date_format (check_date,'%Y-%m-%d %H:%i:%s') >= date_format('"
|
|
|
+ + behospitalDate
|
|
|
+ + "','%Y-%m-%d %H:%i:%s')"
|
|
|
+ );
|
|
|
+ if (StringUtil.isNotBlank(behospitalInfo.getIsPlacefile())
|
|
|
+ && behospitalInfo.getIsPlacefile().equals("1")
|
|
|
+ && StringUtil.isNotBlank(leaveHospitalDate)) {
|
|
|
+ medPacsInfoQe.apply(
|
|
|
+ "date_format (check_date,'%Y-%m-%d %H:%i:%s') <= date_format('"
|
|
|
+ + leaveHospitalDate
|
|
|
+ + "','%Y-%m-%d %H:%i:%s')"
|
|
|
+ );
|
|
|
+ }
|
|
|
+ List<MedPacsInfo> medPacsInfoList = medPacsInfoFacade.list(medPacsInfoQe);
|
|
|
+ if (ListUtil.isNotEmpty(medPacsInfoList)) {
|
|
|
+ medPacsResultList = medPacsResultFacade.list(new QueryWrapper<MedPacsResult>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_id", behospitalInfo.getHospitalId())
|
|
|
+ .eq("behospital_code", behospitalInfo.getFileCode())
|
|
|
+ .in("rept_no", medPacsInfoList.stream().map(i -> i.getRepNo()).collect(Collectors.toList()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+ return medPacsResultList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 评分-终末质控
|
|
|
*
|