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

📄 smdoc.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    if(value.Length()>18)
      throw Exception("运输方式长度不能大于18");
    if(value.IsEmpty()==false && value!=m_SsiteTransMode)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select transmodecode from sdtransmode where transmodecode='"+value+"'");
      m_Query->Open();
      if(m_Query->RecordCount<=0)
      {
        m_Query->Close();
        throw Exception("运输方式:'"+value+"'未定义");
      }
      m_Query->Close();
    }
    m_SsiteTransMode=value;
}
//---------------------------------------------------------------------------

TsdSsite::TsdSsite(TDataComm *DC)
                :TsdStandard(DC)
{
  try
  {
    QueryString="SELECT * FROM sdSsite";
    FilterString="";
    OrderString=" SsiteCode";
        EmptyValue(0);
        EmptyValue(1);

  }
  catch(Exception &e)
  {
    throw Exception("初始化出错");
  }
}
TsdSsite::TsdSsite()
             :TsdStandard()
{
  try
  {
    QueryString="SELECT * FROM sdSsite";
    FilterString="";
    OrderString=" SsiteCode";
        EmptyValue(0);
        EmptyValue(1);

  }
  catch(Exception &e)
  {
    throw Exception("初始化出错");
  }
}

//---------------------------------------------------------------------------

AnsiString TsdSsite::GetFieldValue(euSsite sdFieldName)
{
    switch(sdFieldName)
    {
    case fiSsiteCode:
        return SsiteCode;
    case fiSsiteClient:
        return SsiteClient;
    case fiSsiteName:
        return SsiteName;
    case fiSsiteAddr:
        return SsiteAddr;
    case fiSsiteLinkman:
        return SsiteLinkman;
    case fiSsiteTel:
        return SsiteTel;
    case fiSsiteFax:
        return SsiteFax;
    case fiSsiteZip:
        return SsiteZip;
    case fiSsiteEmail:
        return SsiteEmail;
    case fiSsiteTransMode:
        return SsiteTransMode;
    default:
        throw Exception("当前字段未定义可取值");  
    }
}

//---------------------------------------------------------------------------

void TsdSsite::SetFieldValue(euSsite sdFieldName, AnsiString Value)
{
     Value=Trim(Value);
    switch(sdFieldName)
    {
    case fiSsiteCode:
        SsiteCode=Value;
        break;
    case fiSsiteClient:
        SsiteClient=Value;
        break;
    case fiSsiteName:
        SsiteName=Value;
        break;
    case fiSsiteAddr:
        SsiteAddr=Value;
        break;
    case fiSsiteLinkman:
        SsiteLinkman=Value;
        break;
    case fiSsiteTel:
        SsiteTel=Value;
        break;
    case fiSsiteFax:
         SsiteFax=Value;
         break;
    case fiSsiteZip:
        SsiteZip=Value;
        break;
    case fiSsiteEmail:
        SsiteEmail=Value;
        break;
    case fiSsiteTransMode:
        SsiteTransMode=Value;
        break;
      default: 
        throw Exception("当前字段未定义可赋值");  
        
    }
}

//---------------------------------------------------------------------------

