📄 mir.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Mir.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmMir *frmMir;
//---------------------------------------------------------------------------
__fastcall TfrmMir::TfrmMir(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
IsUserCheck =true;
tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
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(Handle,scMirPlanner,"select PlannerCode,Username from sdPlanner,sdUser where UserCode=PlannerCode order by PlannerCode ","UserName","PlannerCode");
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMir::GetDataToGrid()
{
AnsiString s;
s = GetFieldValue("MirRDate");
s = s + "\t" + GetFieldValue("MirRQty");
s = s + "\t" + GetFieldValue("MirGQty");
s = s + "\t" + GetFieldValue("MirPlanner");
return(s);
}
//---------------------------------------------------------------------------
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("MirRDate");
seMirGoods->Text = GetFieldValue("MirGoods");
sgMir->LocateGrid(0,GetFieldValue("MirRDate"));
seMirRQty->Text = GetFieldValue("MirRQty");
seMirGQty->Text = GetFieldValue("MirGQty");
deMirDate->Text = GetFieldValue("MirDate");
chkMirCheck->Checked = GetFieldValue("MirCheck")=="1";
seMirChecker->Text = GetFieldValue("MirChecker");
deMirCheckDate->Text = GetFieldValue("MirCheckDate");
scMirPlanner->LocateKey(GetFieldValue("MirPlanner"));
memMirDesc->Text = GetFieldValue("MirDesc");
lblMirSysDate->Caption = GetFieldValue("MirSysDate");
//根据审核、取消状态,设置工具栏
if(GetFieldValue("MirCheck")=="1")
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::SendDataToComObject()
{
SetFieldValue("MirGoods",seMirGoods->Text);
SetFieldValue("MirRDate",FormatDateTime("yyyy-mm-dd",deMirRDate->Text));
if(seMirRQty->Text == "")
throw Exception("请输入需求数量");
SetFieldValue("MirRQty",seMirRQty->Text);
if(seMirGQty->Text == "")
throw Exception("请输入生成数量");
SetFieldValue("MirGQty",seMirGQty->Text);
SetFieldValue("MirDate",FormatDateTime("yyyy-mm-dd",deMirDate->Text));
SetFieldValue("MirPlanner",scMirPlanner->ItemData[1]);
SetFieldValue("MirDesc",memMirDesc->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::WaitUserInput()
{
deMirRDate->SetFocus();
}
//---------------------------------------------------------------------------
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)
{
if(seMirGoods->Text== GetFieldValue("MirGoods"))
{
ItemStr = GetDataToGrid();
sgMir->AddItem(ItemStr);
}
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::RefreshUpdateData(int MsgSrc,int MsgType)
{
}
//---------------------------------------------------------------------------
bool __fastcall TfrmMir::BeforeCheck()
{
SetFieldValue("MirCheck",1);
SetFieldValue("MirChecker",g_sdUserCode);
SetFieldValue("MirCheckDate",g_sdCurDate);
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmMir::BeforeUnCheck()
{
SetFieldValue("MirCheck",0);
SetFieldValue("MirChecker","");
SetFieldValue("MirCheckDate",NULL);
return true;
}
//---------------------------------------------------------------------------
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!="")
{
InitRsGoods(seMirGoods->Text);
if(l_Query->LocateByKey(WideString(seMirGoods->Text))==0)
{
lblMirGoodsName->Caption=GetGoodsValue(gtInitRs,"GoodsName");
if(CurrentState!=caNormal)
FiltGoods();
}
else
MessageDlg("货物编码:'"+seMirGoods->Text+"'不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::seMirGoodsButtonClick(TObject *Sender)
{
AnsiString l_goods;
if(OpenGoodsForm(" GoodsState=2 and GoodsCancel=0 " ))
{
l_goods = GetGoodsValue(gtOpenForm,"GoodsCode");
seMirGoods->Text= l_goods;
FiltGoods();
seMirGoods->Text= l_goods;
lblMirGoodsName->Caption =GetGoodsValue(gtOpenForm,"GoodsName");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::muAddDetailClick(TObject *Sender)
{
comServer->CurStatus;
TRecBaseForm::AddDetailRecord();
comServer->CurStatus;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::FormShow(TObject *Sender)
{
ClearControl(false);
seMirGoods->SetFocus();
}
//---------------------------------------------------------------------------
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::sgMirClick(TObject *Sender)
{
int ARow=sgMir->Row;
if (ARow > 0)
{
AnsiString sFilter;
sFilter=seMirGoods->Text;
sFilter+="\t"+Trim(sgMir->TextMatrix[ARow][0]);
comServer->LocateByKey(WideString(sFilter));
}
if (!comServer->Eof)
GetDataFromComObject();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -