好的:
就是一个出库处理的问题:现在有一个商品要出库,肯定和某些入库记录(可能一条,可能多条)相关,你得找出和哪几条入库记录(同一个商品)相关,出库时按照先进先出的原则处理入库记录(和出库相同的商品),现在要写一个算法求出这笔出库和哪几笔入库记录相关(先进先出),记录下这几个相关的入库单的ID,把ID放入一个数组,并计算此商品的平均市场价(市场价是入库表的一个字段etprice,并且该表还有一个记录此次入库的商品的剩余数量的字段RemainCount)和修改涉及到的入库记录的商品的剩余数量。你明白吗?

解决方案 »

  1.   

    变量
        rest//最末尾的进库单的剩余
        total//库存量
        out//出货单的货物量
        rest入库单//rest所在的入库单
        
        
    出库时:
        根据时间排列入库单,select 入库单 where 入库单.时间>rest入库单 asc
               int a=0;
               int i=0;
               int 临时rest=0;
               out=out-rest;
               while( 临时rest>0)
               { 
                    a= a+入库单i.数量;
                    记下入库单i;
                    临时rest=out-a;
                    i++;
               }
               rest=临时rest;
               rest入库单=入库单i;
     
       保存 rest入库单和rest;以备下次使用
            
            
      

  2.   

    上面有句话错了,看这个:变量
        rest//最末尾的进库单的剩余
        total//库存量
        out//出货单的货物量
        rest入库单//rest所在的入库单
        
        
    出库时:
        根据时间排列入库单,select 入库单 where 入库单.时间>rest入库单 asc
               int a=0;
               int i=0;
               int 临时rest=0;
               out=out-rest;
               while( 临时rest>0)
               { 
                    a= a+入库单i.数量;
                    记下入库单i;
                    临时rest=out-a;
                    i++;
               }
               rest=入库单i.数量+临时rest;//这时 临时rest 是负值
               rest入库单=入库单i;
     
       保存 rest入库单和rest;以备下次使用