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

📄 client.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Client.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma link "DateEdit"
#pragma resource "*.dfm"

TfrmClient *frmClient;

//---------------------------------------------------------------------------
AnsiString __fastcall TfrmClient::GetFieldValue(int FieldIndex)
{
    WideString S;
    S   =   ReadFieldValue(comServer,FieldIndex);
    return(S);
}

//---------------------------------------------------------------------------
__fastcall TfrmClient::TfrmClient(TComponent* Owner)
        : TRecBaseForm(Owner,euSdClient,"")
{
// AutoCtl=seClientCode;
}

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

void __fastcall TfrmClient::ClearControl(bool BringToNext)
{
        if (!BringToNext)
        {
         seClientCode->Text       ="";
         seClientName->Text       ="";
         seClientDesc->Text       ="";
         scClientType->ItemIndex  =-1;
         chkClientCancel->Checked =false;
         seClientLegalMan->Text   ="";
         seClientLinkMan->Text    ="";
         seClientAddr->Text       ="";
         seClientZip->Text        ="";
         seClientTel->Text        ="";
         seClientFax->Text        ="";
         seClientEmail->Text      ="";
         seClientCurrency->Text="";
         scClientTradeCode->ItemIndex=-1;
         scClientSalerCode->ItemIndex=-1;
         scClientTaxCode->ItemIndex=-1;
         seClientTaxNo->Text      ="";
         scClientSmodeCode->ItemIndex=-1;
         lbClientAreaCode->Caption="";
         cbClientCreditCode->ItemIndex=-1;
         lbClientFreq->Caption    ="0";
         deClientCreateDate->Text =g_sdCurDate;
         lbClientCancelDate->Caption ="";
         lbClientArAmt->Caption   ="0";
         seClientCreditTerm->Text ="30";
         deClientLtDate->Caption  ="";
         lbClientLtAmt->Caption   ="0";
         deClientLrDate->Caption  ="";
         lbClientLrAmt->Caption   ="0";
         scClientSpt->ItemIndex   =-1;
         deClientSysDate->Caption =g_sdCurDate;
         lbClientLmDays->Caption     ="0";
        }
        ClientInfo->ActivePage =BaseInfo;
}

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

void __fastcall TfrmClient::GetDataFromComObject()
{
        WideString S;

      seClientCode->Text       =GetFieldValue(fiClientCode);
      seClientCurrency->LocateKey(GetFieldValue(fiClientCurrency));
      seClientName->Text       =GetFieldValue(fiClientName);
      seClientDesc->Text       =GetFieldValue(fiClientDesc);
      scClientType->LocateKey(GetFieldValue(fiClientType));
      chkClientCancel->Checked =GetFieldValue(fiClientCancel)=="1";
      seClientLegalMan->Text   =GetFieldValue(fiClientLegalman);
      seClientLinkMan->Text    =GetFieldValue(fiClientLinkman);
      seClientAddr->Text       =GetFieldValue(fiClientAddr);
      seClientZip->Text        =GetFieldValue(fiClientZip);
      seClientTel->Text        =GetFieldValue(fiClientTel);
      seClientFax->Text        =GetFieldValue(fiClientFax);
      seClientEmail->Text      =GetFieldValue(fiClientEmail);
      scClientTradeCode->LocateKey(GetFieldValue(fiClientTrade));
      scClientSalerCode->LocateKey(GetFieldValue(fiClientSaler));
      scClientTaxCode->LocateKey(GetFieldValue(fiClientTaxCode));
      seClientTaxNo->Text      =GetFieldValue(fiClientTaxNo);
      scClientSmodeCode->LocateKey(GetFieldValue(fiClientSmode));
      lbClientAreaCode->Caption =GetFieldValue(fiClientArea);
      cbClientCreditCode->LocateKey(GetFieldValue(fiClientCredit));
      lbClientFreq->Caption     =GetFieldValue(fiClientFreq);
      deClientCreateDate->Text =GetFieldValue(fiClientCreateDate);
      lbClientCancelDate->Caption =GetFieldValue(fiClientCancelDate);
      lbClientArAmt->Caption   =GetFieldValue(fiClientArAmt);
      seClientCreditTerm->Text =GetFieldValue(fiClientCreditTerm);
      deClientLtDate->Caption  =GetFieldValue(fiClientLtDate);
      lbClientLtAmt->Caption   =GetFieldValue(fiClientLtAmt);
      deClientLrDate->Caption  =GetFieldValue(fiClientLrDate);
      lbClientLrAmt->Caption   =GetFieldValue(fiClientLrAmt);
      scClientSpt->LocateKey(GetFieldValue(fiClientSpt));
      deClientSysDate->Caption =GetFieldValue(fiClientSysDate);
      lbClientLmDays->Caption  =GetFieldValue(fiClientLmDays);
      TreeViewLocation();
}

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

void __fastcall TfrmClient::SendDataToComObject()
{
          AnsiString m;
          WriteFieldValue(comServer,fiClientCode,      seClientCode->Text       );
          WriteFieldValue(comServer,fiClientName,      seClientName->Text       );
          WriteFieldValue(comServer,fiClientType,      scClientType->ItemData[cbItem2]);
          // 如果是增加状态
          if( CurrentState == caAddDetail)
             {
               m=tvClient->Selected->Text;
               m = m.SubString(2,m.AnsiPos(")")-2);
               WriteFieldValue(comServer,fiClientArea,WideString(m));
             }
          WriteFieldValue(comServer,fiClientDesc,      seClientDesc->Text       );
          WriteFieldValue(comServer,fiClientCancel,    chkClientCancel->Checked?"1":"0" );
          WriteFieldValue(comServer,fiClientLegalman,  seClientLegalMan->Text   );
          WriteFieldValue(comServer,fiClientLinkman,   seClientLinkMan->Text    );
          WriteFieldValue(comServer,fiClientAddr,      seClientAddr->Text       );
          WriteFieldValue(comServer,fiClientZip,       seClientZip->Text        );
          WriteFieldValue(comServer,fiClientTel,       seClientTel->Text        );
          WriteFieldValue(comServer,fiClientFax,       seClientFax->Text        );
          WriteFieldValue(comServer,fiClientEmail,     seClientEmail->Text      );
          WriteFieldValue(comServer,fiClientTrade,     scClientTradeCode->ItemData[cbItem2]);
          WriteFieldValue(comServer,fiClientSaler,     scClientSalerCode->ItemData[cbItem2]);
          WriteFieldValue(comServer,fiClientTaxCode,   scClientTaxCode->ItemData[cbItem2]);
          if(!scClientTaxCode->Text.IsEmpty()&&seClientTaxNo->Text.IsEmpty())
             throw Exception("税务号不能为空");
          WriteFieldValue(comServer,fiClientTaxNo,     seClientTaxNo->Text      );
          WriteFieldValue(comServer,fiClientSmode,     scClientSmodeCode->ItemData[cbItem2]);
          WriteFieldValue(comServer,fiClientCredit,    cbClientCreditCode->ItemData[cbItem2]);
    //      WriteFieldValue(comServer,fiClientFreq,      lbClientFreq->Caption    );
          WriteFieldValue(comServer,fiClientCreateDate,deClientCreateDate->Text);
          WriteFieldValue(comServer,fiClientCancelDate,lbClientCancelDate->Caption);
//          WriteFieldValue(comServer,fiClientArAmt,     seClientArAmt->Text      );
          WriteFieldValue(comServer,fiClientCreditTerm,seClientCreditTerm->Text );
//          WriteFieldValue(comServer,fiClientLtDate,    deClientLtDate->e));
//          WriteFieldValue(comServer,fiClientLtAmt,     lbClientLtAmt->Caption   );
//          WriteFieldValue(comServer,fiClientLrDate,    g_sdCurDate);
  //        WriteFieldValue(comServer,fiClientLrAmt,     lbClientLrAmt->Caption   );
          WriteFieldValue(comServer,fiClientSpt,       scClientSpt->ItemData[cbItem2]);
//          WriteFieldValue(comServer,fiClientLmDays,    lbClientLmDays->Caption  );

}

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

void __fastcall TfrmClient::WaitUserInput()
{
       if(seClientCode->Enabled)
        seClientCode->SetFocus();
}

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

void __fastcall TfrmClient::RefreshGridData(int mAction)
{

    AnsiString  TempText;
    TTreeNode   *TempNode;

    // 新增
    if (mAction == 0)
    {
        if(tvClient->Selected)
        {
            if (tvClient->Selected->StateIndex == 1)
            {
                ShowMessage("当前选择的不是分类节点,不能进行增加操作.");
                return;
            }
            TempText = "(" + GetFieldValue(fiClientCode)
                + ")" + GetFieldValue(fiClientName);
            TempNode = tvClient->Selected;
            TempNode = tvClient->Items->AddChild(TempNode,TempText);

            TempNode->StateIndex = 1;
            TempNode->Text = TempText;
        }
    }

    // 修改
    else if(mAction ==  1)
    {
        if(tvClient->Selected)
        {
            if (tvClient->Selected->StateIndex == 0)
            {
                ShowMessage("当前选择的是分类节点,不能进行修改操作.");
                return;
            }
            TempNode=tvClient->Selected;
            TempNode->StateIndex = 1;
            TempNode->Text = "(" + GetFieldValue(fiClientCode) + ")" + GetFieldValue(fiClientName);
        }
    }
    // 删除
    else if(mAction ==  2)
    {
        if (tvClient->Selected->StateIndex == 0)
        {
            ShowMessage("当前选择的是分类节点,不能进行删除操作.");
            return;
        }
        tvClient->Items->Delete(tvClient->Selected);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmClient::FillTreeWithPtype()

{
     TTreeNode *TempNode[7];
     int mLevel;
     TComResultSet *RsArea=NewResultSet();

     tvClient->Items->Clear();
     TempNode[0]=tvClient->Items->Add(NULL,"所有的客户");
    try{
     RsArea->Open("select AreaCode,AreaName,AreaLevel from sdArea order by AreaCode","AreaCode");
     RsArea->MoveFirst();
     while( RsArea->Eof == 0 )
     {
        mLevel=RsArea->FieldByName("AreaLevel").ToInt();
        TempNode[mLevel] = tvClient->Items->AddChild(TempNode[mLevel-1],"(" + RsArea->FieldByName("AreaCode") + ")" +RsArea->FieldByName("AreaName"));
        TempNode[mLevel]->StateIndex = 0;
        TempNode[mLevel]->Text= "(" + RsArea->FieldByName("AreaCode") + ")"+RsArea->FieldByName("AreaName");
        RsArea->MoveNext();
     }
     RsArea->Close();
     delete RsArea;
     if (tvClient->Items->Count > 0)
         tvClient->FullExpand();
    }
    catch(...)
    {
      throw Exception("在插入地区资料时出错!");
    }
}

//---------------------------------------------------------------------------
void __fastcall TfrmClient::FillGridWithData()
{

     FillTreeWithPtype();

     TTreeNode *TempNode;
   try
   {
     comServer->MoveFirst();
     while (comServer->Eof == 0)
     {
        AnsiString s,m;
        s = GetFieldValue(fiClientArea);
        for(int i = 1 ; i < tvClient->Items->Count ; i ++)
        {
            m = tvClient->Items->Item[i]->Text;
            m = m.SubString(2,m.AnsiPos(")")-2);

⌨️ 快捷键说明

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