fix(ClientBlack): 支持删除未生效黑名单记录

- 未提交、新增已拒绝的黑名单记录可直接删除,不进入删除审批
- 已加入、删除已拒绝仍按原逻辑发起删除审批
- 新增审批中、删除审批中仍禁止删除
- 补充未生效状态可直接删除的状态机单测,45/45 通过
This commit is contained in:
tengyufan
2026-08-19 10:07:39 +08:00
parent 54c4bf21c6
commit 87a8b90eaf
3 changed files with 24 additions and 0 deletions
@@ -33,6 +33,11 @@ namespace YLErp.Modules.ClientModule
return state == client_black. || state == client_black.;
}
public static bool CanDeleteDraft(string state)
{
return state == client_black. || state == client_black.;
}
public static ClientBlackRemovalResult GetRemovalResult(bool hasApprovalProcess)
{
return hasApprovalProcess
@@ -131,6 +131,13 @@ namespace YLErp.Modules.ClientModule
var hasProcess = ProcessList().Any();
foreach (var row in rows)
{
if (ClientBlackApprovalPolicy.CanDeleteDraft(row.State))
{
DbContext.client_black.Remove(row);
ClientBlackCategoryLog(row.id, "已删除");
continue;
}
if (!ClientBlackApprovalPolicy.CanRequestRemoval(row.State))
{
throw new ServiceException($"黑名单客户{row.Name}当前状态不允许移出");