Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2026-03-26 17:00:41 +08:00
13 changed files with 777 additions and 205 deletions

View File

@@ -641,11 +641,13 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
.collect(Collectors.toList());
// 就诊id
Long encounterId = adviceSaveList.get(0).getEncounterId();
iChargeItemService.update(new LambdaUpdateWrapper<ChargeItem>()
.set(ChargeItem::getStatusEnum, ChargeItemStatus.PLANNED.getValue())
.eq(ChargeItem::getEncounterId, encounterId)
.eq(ChargeItem::getStatusEnum, ChargeItemStatus.DRAFT.getValue())
.in(ChargeItem::getServiceId, requestIds));
// 使用安全的更新方法,避免并发冲突
iChargeItemService.updateChargeStatusByConditionSafe(
encounterId,
ChargeItemStatus.DRAFT.getValue(),
ChargeItemStatus.PLANNED.getValue(),
requestIds);
}
// 数据变更后清理相关缓存

View File

@@ -3,6 +3,7 @@
*/
package com.openhis.web.doctorstation.controller;
import com.core.common.annotation.RepeatSubmit;
import com.core.common.core.domain.R;
import com.openhis.common.enums.AdviceOpType;
import com.openhis.common.enums.Whether;
@@ -85,6 +86,7 @@ public class DoctorStationAdviceController {
* @return 结果
*/
@PostMapping(value = "/sign-advice")
@RepeatSubmit(interval = 5000, message = "请勿重复签发医嘱,请稍候再试")
public R<?> signAdvice(@RequestBody AdviceSaveParam adviceSaveParam) {
return iDoctorStationAdviceAppService.saveAdvice(adviceSaveParam, AdviceOpType.SIGN_ADVICE.getCode());
}

View File

@@ -79,6 +79,11 @@ public class RequestBaseDto {
@JsonSerialize(using = ToStringSerializer.class)
private Long chargeItemId;
/**
* 医嘱定义对应表名
*/
private String adviceTableName;
/**
* 医嘱名称
*/

View File

@@ -394,7 +394,7 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen
}
List<ChargeItem> chargeItemList = chargeItemService.listByIds(chargeItemIds);
if (chargeItemList == null || chargeItemList.isEmpty()) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null));
return R.fail("未查询到耗材收费项目信息");
}
// 获取发申请id列表