feat(surgicalschedule): 添加手术单号查询功能并优化收费状态 BUG#306

- 在手术申请查询界面添加手术单号输入框
- 将收费项目状态从草稿改为待收费状态
- 在请求表单DTO中添加手术单号字段
- 在数据库查询中关联手术安排表并添加手术单号过滤条件
- 添加筛选条件确保只查询未安排手术的申请记录
This commit is contained in:
2026-03-31 17:18:09 +08:00
parent a8a205aa48
commit bbef0322a3
4 changed files with 19 additions and 1 deletions

View File

@@ -347,7 +347,7 @@ public class SurgeryAppServiceImpl implements ISurgeryAppService {
// 生成收费项目
ChargeItem chargeItem = new ChargeItem();
chargeItem.setStatusEnum(ChargeItemStatus.DRAFT.getValue()); // 收费状态
chargeItem.setStatusEnum(ChargeItemStatus.PLANNED.getValue()); // 收费状态:待收费
chargeItem.setBusNo("CI" + serviceRequest.getBusNo());
chargeItem.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源
chargeItem.setPatientId(surgeryDto.getPatientId()); // 患者

View File

@@ -10,6 +10,10 @@ import java.time.LocalDate;
@AllArgsConstructor
@NoArgsConstructor
public class RequestFormDto {
/**
* 手术单号
*/
private String surgeryNo;
/**
* 申请时间开始
*/

View File

@@ -98,7 +98,11 @@
LEFT JOIN adm_encounter ae ON ae.id = cs.encounter_id
LEFT JOIN adm_account aa ON aa.encounter_id = ae.id AND aa.delete_flag = '0'
LEFT JOIN fin_contract fc ON fc.bus_no = aa.contract_no AND fc.delete_flag = '0'
LEFT JOIN op_schedule os ON os.apply_id = drf.id AND os.delete_flag = '0'
<where>
<if test="requestFormDto.surgeryNo != null and requestFormDto.surgeryNo != ''">
AND drf.prescription_no LIKE CONCAT('%', #{requestFormDto.surgeryNo}, '%')
</if>
<if test="requestFormDto.applyTimeStart != null">
AND drf.create_time >= #{requestFormDto.applyTimeStart}
</if>
@@ -112,6 +116,7 @@
AND cs.apply_dept_id = #{requestFormDto.applyDeptId}
</if>
AND drf.delete_flag = '0'
AND os.schedule_id IS NULL
</where>
ORDER BY drf.create_time DESC
</select>