?? mir.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Mir.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDEdit"
#pragma link "SDComboBox"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmMir *frmMir;
//---------------------------------------------------------------------------
__fastcall TfrmMir::TfrmMir(TComponent* Owner)
: TRecBaseForm(Owner,euSdMir,"")
{
seMirGoods->Text="";
sgMir->RowCount=1;
lblMirGoodsName->Caption="";
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMir::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(AnsiString(S));
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::SetFieldValue(int Index,AnsiString Value)
{
WriteFieldValue(comServer,Index,Value);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::ClearControl(bool BringToNext)
{
if(BringToNext)
{
return;
}
deMirRDate->Text = g_sdCurDate;
seMirRQty->Text = "0";
seMirGQty->Text = "0";
deMirDate->Text = g_sdCurDate;
scMirPlanner->Text = "";
scMirPlanner->LocateKey(g_sdUserCode);
memMirDesc->Text = "";
chkMirCheck->Checked = false;
seMirChecker->Text = "";
deMirCheckDate->Text = "";
lblMirSysDate->Caption = "";
//新增,工具欄使能
SetCheckToolbarStatus(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::GetDataFromComObject()
{
deMirRDate->Text = GetFieldValue(fiMirRDate);
sgMir->LocateGrid(1,GetFieldValue(fiMirRDate));
seMirRQty->Text = GetFieldValue(fiMirRQty);
seMirGQty->Text = GetFieldValue(fiMirGQty);
deMirDate->Text = GetFieldValue(fiMirDate);
chkMirCheck->Checked = GetFieldValue(fiMirCheck)=="1";
seMirChecker->Text = GetFieldValue(fiMirChecker);
deMirCheckDate->Text = GetFieldValue(fiMirCheckDate);
scMirPlanner->LocateKey(GetFieldValue(fiMirPlanner));
memMirDesc->Text = GetFieldValue(fiMirDesc);
lblMirSysDate->Caption = GetFieldValue(fiMirSysDate);
//根據審核、取消狀態,設置工具欄
if(GetFieldValue(fiMirCheck)=="1")
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::SendDataToComObject()
{
SetFieldValue(fiMirGoods,seMirGoods->Text);
SetFieldValue(fiMirRDate,deMirRDate->Text);
if(seMirRQty->Text == "")
throw Exception("請輸入需求數量");
SetFieldValue(fiMirRQty,seMirRQty->Text);
if(seMirGQty->Text == "")
throw Exception("請輸入生成數量");
SetFieldValue(fiMirGQty,seMirGQty->Text);
SetFieldValue(fiMirDate,deMirDate->Text);
SetFieldValue(fiMirPlanner,scMirPlanner->ItemData[1]);
SetFieldValue(fiMirDesc,memMirDesc->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::WaitUserInput()
{
deMirRDate->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMir::GetDataToGrid()
{
AnsiString s;
s = GetFieldValue(fiMirRDate);
s = s + "\t" + GetFieldValue(fiMirRQty);
s = s + "\t" + GetFieldValue(fiMirGQty);
s = s + "\t" + GetFieldValue(fiMirPlanner);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0)
{
sgMir->AddItem(ItemStr);
}
else if(mAction == 1)
{
int i = sgMir->Row;
sgMir->ChangeItem(ItemStr,i);
}
else if(mAction == 2)
{
sgMir->RemoveItem(sgMir->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgMir->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgMir->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgMir,sgMir->Name);
ClientGroup->AddComponent(2,true,true,false, FloatPanel2,FloatPanel2->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,true, seMirGQty,seMirGQty->Name);
ClientGroup->AddComponent(2,true,true,true, gbCheck,gbCheck->Name);
FillComboBox(scMirPlanner,"select PlannerCode,Username from sdPlanner,sdUser where UserCode=PlannerCode order by PlannerCode ","UserName","PlannerCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::FormShow(TObject *Sender)
{
ClearControl(false);
seMirGoods->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::sgMirClick(TObject *Sender)
{
int ARow=sgMir->Row;
if (ARow > 0)
{
AnsiString sFilter;
sFilter=seMirGoods->Text;
sFilter+=Trim(sgMir->TextMatrix[ARow][1]);;
comServer->LocateByKey(WideString(sFilter));
}
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::FiltGoods()
{
AnsiString s;
if(Trim(seMirGoods->Text) == "")
return;
s=Trim(seMirGoods->Text);
s=" MirGoods='"+s+"'";
comServer->FilterString = WideString(s);
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::deMirRDateKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
AnsiString sFilter;
sFilter=seMirGoods->Text;
sFilter+=deMirRDate->Text;
comServer->LocateByKey(WideString(sFilter));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::seMirGoodsExit(TObject *Sender)
{
if(seMirGoods->Text!="")
{
if(g_sdRsGoods->LocateByKey(WideString(seMirGoods->Text))==0)
{
lblMirGoodsName->Caption=GetGoodsValue("GoodsName");
if(CurrentState!=caNormal)
FiltGoods();
}
else
MessageDlg("貨物編碼:'"+seMirGoods->Text+"'不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::seMirGoodsButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="004[物料編碼][物料名稱][計量單位][批量]";
SqlStr+="Select GoodsCode,GoodsName,GoodsUnitCode,GoodsEoq from sdGoods where GoodsState=2 and GoodsCancel=0 order by GoodsCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查詢,請稍候...");
p=new TfrmWnQuery(this,"物料數據查詢",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seMirGoods->Text=p->ColData[1];
lblMirGoodsName->Caption = p->ColData[2];
FiltGoods();
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::muAddDetailClick(TObject *Sender)
{
comServer->CurStatus;
TRecBaseForm::AddDetailRecord();
comServer->CurStatus;
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -