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

📄 pmdoc.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        m_StoredProc->Parameters->CreateParameter("@PmodeDesc",ftString,pdInput,40,m_PmodeDesc);
 
        m_StoredProc->ExecProc();
    }
    else
    {
        m_StoredProc->ProcedureName="sdPmode_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_PmodeCode",ftString,pdInput,18,b_PmodeCode);
        m_StoredProc->Parameters->CreateParameter("@PmodeCode",ftString,pdInput,18,m_PmodeCode);
        m_StoredProc->Parameters->CreateParameter("@PmodeName",ftString,pdInput,20,m_PmodeName);
        m_StoredProc->Parameters->CreateParameter("@PmodeDesc",ftString,pdInput,40,m_PmodeDesc);
 
       m_StoredProc->ExecProc();
    }
    TsdPmode *p=new TsdPmode(  );
    if(CurStatus==2) {
        SetActionID(1);  // for browsing only
        p->Assign(this);
        AddRecord((void *)p,p->PmodeCode);
    }
    else {
        SetActionID(1);  // for browsing only
        p->Assign(this);
        ChangeRecord((void *)p,p->PmodeCode,this->b_PmodeCode);
    }
}


void TsdPmode::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_PmodeCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdPmode_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_PmodeCode",ftString,pdInput,18,b_PmodeCode);
    m_StoredProc->ExecProc();
    DeleteRecord(this->b_PmodeCode);

}

void TsdPmode::BackupValue()
{
    b_PmodeCode=m_PmodeCode;
    b_PmodeName=m_PmodeName;
    b_PmodeDesc=m_PmodeDesc;
}

void TsdPmode::RestoreValue()
{
    m_PmodeCode=b_PmodeCode;
    m_PmodeName=b_PmodeName;
    m_PmodeDesc=b_PmodeDesc;
}

void TsdPmode::EmptyValue(int Index)
{
   switch(Index)
   {
   case 0:
      m_PmodeCode="";
      m_PmodeName="";
      m_PmodeDesc="";
      break;
   case 1:
      b_PmodeCode="";
      b_PmodeName="";
      b_PmodeDesc="";
      break;
    }
}


void TsdPmode::BatchLetValue()
{
    m_PmodeCode=m_Query->FieldValues["PmodeCode"];
    m_PmodeName=m_Query->FieldValues["PmodeName"];
    m_PmodeDesc=m_Query->FieldValues["PmodeDesc"];

    BackupValue();
}

void TsdPmode::Assign(TsdPmode *p)
{
    this->SetActionID(p->CurStatus);
    this->m_PmodeCode=p->m_PmodeCode;
    this->m_PmodeName=p->m_PmodeName;
    this->m_PmodeDesc=p->m_PmodeDesc;
    this->BackupValue();
}

void TsdPmode::AssignValue()
{
    TsdPmode *p=(TsdPmode *)Records(CurRecNo);
    this->SetActionID(p->CurStatus);
    this->m_PmodeCode=p->m_PmodeCode;
    this->m_PmodeName=p->m_PmodeName;
    this->m_PmodeDesc=p->m_PmodeDesc;
    this->BackupValue();
}

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

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

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


//////////////////////////////////////////////////////
////////(TsdBuyer)采购员资料维护//////////////////////
//////////////////////////////////////////////////////
void __fastcall TsdBuyer::SetBuyerCode(AnsiString value)
{
    if (value.IsEmpty() )
       throw Exception("采购员编码不能为空!");
    if(value.Length()>18)
      throw Exception("编码长度不能大于18");
    if (value.UpperCase()!=m_BuyerCode.UpperCase())
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT BuyerCode FROM SDBuyer WHERE BuyerCODE='" +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<1)
        {
            m_Query->Close();
            throw Exception("采购员'"+value+"'不是合法的系统用户");
        }
        m_Query->Close();
    }
    m_BuyerCode = value;
}

void __fastcall TsdBuyer::SetBuyerCheck(int value)
{
    if(value!=0&&value!=1)
      throw Exception("审核标志只能取值0-无审核权限1-有审核权限");
    m_BuyerCheck = value;
}

void __fastcall TsdBuyer::SetBuyerName(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("采购员名称不能为空");
    if(value.Length()>20)
      throw Exception("采购员名称长度不能大于20");
    if (value!=m_BuyerName)
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT BuyerName FROM SDBuyer WHERE BuyerName='" +value+"'");
        m_Query->Open();
        if(m_Query->RecordCount>0)
        {
            m_Query->Close();
            throw Exception("采购员名称'"+value+"'已定义");
        }
        m_Query->Close();
    }
    m_BuyerName = value;
}
void __fastcall TsdBuyer::SetBuyerTel(AnsiString value)
{
    if(value.Length()>20)
      throw Exception("电话长度不能大于20");
    m_BuyerTel = value;
}
void __fastcall TsdBuyer::SetBuyerBeepPager(AnsiString value)
{
    if(value.Length()>20)
      throw Exception("呼机长度不能大于20");
    m_BuyerBeepPager = value;
}
void __fastcall TsdBuyer::SetBuyerStop(int value)
{
    if(value!=0&&value!=1)
      throw Exception("中止权限只能取值0-无权限,1-有权限");
    m_BuyerStop = value;
}

void __fastcall TsdBuyer::SetBuyerCancel(int value)
{
    if(value!=0&&value!=1)
      throw Exception("取消权限只能取值0-无权限1-有权限");
    m_BuyerCancel = value;
}

void __fastcall TsdBuyer::SetBuyerClose(int value)
{
    if(value!=0&&value!=1)
      throw Exception("结清权限只能取值0-无权限1-有权限");
    m_BuyerClose = value;
}

void __fastcall TsdBuyer::SetBuyerPost(int value)
{
    if(value!=0&&value!=1)
      throw Exception("记帐权限只能取值0-无权限1-有权限");
    m_BuyerPost = value;
}

TsdBuyer::TsdBuyer(TDataComm *DC)
                :TsdStandard(DC)
{
    try
    {
        QueryString="SELECT * FROM SDBuyer";
        FilterString="";
        OrderString="BuyerCODE";
        EmptyValue(0);
        EmptyValue(1);
    }
    catch(Exception &e)
    {
        throw Exception("构造函数出错");
    }
}
TsdBuyer::TsdBuyer()
                :TsdStandard()
{
    try
    {
        QueryString="SELECT * FROM SDBuyer";
        FilterString="";
        OrderString="BuyerCODE";
        EmptyValue(0);
        EmptyValue(1);
    }
    catch(Exception &e)
    {
        throw Exception("构造函数出错");
    }
}

AnsiString TsdBuyer::GetFieldValue(euBuyer sdFieldName)
{
    switch(sdFieldName)
    {
      case fiBuyerCode:
        return BuyerCode;
      case fiBuyerName:
        return BuyerName;
      case fiBuyerTel:
        return BuyerTel;
      case fiBuyerBeepPager:
        return BuyerBeepPager;
      case fiBuyerCheck:
        return AnsiString(BuyerCheck);
      case fiBuyerStop:
        return AnsiString(BuyerStop);
      case fiBuyerCancel:
        return AnsiString(BuyerCancel);
      case fiBuyerClose:
        return AnsiString(BuyerClose);
      case fiBuyerPost:
        return AnsiString(BuyerPost);
      default:
        throw Exception("当前未定义可取值");
    }
}

void TsdBuyer::SetFieldValue(euBuyer sdFieldName, AnsiString Value)
{
    switch(sdFieldName)
    {
    case fiBuyerCode:
        BuyerCode   =   Value;
        break;
    case fiBuyerName:
        BuyerName   =   Value;
        break;
    case fiBuyerTel:
        BuyerTel   =   Value;
        break;
    case fiBuyerBeepPager:
        BuyerBeepPager   =   Value;
        break;
    case fiBuyerCheck:
        BuyerCheck  =   Value.ToInt();
        break;
    case fiBuyerStop:
        BuyerStop   =   Value.ToInt();
        break;
    case fiBuyerCancel:
        BuyerCancel =   Value.ToInt();
        break;
    case fiBuyerClose:
        BuyerClose =   Value.ToInt();
        break;
    case fiBuyerPost:
        BuyerPost   =   Value.ToInt();
        break;
    default:
        throw Exception("当前字段未定义可赋值");
    }
}

void TsdBuyer::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_BuyerCode.IsEmpty()==true)
        throw Exception("采购员编码不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
    {
        m_StoredProc->ProcedureName="sdBuyer_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@BuyerCode",ftString,pdInput,18,m_BuyerCode);
        m_StoredProc->Parameters->CreateParameter("@BuyerName",ftString,pdInput,20,m_BuyerName);
        m_StoredProc->Parameters->CreateParameter("@BuyerCheck",ftInteger,pdInput,1,m_BuyerCheck);
        m_StoredProc->Parameters->CreateParameter("@BuyerStop",ftInteger,pdInput,1,m_BuyerStop);
        m_StoredProc->Parameters->CreateParameter("@BuyerCancel",ftInteger,pdInput,1,m_BuyerCancel);
        m_StoredProc->Parameters->CreateParameter("@BuyerClose",ftInteger,pdInput,1,m_BuyerClose);
        m_StoredProc->Parameters->CreateParameter("@BuyerPost",ftInteger,pdInput,1,m_BuyerPost);
        m_StoredProc->Parameters->CreateParameter("@BuyerTel",ftString,pdInput,20,m_BuyerTel);
        m_StoredProc->Parameters->CreateParameter("@BuyerBeepPager",ftString,pdInput,20,m_BuyerBeepPager);
 
        m_StoredProc->ExecProc();
    }
    else
    {
        m_StoredProc->ProcedureName="sdBuyer_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_BuyerCode",ftString,pdInput,18,b_BuyerCode);
        m_StoredProc->Parameters->CreateParameter("@BuyerCode",ftString,pdInput,18,m_BuyerCode);
        m_StoredProc->Parameters->CreateParameter("@BuyerName",ftString,pdInput,20,m_BuyerName);
        m_StoredProc->Parameters->CreateParameter("@BuyerCheck",ftInteger,pdInput,1,m_BuyerCheck);
        m_StoredProc->Parameters->CreateParameter("@BuyerStop",ftInteger,pdInput,1,m_BuyerStop);
        m_StoredProc->Parameters->CreateParameter("@BuyerCancel",ftInteger,pdInput,1,m_BuyerCancel);
        m_StoredProc->Parameters->CreateParameter("@BuyerClose",ftInteger,pdInput,1,m_BuyerClose);
        m_StoredProc->Parameters->CreateParameter("@BuyerPost",ftInteger,pdInput,1,m_BuyerPost);
        m_StoredProc->Parameters->CreateParameter("@BuyerTel",ftString,pdInput,20,m_BuyerTel);
        m_StoredProc->Parameters->CreateParameter("@BuyerBeepPager",ftString,pdInput,20,m_BuyerBeepPager);

       m_StoredProc->ExecProc();
    }
    TsdBuyer *p=new TsdBuyer(  );
    if(CurStatus==2) {
        SetActionID(1);  // for browsing only
        p->Assign(this);
        AddRecord((void *)p,p->BuyerCode);
    }
    else {
        SetActionID(1);  // for browsing only
        p->Assign(this);
        ChangeRecord((void *)p,p->BuyerCode,this->b_BuyerCode);
    }
}

void TsdBuyer::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");

⌨️ 快捷键说明

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