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

📄 emdoc.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 4 页
字号:
    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();
    ClearRecord();
    if(m_Query->RecordCount>0)
    {
        m_Query->First();
        while(!m_Query->Eof)
        {
            BatchLetValue();
            TKSFaUse *p=new TKSFaUse();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->FaUseCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TKSFaUse::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdFaUse 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_Query->Close();
        return true;
    }
}
//**************************************
//     TKSFav     变动类型
//**************************************
//--------------------------------------------------------------
void __fastcall TKSFav:: SetFavCode(AnsiString value)
{
    if(value.IsEmpty())
        throw Exception("变动类型代码不能为空");
    if(value.Length()>18)
        throw Exception("变动类型代码长度不能大于18");
    if(value!=m_FavCode)
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT FAVCODE FROM sdfav WHERE FAVCODE='" +value+"'");
        m_Query->Open();
        if(m_Query->RecordCount>0)
        {
            m_Query->Close();
            throw Exception("变动类型代码'"+value+"'已存在");
        }
        m_Query->Close();
    }
    m_FavCode=value;
}
void __fastcall TKSFav:: SetFavName(AnsiString value)
{
    if(value.IsEmpty())
        throw Exception("变动类型名称不能为空");
    if(value.Length()>20)
        throw Exception("变动类型名称长度不能大于20");
    if(value!=m_FavName)
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT FAVname FROM sdfav WHERE FAVname='" +value+"'");
        m_Query->Open();
        if(m_Query->RecordCount>0)
        {
            m_Query->Close();
            throw Exception("变动类型名称'"+value+"'已存在");
        }
        m_Query->Close();
    }
    m_FavName=value;
}
void __fastcall TKSFav:: SetFavType(int    value)
{
    if(value!=1&&value!=2&&value!=3)
        throw Exception("变动类型只能取值 1-增加 2-减少 3-变动");
    m_FavType=value;
}
void __fastcall TKSFav:: SetFavFvct(AnsiString value)
{
    if(value.Length()>18)
        throw Exception("凭证类型代码长度不能大于18");
     m_FavFvct=value;
}
void __fastcall TKSFav:: SetFavGlkm(AnsiString value)
{
    if(!value.IsEmpty())
    {
      if(value.Length()>18)
        throw Exception("科目编码长不能大于18");
      if(m_FavGlkm!=value)
      {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("select * from sdGlkm where glkmcode='"+value+"' and glkmmx=1");
        m_Query->Open();
        if(m_Query->RecordCount<=0)
        {
          m_Query->Close();
          throw Exception("科目编码不存在或不是明细科目");
        }
        m_Query->Close();
      }
    }
    m_FavGlkm=value;
}
void __fastcall TKSFav:: SetFavGlDir(int  value)
{
   if(value!=-1&&value!=1)
    throw Exception("科目方向只能取值 1-借方, -1-贷方");
   m_FavGlDir=value;
}
void __fastcall TKSFav:: SetFavSummary(AnsiString value)
{
   if(value.Length()>40)
     throw Exception("摘要长度不能大于40");
   m_FavSummary=value;
}
void __fastcall TKSFav:: SetFavOppGlkm(AnsiString value)
{
   if(!value.IsEmpty())
   {
      if(value.Length()>18)
        throw Exception("科目编码长不能大于18");
      if(m_FavOppGlkm!=value)
      {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("select * from sdGlkm where glkmcode='"+value+"' and glkmmx=1");
        m_Query->Open();
        if(m_Query->RecordCount<=0)
        {
          m_Query->Close();
          throw Exception("科目编码不存在或不是明细科目");
        }
        m_Query->Close();
      }
   }
   m_FavOppGlkm=value;
}
void __fastcall TKSFav:: SetFavDesc(AnsiString value)
{
   if(value.Length()>40)
        throw Exception("备注长度不能大于40");
   m_FavDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TKSFav::GetFieldValue(euFav sdFieldName)
{
    switch(sdFieldName)
    {
      case fiFavCode:
           return FavCode;
      case fiFavName:
           return FavName;
      case fiFavType:
           return FavType;
      case fiFavFvct:
           return FavFvct;
      case fiFavGlkm:
           return FavGlkm;
      case fiFavGlDir:
           return FavGlDir;
      case fiFavSummary:
           return FavSummary;
      case fiFavOppGlkm:
           return FavOppGlkm;
      case fiFavDesc:
           return FavDesc;
      default:
           throw Exception("当前未定义可取值");
     }
}
//---------------------------------------------------------------------------
void TKSFav::SetFieldValue(euFav sdFieldName, AnsiString value)
{
    switch(sdFieldName)
     {
    case fiFavCode:
         FavCode=value;
          break;
    case fiFavName:
         FavName=value;
          break;
    case fiFavType:
         FavType=value.ToInt();
          break;
    case fiFavFvct:
         FavFvct=value;
          break;
    case fiFavGlkm:
         FavGlkm=value;
          break;
    case fiFavGlDir:
         FavGlDir=value.ToDouble();
          break;
    case fiFavSummary:
         FavSummary=value;
          break;
    case fiFavOppGlkm:
         FavOppGlkm=value;
          break;
    case fiFavDesc:
         FavDesc=value;
          break;
    default:
         throw Exception("当前字段未定义可赋值");
      }
}
//---------------------------------------------------------------------------
TKSFav::TKSFav(TDataComm *DC)
                :TKSStandard(DC)
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdFav";
        FilterString="";
        OrderString="FavCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TKSFav::TKSFav()
                :TKSStandard()
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdFav";
        FilterString="";
        OrderString="FavCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TKSFav::~TKSFav()
{
  try{
     }
  catch(...)
    {
     throw Exception("析构函数出错");
    }
}
//---------------------------------------------------------------------------
void TKSFav::BackupValue()
{
      b_FavCode=m_FavCode;
      b_FavName=m_FavName;
      b_FavType=m_FavType;
      b_FavFvct=m_FavFvct;
      b_FavGlkm=m_FavGlkm;
      b_FavGlDir=m_FavGlDir;
      b_FavSummary=m_FavSummary;
      b_FavOppGlkm=m_FavOppGlkm;
      b_FavDesc=m_FavDesc;
}
//---------------------------------------------------------------------------
void TKSFav::RestoreValue()
{
      m_FavCode=b_FavCode;
      m_FavName=b_FavName;
      m_FavType=b_FavType;
      m_FavFvct=b_FavFvct;
      m_FavGlkm=b_FavGlkm;
      m_FavGlDir=b_FavGlDir;
      m_FavSummary=b_FavSummary;
      m_FavOppGlkm=b_FavOppGlkm;
      m_FavDesc=b_FavDesc;
}
//---------------------------------------------------------------------------
void TKSFav::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
        m_FavCode="";
        m_FavName="";
        m_FavType=0;
        m_FavFvct="";
        m_FavGlkm="";
        m_FavGlDir=0;
        m_FavSummary="";
        m_FavOppGlkm="";
        m_FavDesc="";
    break;
    case 1:
        b_FavCode="";
        b_FavName="";
        b_FavType=0;
        b_FavFvct="";
        b_FavGlkm="";
        b_FavGlDir=0;
        b_FavSummary="";
        b_FavOppGlkm="";
        b_FavDesc="";
      break;
     }
}
//---------------------------------------------------------------------------
void TKSFav::BatchLetValue()
{
    m_FavCode=m_Query->FieldValues["FavCode"];
    m_FavName=m_Query->FieldValues["FavName"];
    m_FavType=m_Query->FieldValues["FavType"];
    m_FavFvct=m_Query->FieldValues["FavFvct"];
    m_FavGlkm=m_Query->FieldValues["FavGlkm"];
    m_FavGlDir=m_Query->FieldValues["FavGlDir"];
    m_FavSummary=m_Query->FieldValues["FavSummary"];
    m_FavOppGlkm=m_Query->FieldValues["FavOppGlkm"];
    m_FavDesc=m_Query->FieldValues["FavDesc"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TKSFav::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_FavCode.IsEmpty()==true)
        throw Exception("变动类型不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
      {
        m_StoredProc->ProcedureName="sdFav_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@FavCode",ftString,pdInput,18,m_FavCode);
        m_StoredProc->Parameters->CreateParameter("@FavName",ftString,pdInput,20,m_FavName);
        m_StoredProc->Parameters->CreateParameter("@FavType",ftInteger,pdInput,1,m_FavType);
        m_StoredProc->Parameters->CreateParameter("@FavFvct",ftString,pdInput,18,m_FavFvct);
        m_StoredProc->Parameters->CreateParameter("@FavGlkm",ftString,pdInput,18,m_FavGlkm);
        m_StoredProc->Parameters->CreateParameter("@FavGlDir",ftFloat,pdInput,5,m_FavGlDir);
        m_StoredProc->Parameters->CreateParameter("@FavSummary",ftString,pdInput,40,m_FavSummary);
        m_StoredProc->Parameters->CreateParameter("@FavOppGlkm",ftString,pdInput,18,m_FavOppGlkm);
        m_StoredProc->Parameters->CreateParameter("@FavDesc",ftString,pdInput,40,m_FavDesc);

        m_StoredProc->ExecProc();
        m_StoredProc->Close();
   }
  else
    {
        m_StoredProc->ProcedureName="sdFav_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_FavCode",ftString,pdInput,18,b_FavCode);
        m_StoredProc->Parameters->CreateParameter("@FavCode",ftString,pdInput,18,m_FavCode);
        m_StoredProc->Parameters->CreateParameter("@FavName",ftString,pdInput,20,m_FavName);
        m_StoredProc->Parameters->CreateParameter("@FavType",ftInteger,pdInput,1,m_FavType);
        m_StoredProc->Parameters->CreateParameter("@FavFvct",ftString,pdInput,18,m_FavFvct);
        m_StoredProc->Parameters->CreateParameter("@FavGlkm",ftString,pdInput,18,m_FavGlkm);
        m_StoredProc->Parameters->CreateParameter("@FavGlDir",ftFloat,pdInput,5,m_FavGlDir);
        m_StoredProc->Parameters->CreateParameter("@FavSummary",ftString,pdInput,40,m_FavSummary);
        m_StoredProc->Parameters->CreateParameter("@FavOppGlkm",ftString,pdInput,18,m_FavOppGlkm);
        m_StoredProc->Parameters->CreateParameter("@FavDesc",ftString,pdInput,40,m_FavDesc);

       m_StoredProc->ExecProc();
       m_StoredProc->Close();
   }
  TKSFav *p=new TKSFav();
  if(CurStatus==2)
    {
     SetActionID(1);
     p->Assign(this);
     AddRecord((void *)p,p->FavCode);
     }
  else
    {
     SetActionID(1);
     p->Assign(this);
     ChangeRecord((void *)p,p->FavCode,this->b_FavCode);
    }
}
//---------------------------------------------------------------------------
void TKSFav::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_FavCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
     m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdFav_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_FavCode",ftString,pdInput,18,b_FavCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_FavCode);
}
//---------------------------------------------------------------------------
void TKSFav::Assign(TKSFav *p)
{
    this->SetActionID(p->CurStatus);
    this->m_FavCode=p->m_FavCode;
    this->m_FavName=p->m_FavName;
    this->m_FavType=p->m_FavType;
    this->m_FavFvct=p->m_FavFvct;
    this->m_FavGlkm=p->m_FavGlkm;
    this->m_FavGlDir=p->m_FavGlDir;
    this->m_FavSummary=p->m_FavSummary;
    this->m_FavOppGlkm=p->m_FavOppGlkm;
    this->m_FavDesc=p->m_FavDesc;
    this->BackupValue();
}
//---------------------------------------------------------------------------
void TKSFav::AssignValue()
{
    TKSFav *p=(TKSFav *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TKSFav::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();
    ClearRecord();
    if(m_Query->RecordCount>0)
    {
        m_Query->First();
        while(!m_Query->Eof)
        {
            BatchLetValue();
            TKSFav *p=new TKSFav();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->FavCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TKSFav::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdFav 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_Query->Close();
        return true;
    }
}

⌨️ 快捷键说明

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