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();

    }

  • 相关阅读:
    剑指Offer-11.二进制中1的个数(C++/Java)
    剑指Offer-10.矩形覆盖(C++/Java)
    剑指Offer-9.变态跳台阶(C++/Java)
    UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
    UVA1607 Gates 与非门电路 (二分)
    UVA 1451 Average平均值 (数形结合,斜率优化)
    UVA 1471 Defense Lines 防线 (LIS变形)
    UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
    UVA 11134 FabledRooks 传说中的车 (问题分解)
    UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  • 原文地址:https://www.cnblogs.com/perock/p/2177013.html
Copyright © 2011-2022 走看看