📄 cts.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Cts.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmCts *frmCts;
//---------------------------------------------------------------------------
__fastcall TfrmCts::TfrmCts(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmCts::GetDataToGrid()
{
AnsiString ItemStr;
ItemStr = GetFieldValue("CtsCode")+
"\t" +GetFieldValue("CtsCac")+
"\t" +GetFieldValue("CtsAAmt")+
"\t" +GetFieldValue("CtsTAmt");
return (ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,false,false,false,seCtsCode,seCtsCode->Name);
ClientGroup->AddComponent(2,true,true,true,seCtsAAmt,seCtsAAmt->Name);
ClientGroup->AddComponent(2,true,true,false,sgCts,sgCts->Name);
FillComboBox(Handle,scCtsCac,"select memo=CacCode+space(2)+GlkmName,CacCode from sdcac,sdGlkm where CacGlkm=GlkmCode order by CacCode",
"memo","CacCode");
FillComboBox(Handle,scCtsUser,"select UserName,UserCode from sdUser,sdCashier where CashierCode=UserCode order by UserCode",
"UserName","UserCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
AnsiString KeyCode;
switch(MsgSrc)
{
case euSdCac:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scCtsCac->ItemData[1];
FillComboBox(Handle,scCtsCac,"select memo=CacCode+space(2)+GlkmName,CacCode from sdCac,sdGlkm where CacGlkm=GlkmCode order by CacCode",
"memo","CacCode");
scCtsCac->LocateKey(KeyCode);
}
break;
case euSdUser:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scCtsUser->ItemData[1];
FillComboBox(Handle,scCtsUser,"select UserName,UserCode from sdUser,sdCashier where CashierCode=UserCode order by UserCode",
"UserName","UserCode");
scCtsUser->LocateKey(KeyCode);
}
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seCtsCode->Text = "";
deCtsDate->Text = g_sdCurDate;
scCtsCac->ItemIndex=-1;
seCtsAAmt->Text = "0"; //帐面金额
seCtsTAmt->Text = "0"; //盘点金额
seCts100yQty->Text = "0"; //100元数量
seCts50yQty->Text = "0"; //50元数量
seCts20yQty->Text = "0"; //20元数量
seCts10yQty->Text = "0"; //10元数量
seCts5yQty->Text = "0"; //5元数量
seCts2yQty->Text = "0"; //2元数量
seCts1yQty->Text = "0"; //1元数量
seCts5jQty->Text = "0"; //5角数量
seCts2jQty->Text = "0"; //2角数量
seCts1jQty->Text = "0"; //1角数量
seCts5fQty->Text = "0"; //5分数量
seCts2fQty->Text = "0"; //2分数量
seCts1fQty->Text = "0"; //1分数量
scCtsUser->LocateKey(g_sdUserCode);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::WaitUserInput()
{
seCtsCode->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::GetDataFromComObject()
{
seCtsCode->Text = GetFieldValue("CtsCode");
sgCts->LocateGrid(0,seCtsCode->Text);
deCtsDate->Text = GetFieldValue("CtsDate");
scCtsCac->LocateKey(GetFieldValue("CtsCac"));
seCtsAAmt->Text = GetFieldValue("CtsAAmt");
seCtsTAmt->Text = GetFieldValue("CtsTAmt");
seCts100yQty->Text= GetFieldValue("Cts100yQty");
seCts50yQty->Text = GetFieldValue("Cts50yQty");
seCts20yQty->Text = GetFieldValue("Cts20yQty");
seCts10yQty->Text = GetFieldValue("Cts10yQty");
seCts5yQty->Text = GetFieldValue("Cts5yQty");
seCts2yQty->Text = GetFieldValue("Cts2yQty");
seCts1yQty->Text = GetFieldValue("Cts1yQty");
seCts5jQty->Text = GetFieldValue("Cts5jQty");
seCts2jQty->Text = GetFieldValue("Cts2jQty");
seCts1jQty->Text = GetFieldValue("Cts1jQty");
seCts5fQty->Text = GetFieldValue("Cts5fQty");
seCts2fQty->Text = GetFieldValue("Cts2fQty");
seCts1fQty->Text = GetFieldValue("Cts1fQty");
scCtsUser->LocateKey(GetFieldValue("CtsUser"));
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::SendDataToComObject()
{
AutoCalculation();
SetFieldValue("CtsCode",seCtsCode->Text);
SetFieldValue("CtsDate",deCtsDate->Text);
SetFieldValue("CtsCac",scCtsCac->ItemData[1]);
SetFieldValue("CtsAAmt",seCtsAAmt->Text); //帐面金额
SetFieldValue("CtsTAmt",seCtsTAmt->Text); //盘点金额
SetFieldValue("Cts100yQty",seCts100yQty->Text); //100元数量
SetFieldValue("Cts50yQty",seCts50yQty->Text); //50元数量
SetFieldValue("Cts20yQty",seCts20yQty->Text); //20元数量
SetFieldValue("Cts10yQty",seCts10yQty->Text); //10元数量
SetFieldValue("Cts5yQty",seCts5yQty->Text); //5元数量
SetFieldValue("Cts2yQty",seCts2yQty->Text); //2元数量
SetFieldValue("Cts1yQty",seCts1yQty->Text); //1元数量
SetFieldValue("Cts5jQty",seCts5jQty->Text); //5角数量
SetFieldValue("Cts2jQty",seCts2jQty->Text); //2角数量
SetFieldValue("Cts1jQty",seCts1jQty->Text); //1角数量
SetFieldValue("Cts5fQty",seCts5fQty->Text); //5分数量
SetFieldValue("Cts2fQty",seCts2fQty->Text); //2分数量
SetFieldValue("Cts1fQty",seCts1fQty->Text); //1分数量
SetFieldValue("CtsUser",scCtsUser->ItemData[1]); //操作员
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::RefreshGridData(int mAction)
{
AnsiString sGridItem;
sGridItem=GetDataToGrid();
int i;
switch(mAction)
{
case 0: //新增
sgCts->AddItem(sGridItem);
break;
case 1: //修改
i = sgCts->Row;
sgCts->ChangeItem(sGridItem,i);
break;
case 2: //删除
sgCts->RemoveItem(sgCts->Row);
};
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgCts->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgCts->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::AutoCalculation()
{
double CountAmt;
CountAmt=0;
if(seCts100yQty->Text!= "")
CountAmt+=StrToIntDef(seCts100yQty->Text,0)*100;
if(seCts50yQty->Text!= "")
CountAmt+=StrToIntDef(seCts50yQty->Text,0)*50;
if(seCts20yQty->Text!= "")
CountAmt+=StrToIntDef(seCts20yQty->Text,0)*20;
if(seCts10yQty->Text!= "")
CountAmt+=StrToIntDef(seCts10yQty->Text,0)*10;
if(seCts5yQty->Text!= "")
CountAmt+=StrToIntDef(seCts5yQty->Text,0)*5;
if(seCts2yQty->Text!= "")
CountAmt+=StrToIntDef(seCts2yQty->Text,0)*2;
if(seCts1yQty->Text!= "")
CountAmt+=StrToIntDef(seCts1yQty->Text,0)*1;
if(seCts5jQty->Text!= "")
CountAmt+=StrToIntDef(seCts5jQty->Text,0)*0.5;
if(seCts2jQty->Text!= "")
CountAmt+=StrToIntDef(seCts2jQty->Text,0)*0.2;
if(seCts1jQty->Text!= "")
CountAmt+=StrToIntDef(seCts1jQty->Text,0)*0.1;
if(seCts5fQty->Text!= "")
CountAmt+=StrToIntDef(seCts5fQty->Text,0)*0.05;
if(seCts2fQty->Text!= "")
CountAmt+=StrToIntDef(seCts2fQty->Text,0)*0.02;
if(seCts1fQty->Text!= "")
CountAmt+=StrToIntDef(seCts1fQty->Text,0)*0.01;
seCtsTAmt->Text=FloatToStr(CountAmt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::sgCtsClick(TObject *Sender)
{
int ARow;
ARow=sgCts->Row;
if(ARow > 0)
comServer->LocateByKey(sgCts->TextMatrix[ARow][0]);
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCtsCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(seCtsCode->Text);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts100yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts100yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts50yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts50yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts20yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts20yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts10yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts10yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts5yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts5yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts2yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts2yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts1yQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts1yQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts5jQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts5jQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts2jQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts2jQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts1jQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts1jQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts5fQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts5fQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts2fQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts2fQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::seCts1fQtyExit(TObject *Sender)
{
if(CurrentState==caNormal || Trim(seCts1fQty->Text)=="0")
return;
AutoCalculation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCts::scCtsCacClick(TObject *Sender)
{
if(!CurrentState==caNormal)
{
AnsiString tCacCode;
tCacCode=scCtsCac->ItemData[1];
if(!tCacCode.IsEmpty())
{
TComResultSet *RstCac;
RstCac=new TComResultSet(Handle,g_ClientHandle);
RstCac->Open("select CacBalance from sdCac where CacCode='"+tCacCode+"' order by CacCode","");
RstCac->MoveFirst();
if(!RstCac->Eof)
seCtsAAmt->Text=RstCac->FieldByName("CacBalance");
RstCac->Close();
delete RstCac;
}
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -