检查项目设置->套餐设置->套餐管理

This commit is contained in:
2025-11-27 08:44:32 +08:00
parent 1bd2089047
commit 4120d4e001
5 changed files with 980 additions and 45 deletions

View File

@@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDate;
import java.util.List;
/**
@@ -68,12 +69,63 @@ public class CheckTypeController extends BaseController {
}
/**
* 获取检查套餐列表
* 获取检查套餐列表(支持分页和筛选)
*/
@GetMapping({"/package/list", "/check-package/list"})
public AjaxResult packageList() {
List<CheckPackage> list = checkPackageService.list();
return AjaxResult.success(list);
public AjaxResult packageList(
@RequestParam(required = false) Integer pageNo,
@RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) String organization,
@RequestParam(required = false) String packageName,
@RequestParam(required = false) String packageLevel,
@RequestParam(required = false) String packageType,
@RequestParam(required = false) String department,
@RequestParam(required = false) String user,
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate) {
LambdaQueryWrapper<CheckPackage> wrapper = new LambdaQueryWrapper<>();
// 添加筛选条件
if (organization != null && !organization.isEmpty()) {
wrapper.eq(CheckPackage::getOrganization, organization);
}
if (packageName != null && !packageName.isEmpty()) {
wrapper.like(CheckPackage::getPackageName, packageName);
}
if (packageLevel != null && !packageLevel.isEmpty()) {
wrapper.eq(CheckPackage::getPackageLevel, packageLevel);
}
if (packageType != null && !packageType.isEmpty()) {
wrapper.eq(CheckPackage::getPackageType, packageType);
}
if (department != null && !department.isEmpty()) {
wrapper.like(CheckPackage::getDepartment, department);
}
if (user != null && !user.isEmpty()) {
wrapper.like(CheckPackage::getUser, user);
}
if (startDate != null && !startDate.isEmpty()) {
wrapper.ge(CheckPackage::getMaintainDate, LocalDate.parse(startDate));
}
if (endDate != null && !endDate.isEmpty()) {
wrapper.le(CheckPackage::getMaintainDate, LocalDate.parse(endDate));
}
// 按更新时间倒序排列
wrapper.orderByDesc(CheckPackage::getUpdateTime);
// 如果需要分页
if (pageNo != null && pageSize != null) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page<CheckPackage> page =
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNo, pageSize);
com.baomidou.mybatisplus.extension.plugins.pagination.Page<CheckPackage> result =
checkPackageService.page(page, wrapper);
return AjaxResult.success(result);
} else {
List<CheckPackage> list = checkPackageService.list(wrapper);
return AjaxResult.success(list);
}
}
/**

View File

@@ -30,7 +30,7 @@ public class CheckPackage {
private Long id;
/** 套餐名称 */
@TableField("name")
@TableField("package_name")
private String packageName;
/** 套餐编码 */
@@ -45,47 +45,47 @@ public class CheckPackage {
private String packageLevel;
/** 适用科室 (当套餐级别为科室套餐时必填) */
@TableField(value = "department", exist = false)
@TableField("department")
private String department;
/** 适用用户 (当套餐级别为个人套餐时必填) */
@TableField(value = "user", exist = false)
@TableField("\"user\"")
private String user;
/** 卫生机构 */
@TableField(value = "organization", exist = false)
@TableField("organization")
private String organization;
/** 套餐金额 */
@TableField("price")
@TableField("package_price")
private BigDecimal packagePrice;
/** 折扣 (百分比) */
@TableField(value = "discount", exist = false)
@TableField("discount")
private BigDecimal discount;
/** 制单人 */
@TableField(value = "creator", exist = false)
@TableField("creator")
private String creator;
/** 是否停用 (0:启用 1:停用) */
@TableField(value = "is_disabled", exist = false)
@TableField("is_disabled")
private Integer isDisabled;
/** 显示套餐名 (0:否 1:是) */
@TableField(value = "show_package_name", exist = false)
@TableField("show_package_name")
private Integer showPackageName;
/** 生成服务费 (0:否 1:是) */
@TableField(value = "generate_service_fee", exist = false)
@TableField("generate_service_fee")
private Integer generateServiceFee;
/** 套餐价格启用状态 (0:不启用 1:启用) */
@TableField(value = "package_price_enabled", exist = false)
@TableField("package_price_enabled")
private Integer packagePriceEnabled;
/** 服务费 */
@TableField(value = "service_fee", exist = false)
@TableField("service_fee")
private BigDecimal serviceFee;
/** 备注 */
@@ -98,7 +98,7 @@ public class CheckPackage {
private Integer number;
/** 套餐维护日期 (系统自动生成) */
@TableField(value = "maintain_date", exist = false)
@TableField("maintain_date")
private LocalDate maintainDate;
/** 创建时间 */