zoukankan      html  css  js  c++  java
  • 组装query,query汇总,query字段

    void runWrkCtr()

    {

       NJ_WIP _NJ_WIP;

        ACT_tmpProductionWIPMaterial    _tmpWIP;

        Int I, ctr = 0;

        ProdTable   _ProdTable;

        str tmpstr;

        #Macrolib.AviFiles

        SysOperationProgress simpleProgress = SysOperationProgress::newGeneral(#aviUpdate, "@SYS76835",7000);

        Query                           Qry = new Query();

        QueryBuildDataSource            QBSNJ_WIP,QBSProdTable;

        QUeryBuildRange                 QbrWrkId,QbrProdId;

        QueryRun                        Qr;

        ;

        element.lock();

        _LogID = NJ_FormLog::NewLog(this.form().name(),TimeNow());

        StartTime = TimeNow();

        TabPage1.setFocus();

        simpleprogress.setText(strfmt("%1","Production Order is processing..."));

        If (IsDelay)

            While Select _ProdTable Where _ProdTable.ProdStatus < ProdStatus::ReportedFinished

                                    && _ProdTable.ProdStatus >= ProdStatus::StartedUp

            {

                Sleep(DelayTime);

                simpleProgress.incCount();

            }

        Select Count(recid) From _ProdTable Where _ProdTable.ProdStatus < ProdStatus::ReportedFinished

                                            && _ProdTable.ProdStatus >= ProdStatus::StartedUp;

        simpleProgress = SysOperationProgress::newGeneral(#aviUpdate, "@SYS76835",_ProdTable.Recid);

        simpleProgress.incCount(1000);

        simpleprogress.setText(strfmt("%1","WIP Running"));

        Delete_From ACT_tmpProductionWIPMaterial;

        TabPage1.setFocus();

        QBSNJ_WIP = qry.addDataSource(tablenum(NJ_WIP));

        QBSNJ_WIP.orderMode(OrderMode::GroupBy);

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,Qty),selectionField::Sum);

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,QtySec),selectionField::Sum);

       /* QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,WrkCtrID));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,ItemId));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,InventSizeId));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,ConfigId));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,InventcolorId));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,UnitId));

        QBSNJ_WIP.addSelectionField(FieldNUm(NJ_WIP,UnitIdSec));  */

        //QBSNJ_WIP.fetchMode(1);

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,WrkCtrId));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,ItemID));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,InventSizeId));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,ConfigId));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,InventcolorId));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,UnitId));

        QBSNJ_WIP.addSortField(FieldNUm(NJ_WIP,UnitIdSec));

        Qr = new QueryRun(qry);

        While Select ProdId,ACT_ProdCancelId,SalesId, CustAccount, DlvDate From _ProdTable Where _ProdTable.ProdStatus < ProdStatus::ReportedFinished

                                            && _ProdTable.ProdStatus >= ProdStatus::StartedUp

        {

            If (cbxCheckPO.value() == 0)

                NJ_WIP::Update_ProdId(_ProdTable.ProdId);

         /*   While Select Sum(Qty), Sum(QtySec), WrkCtrID, ItemId, InventSizeId, ConfigId, InventcolorId, UnitId, UnitIdSec From _NJ_WIP

                            Group By WrkCtrID, ItemId, InventSizeId, ConfigId, InventcolorId, UnitId, UnitIdSec

                                    Where _NJ_WIP.ProdId == _ProdTable.ProdId

                                    && _NJ_WIP.WrkCtrId == edtWrkCtrId.text()  */

    /*

                                    && _NJ_WIP.WrkCtrId != "WC-PL"

                                    && _NJ_WIP.WrkCtrId != "CPOSB"

                                    && _NJ_WIP.WrkCtrId != "DC-XX"

    */

            tmpstr = edtWrkCtrId.text();

            qr.query().dataSourceTable(tablenum(NJ_WIP)).clearRanges();

            qr.query().dataSourceTable(tablenum(NJ_WIP)).addRange(fieldnum(NJ_WIP,WrkCtrId)).value(tmpstr);

            qr.query().dataSourceTable(tablenum(NJ_WIP)).addRange(fieldnum(NJ_WIP,ProdId)).value(_ProdTable.ProdId);

            qr.reset();

            while (Qr.next())

            {

                _NJ_WIP = qr.get(tablenum(NJ_WIP));

                If (_NJ_WIP.Qty != 0)

                {

                    If (cbxCancel.checked())

                    {

                        If (_ProdTable.ACT_ProdCancelId != '')

                        {

                            ACT_tmpProductionWIPMaterial.clear();

                            ACT_tmpProductionWIPMaterial.ProdId = _ProdTable.ProdId;

                            ACT_tmpProductionWIPMaterial.refMaterials = "Cancelled";

                            ACT_tmpProductionWIPMaterial.SalesId = _ProdTable.SalesId;

                            ACT_tmpProductionWIPMaterial.CustAccount = _ProdTable.CustAccount;

                            ACT_tmpProductionWIPMaterial.insert();

                            continue;

                        }

                    }

                    else

                    If (_ProdTable.ACT_ProdCancelId)

                        continue;

                    ACT_tmpProductionWIPMaterial.clear();

                    ACT_tmpProductionWIPMaterial.ItemId = _NJ_WIP.ItemId;

                    ACT_tmpProductionWIPMaterial.ConfigId = _NJ_WIP.ConfigId;

                    ACT_tmpProductionWIPMaterial.InventSizeId = _NJ_WIP.InventSizeId;

                    ACT_tmpProductionWIPMaterial.InventColorId = _NJ_WIP.InventColorId;

                    ACT_tmpProductionWIPMaterial.ACT_QtySec = _NJ_WIP.QtySec;

                    ACT_tmpProductionWIPMaterial.WrkCtrId = _NJ_WIP.WrkCtrId;

                    ACT_tmpProductionWIPMaterial.ProdId = _ProdTable.ProdId;

                    ACT_tmpProductionWIPMaterial.Qty = _NJ_WIP.Qty;

                    ACT_tmpProductionWIPMaterial.refMaterials = _ProdTable.ACT_ProdCancelId;

                    ACT_tmpProductionWIPMaterial.UnitID = _NJ_WIP.UnitID;

                    ACT_tmpProductionWIPMaterial.UnitIDSec = _NJ_WIP.UnitIDSec;

                    ACT_tmpProductionWIPMaterial.SalesId = _ProdTable.SalesId;

                    ACT_tmpProductionWIPMaterial.CustAccount = _ProdTable.CustAccount;

                    ACT_tmpProductionWIPMaterial.PODeliveryDate = _ProdTable.DlvDate;

                    If (BOMCostGroup::find(InventTable::find(_NJ_WIP.ItemId).CostGroupId).ACT_JewelMaterial == ACT_JewelMaterial::Metal)

                    {

                        If (_NJ_WIP.Qty > 0.0009)

                        {

                            ACT_tmpProductionWIPMaterial.Qty = decRound(_NJ_WIP.Qty,3);

                            ACT_tmpProductionWIPMaterial.insert();

                        }

                    }

                    else

                        ACT_tmpProductionWIPMaterial.insert();

                }

            }

            ctr++;

            element.checkSum(_ProdTable.ProdId);

            simpleProgress.incCount();

    //        sleep(1000);

        }

        If (IsDelay)

            Sleep(18000);

        If (cbxInTransit.checked())

            Delete_From ACT_tmpProductionWIPMaterial Where ACT_tmpProductionWIPMaterial.CostPrice != 0;

        NJ_FormLog::UpdateLog(_LogID,edtWrkCtrId.text());

        ACT_tmpProductionWIPMaterial_ds.executeQuery();

        InTransit_ds.executeQuery();

    //    Select ACT_tmpProductionWIPMaterial Where ACT_tmpProductionWIPMaterial.WrkCtrId == edtWrkCtrId.text();

        edtTime.text(strfmt("%1 seconds with %2 Production Order(s) executed", timenow()-startTime,ctr));

        element.unlock();

    }

  • 相关阅读:
    广义后缀自动机模板
    HDU 5852 Intersection is not allowed! ( 2016多校9、不相交路径的方案、LGV定理、行列式计算 )
    BZOJ 4017 小 Q 的无敌异或 ( 树状数组、区间异或和、区间异或和之和、按位计贡献思想 )
    WHU 583 Palindrome ( 回文自动机 && 本质不同的回文串的个数 )
    HDU 5527 Too Rich ( 15长春区域赛 A 、可贪心的凑硬币问题 )
    HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )
    HDU 5544 Ba Gua Zhen ( 2015 CCPC 南阳 C、DFS+时间戳搜独立回路、线性基 )
    HDU 5734 Acperience ( 数学公式推导、一元二次方程 )
    hihocoder 1251 Today is a rainy day ( 15年北京 C、暴力 )
    HDU 5113 Black And White ( 2014 北京区预赛 B 、搜索 + 剪枝 )
  • 原文地址:https://www.cnblogs.com/perock/p/2177013.html
Copyright © 2011-2022 走看看