void TsdSsite::Update()
{
  if(CurStatus==0||CurStatus==1)
    throw Exception("当前不是编辑状态,不能进行存盘操作!");
  if(m_SsiteCode.IsEmpty()==true)
    throw Exception("客户的交货地点编码不能为空!");

  m_StoredProc->Close();
  if(CurStatus==2||CurStatus==4)
  {

        m_StoredProc->ProcedureName="sdSsite_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@SsiteCode",ftString,pdInputOutput,18,m_SsiteCode);
        m_StoredProc->Parameters->CreateParameter("@SsiteClient",ftString,pdInput,18,m_SsiteClient);
        m_StoredProc->Parameters->CreateParameter("@SsiteName",ftString,pdInput,20,m_SsiteName);
        m_StoredProc->Parameters->CreateParameter("@SsiteAddr",ftString,pdInput,40,m_SsiteAddr);
        m_StoredProc->Parameters->CreateParameter("@SsiteLinkman",ftString,pdInput,10,m_SsiteLinkman);
        m_StoredProc->Parameters->CreateParameter("@SsiteTel",ftString,pdInput,18,m_SsiteTel);
        m_StoredProc->Parameters->CreateParameter("@SsiteFax",ftString,pdInput,18,m_SsiteFax);
        m_StoredProc->Parameters->CreateParameter("@SsiteZip",ftString,pdInput,6,m_SsiteZip);
        m_StoredProc->Parameters->CreateParameter("@SsiteEmail",ftString,pdInput,20,m_SsiteEmail);
        m_StoredProc->Parameters->CreateParameter("@SsiteTransMode",ftString,pdInput,18,m_SsiteTransMode);
 
        m_StoredProc->ExecProc();
        m_SsiteCode=m_StoredProc->Parameters->ParamValues["@SsiteCode"];


   }
  else
    {
        m_StoredProc->ProcedureName="sdSsite_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_SsiteCode",ftString,pdInput,18,b_SsiteCode);
        m_StoredProc->Parameters->CreateParameter("@W_SsiteClient",ftString,pdInput,18,b_SsiteClient);
        m_StoredProc->Parameters->CreateParameter("@SsiteCode",ftString,pdInput,18,m_SsiteCode);
        m_StoredProc->Parameters->CreateParameter("@SsiteName",ftString,pdInput,20,m_SsiteName);
        m_StoredProc->Parameters->CreateParameter("@SsiteAddr",ftString,pdInput,40,m_SsiteAddr);
        m_StoredProc->Parameters->CreateParameter("@SsiteLinkman",ftString,pdInput,10,m_SsiteLinkman);
        m_StoredProc->Parameters->CreateParameter("@SsiteTel",ftString,pdInput,18,m_SsiteTel);
        m_StoredProc->Parameters->CreateParameter("@SsiteFax",ftString,pdInput,18,m_SsiteFax);
        m_StoredProc->Parameters->CreateParameter("@SsiteZip",ftString,pdInput,6,m_SsiteZip);
        m_StoredProc->Parameters->CreateParameter("@SsiteEmail",ftString,pdInput,20,m_SsiteEmail);
        m_StoredProc->Parameters->CreateParameter("@SsiteTransMode",ftString,pdInput,18,m_SsiteTransMode);
 
       m_StoredProc->ExecProc();


   }
    m_StoredProc->Close();
  TsdSsite *p=new TsdSsite();
  if(CurStatus==2)
  {
    SetActionID(1);
    p->Assign(this);
    AddRecord((void *)p,p->SsiteClient+p->SsiteCode);
  }
  else
  {
    SetActionID(1);
    p->Assign(this);
    ChangeRecord((void *)p,p->SsiteClient+p->SsiteCode,this->b_SsiteClient+this->b_SsiteCode);
  }
}

//---------------------------------------------------------------------------

void TsdSsite::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_SsiteCode.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdSsite_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_SsiteCode",ftString,pdInput,18,b_SsiteCode);
        m_StoredProc->Parameters->CreateParameter("@W_SsiteClient",ftString,pdInput,18,b_SsiteClient);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_SsiteClient+this->b_SsiteCode);
}

//---------------------------------------------------------------------------
void TsdSsite::BackupValue()
{
    b_SsiteCode         =   m_SsiteCode;
    b_SsiteClient   =   m_SsiteClient;
    b_SsiteName         =   m_SsiteName;
    b_SsiteAddr         =   m_SsiteAddr;
    b_SsiteLinkman      =   m_SsiteLinkman;
    b_SsiteTel          =   m_SsiteTel;
    b_SsiteFax          =   m_SsiteFax;
    b_SsiteZip          =   m_SsiteZip;
    b_SsiteEmail        =   m_SsiteEmail;
    b_SsiteTransMode=   m_SsiteTransMode;
}

//---------------------------------------------------------------------------

void TsdSsite::RestoreValue()
{
    m_SsiteCode         =   b_SsiteCode;
    m_SsiteClient   =   b_SsiteClient;
    m_SsiteName         =   b_SsiteName;
    m_SsiteAddr         =   b_SsiteAddr;
    m_SsiteLinkman      =   b_SsiteLinkman;
    m_SsiteTel          =   b_SsiteTel;
    m_SsiteFax          =   b_SsiteFax;
    m_SsiteZip          =   b_SsiteZip;
    m_SsiteEmail        =   b_SsiteEmail;
    m_SsiteTransMode=   b_SsiteTransMode;
}
//---------------------------------------------------------------------------

