讓我在提出問題之前給出上下文。 我們開發發票系統,我們創建發票,驗證它們並付款。依靠數據庫中的一個字段
數據庫架構包含以下表格:
發票
InvoiceItems
ReceivedItems。
所以我們驗證每個發票項目的數量,並與收到的項目數量檢查(這可能是相等的,或大或小 的過程是這樣的:。
讓的說發票項目數量爲50
我們有所謂的信貸發票項目被記入在創建時的發票項目數量的字段。(說50數量有待驗證)
我們收到來自各種來源的項目,我們更新收到物品時他們來了。 說我們最初有25件物品。 因此,我們將發票項目的貸方減少25,並將收到的項目標記爲完成。 後來我們得到了其他25個,我們通過減少剩餘的25個信用來驗證。
所以信用現在是0. 這意味着發票已經完全驗證。所以我們發送付款發票。
由於最近發生的錯誤事件發生後。
我們沒有將發票項目的信用設置爲發票項目數量。創建時其基本上爲零。 所以我們的系統認爲它的驗證和付款。 我們在兩個月後才意識到發票沒有得到驗證。
所以現在我們有多個檢查拒絕而產生的發票,如果信用證爲0
除了有多項檢查,有什麼辦法可以解決高度依賴於一列的這個問題。 (這裏發票項目上的信用爲0,並且每張發票都未經驗證支付)
我正在數據庫(模式)級別或應用程序級別尋找任何類型的解決方案。