?? cmhdl.cpp
字號:
m_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,temp);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TsdAdjCoh *p=(TsdAdjCoh*)Records(CurRecNo);
p->Assign(this);
BackupValue();
}
catch(...)
{
m_AdjCohCheck=b_AdjCohCheck;
m_AdjCohChecker=b_AdjCohChecker;
m_AdjCohCheckDate=b_AdjCohCheckDate;
throw Exception("審核/反審核失敗");
}
}
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Delete()
{
if(CurStatus!=1)
throw Exception("當前狀態不能進行刪除操作!");
if(m_AdjCohCode.IsEmpty()==true)
throw Exception("當前沒有記錄可以刪除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdAdjCoh_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,18,b_AdjCohCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
delete m_sdAdjCod;
DeleteRecord(this->b_AdjCohCode);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AddItem()
{
m_sdAdjCod->AddNew();
if(CurStatus!=2)
SetActionID(5);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::InsertItem()
{
/* m_sdField->AddNew();
TsdField *p=new TsdField(m_SessionName,m_DatabaseName);
p->Assign(m_sdField);
if(CurStatus==2)
m_sdField->AddRecord((void *)p,p->GetFieldValue(fiFieldName));
else
m_sdField->Update();
*/
}
//---------------------------------------------------------------------------
void TsdAdjCoh::EditItem()
{
m_sdAdjCod->Edit();
if(CurStatus==1)
{
SetActionID(6);
}
}
//---------------------------------------------------------------------------
void TsdAdjCoh::DeleteItem()
{
if(CurStatus==2||CurStatus==5)
m_sdAdjCod->DeleteRecord(m_sdAdjCod->Key);
else
m_sdAdjCod->Delete();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RemoveItem()
{
if(CurStatus==2)
m_sdAdjCod->RemoveRecord(m_sdAdjCod->Index);
else
m_sdAdjCod->Delete();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::ClearItem()
{
int iCount;
if(CurStatus==2)
m_sdAdjCod->ClearRecord();
else
{
iCount=m_sdAdjCod->Count;
for(int i=0;i<iCount;i++)
{
m_sdAdjCod->LocateByIndex(0);
m_sdAdjCod->Delete();
}
}
}
//---------------------------------------------------------------------------
void TsdAdjCoh::CancelItem()
{
m_sdAdjCod->Cancel();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AddToObject()
{
TsdAdjCod *p=new TsdAdjCod();
p->Assign(m_sdAdjCod);
if(m_sdAdjCod->FindKey(m_sdAdjCod->GetOldFieldValue(fiAdjCodGoods)))
m_sdAdjCod->ChangeRecord((void*)p,p->GetFieldValue(fiAdjCodGoods),m_sdAdjCod->GetOldFieldValue(fiAdjCodGoods));
else
m_sdAdjCod->AddRecord((void *)p,p->GetFieldValue(fiAdjCodGoods));
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::LocateItemByIndex(int Index)
{
return m_sdAdjCod->LocateByIndex(Index);
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::LocateItemByKey(AnsiString Key)
{
return m_sdAdjCod->LocateByKey(Key);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::BackupValue()
{
b_sdAdjCod=m_sdAdjCod;
b_AdjCohCode=m_AdjCohCode;
b_AdjCohDate=m_AdjCohDate;
b_AdjCohFmonth=m_AdjCohFmonth;
b_AdjCohPosType=m_AdjCohPosType;
b_AdjCohDesc=m_AdjCohDesc;
b_AdjCohKeeper=m_AdjCohKeeper;
b_AdjCohUser=m_AdjCohUser;
b_AdjCohCheck=m_AdjCohCheck;
b_AdjCohChecker=m_AdjCohChecker;
b_AdjCohCheckDate=m_AdjCohCheckDate;
b_AdjCohPost=m_AdjCohPost;
b_AdjCohPoster=m_AdjCohPoster;
b_AdjCohPostDate=m_AdjCohPostDate;
b_AdjCohSysDate=m_AdjCohSysDate;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RestoreValue()
{
m_sdAdjCod= b_sdAdjCod;
m_AdjCohCode=b_AdjCohCode;
m_AdjCohDate=b_AdjCohDate;
m_AdjCohFmonth=b_AdjCohFmonth;
m_AdjCohPosType=b_AdjCohPosType;
m_AdjCohDesc=b_AdjCohDesc;
m_AdjCohKeeper=b_AdjCohKeeper;
m_AdjCohUser=b_AdjCohUser;
m_AdjCohCheck=b_AdjCohCheck;
m_AdjCohChecker=b_AdjCohChecker;
m_AdjCohCheckDate=b_AdjCohCheckDate;
m_AdjCohPost=b_AdjCohPost;
m_AdjCohPoster=b_AdjCohPoster;
m_AdjCohPostDate=b_AdjCohPostDate;
m_AdjCohSysDate=b_AdjCohSysDate;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RestoreItem()
{
m_sdAdjCod->RestoreValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_AdjCohCode="";
m_AdjCohDate="";
m_AdjCohFmonth="";
m_AdjCohPosType="";
m_AdjCohDesc="";
m_AdjCohKeeper="";
m_AdjCohUser="";
m_AdjCohCheck=0;
m_AdjCohChecker="";
m_AdjCohCheckDate="";
m_AdjCohPost=0;
m_AdjCohPoster="";
m_AdjCohPostDate="";
m_AdjCohSysDate="";
break;
case 1:
b_AdjCohCode="";
b_AdjCohDate="";
b_AdjCohFmonth="";
b_AdjCohPosType="";
b_AdjCohDesc="";
b_AdjCohKeeper="";
b_AdjCohUser="";
b_AdjCohCheck=0;
b_AdjCohChecker="";
b_AdjCohCheckDate="";
b_AdjCohPost=0;
b_AdjCohPoster="";
b_AdjCohPostDate="";
b_AdjCohSysDate="";
break;
}
}
//---------------------------------------------------------------------------
void TsdAdjCoh::BatchLetValue()
{
m_AdjCohCode=m_Query->FieldValues["AdjCohCode"];
m_AdjCohDate=m_Query->FieldValues["AdjCohDate"];
m_AdjCohFmonth=m_Query->FieldValues["AdjCohFmonth"];
m_AdjCohPosType=m_Query->FieldValues["AdjCohPosType"];
m_AdjCohDesc=m_Query->FieldValues["AdjCohDesc"];
m_AdjCohKeeper=m_Query->FieldValues["AdjCohKeeper"];
m_AdjCohUser=m_Query->FieldValues["AdjCohUser"];
m_AdjCohCheck=m_Query->FieldValues["AdjCohCheck"];
m_AdjCohChecker=m_Query->FieldValues["AdjCohChecker"];
m_AdjCohCheckDate=m_Query->FieldValues["AdjCohCheckDate"];
m_AdjCohPost=m_Query->FieldValues["AdjCohPost"];
m_AdjCohPoster=m_Query->FieldValues["AdjCohPoster"];
m_AdjCohPostDate=m_Query->FieldValues["AdjCohPostDate"];
m_AdjCohSysDate=m_Query->FieldValues["AdjCohSysDate"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Assign(TsdAdjCoh *p)
{
this->SetActionID(p->CurStatus);
this->m_sdAdjCod=p->m_sdAdjCod;
this->m_AdjCohCode=p->m_AdjCohCode;
this->m_AdjCohDate=p->m_AdjCohDate;
this->m_AdjCohFmonth=p->m_AdjCohFmonth;
this->m_AdjCohPosType=p->m_AdjCohPosType;
this->m_AdjCohDesc=p->m_AdjCohDesc;
this->m_AdjCohKeeper=p->m_AdjCohKeeper;
this->m_AdjCohUser=p->m_AdjCohUser;
this->m_AdjCohCheck=p->m_AdjCohCheck;
this->m_AdjCohChecker=p->m_AdjCohChecker;
this->m_AdjCohCheckDate=p->m_AdjCohCheckDate;
this->m_AdjCohPost=p->m_AdjCohPost;
this->m_AdjCohPoster=p->m_AdjCohPoster;
this->m_AdjCohPostDate=p->m_AdjCohPostDate;
this->m_AdjCohSysDate=p->m_AdjCohSysDate;
if(this->CurStatus==3)
{
this->b_sdAdjCod=p->b_sdAdjCod;
this->b_AdjCohCode=p->b_AdjCohCode;
this->b_AdjCohDate=p->b_AdjCohDate;
this->b_AdjCohFmonth=p->b_AdjCohFmonth;
this->b_AdjCohPosType=p->b_AdjCohPosType;
this->b_AdjCohDesc=p->b_AdjCohDesc;
this->b_AdjCohKeeper=p->b_AdjCohKeeper;
this->b_AdjCohUser=p->b_AdjCohUser;
this->b_AdjCohCheck=p->b_AdjCohCheck;
this->b_AdjCohChecker=p->b_AdjCohChecker;
this->b_AdjCohCheckDate=p->b_AdjCohCheckDate;
this->b_AdjCohPost=p->b_AdjCohPost;
this->b_AdjCohPoster=p->b_AdjCohPoster;
this->b_AdjCohPostDate=p->b_AdjCohPostDate;
this->b_AdjCohSysDate=p->b_AdjCohSysDate;
}
else
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AssignValue()
{
TsdAdjCoh *p=(TsdAdjCoh *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdAdjCoh::Query()
{
AnsiString m_SqlStr;
m_SqlStr=QueryString;
if(FilterString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" where "+FilterString;
if(OrderString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" Order by "+OrderString;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
for(int i=0;i<this->Count;i++)
{
this->LocateByIndex(i);
this->AssignValue();
delete m_sdAdjCod;
}
ClearRecord();
if(m_Query->RecordCount>0)
{
m_Query->First();
while(!m_Query->Eof)
{
BatchLetValue();
NewDetail();
m_sdAdjCod->FilterString="AdjCodCode='"+m_AdjCohCode+"'";
m_sdAdjCod->Query();
TsdAdjCoh *p=new TsdAdjCoh();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->AdjCohCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表達式不能為空");
m_SqlStr="select * from sdAdjCoh where "+WhereStr;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
if(m_Query->RecordCount!=1)
{
m_Query->Close();
return false;
}
else
{
BatchLetValue();
m_sdAdjCod->FilterString="AdjCodCode='"+m_AdjCohCode+"'";
m_sdAdjCod->OrderString="AdjCodLine";
m_sdAdjCod->Query();
m_Query->Close();
return true;
}
}
//---------------------------------------------------------------------------
AnsiString TsdAdjCoh::GetItemValue(euAdjCod FieldName)
{
return m_sdAdjCod->GetFieldValue(FieldName);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::SetItemValue(euAdjCod FieldName, AnsiString value)
{
m_sdAdjCod->SetFieldValue(FieldName,value);
}
//---------------------------------------------------------------------------
int __fastcall TsdAdjCoh::GetItemCount()
{
if(m_sdAdjCod->Count)
return m_sdAdjCod->Count;
else
return 0;
}
//---------------------------------------------------------------------------
int __fastcall TsdAdjCoh::GetCurItemNo()
{
return m_sdAdjCod->CurRecNo;
}
//---------------------------------------------------------------------------
char __fastcall TsdAdjCoh::GetCurItemStatus()
{
return m_sdAdjCod->CurStatus;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TsdAdjCoh::GetItemBookMark()
{
return m_sdAdjCod->BookMark;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::NewDetail()
{
m_sdAdjCod=new TsdAdjCod(DataComm);
m_sdAdjCod->sdParent=this;
}
void TsdAdjCoh::DeleteDetail()
{
delete m_sdAdjCod;
m_sdAdjCod=NULL;
}
//=============================================
// (TsdAdjCod)入庫調整單明細
//=============================================
void __fastcall TsdAdjCod:: SetAdjCodCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("入庫調整單不能為空");
m_AdjCodCode=value;
}
void __fastcall TsdAdjCod:: SetAdjCodLine(int value)
{
if(m_AdjCodCode.IsEmpty())
throw Exception("入庫調整單不能為空");
if(value<0)
throw Exception("行號不能小于零");
m_AdjCodLine=value;
}
void __fastcall TsdAdjCod:: SetAdjCodGoods(AnsiString value)
{
if(value.IsEmpty())
throw Exception("物料編碼不能為空");
if(value.Length()>18)
throw Exception("物料編碼長度不能大于18");
if(value!=m_AdjCodGoods)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select GOODSCODE,GoodsName,GoodsUnitCode from Sdcd,sdgoods,sdstock where goodscode=stockgoodscode and cdgoods=goodscode and GOODSCODE='"+value+"'");
m_Query->Open();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -