QueryBuildDataSource的應用

  void getDataFromJobTable()
{
    Query                       query;
    QueryRun                    qr;
    QueryBuildDataSource        qbdsJobTable;

    JaxJobTable                 curJobTable;
    EajProdMaterialCountLine    curCountLine;
    ;

    delete_from curCountLine where curCountLine.EajProdMaterialCountId == EajProdMaterialCountTable.EajProdMaterialCountId;

    frDateTime  = EajProdMaterialCountTable.FromDateTime;
    toDateTime  = EajProdMaterialCountTable.ToDateTime;

    //Inquiries the Job order
    query       = new Query();

    qbdsJobTable = query.addDataSource(tablenum(JaxJobTable));

    if(frDateTime && toDateTime)
    {
        sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,JobFromDate)).value(QueryRange(frDateTime,toDateTime));
    }
    else if(frDateTime && !toDateTime && frDateTime <= DateTimeUtil::utcNow())
    {
        sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,JobtoDate)).value(queryValue(frDateTime) + '..');
    }
    else if(!frDateTime && toDateTime)
    {
        sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,JobtoDate)).value('..'+ queryValue(toDateTime));
    }

    //if(emplIdStr)
    //    sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,EmplId)).value(queryValue(emplIdStr));

    if(EajProdMaterialCountTable.WrkCtrId)
        sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,WrkCtrId)).value(queryValue(EajProdMaterialCountTable.WrkCtrId));

    sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,JaxJobType)).value(queryValue(0));
    //sysQuery::findOrCreateRange(qbdsJobTable,fieldnum(JaxJobTable,Posted)).value(queryValue(0));

    qr = new QueryRun(query);
    while(qr.next())
    {
        curJobTable                             = qr.get(tablenum(JaxJobTable));
        if(!curJobTable.Posted)
        {
            curCountLine.EajSelected            = true;
        }
        curCountLine.EajProdMaterialCountId     = EajProdMaterialCountTable.EajProdMaterialCountId;
        curCountLine.JobId                      = curJobTable.JobId;
        curCountLine.Posted                     = curJobTable.Posted;
        curCountLine.ManualPosted               = curJobTable.Posted;
        curCountLine.ProdId                     = curJobTable.ProdId;
        curCountLine.GrossWeightOut             = curJobTable.dispOSGPW();
        curCountLine.GrossWeightIn              = curCountLine.GrossWeightOut;
        curCountLine.ProdQtyOut                 = curJobTable.dispOPOQ();
        curCountLine.GoldWeightOut              = curJobTable.dispOGW();

        curCountLine.insert();
    }

    //EajProdMaterialCountLine_ds.executeQuery();
}              

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章