zoukankan      html  css  js  c++  java
  • 两步转移 过账

    在ACT的方案中没有使用传统的转仓功能,而是在原基础上增加了两个操作,

    1. 发送
    2. 接收

    每一次转仓都是先发送到中转仓,然后在接收时将中转仓的物料再次过账到目标仓。

    下面代码摘自 类ACT_CreateMovementJournal 方法initFrom2StepTransSend_NJ()

    public void initFrom2StepTransSend_NJ(Nj_2StepTransTable _transTable)
    {

        InventJournalTable          currJournalTable;
        InventJournalTrans          currJournalTrans;
        NJ_2StepTransLines          currTransLine;
        InventDim                   currFromInventDim;
        InventDim                   currToInventDim;
        InventLocation              inventLocation;
        InventDim                   currInventDim;
        int                         i;
        ;
        ttsbegin;
        inventJournalTable.clear();
        inventJournalTable.initFromInventJournalName(InventJournalName::find(_transTable.JournalNameId));
        inventJournalTable.InventLocationId = _transTable.FromInventLocationId;
        inventJournalTable.WMSLocationId    = _transTable.FromWMSLocationId;
        inventJournalTable.ToLocationId     = _transTable.MidInventLocationId;
        inventJournalTable.ToWmsLocationId  = _transTable.MidWMSLocationId;
        inventJournalTable.Description      = _transTable.TransferId;
        inventJournalTable.ACT_CombineRefId = "@SYS50570";
        inventJournalTable.insert();

        if(inventJournalTable)
        {
            while select currTransLine
                    index hint LinesIdx
                    where currTransLine.TransferId == _transTable.TransferId
            {
                    i++;

                    currInventDim                       = InventDim::find(currTransLine.InventDimId);
                    currFromInventDim.configId          = currInventDim.configId;
                    currFromInventDim.InventSizeId      = currInventDim.InventSizeId;
                    currFromInventDim.InventColorId     = currInventDim.InventColorId;
                    currFromInventDim.inventBatchId     = currInventDim.InventBatchId;
                    currFromInventDim.InventLocationId  = inventJournalTable.InventLocationId;
                    currFromInventDim.wMSLocationId     = inventJournalTable.WMSLocationId;
                    currFromInventDim                   = InventDim::findOrCreate(currFromInventDim);

                    currToInventDim.configId          = currInventDim.ConfigId;
                    currToInventDim.InventSizeId      = currInventDim.InventSizeId;
                    currToInventDim.InventColorId     = currInventDim.InventColorId;
                    currToInventDim.inventBatchId     = currInventDim.InventBatchId;
                    currToInventDim.InventLocationId    = inventJournalTable.ToLocationId;
                    currToInventDim.wMSLocationId       = inventJournalTable.ToWmsLocationId;
                    currToInventDim                     = InventDim::findOrCreate(currToInventDim);

                    inventJournalTrans.clear();
                    inventJournalTrans.initFromInventJournalTable(inventJournalTable);
                    inventJournalTrans.initFromInventTable(InventTable::find(currTransLine.ItemId));
                    inventJournalTrans.InventDimId      = currFromInventDim.inventDimId;
                    inventJournalTrans.ToInventDimId    = currToInventDim.inventDimId;

                    inventJournalTrans.Qty              = currTransLine.DeliverNow;
                    inventJournalTrans.ACT_QtySec       = currTransLine.DeliverNowSec;
                    inventJournalTrans.LineNum          = i;
                    inventJournalTrans.TransDate        = systemDateGet();
                    inventJournalTrans.setCostPrice(currinventDim.inventDimId,currInventDim);
                    inventJournalTrans.calcCostAmount();
                    inventJournalTrans.EmplId           = EmplTable::userId2EmplId(curUserId());
                    inventJournalTrans.ACT_ReferenceNo  = _transTable.TransferId;
                    inventJournalTrans.insert();

            }
        }

        currJournalTable = InventJournalTable::find(inventJournalTable.JournalId,true);
        currJournalTable.NumOfLines = i;  //记录总行数
        currJournalTable.update();

        ttscommit;

    上述代码用初始化InventJournalTable表与InventJournalTrans表行,在InventJournalTable中插入了一条日志

    2.接下来就是将这条日志过账,过账使用InventJournalCheckPost类完成。

    Public JournalId postingMovementJournal()
    {
        InventJournalTable          currJournalTable;
        ;
        if(inventJournalTable)
        {

            try
            {
               
    inventJournalPost = InventJournalCheckPost::newPostJournal(inventJournalTable);
                inventJournalPost.run();

            }
            catch(Exception::Error)
            {
                if(inventJournalTable.ACT_ReferenceType == ACT_ReferenceType::Melt ||
                   inventJournalTable.ACT_ReferenceType == ACT_ReferenceType::MultiSmelt)
                {
                    ACT_MouldSmeltTable::updateTransLineJournal(inventJournalTable.ACT_MouldId,inventJournalTable.JournalId);
                }
                if(inventJournalTable.ACT_ReferenceType == ACT_ReferenceType::SprueClean)
                    ACT_SprueCleanTable::updateTransLineJournal(inventJournalTable.ACT_MouldId,inventJournalTable.JournalId);
                if(boolMould)
                {
                    ACT_MouldTable::updateMouldLines(inventJournalTable.ACT_MouldId,inventJournalTable.JournalId);
                }

                delete_from currJournalTable
                        where currJournalTable.JournalId == inventJournalTable.JournalId;

                throw error("未过账");
            }
            return inventJournalTable.JournalId;
        }
        return '';
    }

  • 相关阅读:
    【FLASH BUILDER 4.6 快捷键】只记几个对自己有帮助的
    分享一个消息组件
    一些iis配置相关报错的参考
    JQuery 学习总结及实例
    百度地图 测距
    VS2010引用App_Code下的类文件问题解决方法
    HttpWebRequest 方式提交文件数据以图片为例
    Flex与.NET互操作(二):基于WebService的数据访问(上)
    Asp.net MVC中的ViewData与ViewBag
    C# HttpWebRequest 方式提交数据,参数为普通键值对
  • 原文地址:https://www.cnblogs.com/perock/p/2393810.html
Copyright © 2011-2022 走看看