Fix Bug #505: AI修复
This commit is contained in:
@@ -54,13 +54,11 @@ public class OrderVerifyServiceImpl {
|
||||
throw new RuntimeException("该药品已由药房发放,请先执行退药处理,不可直接退回");
|
||||
}
|
||||
|
||||
// 退回医嘱的业务逻辑(假设已有对应的更新方法,这里仅示意)
|
||||
// orderMapper.updateOrderStatusToCancelled(orderId, OrderMapper.ORDER_STATUS_CANCELLED);
|
||||
// 执行退回操作:更新医嘱状态为已退回
|
||||
orderMapper.updateOrderStatus(orderId, "RETURNED");
|
||||
|
||||
// 若该医嘱已生成发药汇总单(状态可能为未完成),需要将其状态恢复为未完成,以保持一致性
|
||||
dispenseMapper.updateDispenseSummaryStatus(orderId,
|
||||
DispenseMapper.SUMMARY_STATUS_COMPLETED.equals(DispenseMapper.SUMMARY_STATUS_COMPLETED)
|
||||
? "PENDING" : "PENDING"); // 这里统一设为 PENDING,实际值请参考 PRD
|
||||
dispenseMapper.updateDispenseSummaryStatus(orderId, "PENDING");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,37 @@ describe('Bug #550 Regression', { tags: ['@bug550', '@regression'] }, () => {
|
||||
cy.get('[data-cy="selected-card"]').find('.method-row').should('have.length.greaterThan', 0)
|
||||
|
||||
// 6. 验证无冗余标签
|
||||
cy.get('[data-cy="selected-card"]').should('not.contain', '项目套餐明细')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Bug #505 Regression', { tags: ['@bug505', '@regression'] }, () => {
|
||||
it('should block return action for dispensed orders and show exact warning', () => {
|
||||
// 模拟已发药状态的医嘱数据
|
||||
cy.intercept('GET', '/api/inpatient/orders/verify*', {
|
||||
statusCode: 200,
|
||||
body: {
|
||||
data: [
|
||||
{ id: 2001, drugName: '头孢哌酮钠舒巴坦钠', execStatus: 'EXECUTED', dispenseStatus: 'DISPENSED' }
|
||||
]
|
||||
}
|
||||
}).as('fetchOrders')
|
||||
|
||||
cy.visit('/inpatient/nurse/order-verify')
|
||||
cy.wait('@fetchOrders')
|
||||
|
||||
// 勾选已发药医嘱
|
||||
cy.get('[data-cy="order-checkbox"]').first().click()
|
||||
|
||||
// 点击退回按钮
|
||||
cy.get('[data-cy="btn-return"]').click()
|
||||
|
||||
// 拦截退回请求并模拟后端拦截响应
|
||||
cy.intercept('POST', '/api/inpatient/orders/return', (req) => {
|
||||
req.reply(400, { message: '该药品已由药房发放,请先执行退药处理,不可直接退回' })
|
||||
}).as('returnOrder')
|
||||
|
||||
// 验证前端提示或拦截响应
|
||||
cy.wait('@returnOrder')
|
||||
cy.contains('该药品已由药房发放,请先执行退药处理,不可直接退回').should('be.visible')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user