zoukankan      html  css  js  c++  java
  • When you are finished renamed the Item number Jobs

    When you are finished renamed the Item number, you must record original Item number, related configure  and so on!

     

    static void Jimmy_ItemRenamedAfterUpdate(Args _args)
    {
        InventTableCompany      ITCompany,delITCompany;
        InventTable             IT,ITUpdateOrg;
        ConfigTable             ConfigTable;
        InventDimCombination    Combination;
        Dialog                  dlg     = new Dialog("updated to comoany Items infomation");
        DialogField             dlgItem = dlg.addField(types::String,'after rename Items:',"Format such as :Items + ',' + Items + ','  + items");
        ListEnumerator          le;
        ItemId                  ItemConfig;
        InventTrans             InventTrans;
        int                     ITCompanys,Combinations,NoConfig;
    
        SysDataBaseLog          SysDataBaseLog;
        Container               Con;
        fieldId                 fieldId;
        List                    datalist;
        ListEnumerator          enumerator;
    ;
        dlgItem.displayHeight(20);
        dlgItem.displayLength(50);
        dlg.doInit();
        if(!dlg.run())
            return ;
    
        le = global::strSplit(dlgItem.value(),',').getEnumerator();
        while (le.moveNext())
        {
    
            ttsbegin;
            ITUpdateOrg = InventTable::find(le.current(),true);
            if(ITUpdateOrg)
            {
                select firstonly SysDataBaseLog
                        where SysDataBaseLog.table == tablenum(InventTable)
                        && SysDataBaseLog.LogType == DatabaseLogType::RenameKey
                        && SysDataBaseLog.Description like ITUpdateOrg.ItemId + '*';
                if(SysDataBaseLog)
                {
                    datalist = SysDataBaseLog.getDataAslist();
                    enumerator = datalist.getEnumerator();
                    while (enumerator.moveNext())
                    {
                        Con          = enumerator.current();
                        fieldId      = conpeek(Con, 1);
                        ITUpdateOrg.OrgItemId = sysdatabaselog.contents2Str(conpeek(Con, 3), fieldId);
                        break;
                    }
                }
                if(!ITUpdateOrg.OrgItemId)
                    ITUpdateOrg.OrgItemId = ITUpdateOrg.ItemId;
                ITUpdateOrg.Update();
            }
            ttscommit;
    
            select firstonly forupdate IT where IT.ItemId == le.current();
            if(IT)
            {
                /*
                select firstonly InventTrans where InventTrans.ItemId == le.current();
                if(InventTrans)
                    throw Error(StrFmt("The ItemId %1 Exists InventTrans,do not rename of Items!",le.current()));
                */
                select firstonly ConfigTable where ConfigTable.ItemId == IT.ItemId;
                //Have Configuration
                ItemConfig = '';
                if(ConfigTable)
                {
                    ConfigTable.clear();
    
                    while select ConfigTable where ConfigTable.ItemId == IT.ItemId
                    {
                        ItemConfig = IT.ItemId + '_' + ConfigTable.ConfigId;
    
                        ttsbegin;
                        select firstonly forupdate ITCompany where ITCompany.ItemId == ItemConfig;
                        if(!ITCompany)
                        {
                            ITCompany.initValue();
                            ITCompany.ItemId        = ItemConfig;
                            ITCompany.Name          = IT.itemName;
                            ITCompany.OrgItemId     = IT.OrgItemId;
                            ITCompany.NormalItemId  = IT.ItemId;
    
                            ITCompany.insert();
                            ITCompanys++;
                        }
                        else
                        {
                            ITCompany.ItemId        = ItemConfig;
                            ITCompany.Name          = IT.itemName;
                            ITCompany.OrgItemId     = IT.OrgItemId;
                            ITCompany.NormalItemId  = IT.ItemId;
                            ITCompany.update();
                        }
                        ttscommit;
    
                        ttsbegin;
                        delete_from delITCompany where delITCompany.ItemId == IT.OrgItemId + '_' + ConfigTable.ConfigId
                            && delITCompany.OrgItemId == '' && delITCompany.NormalItemId == '';
    
                        ttscommit;
    
                        ttsbegin;
                        select firstonly forupdate Combination
                            where Combination.ItemId == ConfigTable.ItemId
                            &&    Combination.ConfigId == ConfigTable.ConfigId;
                        if(Combination)
                        {
                            Combination.ItemIdCompany = ItemConfig;
                            Combination.update();
                            Combinations++;
                        }
                        ttscommit;
                    }
                }
                else //Have not Configuration
                {
                    ttsbegin;
                    select firstonly forupdate ITCompany where ITCompany.ItemId == IT.ItemId;
                    if(!ITCompany)
                    {
                        ITCompany.initValue();
                        ITCompany.ItemId        = IT.ItemId;
                        ITCompany.Name          = IT.itemName;
                        ITCompany.OrgItemId     = IT.OrgItemId;
                        ITCompany.NormalItemId  = IT.ItemId;
                        ITCompany.insert();
                    }
                    else
                    {
                        ITCompany.ItemId        = IT.ItemId;
                        ITCompany.Name          = IT.itemName;
                        ITCompany.OrgItemId     = IT.OrgItemId;
                        ITCompany.NormalItemId  = IT.ItemId;
                        ITCompany.update();
                    }
                    ttscommit;
                    ttsbegin;
                    IT.ItemIdCompany = it.ItemId;
                    IT.update();
                    ttscommit;
                    NoConfig ++;
                    info(IT.ItemId);
    
                }
            }
            ELSE
               info("Not exists Item detail " + le.current());
        }
        info(strfmt("NoConfig : %1,Combinations : %2,ITCompanys : %3",NoConfig,Combinations,ITCompanys));
    }
    
  • 相关阅读:
    硬件设计问题——持续更新
    PCB设计资源整理
    PCB层叠设计和电源分割
    PCB设计技巧
    铜厚电流、Layout 3W原则 20H原则 五五原则
    final关键字
    面向对象——继承与组合
    面向对象——继承
    this总结
    static总结
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2105403.html
Copyright © 2011-2022 走看看