96-门诊医生站会诊申请确认界面和97-门诊会诊申请管理界面全部功能。

This commit is contained in:
weixin_45799331
2026-02-11 14:16:30 +08:00
parent 3ab7ea1898
commit 1747291f41
67 changed files with 213 additions and 6087 deletions

View File

@@ -190,15 +190,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
@Override
public R<?> prePayment(PrePaymentDto prePaymentDto) {
logger.info("预结算:参数:" + JSON.toJSONString(prePaymentDto));
// 查收费项(支持手术计费)
List<ChargeItem> chargeItemList;
if (prePaymentDto.getGenerateSourceEnum() != null && prePaymentDto.getGenerateSourceEnum() == 2) {
// 手术计费根据generateSourceEnum和sourceBillNo过滤
chargeItemList = getChargeItems(prePaymentDto.getChargeItemIds(), prePaymentDto.getGenerateSourceEnum(), prePaymentDto.getSourceBillNo());
} else {
// 普通门诊划价
chargeItemList = getChargeItems(prePaymentDto.getChargeItemIds());
}
// 查收费项
List<ChargeItem> chargeItemList = getChargeItems(prePaymentDto.getChargeItemIds());
if (chargeItemList.isEmpty()) {
return R.fail("未选择收费项");
}
@@ -1906,13 +1899,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
: outpatientRegistrationAddParam.getYbMdtrtCertType());
iAccountService.save(accountZf);
}
String accountContractNo = outpatientRegistrationAddParam.getAccountFormData().getContractNo();
if (!CommonConstants.BusinessName.DEFAULT_CONTRACT_NO
.equals(accountContractNo)
.equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo())
&& !CommonConstants.BusinessName.DEFAULT_STUDENT_CONTRACT_NO
.equals(accountContractNo)
&& accountContractNo.length() > 11
&& accountContractNo.startsWith("STUDENT")) {
.equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo())
&& outpatientRegistrationAddParam.getAccountFormData().getContractNo().length() > 11) {
// 建立学生自费ACCOUNT
Account accountStudentZf = new Account();
BeanUtils.copyProperties(accountFormData, accountStudentZf);
@@ -1922,9 +1913,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
: outpatientRegistrationAddParam.getYbMdtrtCertType());
iAccountService.save(accountStudentZf);
// 截取医保合同号时,先验证是否以"STUDENT"开头
String ybContractNo = accountContractNo.substring("STUDENT".length());
Contract contractYb = contractService.getContract(ybContractNo);
Contract contractYb = contractService.getContract(
outpatientRegistrationAddParam.getAccountFormData().getContractNo().substring("STUDENT".length()));
if (contractYb != null && 1 == contractYb.getYbFlag()) {
// 建立纯医保ACCOUNT
Account accountYb = new Account();
@@ -2103,24 +2093,6 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
return chargeItemService.list(new LambdaQueryWrapper<ChargeItem>().in(ChargeItem::getId, chargeItemIds));
}
/**
* 获取收费项集合(支持手术计费)
*
* @param chargeItemIds 收费项id集合
* @param generateSourceEnum 账单生成来源2手术计费
* @param sourceBillNo 来源业务单据号(手术单号)
* @return 收费项集合
*/
private List<ChargeItem> getChargeItems(List<Long> chargeItemIds, Integer generateSourceEnum, String sourceBillNo) {
LambdaQueryWrapper<ChargeItem> wrapper = new LambdaQueryWrapper<ChargeItem>().in(ChargeItem::getId, chargeItemIds);
// 如果是手术计费,需要额外过滤条件
if (generateSourceEnum != null && generateSourceEnum == 2 && sourceBillNo != null) {
wrapper.eq(ChargeItem::getGenerateSourceEnum, 2)
.eq(ChargeItem::getSourceBillNo, sourceBillNo);
}
return chargeItemService.list(wrapper);
}
/**
* 类型转换收费项chargeItem转成PaymentedItemModel
*