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

📄 mmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      m_StoredProc->Parameters->CreateParameter("@RoutehUser",ftString,pdInput,18,m_RoutehUser);
      m_StoredProc->Parameters->CreateParameter("@RoutehProducter",ftString,pdInput,18,m_RoutehProducter);
      m_StoredProc->Parameters->CreateParameter("@RoutehSysDate",ftString,pdOutput,40,m_RoutehSysDate);
      m_StoredProc->ExecProc();
      m_RoutehCode=m_StoredProc->Parameters->ParamValues["@RoutehCode"];
      m_RoutehSysDate=m_StoredProc->Parameters->ParamValues["@RoutehSysDate"];
      m_StoredProc->Close();
      for(int i=0;i<ItemCount;i++)
      {
         LocateItemByIndex(i);
         m_sdRouted->SetFieldValue(fiRoutedCode,m_RoutehCode);
         AddToObject();
         m_sdRouted->Update();
      }
      break;
    case 3:
      m_StoredProc->ProcedureName="sdRouteh_Update";
      m_StoredProc->Parameters->Clear();
      m_StoredProc->Parameters->CreateParameter("@W_RoutehCode",ftString,pdInput,18,b_RoutehCode);
      m_StoredProc->Parameters->CreateParameter("@RoutehName",ftString,pdInput,20,m_RoutehName);
      m_StoredProc->Parameters->CreateParameter("@RoutehGoods",ftString,pdInput,18,m_RoutehGoods);
      m_StoredProc->Parameters->CreateParameter("@RoutehKey",ftInteger,pdInput,1,m_RoutehKey);
      m_StoredProc->Parameters->CreateParameter("@RoutehEdate",ftString,pdInput,10,m_RoutehEdate);
      m_StoredProc->Parameters->CreateParameter("@RoutehIdate",ftString,pdInput,10,m_RoutehIdate);
      m_StoredProc->Parameters->CreateParameter("@RoutehDesc",ftString,pdInput,40,m_RoutehDesc);
      m_StoredProc->Parameters->CreateParameter("@RoutehUser",ftString,pdInput,18,m_RoutehUser);
      m_StoredProc->Parameters->CreateParameter("@RoutehProducter",ftString,pdInput,18,m_RoutehProducter);
      m_StoredProc->Parameters->CreateParameter("@RoutehCancel",ftInteger,pdInput,1,m_RoutehCancel);
      m_StoredProc->Parameters->CreateParameter("@RoutehCancelDate",ftString,pdInput,10,m_RoutehCancelDate);
      m_StoredProc->Parameters->CreateParameter("@RoutehSysDate",ftString,pdOutput,40,m_RoutehSysDate);
      m_StoredProc->ExecProc();
      m_RoutehSysDate=m_StoredProc->Parameters->ParamValues["@RoutehSysDate"];
      m_StoredProc->Close();
      break;
    case 5:
    case 6:
    case 7:
      for(int i=0;i<ItemCount;i++)
      {
        LocateItemByIndex(i);
        if(m_sdRouted->CurStatus==2 || m_sdRouted->CurStatus==3)
          m_sdRouted->Update();
      }
      break;
  }
  TsdRouteh *p=new TsdRouteh();
  if(CurStatus==2)
  {
      SetActionID(1);
      p->Assign(this);
      AddRecord((void *)p,p->RoutehCode);
  }
  else
  {
      SetActionID(1);
      p->Assign(this);
      ChangeRecord((void *)p,p->RoutehCode,this->b_RoutehCode);
  }
}
//---------------------------------------------------------------------------
void TsdRouteh::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_RoutehCode.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdRouteh_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_RoutehCode",ftString,pdInput,18,b_RoutehCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    delete m_sdRouted;
    DeleteRecord(this->b_RoutehCode);
}
//---------------------------------------------------------------------------
void TsdRouteh::NewDetail()
{
    m_sdRouted=new TsdRouted(DataComm);
    m_sdRouted->sdParent=this;
}

void TsdRouteh::DeleteDetail()
{
    delete m_sdRouted;
    m_sdRouted=NULL;
}
//---------------------------------------------------------------------------
void TsdRouteh::AddItem()
{
    m_sdRouted->AddNew();
    if(CurStatus!=2)
       SetActionID(5);
}
//---------------------------------------------------------------------------

void TsdRouteh::InsertItem()
{
    //m_sdField->AddNew();
    //TsdField *p=new TsdField(m_SessionName,m_DatabaseName);
    //p->Assign(m_sdField);
    //if(CurStatus==2)
    //   m_sdField->AddRecord((void *)p,p->GetFieldValue(fiFieldName));
    //else
    //   m_sdField->Update();
}
//---------------------------------------------------------------------------

