|
@@ -489,27 +489,26 @@ public class YiZhuLuRuServer {
|
|
|
* @param param 参数
|
|
|
* @return
|
|
|
*/
|
|
|
- public ResultVo<List<BigDecimal>> insertTemplateOrder(XinZhenYiZhu param) {
|
|
|
+ public ResultVo<List<String>> insertTemplateOrder(XinZhenYiZhu param) {
|
|
|
if (StringUtil.isBlank(param.getInpatientNo())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.ERROR_MESSAGE, "请先选择患者.");
|
|
|
}
|
|
|
+ List<String> returnOrderList = new ArrayList<>();
|
|
|
+ XinZhenYiZhu patInfo = dao.queryPatientInfo(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
+ List<XinZhenYzActOrder> list = param.getList();
|
|
|
|
|
|
- List<BigDecimal> list = new ArrayList<>();
|
|
|
-
|
|
|
- XinZhenYiZhu huanZheXinXi = dao.queryPatientInfo(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
- // 把模板的数据插入到医嘱
|
|
|
- getThis().templateInsertToOrder(treemapTransformation(param.getList(), list), huanZheXinXi);
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "插入模板数据成功。", list);
|
|
|
- }
|
|
|
-
|
|
|
- private List<XinZhenYzActOrder> treemapTransformation(List<XinZhenYzActOrder> list, List<BigDecimal> returnList) {
|
|
|
List<XinZhenYzActOrder> resList = new ArrayList<>();
|
|
|
Map<BigDecimal, XinZhenYzActOrder> map = new HashMap<>(list.size());
|
|
|
+ String userCode = TokenUtil.getTokenUserId();
|
|
|
+
|
|
|
+ Queue<BigDecimal> queue = new LinkedList<>();
|
|
|
+
|
|
|
for (XinZhenYzActOrder item : list) {
|
|
|
if (item.getParentNo() == null) {
|
|
|
resList.add(item);
|
|
|
}
|
|
|
map.put(item.getActOrderNo(), item);
|
|
|
+ queue.offer(publicServer.getActOrderNo());
|
|
|
}
|
|
|
|
|
|
list.forEach(item -> {
|
|
@@ -523,30 +522,39 @@ public class YiZhuLuRuServer {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- List<XinZhenYzActOrder> data = new LinkedList<>();
|
|
|
+
|
|
|
+ getThis().templateInsertToOrder(resList, patInfo, userCode, returnOrderList, queue);
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "插入模板数据成功。", returnOrderList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 把模板数据插入到医嘱中
|
|
|
+ *
|
|
|
+ * @param resList 医嘱数据
|
|
|
+ * @param patInfo 患者信息
|
|
|
+ * @param userCode 用户编码
|
|
|
+ * @param returnOrderList 返回的医嘱号
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void templateInsertToOrder(List<XinZhenYzActOrder> resList,
|
|
|
+ XinZhenYiZhu patInfo,
|
|
|
+ String userCode,
|
|
|
+ List<String> returnOrderList,
|
|
|
+ Queue<BigDecimal> queue) {
|
|
|
resList.forEach(item -> {
|
|
|
- item.setActOrderNo(publicServer.getActOrderNo());
|
|
|
- data.add(item);
|
|
|
- returnList.add(item.getActOrderNo());
|
|
|
+ item.setActOrderNo(queue.poll());
|
|
|
+ returnOrderList.add(item.getActOrderNo().stripTrailingZeros().toPlainString());
|
|
|
+ dao.insertEntryOrder(patInfo, item, userCode);
|
|
|
|
|
|
if (ListUtil.notBlank(item.getChildren())) {
|
|
|
item.getChildren().forEach(children -> {
|
|
|
- children.setActOrderNo(publicServer.getActOrderNo());
|
|
|
+ children.setActOrderNo(queue.poll());
|
|
|
children.setParentNo(item.getActOrderNo());
|
|
|
- returnList.add(children.getActOrderNo());
|
|
|
+ dao.insertEntryOrder(patInfo, children, userCode);
|
|
|
});
|
|
|
- data.addAll(item.getChildren());
|
|
|
}
|
|
|
});
|
|
|
- return data;
|
|
|
- }
|
|
|
-
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void templateInsertToOrder(List<XinZhenYzActOrder> list, XinZhenYiZhu huanZheXinXi) {
|
|
|
- String userCode = TokenUtil.getTokenUserId();
|
|
|
- list.forEach(item -> {
|
|
|
- dao.insertEntryOrder(huanZheXinXi, item, userCode);
|
|
|
- });
|
|
|
}
|
|
|
|
|
|
/**
|