bug249:手术管理-》门诊手术安排:【新增手术安排】-》【查找】在门诊医生站已【删除】作废的手术申请单在查询界面还能查询出来.
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细(项目/数量/单价
This commit is contained in:
@@ -106,6 +106,7 @@ public class CheckMethodAppServiceImpl implements ICheckMethodAppService {
|
|||||||
if (ObjectUtil.isNotEmpty(m.getPackageName())) {
|
if (ObjectUtil.isNotEmpty(m.getPackageName())) {
|
||||||
CheckPackage pkg = packageMap.get(m.getPackageName());
|
CheckPackage pkg = packageMap.get(m.getPackageName());
|
||||||
if (pkg != null) {
|
if (pkg != null) {
|
||||||
|
dto.setPackageId(pkg.getId());
|
||||||
dto.setPackagePrice(pkg.getPackagePrice());
|
dto.setPackagePrice(pkg.getPackagePrice());
|
||||||
dto.setServiceFee(pkg.getServiceFee());
|
dto.setServiceFee(pkg.getServiceFee());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -220,6 +220,36 @@ public class CheckTypeController extends BaseController {
|
|||||||
return AjaxResult.success(result);
|
return AjaxResult.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询检查套餐明细,用于医生站已选择套餐展开显示
|
||||||
|
*/
|
||||||
|
@GetMapping({ "/package/{packageId}/details", "/check-package/{packageId}/details" })
|
||||||
|
public AjaxResult getPackageDetails(@PathVariable Long packageId) {
|
||||||
|
List<CheckPackageDetail> details = checkPackageDetailService.list(
|
||||||
|
new LambdaQueryWrapper<CheckPackageDetail>()
|
||||||
|
.eq(CheckPackageDetail::getPackageId, packageId)
|
||||||
|
.orderByAsc(CheckPackageDetail::getOrderNum)
|
||||||
|
.orderByAsc(CheckPackageDetail::getId));
|
||||||
|
|
||||||
|
List<Map<String, Object>> result = details.stream().map(d -> {
|
||||||
|
Map<String, Object> item = new LinkedHashMap<>();
|
||||||
|
item.put("id", d.getId());
|
||||||
|
item.put("packageId", d.getPackageId());
|
||||||
|
item.put("itemCode", d.getItemCode());
|
||||||
|
item.put("itemName", d.getItemName());
|
||||||
|
item.put("name", d.getItemName());
|
||||||
|
item.put("quantity", d.getQuantity());
|
||||||
|
item.put("unit", d.getUnit());
|
||||||
|
item.put("unitPrice", d.getUnitPrice());
|
||||||
|
item.put("price", d.getUnitPrice());
|
||||||
|
item.put("amount", d.getAmount());
|
||||||
|
item.put("orderNum", d.getOrderNum());
|
||||||
|
return item;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
/** 套餐级别文字映射 */
|
/** 套餐级别文字映射 */
|
||||||
private String parseLevelText(String level) {
|
private String parseLevelText(String level) {
|
||||||
if ("1".equals(level))
|
if ("1".equals(level))
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ public class CheckMethodDto {
|
|||||||
/* 套餐名称 */
|
/* 套餐名称 */
|
||||||
private String packageName;
|
private String packageName;
|
||||||
|
|
||||||
|
/* 套餐ID */
|
||||||
|
private Long packageId;
|
||||||
|
|
||||||
/* 套餐价格 - Bug #384修复:通过packageName匹配CheckPackage获取 */
|
/* 套餐价格 - Bug #384修复:通过packageName匹配CheckPackage获取 */
|
||||||
private BigDecimal packagePrice;
|
private BigDecimal packagePrice;
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ public interface ISurgeryAppService {
|
|||||||
* @param plannedTimeEnd 计划结束时间
|
* @param plannedTimeEnd 计划结束时间
|
||||||
* @return 手术列表
|
* @return 手术列表
|
||||||
*/
|
*/
|
||||||
IPage<SurgeryDto> getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize, String plannedTimeStart, String plannedTimeEnd);
|
IPage<SurgeryDto> getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize,
|
||||||
|
String plannedTimeStart, String plannedTimeEnd,
|
||||||
|
String createTimeStart, String createTimeEnd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ID查询手术详情
|
* 根据ID查询手术详情
|
||||||
|
|||||||
@@ -108,7 +108,9 @@ public class SurgeryAppServiceImpl implements ISurgeryAppService {
|
|||||||
* @return 手术列表
|
* @return 手术列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage<SurgeryDto> getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize, String plannedTimeStart, String plannedTimeEnd) {
|
public IPage<SurgeryDto> getSurgeryPage(SurgeryDto surgeryDto, Integer pageNo, Integer pageSize,
|
||||||
|
String plannedTimeStart, String plannedTimeEnd,
|
||||||
|
String createTimeStart, String createTimeEnd) {
|
||||||
QueryWrapper<SurgeryDto> queryWrapper = HisQueryUtils.buildQueryWrapper(surgeryDto, null,
|
QueryWrapper<SurgeryDto> queryWrapper = HisQueryUtils.buildQueryWrapper(surgeryDto, null,
|
||||||
new HashSet<String>() {{
|
new HashSet<String>() {{
|
||||||
add("surgery_no");
|
add("surgery_no");
|
||||||
@@ -149,6 +151,34 @@ public class SurgeryAppServiceImpl implements ISurgeryAppService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 申请时间范围(创建时间 create_time)查询:用于“手术申请查询”弹窗
|
||||||
|
if (createTimeStart != null && !createTimeStart.isEmpty()) {
|
||||||
|
try {
|
||||||
|
LocalDateTime startDateTime = LocalDateTime.parse(createTimeStart, DateTimeFormatter.ISO_DATE_TIME);
|
||||||
|
queryWrapper.ge("create_time", startDateTime);
|
||||||
|
} catch (Exception e) {
|
||||||
|
try {
|
||||||
|
LocalDateTime startDateTime = LocalDateTime.parse(createTimeStart + "T00:00:00", DateTimeFormatter.ISO_DATE_TIME);
|
||||||
|
queryWrapper.ge("create_time", startDateTime);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.error("解析创建开始时间失败: {}", createTimeStart, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (createTimeEnd != null && !createTimeEnd.isEmpty()) {
|
||||||
|
try {
|
||||||
|
LocalDateTime endDateTime = LocalDateTime.parse(createTimeEnd, DateTimeFormatter.ISO_DATE_TIME);
|
||||||
|
queryWrapper.le("create_time", endDateTime);
|
||||||
|
} catch (Exception e) {
|
||||||
|
try {
|
||||||
|
LocalDateTime endDateTime = LocalDateTime.parse(createTimeEnd + "T23:59:59", DateTimeFormatter.ISO_DATE_TIME);
|
||||||
|
queryWrapper.le("create_time", endDateTime);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.error("解析创建结束时间失败: {}", createTimeEnd, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
queryWrapper.orderByDesc("create_time");
|
queryWrapper.orderByDesc("create_time");
|
||||||
return surgeryAppMapper.getSurgeryPage(new Page<>(pageNo, pageSize), queryWrapper);
|
return surgeryAppMapper.getSurgeryPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,9 +40,12 @@ public class SurgeryController {
|
|||||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||||
@RequestParam(value = "plannedTimeStart", required = false) String plannedTimeStart,
|
@RequestParam(value = "plannedTimeStart", required = false) String plannedTimeStart,
|
||||||
@RequestParam(value = "plannedTimeEnd", required = false) String plannedTimeEnd) {
|
@RequestParam(value = "plannedTimeEnd", required = false) String plannedTimeEnd,
|
||||||
|
@RequestParam(value = "createTimeStart", required = false) String createTimeStart,
|
||||||
|
@RequestParam(value = "createTimeEnd", required = false) String createTimeEnd) {
|
||||||
// 将时间范围参数传递给服务层
|
// 将时间范围参数传递给服务层
|
||||||
IPage<SurgeryDto> page = surgeryAppService.getSurgeryPage(surgeryDto, pageNo, pageSize, plannedTimeStart, plannedTimeEnd);
|
IPage<SurgeryDto> page = surgeryAppService.getSurgeryPage(surgeryDto, pageNo, pageSize,
|
||||||
|
plannedTimeStart, plannedTimeEnd, createTimeStart, createTimeEnd);
|
||||||
return R.ok(page);
|
return R.ok(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user