⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apmhdl.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        m_ApivhSysDate=m_StoredProc->Parameters->ParamValues["@ApivhSysDate"];

        for(int i=0;i<ItemCount;i++)
        {
            LocateItemByIndex(i);
            m_sdApivd->SetFieldValue(fiApivdCode,m_ApivhCode);
            AddToObject();
            if(m_sdApivd->CurStatus==2||m_sdApivd->CurStatus==3)
                m_sdApivd->Update();
        }
        break;
    case 3:
        m_StoredProc->ProcedureName="sdApivh_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_ApivhCode",ftString,pdInput,18,b_ApivhCode);
        m_StoredProc->Parameters->CreateParameter("@ApivhCode",ftString,pdInput,18,m_ApivhCode);
        m_StoredProc->Parameters->CreateParameter("@ApivhFmonth",ftString,pdInput,6,m_ApivhFmonth);
        m_StoredProc->Parameters->CreateParameter("@ApivhDate",ftString,pdInput,10,m_ApivhDate);
        m_StoredProc->Parameters->CreateParameter("@ApivhSupply",ftString,pdInput,18,m_ApivhSupply);
        m_StoredProc->Parameters->CreateParameter("@ApivhCurrency",ftString,pdInput,18,m_ApivhCurrency);
        m_StoredProc->Parameters->CreateParameter("@ApivhEnrate",ftFloat,pdInput,12,m_ApivhEnrate);
        m_StoredProc->Parameters->CreateParameter("@ApivhDesc",ftString,pdInput,40,m_ApivhDesc);
        m_StoredProc->Parameters->CreateParameter("@ApivhPDate",ftString,pdInput,10,m_ApivhPDate);
        m_StoredProc->Parameters->CreateParameter("@ApivhRed",ftFloat,pdInput,5,m_ApivhRed);
        m_StoredProc->Parameters->CreateParameter("@ApivhUser",ftString,pdInput,18,m_ApivhUser);
        m_StoredProc->Parameters->CreateParameter("@ApivhCheck",ftInteger,pdInput,1,m_ApivhCheck);
        m_StoredProc->Parameters->CreateParameter("@ApivhChecker",ftString,pdInput,18,m_ApivhChecker);
        m_StoredProc->Parameters->CreateParameter("@ApivhCheckDate",ftString,pdInput,10,m_ApivhCheckDate);
        m_StoredProc->Parameters->CreateParameter("@ApivhSysDate",ftString,pdOutput,30,m_ApivhSysDate);
 
       m_StoredProc->ExecProc();
       m_ApivhSysDate=m_StoredProc->Parameters->ParamValues["@ApivhSysDate"];

      break;
    case 5:
    case 6:
    case 7:
        for(int i=0;i<ItemCount;i++)
          {
            LocateItemByIndex(i);
            if(m_sdApivd->CurStatus==2||m_sdApivd->CurStatus==3)
               m_sdApivd->Update();
           }
        break;
    }
    m_StoredProc->Close();
    TsdApivh *p=new TsdApivh();
    if(CurStatus==2)
       {
        SetActionID(1);
        p->Assign(this);
        AddRecord((void *)p,p->ApivhCode);
        }
    else
       {
        SetActionID(1);
        p->Assign(this);
        ChangeRecord((void *)p,p->ApivhCode,this->b_ApivhCode);
       }
}
//---------------------------------------------------------------------------
void TsdApivh::Check(int IsCheck)
{
    if(this->Count>0)
    {
      try
      {
        m_StoredProc->ProcedureName="sdApivh_Check";
        m_StoredProc->Parameters->Clear();


        if(IsCheck==1)
        {
          ApivhCheck=1;
          ApivhChecker=g_sdUserCode;
          ApivhCheckDate=g_sdCurDate;
          m_StoredProc->Parameters->CreateParameter("@W_ApivhCode",ftString,pdInput,20,b_ApivhCode);
          m_StoredProc->Parameters->CreateParameter("@ApivhCheck",ftSmallint,pdInput,2,1);
          m_StoredProc->Parameters->CreateParameter("@ApivhChecker",ftString,pdInput,20,g_sdUserCode);
          m_StoredProc->Parameters->CreateParameter("@ApivhCheckDate",ftString,pdInput,10,g_sdCurDate);


          m_StoredProc->ExecProc();
          m_StoredProc->Close();
         }
         else
         {
          ApivhCheck=0;
          ApivhChecker="";
          ApivhCheckDate="";
          AnsiString temp="";
          m_StoredProc->Parameters->CreateParameter("@W_ApivhCode",ftString,pdInput,20,b_ApivhCode);
          m_StoredProc->Parameters->CreateParameter("@ApivhCheck",ftSmallint,pdInput,2,0);
          m_StoredProc->Parameters->CreateParameter("@ApivhChecker",ftString,pdInput,20,temp);
          m_StoredProc->Parameters->CreateParameter("@ApivhCheckDate",ftString,pdInput,10,temp);
          m_StoredProc->ExecProc();
          m_StoredProc->Close();
          }
         TsdApivh *p=(TsdApivh*)Records(CurRecNo);
         p->Assign(this);
         BackupValue();
       }
       catch(Exception &e)
       {
         m_ApivhCheck=b_ApivhCheck;
         m_ApivhChecker=b_ApivhChecker;
         m_ApivhCheckDate=b_ApivhCheckDate;
         throw Exception(e.Message);
        }
     }
}
//---------------------------------------------------------------------------
void TsdApivh::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_ApivhCode.IsEmpty()==true)
        throw Exception("发票号不能为空!");
    while(ItemCount>0)
       m_sdApivd->Delete();
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdApivh_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_ApivhCode",ftString,pdInput,18,b_ApivhCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_ApivhCode);
}
//---------------------------------------------------------------------------
void TsdApivh::AddItem()
{
    m_sdApivd->AddNew();
    if(CurStatus!=2)
        SetActionID(5);
}
//---------------------------------------------------------------------------
void TsdApivh::InsertItem()
{
/*  m_sdField->AddNew();
  TsdField *p=new TsdField(DC);
  p->Assign(m_sdField);
  if(CurStatus==2)
    m_sdField->AddRecord((void *)p,p->GetFieldValue(fiFieldName));
  else
    m_sdField->Update();
*/
}
//---------------------------------------------------------------------------
void TsdApivh::EditItem()
{
    if(CurStatus==1)
       {
         m_sdApivd->Edit();
        SetActionID(6);
        }
}
//---------------------------------------------------------------------------
void TsdApivh::DeleteItem()
{
    if(CurStatus==2||CurStatus==5)
        m_sdApivd->DeleteRecord(m_sdApivd->Key);
    else
        m_sdApivd->Delete();
}
//---------------------------------------------------------------------------
void TsdApivh::RemoveItem()
{
    if(CurStatus==2||CurStatus==5)
        m_sdApivd->RemoveRecord(m_sdApivd->Index);
    else
        m_sdApivd->Delete();
}
//---------------------------------------------------------------------------
void TsdApivh::ClearItem()
{
    int iCount;
    if(CurStatus==2)
        m_sdApivd->ClearRecord();
    else
    {
        iCount=m_sdApivd->Count;
        for(int i=0;i<iCount;i++)
        {
            m_sdApivd->LocateByIndex(0);
            m_sdApivd->Delete();
        }
    }
}
//---------------------------------------------------------------------------
void TsdApivh::CancelItem()
{
    m_sdApivd->Cancel();
}
//---------------------------------------------------------------------------
void TsdApivh::AddToObject()
{
    TsdApivd *p=new TsdApivd( );
    p->Assign(m_sdApivd);
    if(m_sdApivd->FindKey(m_sdApivd->GetOldFieldValue(fiApivdLine)))
        m_sdApivd->ChangeRecord((void*)p,p->GetFieldValue(fiApivdLine),m_sdApivd->GetOldFieldValue(fiApivdLine));
    else
        m_sdApivd->AddRecord((void *)p,p->GetFieldValue(fiApivdLine));
}
//---------------------------------------------------------------------------
bool TsdApivh::LocateItemByIndex(int Index)
{
   return m_sdApivd->LocateByIndex(Index);
}
//---------------------------------------------------------------------------
bool TsdApivh::LocateItemByKey(AnsiString Key)
{
    return m_sdApivd->LocateByKey(Key);
}
//---------------------------------------------------------------------------
void TsdApivh::BackupValue()
{
     b_sdApivd=m_sdApivd;
     b_ApivhCode=m_ApivhCode;
     b_ApivhFmonth=m_ApivhFmonth;
     b_ApivhDate=m_ApivhDate;
     b_ApivhSupply=m_ApivhSupply;
     b_ApivhCurrency=m_ApivhCurrency;
     b_ApivhEnrate=m_ApivhEnrate;
     b_ApivhDesc=m_ApivhDesc;
     b_ApivhPDate=m_ApivhPDate;
     b_ApivhRed=m_ApivhRed;
     b_ApivhUser=m_ApivhUser;
     b_ApivhCheck=m_ApivhCheck;
     b_ApivhChecker=m_ApivhChecker;
     b_ApivhCheckDate=m_ApivhCheckDate;
     b_ApivhSysDate=m_ApivhSysDate;
}
//---------------------------------------------------------------------------
void TsdApivh::RestoreItem()
{
  m_sdApivd->RestoreValue();
}
//---------------------------------------------------------------------------
void TsdApivh::RestoreValue()
{
     m_sdApivd=b_sdApivd;
    m_ApivhCode=b_ApivhCode;
    m_ApivhFmonth=b_ApivhFmonth;
    m_ApivhDate=b_ApivhDate;
    m_ApivhSupply=b_ApivhSupply;
    m_ApivhCurrency=b_ApivhCurrency;
    m_ApivhEnrate=b_ApivhEnrate;
    m_ApivhDesc=b_ApivhDesc;
    m_ApivhPDate=b_ApivhPDate;
    m_ApivhRed=b_ApivhRed;
    m_ApivhUser=b_ApivhUser;
    m_ApivhCheck=b_ApivhCheck;
    m_ApivhChecker=b_ApivhChecker;
    m_ApivhCheckDate=b_ApivhCheckDate;
    m_ApivhSysDate=b_ApivhSysDate;
}
//---------------------------------------------------------------------------
void TsdApivh::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
     m_ApivhCode="";
     m_ApivhFmonth="";
     m_ApivhDate="";
     m_ApivhSupply="";
     m_ApivhCurrency="";
     m_ApivhEnrate=0;
     m_ApivhDesc="";
     m_ApivhPDate="";
     m_ApivhRed=0;
     m_ApivhUser="";
     m_ApivhCheck=0;
     m_ApivhChecker="";
     m_ApivhCheckDate="";
     m_ApivhSysDate="";
    break;
    case 1:
    b_ApivhCode="";
    b_ApivhFmonth="";
    b_ApivhDate="";
    b_ApivhSupply="";
    b_ApivhCurrency="";
    b_ApivhEnrate=0;
    b_ApivhDesc="";
    b_ApivhPDate="";
    b_ApivhRed=0;
    b_ApivhUser="";
    b_ApivhCheck=0;
    b_ApivhChecker="";
    b_ApivhCheckDate="";
    b_ApivhSysDate="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdApivh::BatchLetValue()
{
     m_ApivhCode=m_Query->FieldValues["ApivhCode"];
     m_ApivhFmonth=m_Query->FieldValues["ApivhFmonth"];
     m_ApivhDate=m_Query->FieldValues["ApivhDate"];
     m_ApivhSupply=m_Query->FieldValues["ApivhSupply"];
     m_ApivhCurrency=m_Query->FieldValues["ApivhCurrency"];
     m_ApivhEnrate=m_Query->FieldValues["ApivhEnrate"];
     m_ApivhDesc=m_Query->FieldValues["ApivhDesc"];
     m_ApivhPDate=m_Query->FieldValues["ApivhPDate"];
     m_ApivhRed=m_Query->FieldValues["ApivhRed"];
     m_ApivhUser=m_Query->FieldValues["ApivhUser"];
     m_ApivhCheck=m_Query->FieldValues["ApivhCheck"];
     m_ApivhChecker=m_Query->FieldValues["ApivhChecker"];
     m_ApivhCheckDate=m_Query->FieldValues["ApivhCheckDate"];
     m_ApivhSysDate=m_Query->FieldValues["ApivhSysDate"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdApivh::Assign(TsdApivh *p)
{
     this->SetActionID(p->CurStatus);
     this->m_sdApivd=p->m_sdApivd;
     this->m_ApivhCode=p->m_ApivhCode;
     this->m_ApivhFmonth=p->m_ApivhFmonth;
     this->m_ApivhDate=p->m_ApivhDate;
     this->m_ApivhSupply=p->m_ApivhSupply;
     this->m_ApivhCurrency=p->m_ApivhCurrency;
     this->m_ApivhEnrate=p->m_ApivhEnrate;
     this->m_ApivhDesc=p->m_ApivhDesc;
     this->m_ApivhPDate=p->m_ApivhPDate;
     this->m_ApivhRed=p->m_ApivhRed;
     this->m_ApivhUser=p->m_ApivhUser;
     this->m_ApivhCheck=p->m_ApivhCheck;
     this->m_ApivhChecker=p->m_ApivhChecker;
     this->m_ApivhCheckDate=p->m_ApivhCheckDate;
     this->m_ApivhSysDate=p->m_ApivhSysDate;
   if(this->CurStatus==3)
     {
     this->b_sdApivd=p->b_sdApivd;
     this->b_ApivhCode=p->b_ApivhCode;
     this->b_ApivhFmonth=p->b_ApivhFmonth;
     this->b_ApivhDate=p->b_ApivhDate;
     this->b_ApivhSupply=p->b_ApivhSupply;
     this->b_ApivhCurrency=p->b_ApivhCurrency;
     this->b_ApivhEnrate=p->b_ApivhEnrate;
     this->b_ApivhDesc=p->b_ApivhDesc;
     this->b_ApivhPDate=p->b_ApivhPDate;
     this->b_ApivhRed=p->b_ApivhRed;
     this->b_ApivhUser=p->b_ApivhUser;
     this->b_ApivhCheck=p->b_ApivhCheck;
     this->b_ApivhChecker=p->b_ApivhChecker;
     this->b_ApivhCheckDate=p->b_ApivhCheckDate;
     this->b_ApivhSysDate=p->b_ApivhSysDate;
     }
  else
    this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdApivh::AssignValue()
{
    TsdApivh *p=(TsdApivh *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdApivh::Query()
{
    AnsiString m_SqlStr;
    m_SqlStr=QueryString;
    if(FilterString.IsEmpty()==false)
        m_SqlStr=m_SqlStr+" where "+FilterString;
    if(OrderString.IsEmpty()==false)
        m_SqlStr=m_SqlStr+" Order by "+OrderString;
    m_Query->Close();
    m_Query->SQL->Clear();
    m_Query->SQL->Add(m_SqlStr);
    m_Query->Open();
    for(int i=0;i<this->Count;i++)
     {
        this->LocateByIndex(i);
        this->AssignValue();
        delete m_sdApivd;
      }

    ClearRecord();
    if(m_Query->RecordCount>0)
    {
        m_Query->First();
        while(!m_Query->Eof)
        {
            BatchLetValue();
            NewDetail();
            m_sdApivd->FilterString="ApivdCode='"+m_ApivhCode+"'";
            m_sdApivd->OrderString="ApivdLine";
            m_sdApivd->Query();
            TsdApivh *p=new TsdApivh();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->ApivhCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdApivh::Find(AnsiString WhereStr)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -