```
docs(release-notes): 添加住院护士站划价功能说明和发版记录 - 新增住院护士站划价服务流程说明文档,详细描述了从参数预处理到结果响应的五大阶段流程 - 包含耗材类医嘱和诊疗活动类医嘱的差异化处理逻辑 - 添加完整的发版内容记录,涵盖新增菜单功能和各模块优化点 - 记录了住院相关功能的新增和门诊业务流程的修复 ```
This commit is contained in:
@@ -25,7 +25,7 @@ public interface IAdvancePaymentManageAppService {
|
||||
* @param request 请求
|
||||
* @return 患者预交金基本信息
|
||||
*/
|
||||
IPage<AdvancePaymentInfoDto> getAdvancePaymentInfo(AdvancePaymentInfoDto advancePaymentInfoDto, String searchKey,
|
||||
IPage<AdvancePaymentInfoDto> getAdvancePaymentInfo(AdvancePaymentInfoDto advancePaymentInfoDto, String searchKey,Long wardLocationId,
|
||||
Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.openhis.web.inhospitalcharge.appservice;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.common.dto.LocationDto;
|
||||
import com.openhis.web.inhospitalcharge.dto.*;
|
||||
|
||||
/**
|
||||
@@ -83,4 +85,19 @@ public interface IInHospitalRegisterAppService {
|
||||
*/
|
||||
R<?> noFilesRegister(NoFilesRegisterDto noFilesRegisterDto);
|
||||
|
||||
/**
|
||||
* 是否登记
|
||||
*
|
||||
* @param encounterId 病历ID
|
||||
* @return true/false
|
||||
*/
|
||||
R<Boolean> isRegister(Long encounterId);
|
||||
|
||||
/**
|
||||
* 获取病区列表
|
||||
*
|
||||
* @param orgId 科室id
|
||||
* @return 病区列表
|
||||
*/
|
||||
List<LocationDto> getWardList(Long orgId);
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ public class AdvancePaymentManageAppServiceImpl implements IAdvancePaymentManage
|
||||
*/
|
||||
@Override
|
||||
public IPage<AdvancePaymentInfoDto> getAdvancePaymentInfo(AdvancePaymentInfoDto advancePaymentInfoDto,
|
||||
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||
String searchKey, Long wardLocationId, Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||
// 构建查询条件
|
||||
QueryWrapper<AdvancePaymentInfoDto> queryWrapper = HisQueryUtils.buildQueryWrapper(advancePaymentInfoDto,
|
||||
searchKey, new HashSet<>(Arrays.asList("bus_no", "patient_name", "inHospital_org_name")), request);
|
||||
@@ -80,7 +80,8 @@ public class AdvancePaymentManageAppServiceImpl implements IAdvancePaymentManage
|
||||
LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), EncounterActivityStatus.ACTIVE.getValue(),
|
||||
ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(),
|
||||
ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(),
|
||||
AccountType.PERSONAL_CASH_ACCOUNT.getCode(), queryWrapper);
|
||||
AccountType.PERSONAL_CASH_ACCOUNT.getCode(), wardLocationId, EncounterZyStatus.TO_BE_REGISTERED.getValue(),
|
||||
queryWrapper);
|
||||
advancePaymentInfo.getRecords().forEach(e -> {
|
||||
// 性别
|
||||
e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum()));
|
||||
@@ -178,8 +179,14 @@ public class AdvancePaymentManageAppServiceImpl implements IAdvancePaymentManage
|
||||
// 支付管理子表
|
||||
PaymentRecDetail paymentDetail = new PaymentRecDetail();
|
||||
paymentDetail.setAccountId(advancePaymentInAndOutDto.getAccountId()); // 账户
|
||||
paymentDetail.setPayEnum(YbPayment.SELF_CASH_PAY.getValue()); // 支付类型
|
||||
paymentDetail.setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()); // 支付类型等级
|
||||
Integer payEnum = advancePaymentInAndOutDto.getPayEnum();
|
||||
if (payEnum != null && payEnum != 0) {
|
||||
paymentDetail.setPayEnum(payEnum); // 支付类型
|
||||
paymentDetail.setPayLevelEnum(YbPayment.getByValue(payEnum).getLevel());// 支付类型等级
|
||||
} else {
|
||||
paymentDetail.setPayEnum(YbPayment.SELF_CASH_PAY.getValue()); // 支付类型
|
||||
paymentDetail.setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()); // 支付类型等级
|
||||
}
|
||||
paymentDetail.setAmount(ammount); // 金额
|
||||
paymentDetail.setPayTransNo(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO);
|
||||
paymentDetail.setReconciliationId(payment.getId()); // 付款id
|
||||
|
||||
@@ -39,9 +39,10 @@ public class AdvancePaymentManageController {
|
||||
@GetMapping(value = "/advance-payment-info")
|
||||
public R<?> getAdvancePaymentInfo(AdvancePaymentInfoDto advancePaymentInfoDto,
|
||||
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
|
||||
@RequestParam(value = "wardLocationId", defaultValue = "") Long wardLocationId,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||
return R.ok(iAdvancePaymentManageAppService.getAdvancePaymentInfo(advancePaymentInfoDto, searchKey, pageNo,
|
||||
return R.ok(iAdvancePaymentManageAppService.getAdvancePaymentInfo(advancePaymentInfoDto, searchKey,wardLocationId, pageNo,
|
||||
pageSize, request));
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@ package com.openhis.web.inhospitalcharge.controller;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.openhis.web.inhospitalcharge.dto.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.inhospitalcharge.appservice.IInHospitalRegisterAppService;
|
||||
import com.openhis.web.inhospitalcharge.dto.*;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -36,6 +36,17 @@ public class InHospitalRegisterController {
|
||||
return iInHospitalRegisterAppService.registerByDoctor(inHospitalRegisterDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否登记
|
||||
*
|
||||
* @param encounterId 病历ID
|
||||
* @return true/false
|
||||
*/
|
||||
@GetMapping(value = "/isRegister")
|
||||
public R<?> isRegister(@RequestParam(value = "encounterId") Long encounterId) {
|
||||
return iInHospitalRegisterAppService.isRegister(encounterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询住院登记信息
|
||||
*
|
||||
@@ -123,4 +134,14 @@ public class InHospitalRegisterController {
|
||||
return iInHospitalRegisterAppService.noFilesRegister(noFilesRegisterDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 病区列表
|
||||
*
|
||||
* @return 病区列表
|
||||
*/
|
||||
@GetMapping(value = "/ward-list")
|
||||
public R<?> getWardList(@RequestParam(value = "orgId", required = false) Long orgId) {
|
||||
return R.ok(iInHospitalRegisterAppService.getWardList(orgId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -38,4 +38,7 @@ public class AdvancePaymentInAndOutDto {
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
/** 支付类型 */
|
||||
private Integer payEnum;
|
||||
|
||||
}
|
||||
|
||||
@@ -140,6 +140,9 @@ public class InHospitalInfoDto {
|
||||
/** 账户余额 */
|
||||
private BigDecimal balanceAmount;
|
||||
|
||||
/** 支付类型 */
|
||||
private Integer payEnum;
|
||||
|
||||
/**
|
||||
* 诊断定义id
|
||||
*/
|
||||
@@ -159,4 +162,9 @@ public class InHospitalInfoDto {
|
||||
*/
|
||||
private String diagnosisDesc;
|
||||
|
||||
/**
|
||||
* 备注信息(预交金发票使用)
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.openhis.web.inhospitalcharge.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.openhis.common.annotation.Dict;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@@ -79,4 +80,21 @@ public class InHospitalRegisterQueryDto {
|
||||
*/
|
||||
private String wardName;
|
||||
|
||||
/**
|
||||
* 住院号
|
||||
*/
|
||||
private String busNo;
|
||||
|
||||
/**
|
||||
* 费用性质(合同编码)
|
||||
*/
|
||||
private String contractNo;
|
||||
|
||||
/**
|
||||
* 入院类型
|
||||
*/
|
||||
@Dict(dictCode = "admit_source_code")
|
||||
private String admitSourceCode;
|
||||
private String admitSourceCode_dictText;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.openhis.web.inhospitalcharge.dto;
|
||||
|
||||
import com.openhis.web.patientmanage.dto.PatientInformationDto;
|
||||
import com.openhis.web.patientmanage.dto.PatientBaseInfoDto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
@@ -15,7 +15,7 @@ public class NoFilesRegisterDto {
|
||||
/**
|
||||
* 患者信息
|
||||
*/
|
||||
private PatientInformationDto patientInformation;
|
||||
private PatientBaseInfoDto patientInformation;
|
||||
|
||||
/**
|
||||
* 住院信息
|
||||
|
||||
@@ -31,6 +31,7 @@ public interface AdvancePaymentManageAppMapper {
|
||||
* @param status3 已退费
|
||||
* @param classEnum 住院
|
||||
* @param accountTypeCode 个人现金账号
|
||||
* @param registeredFlag 登记标识
|
||||
* @return 预交金基本信息
|
||||
*/
|
||||
IPage<AdvancePaymentInfoDto> getAdvancePaymentInfo(@Param("page") Page<AdvancePaymentInfoDto> page,
|
||||
@@ -38,6 +39,7 @@ public interface AdvancePaymentManageAppMapper {
|
||||
@Param("bedEnum") Integer bedEnum, @Param("encounterActivityStatus") Integer encounterActivityStatus,
|
||||
@Param("status1") Integer status1, @Param("status2") Integer status2, @Param("status3") Integer status3,
|
||||
@Param("classEnum") Integer classEnum, @Param("accountTypeCode") String accountTypeCode,
|
||||
@Param("wardLocationId") Long wardLocationId, @Param("registeredFlag") Integer registeredFlag,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<AdvancePaymentInfoDto> queryWrapper);
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.openhis.web.inhospitalcharge.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@@ -7,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.openhis.administration.domain.Location;
|
||||
import com.openhis.web.inhospitalcharge.dto.InHospitalInfoDto;
|
||||
import com.openhis.web.inhospitalcharge.dto.InHospitalPatientInfoDto;
|
||||
import com.openhis.web.inhospitalcharge.dto.InHospitalRegisterQueryDto;
|
||||
@@ -48,12 +51,13 @@ public interface InHospitalRegisterAppMapper {
|
||||
* @param formEnum 物理位置
|
||||
* @param maindiseFlag 主诊断标识
|
||||
* @param participantType 参与者类型
|
||||
* @param status 状态
|
||||
* @param accountType 账号类型
|
||||
* @return 住院就诊信息
|
||||
*/
|
||||
InHospitalInfoDto getInHospitalInfo(@Param("encounterId") Long encounterId, @Param("formEnum") Integer formEnum,
|
||||
@Param("maindiseFlag") Integer maindiseFlag, @Param("participantType") String participantType,
|
||||
@Param("accountType") String accountType);
|
||||
@Param("status") Integer status, @Param("accountType") String accountType);
|
||||
|
||||
/**
|
||||
* 根据病区号获取总床位数
|
||||
@@ -77,4 +81,13 @@ public interface InHospitalRegisterAppMapper {
|
||||
Integer getIdleBedsNum(@Param("formEnum") Integer formEnum, @Param("status") Integer status,
|
||||
@Param("wardBusNo") String wardBusNo);
|
||||
|
||||
/**
|
||||
* 获取病区列表
|
||||
*
|
||||
* @param orgId 科室id
|
||||
* @return 病区列表
|
||||
*/
|
||||
List<Location> selectWardList(@Param("orgId") Long orgId, @Param("formEnum") Integer formEnum,
|
||||
@Param("status") Integer status);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user