📄 goodsppt.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "GoodsPpt.h"
#include "sdenumtype.h"
#include "sdappserver_tlb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmGoodsPpt *frmGoodsPpt;
//---------------------------------------------------------------------------
__fastcall TfrmGoodsPpt::TfrmGoodsPpt(TComponent* Owner,AnsiString GoodsPpt,AnsiString Goods )
: TStdBaseForm(Owner)
{
sgGp1Row=sgGp2Row=1;
sgPro1Row=sgPro2Row=1;
m_PropertyPpt=GoodsPpt;
TGoodsPpt1->Caption=g_sdProperty1Name;
seGoodsPpt1Goods->Text=Goods;
if(m_PropertyPpt==1)
{
PGoodsPpt->ActivePage=TGoodsPpt1;
TGoodsPpt2->TabVisible=false;
}
seGoods1Name->Text=GetGoodsName();
GetOldGoodsPpt();
GetProperty();
SureBtEnabled();
sgGp1->Cells[0][0] = "状态编码";
sgGp1->Cells[1][0] = "状态名称";
if( m_PropertyPpt=="2")
{
TGoodsPpt2->Caption=g_sdProperty2Name;
seGoodsPpt2Goods->Text=Goods;
seGoods2Name->Text=GetGoodsName();
sgGp2->Cells[0][0] = "状态编码";
sgGp2->Cells[1][0] = "状态名称";
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGoodsPpt::GetGoodsName()
{
TComResultSet *pResultSet=NewResultSet();
AnsiString strSQL,result;
strSQL="select GOODSNAME from sdgoods where GOODSCODE='"+seGoodsPpt1Goods->Text+"'" ;
pResultSet->Close();
pResultSet->Open(strSQL,"");
result=pResultSet->FieldByName("GOODSNAME");
delete pResultSet;
return result;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::GetOldGoodsPpt()
{
PptResultSet=NewResultSet();
AnsiString strSQL,result;
strSQL=" select goodsppt=1,GOODSPPTGOODS=GOODSPPT1GOODS,GOODSPPTID=GOODSPPT1ID,GOODSPPTNAME=GOODSPPT1NAME "
" from sdgoodsppt1 where GOODSPPT1GOODS='"+seGoodsPpt1Goods->Text+"' union "+
" select 2,GOODSPPT2GOODS,GOODSPPT2ID,GOODSPPT2NAME from sdgoodsppt2"+
" where GOODSPPT2GOODS='"+seGoodsPpt1Goods->Text+"'" ;
PptResultSet->Close();
PptResultSet->Open(strSQL,"");
PptResultSet->MoveFirst();
while (PptResultSet->Eof == 0)
{
if(PptResultSet->FieldByName("goodsppt")=="1")
{
sgGp1->Cells[0][sgGp1Row]=PptResultSet->FieldByName("GOODSPPTID");
sgGp1->Cells[1][sgGp1Row]=PptResultSet->FieldByName("GOODSPPTNAME");
sgGp1Row++;
}
if(PptResultSet->FieldByName("goodsppt")=="2"&&m_PropertyPpt=="2")
{
sgGp2->Cells[0][sgGp2Row]=PptResultSet->FieldByName("GOODSPPTID");
sgGp2->Cells[1][sgGp2Row]=PptResultSet->FieldByName("GOODSPPTNAME");
sgGp2Row++;
}
PptResultSet->MoveNext();
}
}
void __fastcall TfrmGoodsPpt::GetProperty()
{
sgPro1->Cells[0][0] = "状态编码";
sgPro1->Cells[1][0] = "状态名称";
if(m_PropertyPpt=="2")
{
sgPro2->Cells[0][0] = "状态编码";
sgPro2->Cells[1][0] = "状态名称";
}
ProQuery=NewDcomAppSvr(euSdProperty);
ProQuery->Query();
ProQuery->MoveFirst();
while (ProQuery->Eof == 0)
{
int i=1,j=1;
PptResultSet->MoveFirst();
while (PptResultSet->Eof == 0)
{
if(ReadFieldValue(ProQuery,fiPropertyPpt)=="1"&&PptResultSet->FieldByName("goodsppt")=="1")
{
j++;
if(ReadFieldValue(ProQuery,fiPropertyID)!=PptResultSet->FieldByName("GOODSPPTID"))
i++;
}
PptResultSet->MoveNext();
}
if(ReadFieldValue(ProQuery,fiPropertyPpt)=="1"&&i==j)
{
sgPro1->Cells[0][sgPro1Row]=ReadFieldValue(ProQuery,fiPropertyID);
sgPro1->Cells[1][sgPro1Row]=ReadFieldValue(ProQuery,fiPropertyName);
sgPro1Row++;
}
ProQuery->MoveNext();
}
ProQuery->MoveFirst();
while (ProQuery->Eof == 0)
{
int ii=1,jj=1;
PptResultSet->MoveFirst();
while (PptResultSet->Eof == 0)
{
if(ReadFieldValue(ProQuery,fiPropertyPpt)=="2"&&PptResultSet->FieldByName("goodsppt")=="2")
{
jj++;
if(ReadFieldValue(ProQuery,fiPropertyID)!=PptResultSet->FieldByName("GOODSPPTID"))
ii++;
}
PptResultSet->MoveNext();
}
if(ReadFieldValue(ProQuery,fiPropertyPpt)=="2"&&ii==jj)
{
sgPro2->Cells[0][sgPro2Row]=ReadFieldValue(ProQuery,fiPropertyID);
sgPro2->Cells[1][sgPro2Row]=ReadFieldValue(ProQuery,fiPropertyName);
sgPro2Row++;
}
ProQuery->MoveNext();
}
}
void __fastcall TfrmGoodsPpt::BAdd1Click(TObject *Sender)
{
int i;
if(sgPro1->Cells[0][sgPro1->Row].IsEmpty())
throw Exception("状态不存在");
sgGp1->Cells[0][sgGp1Row]=sgPro1->Cells[0][sgPro1->Row];
sgGp1->Cells[1][sgGp1Row]=sgPro1->Cells[1][sgPro1->Row];
sgGp1Row++;
i=sgPro1->Row;
if(sgPro1Row==1)
return ;
for(;i<sgPro1Row;i++)
{
sgPro1->Cells[0][i]=sgPro1->Cells[0][1+i];
sgPro1->Cells[1][i]=sgPro1->Cells[1][1+i];
}
sgPro1Row--;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BAdd2Click(TObject *Sender)
{
int i;
if(sgPro2->Cells[0][sgPro2->Row].IsEmpty())
throw Exception("状态不存在");
sgGp2->Cells[0][sgGp2Row]=sgPro2->Cells[0][sgPro2->Row];
sgGp2->Cells[1][sgGp2Row]=sgPro2->Cells[1][sgPro2->Row];
sgGp2Row++;
i=sgPro2->Row;
if(sgPro2Row==1)
return ;
for(;i<sgPro2Row;i++)
{
sgPro2->Cells[0][i]=sgPro2->Cells[0][1+i];
sgPro2->Cells[1][i]=sgPro2->Cells[1][1+i];
}
sgPro2Row--;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BReMove1Click(TObject *Sender)
{
int i;
i=sgGp1->Row;
if(sgGp1Row==1)
return ;
sgPro1->Cells[0][sgPro1Row]=sgGp1->Cells[0][sgGp1->Row];
sgPro1->Cells[1][sgPro1Row]=sgGp1->Cells[1][sgGp1->Row];
sgPro1Row++;
for(;i<sgGp1Row;i++)
{
sgGp1->Cells[0][i]=sgGp1->Cells[0][1+i];
sgGp1->Cells[1][i]=sgGp1->Cells[1][1+i];
}
sgGp1Row--;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BReMove2Click(TObject *Sender)
{
int i;
i=sgGp2->Row;
if(sgGp2Row==1)
return ;
sgPro2->Cells[0][sgPro2Row]=sgGp2->Cells[0][sgGp2->Row];
sgPro2->Cells[1][sgPro2Row]=sgGp2->Cells[1][sgGp2->Row];
sgPro2Row++;
for(;i<sgGp2Row;i++)
{
sgGp2->Cells[0][i]=sgGp2->Cells[0][1+i];
sgGp2->Cells[1][i]=sgGp2->Cells[1][1+i];
}
sgGp2Row--;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BClear1Click(TObject *Sender)
{
for(int i=1;i<sgGp1Row;i++)
{
sgPro1->Cells[0][sgPro1Row]=sgGp1->Cells[0][i];
sgPro1->Cells[1][sgPro1Row]=sgGp1->Cells[1][i];
sgPro1Row++;
sgGp1->Cells[0][i]="";
sgGp1->Cells[1][i]="";
}
sgGp1Row=1;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BClear2Click(TObject *Sender)
{
for(int i=1;i<sgGp2Row;i++)
{
sgPro2->Cells[0][sgPro2Row]=sgGp2->Cells[0][i];
sgPro2->Cells[1][sgPro2Row]=sgGp2->Cells[1][i];
sgPro2Row++;
sgGp2->Cells[0][i]="";
sgGp2->Cells[1][i]="";
}
sgGp2Row=1;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BAllTake1Click(TObject *Sender)
{
for(int i=1;i<sgPro1Row;i++)
{
sgGp1->Cells[0][sgGp1Row]=sgPro1->Cells[0][i];
sgGp1->Cells[1][sgGp1Row]=sgPro1->Cells[1][i];
sgGp1Row++;
sgPro1->Cells[0][i]="";
sgPro1->Cells[1][i]="";
}
sgPro1Row=1;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BAllTake2Click(TObject *Sender)
{
for(int i=1;i<sgPro2Row;i++)
{
sgGp2->Cells[0][sgGp2Row]=sgPro2->Cells[0][i];
sgGp2->Cells[1][sgGp2Row]=sgPro2->Cells[1][i];
sgGp2Row++;
sgPro2->Cells[0][i]="";
sgPro2->Cells[1][i]="";
}
sgPro2Row=1;
SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BSave1Click(TObject *Sender)
{
AnsiString m_Sql;
TComResultSet *PptResultSet=NewResultSet();
int i, j=sgGp1Row;
PptResultSet->Close();
PptResultSet->Execute("delete sdgoodsppt1 where GOODSPPT1GOODS='"+seGoodsPpt1Goods->Text+"'" );
for(int i=1;i<j;i++)
{
if(sgGp1->Cells[0][i].IsEmpty()==false)
{
m_Sql="insert into sdgoodsppt1(GOODSPPT1GOODS,GOODSPPT1ID,GOODSPPT1NAME) values('"
+seGoodsPpt1Goods->Text+"','"+
sgGp1->Cells[0][i]+"','"+
sgGp1->Cells[1][i]+"')";
PptResultSet->Close();
PptResultSet->Execute(m_Sql);
}
}
PptResultSet->Close();
PptResultSet->Execute(WideString("delete sdgoodsppt2 where GOODSPPT2GOODS='"+seGoodsPpt1Goods->Text+"'" ));
j=sgGp2Row;
for(i=1;i<j;i++)
{
if(sgGp2->Cells[0][i].IsEmpty()==false)
{
m_Sql="insert into sdgoodsppt2(GOODSPPT2GOODS,GOODSPPT2ID,GOODSPPT2NAME) values('"
+seGoodsPpt1Goods->Text+"','"+
sgGp2->Cells[0][i]+"','"+
sgGp2->Cells[1][i]+"')";
PptResultSet->Close();
PptResultSet->Execute(m_Sql);
}
}
delete PptResultSet;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BCa1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::SureBtEnabled()
{
if(sgGp1->Cells[0][1].IsEmpty())
{
BReMove1->Enabled=false;
BClear1->Enabled=false;
}
else
{
BReMove1->Enabled=true;
BClear1->Enabled=true;
}
if(sgPro1->Cells[0][1].IsEmpty())
{
BAllTake1->Enabled=false;
BAdd1->Enabled=false;
}
else
{
BAllTake1->Enabled=true;
BAdd1->Enabled=true;
}
if(sgGp2->Cells[0][1].IsEmpty())
{
BReMove2->Enabled=false;
BClear2->Enabled=false;
}
else
{
BReMove2->Enabled=true;
BClear2->Enabled=true;
}
if(sgPro2->Cells[0][1].IsEmpty())
{
BAllTake2->Enabled=false;
BAdd2->Enabled=false;
}
else
{
BAllTake2->Enabled=true;
BAdd2->Enabled=true;
}
}
void __fastcall TfrmGoodsPpt::FormClose(TObject *Sender,
TCloseAction &Action)
{
delete ProQuery;
delete PptResultSet;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -