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