本文簡要介紹一個關(guān)于單據(jù)的常規(guī)審核流從雛形到形成標(biāo)準(zhǔn)系統(tǒng)結(jié)構(gòu)的思維轉(zhuǎn)變, 沒有什么高深的技術(shù), 有的只是循序漸進(jìn)的思維轉(zhuǎn)變.希望能給有類似需求或在軟件設(shè)計過程中有困惑的朋友一個簡明參考.
1. 某天, 甲方的采購經(jīng)理說: 我們的采購申請單需要審核,審核后才能參與下一步流程中.經(jīng)過簡單考慮于是有了下面的偽代碼
/// <summary>/// 采購申請單審核/// </summary>/// <param name="id">單據(jù)Id</param>public void PurchaseRequestVerify(string id) { using (var repository = GetRepository<ProjJXCPurchaseRequest>()) { var mainData = repository.Get(id); //獲取采購申請單 //驗證單據(jù)是否不存在或狀態(tài)不為待審核 mainData.ThrowIfNullOrDelete() .ThrowIf(t => t.Status != BillStatus.VerifyWaite, "審核失敗,只有狀態(tài)為[{0}]的單據(jù)才可以審核操作", Remarks.GetRemark(BillStatus.VerifyWaite)); //更新狀態(tài) mainData.Status = BillStatus.VerifyOK; mainData.ModUser = AppRuntimes.Instance.CurrentUser.Name;