📄 midesigner.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <sys\stat.h>
#include <stdio.h>
#include <time.h>
#include "MIDesigner.h"
#include "MainHead.h"
#include "DataModule.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMIDesignerForm *MIDesignerForm;
//---------------------------------------------------------------------------
__fastcall TMIDesignerForm::TMIDesignerForm(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------
void TMIDesignerForm::UpdateBitBtnState(TObject *Sender)
{
BitBtnInsert->Enabled =MastData->MIBaseSource->State == dsBrowse;
BitBtnDelete->Enabled = MastData->MIBaseSource->State == dsBrowse;
BitBtnPost->Enabled = MastData->MIBaseSource->State == dsEdit ||
MastData->MIBaseSource->State == dsInsert;
BitBtnCancel->Enabled = BitBtnPost->Enabled;
// BitBtnNext->Enabled=!BitBtnPost->Enabled;
// BitBtnPrior->Enabled=!BitBtnPost->Enabled;
BitBtnClose->Enabled=!BitBtnPost->Enabled;
BitBtnSearch->Enabled=!BitBtnPost->Enabled;
// MainMenuForm->UpdateMenu();
}
//----------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIBaseStateChange(TObject *Sender)
{
if(Trim(MastData->MIBasePPEAPP->Value)!=""||Trim(MastData->MIBaseQACheck->Value)!=""||Trim(MastData->MIBaseQAAPP->Value)!="")
{
GroupBox1->Enabled=false;
//PanelCAD->ReadOnly=true;
DBImage1->ReadOnly=true;
DBGrid1->ReadOnly=true;
DBGrid2->ReadOnly=true;
DBGridDrill->ReadOnly=true;
MastData->MIRouteRouteName->ReadOnly=true;
PopupMenu1->AutoPopup=false;
PopupMenu2->AutoPopup=false;
PopupMenu3->AutoPopup=false;
}
else
{
GroupBox1->Enabled=true;
//PanelCAD->Enabled=true;
DBImage1->ReadOnly=false;
DBGrid1->ReadOnly=false;
DBGrid2->ReadOnly=false;
DBGridDrill->ReadOnly=false;
MastData->MIRouteRouteName->ReadOnly=false;
PopupMenu1->AutoPopup=true;
PopupMenu2->AutoPopup=true;
PopupMenu3->AutoPopup=true;
}
UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIBaseDataChange(TObject *Sender,TField *Field)
{
if(Trim(MastData->MIBasePPEAPP->Value)!=""||Trim(MastData->MIBaseQACheck->Value)!=""||Trim(MastData->MIBaseQAAPP->Value)!="")
{
GroupBox1->Enabled=false;
// PanelCAD->Enabled=false;
DBImage1->ReadOnly=true;
DBGrid1->ReadOnly=true;
DBGrid2->ReadOnly=true;
if(DBGridDrill->Visible)
{
DBGridDrill->ReadOnly=true;
}
MastData->MIRouteRouteName->ReadOnly=true;
PopupMenu1->AutoPopup=false;
PopupMenu2->AutoPopup=false;
PopupMenu3->AutoPopup=false;
}
else
{
GroupBox1->Enabled=true;
// PanelCAD->Enabled=true;
DBImage1->ReadOnly=false;
DBGrid1->ReadOnly=false;
DBGrid2->ReadOnly=false;
if(DBGridDrill->Visible)
{
DBGridDrill->ReadOnly=false;
}
MastData->MIRouteRouteName->ReadOnly=false;
PopupMenu1->AutoPopup=true;
PopupMenu2->AutoPopup=true;
PopupMenu3->AutoPopup=true;
}
UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::MIRouteDataChange(TObject *Sender,TField *Field)
{
if(MastData->MIRouteRouteCode->Value=="BCUT"||MastData->MIRouteRouteCode->Value=="PSBD"||MastData->MIRouteRouteCode->Value=="LGVC"||MastData->MIRouteRouteCode->Value=="SMVC")
{
PanelCAD->Visible=true;
}
else
{
PanelCAD->Visible=false;
}
DBGrid2->Visible=false;
DBGridDrill->Visible=false;
if(MastData->MIRouteRouteCode->Value=="FDRL")
{
//一次钻
DBGridDrill->Visible=true;
DBGridDrill->Columns->Items[8]->Visible=true;
MastData->MIDrill->Filtered=true;
MastData->MIDrill->Filter="DrillType='FDRL'";
}
else
{
if(MastData->MIRouteRouteCode->Value=="SDRL")
{
//二次钻
DBGridDrill->Visible=true;
DBGridDrill->Columns->Items[8]->Visible=false;
MastData->MIDrill->Filtered=true;
MastData->MIDrill->Filter="DrillType='SDRL'";
}
}
DBGrid2->Visible=!DBGridDrill->Visible;
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::SpeedButton1Click(TObject *Sender)
{
if(FindCustNoForm->ShowModal()==mrOk)
{
MastData->MIBase->Edit();
MastData->MIBaseCustomerNo->Value=MastData->CustLookupCustomerNo->Value;
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::SpeedButton2Click(TObject *Sender)
{
if(FindBoardNoForm->ShowModal()==mrOk)
{
MastData->MIBase->Edit();
MastData->MIBaseBoardNo->Value=MastData->BoardLookupBoardNo->Value;
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnSearchClick(TObject *Sender)
{
if(FindPartNoForm->ShowModal()==mrOk)
{
// TVarRec q(MastData->PartNoLookupPartNo->Value);
MastData->MIBase->CachedUpdates=false;
MastData->MIBase->GotoCurrent(MastData->PartNoLookup);
MastData->MIBase->CachedUpdates=true;
}
MastData->PartNoLookup->Close();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::DBImage1DblClick(TObject *Sender)
{
ShowCADForm->HorzScrollBar->Range = DBImage1->Picture->Width;
ShowCADForm->VertScrollBar->Range = DBImage1->Picture->Height;
// ShowCADForm->Caption = Caption;
ShowCADForm->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Insert1Click(TObject *Sender)
{
// MastData->InsertRoute=true;
if(BitBtnPost->Enabled)
{
MessageBox(NULL,"请先将数据存盘再插入记录!...","提示",MB_OK);
}
else
{
MastData->MIRoute->Insert();
MastData->MIRouteRouteNo->Value=MastData->RecordNo;
}
// MastData->InsertRouteDetail();
// MastData->InsertRoute=false;
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Delete1Click(TObject *Sender)
{
if(MessageBox(NULL,"确认删除?...", "警告", MB_YESNO) == IDYES)
{
MastData->MIRoute->Delete();
MastData->DeleteMIRouteDetail();
BitBtnPostClick(Sender);
MIBaseStateChange(Sender);
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Insert2Click(TObject *Sender)
{
MastData->RouteDetail->Insert();
MastData->RouteDetailItemNo->Value=MastData->RecordNo;
MastData->RouteDetail->Post();
MastData->RouteDetail->ApplyUpdates();
MastData->Database->Commit();
MastData->Database->StartTransaction();
MastData->RouteDetail->CommitUpdates();
MastData->RouteDetail->First();
while(!MastData->RouteDetail->Eof&&MastData->RouteDetailItemNo->Value<MastData->RecordNo)
{
MastData->RouteDetail->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::Delete2Click(TObject *Sender)
{
MastData->RouteDetail->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::CAD1Click(TObject *Sender)
{
struct stat statbuf;
FILE *fp;
OpenPictureDialog1->Execute();
fp=fopen(OpenPictureDialog1->FileName.c_str(),"r");
fstat(fileno(fp),&statbuf);
fclose(fp);
if(statbuf.st_size>51200) // IntToStr( )
{
MessageBox(NULL,"当前图片图片太大,请在bmp格式下存为单色模式!...","警告", MB_OK);
}
else
{
if(OpenPictureDialog1->FileName.Trim()!="")
{
MastData->MIRoute->Edit();
DBImage1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
MastData->MIRoute->Post();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnInsertClick(TObject *Sender)
{
MastData->MIBase->Insert();
UpdateBitBtnState(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnDeleteClick(TObject *Sender)
{
if((Trim(MastData->MIBasePPEAPP->Value)!="")||(Trim(MastData->MIBaseQACheck->Value)!="")||(Trim(MastData->MIBaseQAAPP->Value)!=""))
{
MessageBox(NULL,"MI资料已被审核或QA检查或QA审批,不能被删除...", "警告", MB_OK);
}
else
{
if((MessageBox(NULL,"删除基本资料主单和所有分单?", "警告", MB_YESNO) == IDNO))
{
Abort();
}
else
{
try
{
MastData->MIRoute->First();
MastData->DeletingItems=true;
MastData->DeletingRouteDetail=true;
while(!MastData->MIRoute->Eof)
{
MastData->RouteDetail->First();
while(!MastData->RouteDetail->Eof)
{
MastData->RouteDetail->Delete();
}
MastData->MIRoute->Delete();
}
MastData->MIBase->Delete();
MastData->RouteDetail->ApplyUpdates();
MastData->MIRoute->ApplyUpdates();
MastData->MIBase->ApplyUpdates();
MastData->Database->Commit();
MastData->Database->StartTransaction();
MastData->MIBase->CommitUpdates();
MastData->MIRoute->CommitUpdates();
MastData->RouteDetail->CommitUpdates();
}
catch(...)
{
MessageBox(NULL,"您没有增加修改或删除记录的权限..","提示",MB_OK);
MastData->Database->Rollback();
MastData->Database->StartTransaction();
MastData->MIBase->CancelUpdates();
MastData->MIRoute->CancelUpdates();
MastData->RouteDetail->CancelUpdates();
}
MastData->DeletingItems=false;
MastData->DeletingRouteDetail=false;
MIBaseStateChange(Sender);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TMIDesignerForm::BitBtnPostClick(TObject *Sender)
{
if(MastData->MIBaseSource->State!= dsEdit ||MastData->MIBaseSource->State != dsInsert)
{
MastData->MIBase->Edit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -