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

📄 cashier.cpp

📁 速达开源ERP系统
💻 CPP
字号:
///////////////////////////////////
//       仓管员资料              //
//          panner   2000/8/15   //
///////////////////////////////////
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Cashier.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmCashier *frmCashier;
//---------------------------------------------------------------------------
__fastcall TfrmCashier::TfrmCashier(TComponent* Owner)
        : TRecBaseForm(Owner,euSdCashier,"")
{
}
//---------------------------------------------------------------------------


AnsiString __fastcall TfrmCashier::GetFieldValue(int FieldIndex)
{
  AnsiString S;
    S   =   ReadFieldValue(comServer,FieldIndex);
   return(S);
}


void __fastcall TfrmCashier::ClearControl(bool BringToNext)
{
   // BringToNext为真时,不清空
   if(BringToNext)
       return;

    seCashierCode->Text        =   "";
    seCashierName->Text        =   "";
    seCashierTel->Text        =   "";
    seCashierBeepPage->Text    =   "";
    cbCashierCheck->Checked   =   false;
    cbCashierPost->Checked    =   false;
    cbCashierCancel->Checked  =   false;
    cbCashierClose->Checked  =   false;

}


void __fastcall TfrmCashier::GetDataFromComObject()
{
    seCashierCode->LocateKey(GetFieldValue(fiCashierCode));
    seCashierCode->Text=seCashierCode->ItemData[1];
    seCashierName->Text=seCashierCode->ItemData[0];
    sgCashier->LocateGrid(1,GetFieldValue(fiCashierCode));
    seCashierTel->Text         =    GetFieldValue(fiCashierTel);
    seCashierBeepPage->Text    =    GetFieldValue(fiCashierBeepPage);
    cbCashierCheck->Checked    =   (GetFieldValue(fiCashierCheck) == "1"?true:false);
    cbCashierCancel->Checked   =   ( GetFieldValue(fiCashierCancel)==  "1"?true:false);
    cbCashierClose->Checked    =   ( GetFieldValue(fiCashierClose) ==  "1"?true:false);
    cbCashierPost->Checked     =   ( GetFieldValue(fiCashierPost)  ==  "1"?true:false);

}
void __fastcall TfrmCashier::SendDataToComObject()
{
    WriteFieldValue(comServer,fiCashierCode, seCashierCode->Text);
    WriteFieldValue(comServer,fiCashierTel, seCashierTel->Text);
    WriteFieldValue(comServer,fiCashierBeepPage, seCashierBeepPage->Text);
    WriteFieldValue(comServer,fiCashierCheck,(cbCashierCheck->Checked?"1":"0"));  // CashierCheck
    WriteFieldValue(comServer,fiCashierCancel,(cbCashierCancel->Checked?"1":"0")); // CashierCancel
    WriteFieldValue(comServer,fiCashierClose,(cbCashierClose->Checked?"1":"0"));// CashierSettle
    WriteFieldValue(comServer,fiCashierPost,(cbCashierPost->Checked?"1":"0"));  //CashierPost
}
void __fastcall TfrmCashier::WaitUserInput()
{
   if(seCashierCode->Enabled)
    seCashierCode->SetFocus();
}


AnsiString __fastcall TfrmCashier::GetDataToGrid()
{
    AnsiString  s;
    seCashierCode->LocateKey(GetFieldValue(fiCashierCode));
    s ="\t" + GetFieldValue(fiCashierCode)+
       "\t" + seCashierCode->ItemData[0]+
       "\t" +(GetFieldValue(fiCashierCheck) == "1"?"是":"否")+
       "\t" +(GetFieldValue(fiCashierPost) == "1"?"是":"否")+
       "\t" +(GetFieldValue(fiCashierCancel)== "1"?"是":"否")+
       "\t" +(GetFieldValue(fiCashierClose)== "1"?"是":"否");
   return(s);
}
void __fastcall TfrmCashier::RefreshGridData(int mAction)
{
   AnsiString ItemStr;

   ItemStr=GetDataToGrid();

   if(mAction==0)
    sgCashier->AddItem(ItemStr);

   else if(mAction==1)
   {
     int i   =   sgCashier->Row;
     sgCashier->ChangeItem(ItemStr,i);
   }
   else if(mAction==2)
   {
     sgCashier->RemoveItem(sgCashier->Row);
   }
}


void __fastcall TfrmCashier::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgCashier->RowCount    =   1;
    while (comServer->Eof   ==  0)
    {
        ItemStr =   GetDataToGrid();
        sgCashier->AddItem(ItemStr);
        comServer->MoveNext();
    }
}


void __fastcall TfrmCashier::InitEditControl()
{
     ClientGroup->AddComponent(2,true,true,false, sgCashier,sgCashier->Name);
     ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     ClientGroup->AddComponent(2,false,true,true, seCashierCode,seCashierCode->Name);
     FillEdit(seCashierCode,"select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
}
void __fastcall TfrmCashier::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------

void __fastcall TfrmCashier::sgCashierClick(TObject *Sender)
{
    int ARow=sgCashier->Row;
    if (ARow    >   0)
         comServer->LocateByKey(sgCashier->TextMatrix[ARow][1]);
    if (!comServer->Eof)
         GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::RefreshUpdateData(int MsgSrc,int MsgType)
{
  switch(MsgSrc)
  {
   case euSdUser:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillEdit(seCashierCode,"select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
    }
    break;
   default:
    break;
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmCashier::seCashierCodeButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    TfrmWnQuery *p;
    SqlStr="002[用户代码][用户名称]select usercode, username from sduser  order by usercode ";
    try{
     StartWaitForm("正在查询,请稍候...");
     p=new TfrmWnQuery(this,"用户查询",SqlStr);
    }
    __finally
    {
     EndWaitForm();
    }
    if(p->ShowModal()==mrOk)
    {
     seCashierCode->Text=p->ColData[1];
     seCashierName->Text=p->ColData[2];
    }
    delete p;

}
//---------------------------------------------------------------------------

void __fastcall TfrmCashier::seCashierCodeKeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{
    if(Key==13)
    {
      TComResultSet *TResultSet=NewResultSet();
      AnsiString SQL="select usercode, username from sduser ";
      try
      {
       TResultSet->Close();
       TResultSet->Open(SQL,"");
       if(TResultSet->RecordCount<1)
        throw  Exception("用户代码"+seCashierCode->Text+"'未定义");
       seCashierName->Text=TResultSet->FieldByName("Username");
       TResultSet->Close();
      }
      __finally
      {
       delete TResultSet;
      } 
    }

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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