📄 ztd.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Ztd.h"
#include "Zth.h"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
//---------------------------------------------------------------------------
__fastcall TfrmZtd::TfrmZtd(TComponent* Owner)
: TStdBaseForm(Owner)
{
btnOK->Enabled = false;
labZthSupply->Caption = frmZth->scZthSupply->ItemData[0];
FZthSupplyCode=frmZth->scZthSupply->ItemData[1];
FillGridWithData();
}
//--------------------------------------------------------------------------
void __fastcall TfrmZtd::btnOKClick(TObject *Sender)
{
int ZtdLine, i;
int ErrNum;
try
{
if(sgZth->RowCount>1)
{
StartWaitForm("正在生成在途单,请稍候...");
i = comServer->ItemCount;
if(i > 0) {
comServer->LocateItemByIndex(i-1);
ZtdLine = StrToInt(frmZth->GetDetailValue(fiZtdLine));
ZtdLine ++;
}
else ZtdLine = 1;
try
{
for (int k = 1; k < sgZth->RowCount ;k++)
{
if (sgZth->TextMatrix[k][1] != "√") continue;
comServer->AddItem();
SetDetailValue(fiZtdCode, frmZth->seZthCode->Text);
SetDetailValue(fiZtdLine, AnsiString(ZtdLine));
SetDetailValue(fiZtdPoCode, sgZth->TextMatrix[k][2]); //采购单号
SetDetailValue(fiZtdPodLine,sgZth->TextMatrix[k][3]); //采购单行号
if(sgZth->TextMatrix[k][11] == "")
throw Exception("请输入本次登记数");
SetDetailValue(fiZtdQty, sgZth->TextMatrix[k][11]); //在途数量
SetDetailValue(fiZtdReqDate, sgZth->TextMatrix[k][13]); //需求日期
SetDetailValue(fiZtdRecDate, sgZth->TextMatrix[k][14]); //交货日期
SetDetailValue(fiZtdSendDate, sgZth->TextMatrix[k][15]); //发货日期
comServer->AddToObject();
ZtdLine++;
}
}
catch(Exception &e)
{
comServer->Cancel();
this->ModalResult=0;
throw Exception(e.Message);
}
}
}
__finally
{
EndWaitForm();
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::btnCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::FillGridWithData()
{
AnsiString ItemStr;
TComResultSet *pRst;
try
{
pRst=NewResultSet();
AnsiString m_Sql;
m_Sql=AnsiString("SELECT PodCode,PodLine,PodGoods,GoodsName,")+
AnsiString(" PodUnit,PodConvRate,PodQty,PodRQty,PodWQty,PodNowQty=PodQty-PodRQty-PodWQty,PodPrice,PodRecDate,PodReqDate,PodSendDate")+
AnsiString(" FROM sdPoh,sdPod,sdGoods")+
AnsiString(" where PohCode=PodCode and podGoods = GoodsCode")+
AnsiString(" and PohSupply = '"+ FZthSupplyCode +"'")+
AnsiString(" and PohCheck = 1")+
AnsiString(" and PohCancel = 0")+
AnsiString(" and PohStop = 0 ")+
AnsiString(" and PohClose = 0")+
AnsiString(" and PodClose = 0")+
AnsiString(" and PodQty-PodRQty-PodWQty> 0")+
AnsiString(" order by PodCode,PodLine");
StartWaitForm("正在查询数据,请稍候......");
pRst->Open(m_Sql,"");
pRst->MoveFirst();
sgZth->RowCount = 1;
while( pRst->Eof == 0)
{
ItemStr="\t\t" + pRst->FieldByName("PodCode"); //采购单号
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodLine"); //采购单行号
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodGoods"); //货物编码
ItemStr=ItemStr+"\t"+pRst->FieldByName("GoodsName"); //货物名称
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodUnit"); //单位
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodConvRate"); //换算比率
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodQty"); //采购数量
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodRQty"); //采购数量
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodWQty"); // 在途数量
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodNowQty"); // 在途数量
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodPrice"); // 单价
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodReqDate");// 需求日期
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodRecDate");// 交货日期
ItemStr=ItemStr+"\t"+pRst->FieldByName("PodSendDate");// 发货日期
sgZth->AddItem(ItemStr);
pRst->MoveNext();
}
pRst->Close();
}
__finally
{
EndWaitForm();
}
delete pRst;
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::GetComObject(TComServer *comServerPtr)
{
comServer = comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::SetDetailValue(int Index,AnsiString Value)
{
WriteItemValue(comServer,Index,Value);
// comServer->SetItemValue(Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::sgZthDblClick(TObject *Sender)
{
int ARow=sgZth->Row;
if(ARow<1)
return;
if(sgZth->Col==1)
{
if(sgZth->TextMatrix[ARow][1] == "√")
{
sgZth->Cells[1][ARow] = "";
for (int i=1;i<sgZth->RowCount;i++)
{
if(sgZth->Cells[1][i]=="√")
{
btnOK->Enabled=true;
break;
}
else
btnOK->Enabled=false;
}
}
else
{
sgZth->TextMatrix[ARow][1] = "√";
btnOK->Enabled = true;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::bbSelAllClick(TObject *Sender)
{
if(sgZth->RowCount <= 1)
return;
for(int i=1;i<sgZth->RowCount;i++)
sgZth->Cells[1][i] = "√";
btnOK->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::bbSelNoneClick(TObject *Sender)
{
for(int i=1;i<sgZth->RowCount;i++)
sgZth->Cells[1][i] = "";
btnOK->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmZtd::sgZthSelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if(sgZth->Cells[1][ARow]=="√")
sgZth->ReadOnly=false;
else
sgZth->ReadOnly=true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -