fix(t243): allow deleting unreferenced procurement drafts

This commit is contained in:
QiuSW
2026-07-29 16:45:25 +08:00
parent 62eee74a70
commit 24eef29076
12 changed files with 504 additions and 102 deletions
@@ -561,10 +561,17 @@ func (h *Handler) DeleteFreightOrder(ctx *gin.Context) {
OrderID: orderID,
},
)
if errors.Is(err, ErrFreightOrderInUse) {
if errors.Is(err, ErrFreightOrderHasPurchaseTask) {
ctx.Redirect(
http.StatusSeeOther,
"/freight/"+pathEscape(orderID)+"?notice=delete-conflict",
"/freight/"+pathEscape(orderID)+"?notice=delete-task-conflict",
)
return
}
if errors.Is(err, ErrFreightOrderHasReference) {
ctx.Redirect(
http.StatusSeeOther,
"/freight/"+pathEscape(orderID)+"?notice=delete-reference-conflict",
)
return
}
@@ -720,8 +727,10 @@ func freightNotice(value string) string {
return "ERP 货运单已同步,货运信息和商品明细已更新。"
case "deleted":
return "货运单已从本系统删除,不影响顺运宝 ERP。"
case "delete-conflict":
return "该货运单已进入采购流程,不能删除。"
case "delete-task-conflict":
return "该货运单已生成采购任务,不能删除。"
case "delete-reference-conflict":
return "该货运单已绑定采购参考图,不能删除。"
default:
return ""
}