Merge remote-tracking branch 'origin/关羽' into 关羽
This commit is contained in:
@@ -63,4 +63,20 @@ public interface IRequestFormManageAppService {
|
||||
* @return 申请单
|
||||
*/
|
||||
IPage<RequestFormPageDto> getRequestFormPage(RequestFormDto requestFormDto);
|
||||
|
||||
/**
|
||||
* 删除申请单(仅待签发状态可删除)
|
||||
*
|
||||
* @param requestFormId 申请单ID
|
||||
* @return 结果
|
||||
*/
|
||||
R<?> deleteRequestForm(Long requestFormId);
|
||||
|
||||
/**
|
||||
* 撤回申请单(已签发状态撤回至待签发)
|
||||
*
|
||||
* @param requestFormId 申请单ID
|
||||
* @return 结果
|
||||
*/
|
||||
R<?> withdrawRequestForm(Long requestFormId);
|
||||
}
|
||||
|
||||
@@ -474,4 +474,68 @@ public class RequestFormManageAppServiceImpl implements IRequestFormManageAppSer
|
||||
return requestFormManageAppMapper.getRequestFormPage(requestFormDto, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除申请单(仅待签发状态可删除)
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public R<?> deleteRequestForm(Long requestFormId) {
|
||||
if (requestFormId == null) {
|
||||
return R.fail("申请单ID不能为空");
|
||||
}
|
||||
RequestForm requestForm = iRequestFormService.getById(requestFormId);
|
||||
if (requestForm == null) {
|
||||
return R.fail("申请单不存在");
|
||||
}
|
||||
if (!Integer.valueOf(0).equals(requestForm.getStatus())) {
|
||||
return R.fail("仅待签发状态的申请单可删除");
|
||||
}
|
||||
// 删除申请单
|
||||
iRequestFormService.removeById(requestFormId);
|
||||
// 删除关联的诊疗项目及账单
|
||||
String prescriptionNo = requestForm.getPrescriptionNo();
|
||||
List<Long> serviceRequestIds = iServiceRequestService
|
||||
.list(new LambdaQueryWrapper<ServiceRequest>().eq(ServiceRequest::getPrescriptionNo, prescriptionNo))
|
||||
.stream().map(ServiceRequest::getId).collect(Collectors.toList());
|
||||
for (Long serviceRequestId : serviceRequestIds) {
|
||||
iServiceRequestService.removeById(serviceRequestId);
|
||||
iChargeItemService.deleteByServiceTableAndId(CommonConstants.TableName.WOR_SERVICE_REQUEST, serviceRequestId);
|
||||
}
|
||||
return R.ok(null, "删除成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 撤回申请单(已签发状态撤回至待签发)
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public R<?> withdrawRequestForm(Long requestFormId) {
|
||||
if (requestFormId == null) {
|
||||
return R.fail("申请单ID不能为空");
|
||||
}
|
||||
RequestForm requestForm = iRequestFormService.getById(requestFormId);
|
||||
if (requestForm == null) {
|
||||
return R.fail("申请单不存在");
|
||||
}
|
||||
if (!Integer.valueOf(1).equals(requestForm.getStatus())) {
|
||||
return R.fail("仅已签发状态的申请单可撤回");
|
||||
}
|
||||
// 将申请单状态回滚至待签发
|
||||
RequestForm updateForm = new RequestForm();
|
||||
updateForm.setId(requestFormId);
|
||||
updateForm.setStatus(0);
|
||||
iRequestFormService.updateById(updateForm);
|
||||
// 将关联的诊疗项目状态回滚至DRAFT
|
||||
String prescriptionNo = requestForm.getPrescriptionNo();
|
||||
List<ServiceRequest> serviceRequests = iServiceRequestService
|
||||
.list(new LambdaQueryWrapper<ServiceRequest>().eq(ServiceRequest::getPrescriptionNo, prescriptionNo));
|
||||
for (ServiceRequest serviceRequest : serviceRequests) {
|
||||
ServiceRequest updateService = new ServiceRequest();
|
||||
updateService.setId(serviceRequest.getId());
|
||||
updateService.setStatusEnum(RequestStatus.DRAFT.getValue());
|
||||
iServiceRequestService.updateById(updateService);
|
||||
}
|
||||
return R.ok(null, "撤回成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ public class RequestFormManageController {
|
||||
* @param startDate 开始日期(可选,格式:yyyy-MM-dd)
|
||||
* @param endDate 结束日期(可选,格式:yyyy-MM-dd)
|
||||
* @param status 单据状态(可选)
|
||||
* @param keyword 关键字(可选,申请单号/检验项目模糊匹配)
|
||||
* @param keyword 关键字(可选,申请单号/检验项目名称模糊匹配)
|
||||
* @return 检验申请单
|
||||
*/
|
||||
@GetMapping(value = "/get-inspection")
|
||||
|
||||
@@ -280,9 +280,17 @@
|
||||
aa.balance_amount
|
||||
) AS personal_account
|
||||
ON personal_account.encounter_id = ae.id
|
||||
LEFT JOIN med_medication_dispense mmd
|
||||
LEFT JOIN (
|
||||
SELECT med_req_id, status_enum
|
||||
FROM (
|
||||
SELECT med_req_id, status_enum,
|
||||
ROW_NUMBER() OVER (PARTITION BY med_req_id ORDER BY id DESC) AS rn
|
||||
FROM med_medication_dispense
|
||||
WHERE delete_flag = '0'
|
||||
) t
|
||||
WHERE rn = 1
|
||||
) mmd
|
||||
ON mmd.med_req_id = T1.id
|
||||
AND mmd.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.refund_medicine_id IS NULL
|
||||
AND T1.generate_source_enum = #{doctorPrescription}
|
||||
|
||||
@@ -59,4 +59,9 @@ public class RequestForm extends HisBaseEntity {
|
||||
*/
|
||||
private String typeCode;
|
||||
|
||||
/**
|
||||
* 单据状态 0=待签发 1=已签发 2=已校对 3=待接收 4=已接收 5=已检查 6=已出报告 7=已作废
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
DELETE
|
||||
FROM adm_encounter_diagnosis
|
||||
WHERE encounter_id = #{encounterId}
|
||||
AND tcm_flag = 0
|
||||
AND tcm_flag = 1
|
||||
</delete>
|
||||
<select id="getEncounterDiagnosisByEncounterConDefId"
|
||||
resultType="com.openhis.administration.domain.EncounterDiagnosis">
|
||||
|
||||
Reference in New Issue
Block a user