void TsdSsite::EmptyValue(int Index)
{
   switch(Index)
   {
     case 0:
        m_SsiteCode         =   "";
        m_SsiteClient   =   "";
        m_SsiteName         =   "";
        m_SsiteAddr         =   "";
        m_SsiteLinkman      =   "";
        m_SsiteTel          =   "";
        m_SsiteFax          =   "";
        m_SsiteZip          =   "";
        m_SsiteEmail        =   "";
        m_SsiteTransMode=   "";
        break;

    case 1:
        b_SsiteCode         =   "";
        b_SsiteClient   =   "";
        b_SsiteName         =   "";
        b_SsiteAddr         =   "";
        b_SsiteLinkman      =   "";
        b_SsiteTel          =   "";
        b_SsiteFax          =   "";
        b_SsiteZip          =   "";
        b_SsiteEmail        =   "";
        b_SsiteTransMode =   "";
        break;
    }
}

//---------------------------------------------------------------------------

void TsdSsite::BatchLetValue()
{
    m_SsiteCode         =   m_Query->FieldValues["SsiteCode"];
    m_SsiteClient   =   m_Query->FieldValues["SsiteClient"];
    m_SsiteName         =   m_Query->FieldValues["SsiteName"];
    m_SsiteAddr         =   m_Query->FieldValues["SsiteAddr"];
    m_SsiteLinkman      =   m_Query->FieldValues["SsiteLinkman"];
    m_SsiteTel          =   m_Query->FieldValues["SsiteTel"];
    m_SsiteFax          =   m_Query->FieldValues["SsiteFax"];
    m_SsiteZip          =   m_Query->FieldValues["SsiteZip"];
    m_SsiteEmail        =   m_Query->FieldValues["SsiteEmail"];
    m_SsiteTransMode =   m_Query->FieldValues["SsiteTransMode"];

    BackupValue();
}
//---------------------------------------------------------------------------

void TsdSsite::Assign(TsdSsite *p)
{
    this->SetActionID(p->CurStatus);
    this->m_SsiteCode           =   p->m_SsiteCode;
    this->m_SsiteClient =   p->m_SsiteClient;
    this->m_SsiteName           =   p->m_SsiteName;
    this->m_SsiteAddr           =   p->m_SsiteAddr;
    this->m_SsiteLinkman        =   p->m_SsiteLinkman;
    this->m_SsiteTel            =   p->m_SsiteTel;
    this->m_SsiteFax            =   p->m_SsiteFax;
    this->m_SsiteZip            =   p->m_SsiteZip;
    this->m_SsiteEmail          =   p->m_SsiteEmail;
    this->m_SsiteTransMode  =   p->m_SsiteTransMode;

    this->BackupValue();
}
//---------------------------------------------------------------------------

void TsdSsite::AssignValue()
{
    TsdSsite *p=(TsdSsite *)Records(CurRecNo);
    Assign(p);
}

//---------------------------------------------------------------------------

int TsdSsite::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();
      TsdSsite *p=new TsdSsite();
      SetActionID(1);
      p->Assign(this);
      AddRecord((void *)p,p->SsiteClient+p->SsiteCode);
      m_Query->Next();
    }
    MoveFirst();
  }
  m_Query->Close();
  return Count;
}
//---------------------------------------------------------------------------

bool TsdSsite::Find(AnsiString WhereStr)
{
  AnsiString m_SqlStr;
  if(WhereStr.IsEmpty()==true)
    throw Exception("查找表达式不能为空");
  m_SqlStr="SELECT * FROM SDSsite 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;
  }
}

//---------------------------------------------------------------------------

TsdSsite::~TsdSsite()
{
  try{
  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}

//====================================================================
//                           (TsdSaler)销售员资料
//===================================================================

void __fastcall TsdSaler::SetSalerCode(AnsiString value)
{
    if (value.IsEmpty() )
       throw Exception("销售员编码不能为空!");
    if(value.Length()>18)
      throw Exception("销售员编码长度不能大于18");
    if (value.UpperCase()!=m_SalerCode.UpperCase())
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT SalerCode FROM SDSaler WHERE SalerCODE='" +value+"'");
        m_Query->Open();
        if(m_Query->RecordCount>0)
        {
            m_Query->Close();
            throw Exception("销售员编码'"+value+"'已存在");
        }
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("Select usercode from sduser where usercode='"+value+"'");
        m_Query->Open();
        if(m_Query->RecordCount<=0)
        {
          m_Query->Close();
          throw Exception("操作员:'"+value+"'未定义");
        }
        m_Query->Close();
    }

⌨️ 快捷键说明

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