📄 rpohcancel.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "RpohCancel.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "ListBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmRpohCancel *frmRpohCancel;
//---------------------------------------------------------------------------
__fastcall TfrmRpohCancel::TfrmRpohCancel(TComponent* Owner)
: TListBaseForm(Owner,euSdRpoh,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::FillHeadObjToGrid()
{
AnsiString ItemStr;
try
{
StartWaitForm("正在获取数据...");
comServer->FilterString=WideString(WhereStr);
comServer->Query();
if(comServer->RecordCount>0)
{
sgRpohCheck->RowCount=1;
for(int i=0;i<comServer->RecordCount;i++)
{
comServer->LocateByIndex(i);
ItemStr="\t"+ AnsiString(" ")+
"\t"+ GetHeadValue(fiRpohCode)+
"\t"+ GetHeadValue(fiRpohDate)+
"\t"+ GetHeadValue(fiRpohSupplyCode)+
"\t"+ GetHeadValue(fiRpohCurrencyCode)+
"\t"+ GetHeadValue(fiRpohTaxCode)+
"\t"+ GetHeadValue(fiRpohBuyerCode)+
"\t"+ GetHeadValue(fiRpohPsite)+
"\t"+ GetHeadValue(fiRpohDeliver);
sgRpohCheck->AddItem(ItemStr);
}
}
else
{
sgRpohCheck->RowCount=1;
sgRpodCheck->RowCount=1;
}
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::GetWhereStrToSQL()
{
WhereStr="RpohCheck=0 and RpohCancel=0 and ";
if(Trim(seRpohCodeF->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohCode>='"+Trim(seRpohCodeF->Text)+"' and ";
if(Trim(seRpohCodeT->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohCode<='"+Trim(seRpohCodeT->Text)+"' and ";
if(Trim(deRpohDateF->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohDate>='"+FormatDateTime("yyyy-mm-dd",deRpohDateF->Date)+"' and ";
if(Trim(deRpohDateT->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohDate<='"+FormatDateTime("yyyy-mm-dd",deRpohDateT->Date)+"' and ";
if(Trim(scRpohBuyerCode->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohBuyerCode like '"+Trim(scRpohBuyerCode->ItemData[cbItem2])+"' and ";
if(Trim(scRpohSupplyCode->Text).IsEmpty()==false)
WhereStr=WhereStr+ "RpohSupplyCode like '"+Trim(scRpohSupplyCode->ItemData[cbItem2])+"' and ";
if (WhereStr.Length() > 5)
WhereStr=WhereStr.SubString(1,WhereStr.Length()-5);
else
WhereStr="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::InitEditControl()
{
sgRpohCheck->RowCount=1;
sgRpodCheck->RowCount=1;
btnCheck->Enabled=false;
seRpohCodeF->Text="";
seRpohCodeT->Text="";
deRpohDateF->Text="";
deRpohDateT->Text=deRpohDateT->InitDate;
scRpohBuyerCode->Text="";
scRpohSupplyCode->Text="";
sbBar->Panels->Items[1]->Text="操作员:"+g_sdUserCode;
sbBar->Panels->Items[2]->Text=g_sdCompanyName;
sbBar->Panels->Items[3]->Text=g_sdCurDate;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmRpohCancel::GetHeadValue(int Index)
{
return ReadFieldValue(comServer,Index);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmRpohCancel::GetDetailValue(int Index)
{
return ReadItemValue(comServer,Index);
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::ChangeToBrowseState(bool agree)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::AddDetailObjToGrid(AnsiString s_Code)
{
AnsiString ItemStr;
sgRpodCheck->RowCount=1;
comServer->LocateByKey(WideString(s_Code));
if(comServer->RecordCount>0)
{
for (int i=0;i<comServer->ItemCount;i++)
{
comServer->LocateItemByIndex(i);
ItemStr="\t"+GetDetailValue(fiRpodCode)+
"\t"+GetDetailValue(fiRpodLine)+
"\t"+GetDetailValue(fiRpodGoodsCode)+
"\t"+GetDetailValue(fiRpodUnitCode)+
"\t"+GetDetailValue(fiRpodConvRate)+
"\t"+GetDetailValue(fiRpodQty)+
"\t"+GetDetailValue(fiRpodPrice)+
"\t"+GetDetailValue(fiRpodAmt)+
"\t"+GetDetailValue(fiRpodReqDate);
sgRpodCheck->AddItem(ItemStr,i+1);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::DelDetailObjFromGrid(AnsiString s_Code)
{
AnsiString m;
for(int i=sgRpodCheck->RowCount;i>0;i--)
{
m = Trim(sgRpodCheck->Cells[1][i]);
if(m==s_Code)
sgRpodCheck->RemoveItem(i);
}
/*
AnsiString m;
bool Founded;
for(int i=1;i<sgPodCheck->RowCount;i++)
{
m = Trim(sgPodCheck->Cells[1][i]);
if(m==s_Code)
{
Founded=true;
sgPodCheck->RemoveItem(i);
while(Founded)
{
m = Trim(sgPodCheck->Cells[1][i]);
if(m == s_Code)
{
sgPodCheck->RemoveItem(i);
Founded=true;
}
else
Founded=false;
}
break;
}
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::btnClearClick(TObject *Sender)
{
InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::btnQueryClick(TObject *Sender)
{
HavingRight();
GetWhereStrToSQL();
FillHeadObjToGrid();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::FormShow(TObject *Sender)
{
FillComboBox(scRpohBuyerCode,"select BuyerCode,BuyerName from sdBuyer order By BuyerCode","BuyerName","BuyerCode");
FillComboBox(scRpohSupplyCode,"select SupplyCode,SupplyName from sdSupply order By SupplyCode","SupplyName","SupplyCode");
InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::BitExitClick(TObject *Sender)
{
frmRpohCancel->Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::btnCheckClick(TObject *Sender)
{
for(int i=sgRpohCheck->RowCount-1; i>0;i--)
{
if(sgRpohCheck->Cells[1][i]=="√")
{
comServer->LocateByKey(WideString(sgRpohCheck->Cells[2][i]));
if(!comServer->Eof)
{
comServer->Revoke(1);
}
DelDetailObjFromGrid(sgRpohCheck->Cells[2][i]);
sgRpohCheck->Cells[1][i]="";
sgRpohCheck->RemoveItem(i);
}
}
sgRpodCheck->RowCount=1;
btnCheck->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::sgRpohCheckSelectCell(TObject *Sender,
int ACol, int ARow, bool &CanSelect)
{
if(sgRpohCheck->RowCount > 1 && ARow > 0)
{
AddDetailObjToGrid(sgRpohCheck->Cells[2][ARow]);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::sgRpohCheckDblClick(TObject *Sender)
{
int ARow=sgRpohCheck->Row;
if(ARow>0)
{
if(sgRpohCheck->Cells[1][ARow]==" ")
{
btnCheck->Enabled=true;
sgRpohCheck->Cells[1][ARow]="√";
}
else
{
sgRpohCheck->Cells[1][ARow]=" ";
//找到有没有需要审核的
for (int i=1;i<sgRpohCheck->RowCount;i++)
{
if(sgRpohCheck->Cells[1][i]=="√")
{
btnCheck->Enabled=true;
break;
}
else
btnCheck->Enabled=false;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRpohCancel::HavingRight()
{
TComResultSet *RsTemp;
AnsiString sSQL;
sSQL=" select buyercode from sdbuyer where buyercancel=1 and buyercode='"
+g_sdUserCode+"'";
RsTemp=NewResultSet();
RsTemp->Open(sSQL,"");
if(RsTemp->RecordCount <= 0)
{
RsTemp->Close();
throw Exception("当前用户没有取消/反取消权限");
}
else
RsTemp->Close();
delete RsTemp;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -