目录树变更,新增门诊收费相关,价格定义字段对应代码修改

This commit is contained in:
Zhang.WH
2025-03-13 14:33:29 +08:00
parent 16cc96aca6
commit e854ef2b9c
35 changed files with 479 additions and 78 deletions

View File

@@ -0,0 +1,31 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.appservice;
import com.core.common.core.domain.R;
import com.openhis.web.chargemanage.dto.EncounterPatientPageParam;
import javax.servlet.http.HttpServletRequest;
/**
* 门诊收费 service
*
* @author zwh
* @date 2025-03-12
*/
public interface IOutpatientChargeAppService {
/**
* 查询就诊患者分页列表
*
* @param encounterPatientPageParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @param request 请求
* @return 就诊患者分页列表
*/
R<?> getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam, String searchKey, Integer pageNo,
Integer pageSize, HttpServletRequest request);
}

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.appservice;
package com.openhis.web.chargemanage.appservice;
import java.util.List;
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.openhis.web.basicservice.dto.HealthcareServiceDto;
import com.openhis.web.outpatientservice.dto.*;
import com.openhis.web.chargemanage.dto.*;
/**
* 门诊挂号 应用Service

View File

@@ -0,0 +1,71 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.appservice.impl;
import java.util.Arrays;
import java.util.HashSet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.core.common.utils.AgeCalculatorUtil;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.enums.AdministrativeGender;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.chargemanage.appservice.IOutpatientChargeAppService;
import com.openhis.web.chargemanage.dto.EncounterPatientPageDto;
import com.openhis.web.chargemanage.dto.EncounterPatientPageParam;
import com.openhis.web.chargemanage.mapper.OutpatientChargeAppMapper;
/**
* 门诊收费 impl
*
* @author zwh
* @date 2025-03-12
*/
@Service
public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppService {
@Autowired
private OutpatientChargeAppMapper outpatientChargeAppMapper;
/**
* 查询就诊患者分页列表
*
* @param encounterPatientPageParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @param request 请求
* @return 就诊患者分页列表
*/
@Override
public R<?> getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) {
// 构建查询条件
QueryWrapper<EncounterPatientPageParam> queryWrapper = HisQueryUtils.buildQueryWrapper(
encounterPatientPageParam, searchKey,
new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr,
CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PatientBusNo,
CommonConstants.FieldName.EncounterBusNo, CommonConstants.FieldName.idCard)),
request);
// 就诊患者分页列表
Page<EncounterPatientPageDto> encounterPatientPage =
outpatientChargeAppMapper.selectEncounterPatientPage(new Page<>(pageNo, pageSize), queryWrapper);
encounterPatientPage.getRecords().forEach(e -> {
// 性别枚举
e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum()));
// 计算年龄
e.setAge(AgeCalculatorUtil.getAge(e.getBirthDate()));
});
return R.ok(encounterPatientPage);
}
}

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.appservice.impl;
package com.openhis.web.chargemanage.appservice.impl;
import java.util.Arrays;
import java.util.HashSet;
@@ -31,9 +31,9 @@ import com.openhis.financial.domain.Contract;
import com.openhis.financial.mapper.ContractMapper;
import com.openhis.web.basicservice.dto.HealthcareServiceDto;
import com.openhis.web.basicservice.mapper.HealthcareServiceBizMapper;
import com.openhis.web.outpatientservice.appservice.IOutpatientRegistrationAppService;
import com.openhis.web.outpatientservice.dto.*;
import com.openhis.web.outpatientservice.mapper.OutpatientRegistrationAppMapper;
import com.openhis.web.chargemanage.appservice.IOutpatientRegistrationAppService;
import com.openhis.web.chargemanage.dto.*;
import com.openhis.web.chargemanage.mapper.OutpatientRegistrationAppMapper;
/**
* 门诊挂号 应用实现类

View File

@@ -0,0 +1,54 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.core.domain.R;
import com.openhis.web.chargemanage.appservice.IOutpatientChargeAppService;
import com.openhis.web.chargemanage.dto.EncounterPatientPageParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 门诊收费 controller
*
* @author zwh
* @date 2025-03-12
*/
@RestController
@RequestMapping("/charge-manage/charge")
@Slf4j
@AllArgsConstructor
public class OutpatientChargeController {
@Autowired
private IOutpatientChargeAppService outpatientChargeAppService;
/**
* 查询就诊患者分页列表
*
* @param encounterPatientPageParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @param request 请求
* @return 就诊患者分页列表
*/
@GetMapping(value = "/encounter-patient-page")
public R<?> getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam,
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
return R.ok(outpatientChargeAppService.getEncounterPatientPage(encounterPatientPageParam, searchKey, pageNo,
pageSize, request));
}
}

View File

@@ -1,7 +1,7 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.outpatientservice.controller;
package com.openhis.web.chargemanage.controller;
import java.util.List;
import java.util.stream.Collectors;
@@ -15,9 +15,9 @@ import com.core.common.core.domain.R;
import com.openhis.common.enums.LocationForm;
import com.openhis.common.enums.PriorityLevel;
import com.openhis.web.basedatamanage.appservice.ILocationAppService;
import com.openhis.web.outpatientservice.appservice.IOutpatientRegistrationAppService;
import com.openhis.web.outpatientservice.dto.OutpatientRegistrationAddParam;
import com.openhis.web.outpatientservice.dto.OutpatientRegistrationInitDto;
import com.openhis.web.chargemanage.appservice.IOutpatientRegistrationAppService;
import com.openhis.web.chargemanage.dto.OutpatientRegistrationAddParam;
import com.openhis.web.chargemanage.dto.OutpatientRegistrationInitDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -26,7 +26,7 @@ import lombok.extern.slf4j.Slf4j;
* 门诊挂号 controller
*/
@RestController
@RequestMapping("/outpatient-service/register")
@RequestMapping("/charge-manage/register")
@Slf4j
@AllArgsConstructor
public class OutpatientRegistrationController {

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import java.math.BigDecimal;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import java.math.BigDecimal;
import java.util.Date;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 就诊诊断 表单数据

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -8,7 +8,6 @@ import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 就诊 表单数据

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -9,7 +9,6 @@ import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 就诊位置 表单数据

View File

@@ -1,7 +1,6 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@@ -0,0 +1,94 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 就诊患者分页dto
*
* @author zwh
* @date 2025-03-12
*/
@Data
@Accessors(chain = true)
public class EncounterPatientPageDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 就诊ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long encounterId;
/**
* 患者姓名
*/
private String patientName;
/**
* 患者院内编码/病历号
*/
private String patientBusNo;
/**
* 身份证号
*/
private String idCard;
/**
* 拼音码
*/
private String patientPyStr;
/**
* 五笔码
*/
private String patientWbStr;
/**
* 就诊编码
*/
private String encounterBusNo;
/**
* 性别编码
*/
private Integer genderEnum;
private String genderEnum_enumText;
/**
* 生日
*/
private Date birthDate;
/**
* 账户类型编码
*/
private String typeCode;
/**
* 账户余额
*/
private BigDecimal balanceAmount;
/**
* 开始时间
*/
private Date startTime;
/**
* 年龄
*/
private String age;
}

View File

@@ -0,0 +1,58 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 就诊患者分页查询条件
*
* @author zwh
* @date 2025-03-12
*/
@Data
@Accessors(chain = true)
public class EncounterPatientPageParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 患者姓名
*/
private String patientName;
/**
* 患者院内编码/病历号
*/
private String patientBusNo;
/**
* 身份证号
*/
private String idCard;
/**
* 拼音码
*/
private String patientPyStr;
/**
* 五笔码
*/
private String patientWbStr;
/**
* 就诊编码
*/
private String encounterBusNo;
/**
* 开始时间
*/
private Date startTime;
}

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto;
package com.openhis.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@@ -0,0 +1,33 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.chargemanage.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.openhis.web.chargemanage.dto.EncounterPatientPageDto;
import com.openhis.web.chargemanage.dto.EncounterPatientPageParam;
/**
* 门诊收费 appMapper
*
* @author zwh
* @date 2025-03-13
*/
@Repository
public interface OutpatientChargeAppMapper {
/**
* 查询就诊患者分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @return 就诊患者分页列表
*/
Page<EncounterPatientPageDto> selectEncounterPatientPage(@Param("page") Page<EncounterPatientPageDto> page,
@Param(Constants.WRAPPER) QueryWrapper<EncounterPatientPageParam> queryWrapper);
}

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.mapper;
package com.openhis.web.chargemanage.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -7,8 +7,8 @@ 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.web.outpatientservice.dto.CurrentDayEncounterDto;
import com.openhis.web.outpatientservice.dto.PractitionerMetadata;
import com.openhis.web.chargemanage.dto.CurrentDayEncounterDto;
import com.openhis.web.chargemanage.dto.PractitionerMetadata;
/**
* 门诊挂号 应用Mapper

View File

@@ -47,11 +47,11 @@ public class ChargeItemDefPageDto {
/** 拆零比 */
private BigDecimal partPercent;
/** 指导价 */
private BigDecimal conditionYbCode;
/** 条件 */
private String conditionCode;
/** 批次号 */
private String conditionLotnumber;
/** 命中值 */
private String conditionValue;
/** 价格 */
private BigDecimal price;

View File

@@ -68,21 +68,12 @@ public class ItemDefinitionDto {
/** 条件规则 */
private Long conditionRuleId;
/** 批次号 */
private String conditionLotnumber;
/** 医保相关价格 */
private String conditionYbCode;
/** 采购售卖条件 */
private String conditionInoutCode;
/** 条件类型 */
private String conditionUnitCode;
/** 条件 */
private String conditionCode;
/** 命中值 */
private String conditionValue;
/** 优先级 */
private Integer priority;

View File

@@ -5,7 +5,6 @@ import java.util.HashSet;
import javax.annotation.Resource;
import com.core.common.utils.SecurityUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,6 +13,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.core.common.utils.AgeCalculatorUtil;
import com.core.common.utils.SecurityUtils;
import com.openhis.administration.domain.Encounter;
import com.openhis.administration.mapper.EncounterMapper;
import com.openhis.common.enums.*;

View File

@@ -62,10 +62,10 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
// 设置模糊查询的字段名
HashSet<String> searchFields = new HashSet<>();
searchFields.add(CommonConstants.FieldName.BusNo);
searchFields.add(CommonConstants.FieldName.SupplyBusNo);
// 构建查询条件
QueryWrapper<SupplyRequest> queryWrapper =
QueryWrapper<InventorySearchParam> queryWrapper =
HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request);
// 查询入库单据分页列表
Page<InventoryReceiptPageDto> inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage(

View File

@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.openhis.web.inventorymanage.dto.InventoryReceiptPageDto;
import com.openhis.workflow.domain.SupplyRequest;
import com.openhis.web.inventorymanage.dto.InventorySearchParam;
/**
* 采购入库查询用 mapper
@@ -30,6 +30,6 @@ public interface PurchaseInventoryMapper {
* @return 入库单据分页列表
*/
Page<InventoryReceiptPageDto> selectInventoryReceiptPage(@Param("page") Page<InventoryReceiptPageDto> page,
@Param(Constants.WRAPPER) QueryWrapper<SupplyRequest> queryWrapper,
@Param(Constants.WRAPPER) QueryWrapper<InventorySearchParam> queryWrapper,
@Param("purchaseInventory") Integer purchaseInventory);
}