• ★★★错误终于抓到了★★★



    我在所有登录界面中加入检测的代码,一旦系统数据不符将提示错误。
    25日下午3点,接到电话说出现数据不符提示。
    我赶去看,数据不符有5条,成品送货量应为0,但现在为1280,全部是最新的订单。
    在1:47到2:03这段时间出现问题。
    把这段操作日志调出来,原来涉及到三个模块,但基础数据模块出错可能性极低,因此先排除。
    剩下综合模块与成品库存模块,由于综合模块刚好有这5条记录的修改、保存、审核的操作,因此我先把注意力放在综合模块中,但查了一个小时没有明显问题。
    最后想先放弃这次的追踪,同时看一看成品库存模块的相关操作,在这段时间里,它的操作涉及界面三个,我看了其中的相关单号,发现一个入库单数量刚好1280,立即就兴奋起来,再对这三个界面认真分析,确定在按单出货中出现问题,再分析其存储过程,最后看到如下代码
      update t1 set CPSHL=t1.CPSHL+@AddorSub*t2.HJSL
          from A11KHDD t1 inner join
          (select distinct GDH,sum(SL) as HJSL from B21CPCK
          where DH=@DH group by GDH) t2
          on t1.GDH=t2.GDH
    它的本意是设置订单的成品出库量为原来数量加上本次出库量,条件是工单号要相等,但注意如果这时订单没有审核,则工单号还没产生,即为空,则这张送货单也不填写工单号,所以……
    将其改为
      update t1 set CPSHL=t1.CPSHL+@AddorSub*t2.HJSL
          from A11KHDD t1 inner join
          (select distinct GDH,sum(SL) as HJSL from B21CPCK
          where DH=@DH group by GDH) t2
          on t1.GDH=t2.GDH and t1.GDH<>''
    即可

    55555三个星期的追踪!

  • 相关阅读:
    js 创建Table,每行3列的方式
    多线程 笔记
    WCF binding
    table 变量
    Excel数据使用sql语句导入sqlserver (64位)
    sqlserver链接服务器到Mysql
    easyui datagrid 返回数据正确 fit='true' 时不显示内容
    js设置文本框只读属性的小bug
    windows64位下的redis及memcached的安装和使用
    spring.Net (Mvc)属性依赖注入------实例化对象
  • 原文地址:https://www.cnblogs.com/yzx99/p/81865.html
Copyright © 2020-2023  润新知