void TsdRouteh::EditItem()
{
    m_sdRouted->Edit();
    if(CurStatus==1)
    {
       SetActionID(6);
    }
}
//---------------------------------------------------------------------------

void TsdRouteh::DeleteItem()
{
   if(CurStatus==2 || CurStatus==5)
      m_sdRouted->DeleteRecord(m_sdRouted->Key);
   else
      m_sdRouted->Delete();
}
//---------------------------------------------------------------------------

void TsdRouteh::RemoveItem()
{
   if(CurStatus==2 || CurStatus==5)
      m_sdRouted->RemoveRecord(m_sdRouted->Index);
   else
      m_sdRouted->Delete();
}
//---------------------------------------------------------------------------
void TsdRouteh::ClearItem()
{
   int iCount;
   if(CurStatus==2)
     m_sdRouted->ClearRecord();
   else
   {
     iCount=m_sdRouted->Count;
     for(int i=0;i<iCount;i++)
     {
       m_sdRouted->LocateByIndex(0);
       m_sdRouted->Delete();
     }
   }
}
//---------------------------------------------------------------------------

void TsdRouteh::CancelItem()
{
    m_sdRouted->Cancel();
}
//---------------------------------------------------------------------------

void TsdRouteh::RestoreItem()
{
    m_sdRouted->RestoreValue();
}
//---------------------------------------------------------------------------

void TsdRouteh::AddToObject()
{
  TsdRouted *p=new TsdRouted();
  p->Assign(m_sdRouted);
  if(m_sdRouted->FindKey(m_sdRouted->GetOldFieldValue(fiRoutedProcess)))
    m_sdRouted->ChangeRecord((void *)p,p->GetFieldValue(fiRoutedProcess),m_sdRouted->GetOldFieldValue(fiRoutedProcess));
  else
    m_sdRouted->AddRecord((void *)p,p->GetFieldValue(fiRoutedProcess));
}
//---------------------------------------------------------------------------
bool TsdRouteh::LocateItemByIndex(int Index)
{
   return m_sdRouted->LocateByIndex(Index);
}
//---------------------------------------------------------------------------

bool TsdRouteh::LocateItemByKey(AnsiString Key)
{
   return m_sdRouted->LocateByKey(Key);
}
//---------------------------------------------------------------------------

void TsdRouteh::BackupValue()
{
    b_sdRouted=m_sdRouted;
    b_RoutehCode=m_RoutehCode;
    b_RoutehName=m_RoutehName;
    b_RoutehGoods=m_RoutehGoods;
    b_RoutehKey=m_RoutehKey;
    b_RoutehEdate=m_RoutehEdate;
    b_RoutehIdate=m_RoutehIdate;
    b_RoutehCancel=m_RoutehCancel;
    b_RoutehCancelDate=m_RoutehCancelDate;
    b_RoutehUser=m_RoutehUser;
    b_RoutehProducter=m_RoutehProducter;
    b_RoutehDesc=m_RoutehDesc;
    b_RoutehSysDate=m_RoutehSysDate;
}
//---------------------------------------------------------------------------
void TsdRouteh::RestoreValue()
{
    m_sdRouted=b_sdRouted;
    m_RoutehCode=b_RoutehCode;
    m_RoutehName=b_RoutehName;
    m_RoutehGoods=b_RoutehGoods;
    m_RoutehKey=b_RoutehKey;
    m_RoutehEdate=b_RoutehEdate;
    m_RoutehIdate=b_RoutehIdate;
    m_RoutehCancel=b_RoutehCancel;
    m_RoutehCancelDate=b_RoutehCancelDate;
    m_RoutehUser=b_RoutehUser;
    m_RoutehProducter=b_RoutehProducter;
    m_RoutehDesc=b_RoutehDesc;
    m_RoutehSysDate=b_RoutehSysDate;
}
//---------------------------------------------------------------------------

