关于项目中多次保存订单,并且保存后就快速提交,导致部分数据状态未改变

来源:互联网 发布:java线程池 关闭 编辑:程序博客网 时间:2024/05/22 02:03

       最近在项目运行中经过多次查找问题,发现原因。订单第一次保存000,第二次保存00,提交后状态应该是11111,结果查出来11100,也就是第一次保存的提交了。这种情况只有在数据量比较大时才会出现。

    后发现原因是点击保存未等页面刷新过来就点击了提交,如果网速够快,数据读取也就快,并能改变状态。如果网速慢,并且数据量很大,那么就会出现第二次保存的并没有改变状态。

   我多方请求解决,都没结果。目前的控制是:因为订完货要返回主页面,主页面会显示哪些商品定没订货,状态等。那么我在查询订单列表时做了操作,

select count(*) yddp,sum(qty) dlhz,sum(qty*rtlprc) dhje,czr,bcsj,sftj from dbo.tongpei_order where flid=? and storecode=? and convert(varchar,bcsj,102)=convert(varchar,getDate(),102) group by flid,czr,bcsj,sftj

如果是正常的那么只有一种状态,也就sftj提交状态只有一种。如果有两种证明该商品种类就是一部分提交状态,一部分未提交状态。那么当该集合size>1时我就修改了该门店的该商品状态,也就是用update把状态都改为1.这样返回界面就会完成订单状态一致问题。

   此方法只是权宜之计,如果有哪位大牛有好的思路或者办法可以回复我,共同进步....

阅读全文
0 0
原创粉丝点击