|
@@ -203,7 +203,7 @@ public class YiZhuLuRuServer {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 确认医嘱
|
|
|
+ * 确认医嘱 , 这个是最新的正确的
|
|
|
*
|
|
|
* @param param 数据
|
|
|
* @return 返回提示
|
|
@@ -218,11 +218,15 @@ public class YiZhuLuRuServer {
|
|
|
if (ListUtil.isBlank(yiZhuList)) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有需要确认的医嘱.");
|
|
|
}
|
|
|
+ if (dao.obtainTheNumberOfDischargedDrugs(param.getInpatientNo(), param.getAdmissTimes()) > 4) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "出院带药医嘱不得超过 4 种,却不得超过 7 天。");
|
|
|
+ }
|
|
|
+
|
|
|
// 药品 code
|
|
|
Set<String> yaoPingCode = new HashSet<>();
|
|
|
// 项目的 code
|
|
|
Set<String> xiangMuCode = new HashSet<>();
|
|
|
- // 出院带药需要生成药单
|
|
|
+ // 出院带药需要生成药单 key 是不同的药房。不同的药房就要
|
|
|
Map<String, List<XinZhenYzActOrder>> takeTheMedicineList = new HashMap<>(Capacity.TWO);
|
|
|
|
|
|
for (XinZhenYzActOrder item : yiZhuList) {
|
|
@@ -288,11 +292,11 @@ public class YiZhuLuRuServer {
|
|
|
if (count > 0) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "有未确认和未执行的医嘱,无法确认全排斥医嘱。");
|
|
|
}
|
|
|
- dao.stopOrder(param.getInpatientNo(), param.getAdmissTimes(), excludeOrders, userCode);
|
|
|
+// dao.stopOrder(param.getInpatientNo(), param.getAdmissTimes(), excludeOrders, userCode);
|
|
|
}
|
|
|
// TODO 出院带药的问题
|
|
|
-// dischargeMedicineList(takeTheMedicineList, huanZheXinXi);
|
|
|
- dao.confirmOrders(confirmOrderInformation, TokenUtil.getTokenUserId(), param.getInpatientNo(), param.getAdmissTimes());
|
|
|
+ dischargeMedicineList(takeTheMedicineList, huanZheXinXi);
|
|
|
+// dao.confirmOrders(confirmOrderInformation, TokenUtil.getTokenUserId(), param.getInpatientNo(), param.getAdmissTimes());
|
|
|
log.info("确认的医嘱:{}", JSON.toJSONString(yiZhuList));
|
|
|
return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
|
|
|
}
|
|
@@ -301,8 +305,8 @@ public class YiZhuLuRuServer {
|
|
|
log.info("出院带药药单:{}", JSON.toJSONString(map));
|
|
|
String userCode = TokenUtil.getTokenUserId();
|
|
|
for (Map.Entry<String, List<XinZhenYzActOrder>> entry : map.entrySet()) {
|
|
|
- Integer pageNo = publicServer.getTheDrugListNo();
|
|
|
- dao.summarySheetOfDrugs(pageNo, huanZheXinXi, userCode, entry.getKey());
|
|
|
+// Integer pageNo = publicServer.getTheDrugListNo();
|
|
|
+// dao.summarySheetOfDrugs(pageNo, huanZheXinXi, userCode, entry.getKey());
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -972,8 +976,25 @@ public class YiZhuLuRuServer {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 计算费用金额
|
|
|
- calculateDrugAmount(item, feiYongXinXi, 错误信息);
|
|
|
+ if (item.getSelfBuy() != null && item.getSelfBuy().equals("4")) {
|
|
|
+ if (item.getStartTime() == null) {
|
|
|
+ 错误信息.add("出院带药请输入开始时间。");
|
|
|
+ }
|
|
|
+ if (item.getEndTime() == null) {
|
|
|
+ 错误信息.add("出院带药请输入结束时间。");
|
|
|
+ } else {
|
|
|
+ long cha = item.getEndTime().getTime() - item.getStartTime().getTime();
|
|
|
+ long nd = 1000 * 24 * 60 * 60;
|
|
|
+ if (cha / nd > 7) {
|
|
|
+ 错误信息.add("出院带药天数不得超过 7 天,计算方式结束时间减去开始时间。");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ // 计算 durg_quan durg_occ
|
|
|
+ calculateDrugAmount(item, feiYongXinXi, 错误信息);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1535,5 +1556,16 @@ public class YiZhuLuRuServer {
|
|
|
return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 出院带药数据校验
|
|
|
+ *
|
|
|
+ * @param patInfo 患者信息
|
|
|
+ * @param param 参数
|
|
|
+ * @return 返回提示
|
|
|
+ */
|
|
|
+ public String verificationAfterDischarge(XinZhenYiZhu patInfo, XinZhenYzActOrder param) {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|