本文简要介绍一个关于单据的常规审核流从雏形到形成标准系统结构的思维转变, 没有什么高深的技术, 有的只是循序渐进的思维转变.希望能给有类似需求或在软件设计过程中有困惑的朋友一个简明参考.
1. 某天, 甲方的采购经理说: 我们的采购申请单需要审核,审核后才能参与下一步流程中.经过简单考虑于是有了下面的伪代码
/// <summary>/// 采购申请单审核/// </summary>/// <param name="id">单据Id</param>public void PurchaseRequestVerify(string id) { using (var repository = GetRepository<ProjJXCPurchaseRequest>()) { var mainData = repository.Get(id); //获取采购申请单 //验证单据是否不存在或状态不为待审核 mainData.ThrowIfNullOrDelete() .ThrowIf(t => t.Status != BillStatus.VerifyWaite, "审核失败,只有状态为[{0}]的单据才可以审核操作", Remarks.GetRemark(BillStatus.VerifyWaite)); //更新状态 mainData.Status = BillStatus.VerifyOK; mainData.ModUser = AppRuntimes.Instance.CurrentUser.Name;