bug249:手术管理-》门诊手术安排:【新增手术安排】-》【查找】在门诊医生站已【删除】作废的手术申请单在查询界面还能查询出来.
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细(项目/数量/单价
This commit is contained in:
@@ -106,6 +106,7 @@ public class CheckMethodAppServiceImpl implements ICheckMethodAppService {
|
||||
if (ObjectUtil.isNotEmpty(m.getPackageName())) {
|
||||
CheckPackage pkg = packageMap.get(m.getPackageName());
|
||||
if (pkg != null) {
|
||||
dto.setPackageId(pkg.getId());
|
||||
dto.setPackagePrice(pkg.getPackagePrice());
|
||||
dto.setServiceFee(pkg.getServiceFee());
|
||||
}
|
||||
|
||||
@@ -220,6 +220,36 @@ public class CheckTypeController extends BaseController {
|
||||
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) {
|
||||
if ("1".equals(level))
|
||||
|
||||
@@ -31,6 +31,9 @@ public class CheckMethodDto {
|
||||
/* 套餐名称 */
|
||||
private String packageName;
|
||||
|
||||
/* 套餐ID */
|
||||
private Long packageId;
|
||||
|
||||
/* 套餐价格 - Bug #384修复:通过packageName匹配CheckPackage获取 */
|
||||
private BigDecimal packagePrice;
|
||||
|
||||
|
||||
@@ -25,7 +25,9 @@ public interface ISurgeryAppService {
|
||||
* @param plannedTimeEnd 计划结束时间
|
||||
* @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查询手术详情
|
||||
|
||||
@@ -108,7 +108,9 @@ public class SurgeryAppServiceImpl implements ISurgeryAppService {
|
||||
* @return 手术列表
|
||||
*/
|
||||
@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,
|
||||
new HashSet<String>() {{
|
||||
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");
|
||||
return surgeryAppMapper.getSurgeryPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
}
|
||||
|
||||
@@ -40,9 +40,12 @@ public class SurgeryController {
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user