小编Aks*_*kar的帖子

如何确保无差距和安全的发票编号生成(法律问题)

背景和系统视图

我们在分布式环境中实施了计费系统.有4个终端每个终端每分钟产生大约2张票据.我们使用Mysql作为后端和C#,winforms作为我们的客户端技术.

任何计费系统中最重要的约束是发票号必须是连续的.为此,我运行类似的查询

在伪代码中

let x ="SELECT count(*) from Orders where IsInvoiceGenerated=1 and FinancialYear=val

new invoicenum = x + 1;
Run Code Online (Sandbox Code Playgroud)

问题 一切都运行正常,直到411发票,之后系统突然跳过2张发票并生成发票414.我们调查了系统状态,发现系统没有外部篡改,我们还推断没有人从工作台访问数据库.这是一个重大问题,因为它也有法律后果.

能否请您建议确保帐单号始终保持顺序的最佳方法.

c# mysql concurrency

5
推荐指数
1
解决办法
2656
查看次数

标签 统计

c# ×1

concurrency ×1

mysql ×1