void TsdRouteh::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
      m_sdRouted=NULL;
      m_RoutehCode="";
      m_RoutehName="";
      m_RoutehGoods="";
      m_RoutehKey=0;
      m_RoutehEdate="";
      m_RoutehIdate="";
      m_RoutehCancel=0;
      m_RoutehCancelDate="";
      m_RoutehDesc="";
      m_RoutehUser="";
      m_RoutehProducter="";
      m_RoutehSysDate="";
      break;
    case 1:
      b_sdRouted=NULL;
      b_RoutehCode="";
      b_RoutehName="";
      b_RoutehGoods="";
      b_RoutehKey=0;
      b_RoutehEdate="";
      b_RoutehIdate="";
      b_RoutehCancel=0;
      b_RoutehCancelDate="";
      b_RoutehDesc="";
      b_RoutehUser="";
      b_RoutehProducter="";
      b_RoutehSysDate="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdRouteh::BatchLetValue()
{
    m_RoutehCode=m_Query->FieldValues["RoutehCode"];
    m_RoutehName=m_Query->FieldValues["RoutehName"];
    m_RoutehGoods=m_Query->FieldValues["RoutehGoods"];
    m_RoutehKey=m_Query->FieldValues["RoutehKey"];
    m_RoutehEdate=m_Query->FieldValues["RoutehEdate"];
    m_RoutehIdate=m_Query->FieldValues["RoutehIdate"];
    m_RoutehCancel=m_Query->FieldValues["RoutehCancel"];
    m_RoutehCancelDate=m_Query->FieldValues["RoutehCancelDate"];
    m_RoutehUser=m_Query->FieldValues["RoutehUser"];
    m_RoutehProducter=m_Query->FieldValues["RoutehProducter"];
    m_RoutehDesc=m_Query->FieldValues["RoutehDesc"];
    m_RoutehSysDate=m_Query->FieldValues["RoutehSysDate"];
    BackupValue();
}
//---------------------------------------------------------------------------

void TsdRouteh::Assign(TsdRouteh *p)
{
    this->SetActionID(p->CurStatus);
    this->m_sdRouted=p->m_sdRouted;
    this->m_RoutehCode=p->m_RoutehCode;
    this->m_RoutehName=p->m_RoutehName;
    this->m_RoutehGoods=p->m_RoutehGoods;
    this->m_RoutehKey=p->m_RoutehKey;
    this->m_RoutehEdate=p->m_RoutehEdate;
    this->m_RoutehIdate=p->m_RoutehIdate;
    this->m_RoutehCancel=p->m_RoutehCancel;
    this->m_RoutehCancelDate=p->m_RoutehCancelDate;
    this->m_RoutehUser=p->m_RoutehUser;
    this->m_RoutehProducter=p->m_RoutehProducter;
    this->m_RoutehDesc=p->m_RoutehDesc;
    this->m_RoutehSysDate=p->m_RoutehSysDate;

    if(this->CurStatus==3)
    {
      this->b_sdRouted=p->b_sdRouted;
      this->b_RoutehCode=p->b_RoutehCode;
      this->b_RoutehName=p->b_RoutehName;
      this->b_RoutehGoods=p->b_RoutehGoods;
      this->b_RoutehKey=p->b_RoutehKey;
      this->b_RoutehEdate=p->b_RoutehEdate;
      this->b_RoutehIdate=p->b_RoutehIdate;
      this->b_RoutehCancel=p->b_RoutehCancel;
      this->b_RoutehCancelDate=p->b_RoutehCancelDate;
      this->b_RoutehUser=p->b_RoutehUser;
      this->b_RoutehProducter=p->b_RoutehProducter;
      this->b_RoutehDesc=p->b_RoutehDesc;
      this->b_RoutehSysDate=p->b_RoutehSysDate;
    }
    else
      this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdRouteh::AssignValue()
{
    TsdRouteh *p=(TsdRouteh *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------

int TsdRouteh::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_sdRouted;
   }
   ClearRecord();
   m_sdRouted=NULL;
   if(m_Query->RecordCount>0)
   {
      m_Query->First();
      while(!m_Query->Eof)
      {
         BatchLetValue();
         NewDetail();
         m_sdRouted->FilterString=" RoutedCode='"+m_RoutehCode+"'";
         m_sdRouted->OrderString=" RoutedCode,RoutedSn ";
         m_sdRouted->Query();
         TsdRouteh *p=new TsdRouteh();
         SetActionID(1);
         p->Assign(this);
         AddRecord((void *)p,p->RoutehCode);
         m_Query->Next();
      }
      MoveFirst();
   }
   m_Query->Close();
   return Count;
}
//---------------------------------------------------------------------------

bool TsdRouteh::Find(AnsiString WhereStr)
{
   AnsiString m_SqlStr;
   if(WhereStr.IsEmpty()==true)
      throw Exception("查找的条件表达式不能为空!");
   m_SqlStr="select * from sdRouteh where "+WhereStr;
   m_Query->Close();
   m_Query->SQL->Clear();
   m_Query->SQL->Add(m_SqlStr);
   m_Query->Open();
   if(m_Query->RecordCount!=1)
   {
      m_Query->Close();
      return false;
   }
   else
   {
      BatchLetValue();
      m_sdRouted->FilterString=" RoutedCode='"+m_RoutehCode+"'";
      m_sdRouted->OrderString=" Routed

⌨️ 快捷键说明

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