📄 cmdoc.cpp
字号:
}
l_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TKSRwt::Find(AnsiString WhereStr)
{
AnsiString l_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
l_SqlStr="select * from sdRwt where "+WhereStr;
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add(l_SqlStr);
l_Query->Open();
if(l_Query->RecordCount!=1)
{
l_Query->Close();
return false;
}
else
{
BatchLetValue();
l_Query->Close();
return true;
}
}
//===================================================
// (TKSEquc)约当产量系数
//===================================================
void __fastcall TKSEquc:: SetEqucGoods(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("产品编码不能为空!");
if(value.Length()>18)
throw Exception("产品编码长度不能超过18");
if (value!=l_EqucGoods)
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("SELECT GoodsCode FROM sdGoods WHERE GoodsCode='" +value+"'");
l_Query->Open();
if(l_Query->RecordCount<=0)
{
l_Query->Close();
throw Exception("产品编码"+value+"'未定义");
}
l_Query->Close();
}
l_EqucGoods=value;
}
void __fastcall TKSEquc:: SetEqucProcess(AnsiString value)
{
if(value.IsEmpty())
throw Exception("工序编码不能为空");
if(value.Length()>18)
throw Exception("工序编码长度不能大于18");
if(value!=l_EqucProcess)
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("SELECT PROCESSCODE FROM sdProcess WHERE PROCESSCODE='" +value+"'");
l_Query->Open();
if(l_Query->RecordCount<=0)
{
l_Query->Close();
throw Exception("工序编码:"+value+"'未定义");
}
l_Query->Close();
}
l_EqucProcess=value;
}
void __fastcall TKSEquc:: SetEqucValue(double value)
{
if(value<0 )
throw Exception("约当系数不能小于零");
l_EqucValue=value;
}
void __fastcall TKSEquc:: SetEqucUser(AnsiString value)
{
if(value.IsEmpty())
throw Exception("操作员编码不能为空");
if(value.Length()>18)
throw Exception("操作员编码长度不能大于18");
if(value!=l_EqucUser)
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("SELECT UserCODE FROM SDUser WHERE UserCODE='" +value+"'");
l_Query->Open();
if(l_Query->RecordCount<=0)
{
l_Query->Close();
throw Exception("操作员编码"+value+"'未定义");
}
l_Query->Close();
}
l_EqucUser=value;
}
//---------------------------------------------------------------------------
AnsiString TKSEquc::GetFieldValue(euEquc sdFieldName)
{
switch(sdFieldName)
{
case fiEqucGoods:
return EqucGoods;
case fiEqucProcess:
return EqucProcess;
case fiEqucValue:
return EqucValue;
case fiEqucUser:
return EqucUser;
case fiEqucSysDate:
return EqucSysDate;
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TKSEquc::SetFieldValue(euEquc sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiEqucGoods:
EqucGoods=value;
break;
case fiEqucProcess:
EqucProcess=value;
break;
case fiEqucValue:
EqucValue=value.ToDouble();
break;
case fiEqucUser:
EqucUser=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TKSEquc::TKSEquc(TDataComm *DC)
:TKSStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdEquc";
FilterString="";
OrderString="EqucGoods,EqucProcess";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSEquc::TKSEquc()
:TKSStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdEquc";
FilterString="";
OrderString="EqucGoods,EqucProcess";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSEquc::~TKSEquc()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TKSEquc::BackupValue()
{
b_EqucGoods=l_EqucGoods;
b_EqucProcess=l_EqucProcess;
b_EqucValue=l_EqucValue;
b_EqucUser=l_EqucUser;
b_EqucSysDate=l_EqucSysDate;
}
//---------------------------------------------------------------------------
void TKSEquc::RestoreValue()
{
l_EqucGoods=b_EqucGoods;
l_EqucProcess=b_EqucProcess;
l_EqucValue=b_EqucValue;
l_EqucUser=b_EqucUser;
l_EqucSysDate=b_EqucSysDate;
}
//---------------------------------------------------------------------------
void TKSEquc::EmptyValue(int Index)
{
switch(Index)
{
case 0:
l_EqucGoods="";
l_EqucProcess="";
l_EqucValue=0;
l_EqucUser="";
l_EqucSysDate="";
break;
case 1:
b_EqucGoods="";
b_EqucProcess="";
b_EqucValue=0;
b_EqucUser="";
b_EqucSysDate="";
break;
}
}
//---------------------------------------------------------------------------
void TKSEquc::BatchLetValue()
{
l_EqucGoods=l_Query->FieldValues["EqucGoods"];
l_EqucProcess=l_Query->FieldValues["EqucProcess"];
l_EqucValue=l_Query->FieldValues["EqucValue"];
l_EqucUser=l_Query->FieldValues["EqucUser"];
l_EqucSysDate=l_Query->FieldValues["EqucSysDate"];
BackupValue();
}
//---------------------------------------------------------------------------
void TKSEquc::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(l_EqucGoods.IsEmpty()==true)
throw Exception("产品编码不能为空!");
l_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
RecordDoubuleCh();
l_StoredProc->ProcedureName="sdEquc_Insert";
l_StoredProc->Parameters->Clear();
l_StoredProc->Parameters->CreateParameter("@EqucGoods",ftString,pdInput,18,l_EqucGoods);
l_StoredProc->Parameters->CreateParameter("@EqucProcess",ftString,pdInput,18,l_EqucProcess);
l_StoredProc->Parameters->CreateParameter("@EqucValue",ftFloat,pdInput,12,l_EqucValue);
l_StoredProc->Parameters->CreateParameter("@EqucUser",ftString,pdInput,18,l_EqucUser);
l_StoredProc->Parameters->CreateParameter("@EqucSysDate",ftString,pdOutput,40,l_EqucSysDate);
l_StoredProc->ExecProc();
l_StoredProc->Close();
l_EqucSysDate=l_StoredProc->Parameters->ParamValues["@EqucSysDate"];
}
else
{
if(l_EqucGoods!=b_EqucGoods)
RecordDoubuleCh();
l_StoredProc->ProcedureName="sdEquc_Update";
l_StoredProc->Parameters->Clear();
l_StoredProc->Parameters->CreateParameter("@W_EqucGoods",ftString,pdInput,18,b_EqucGoods);
l_StoredProc->Parameters->CreateParameter("@W_EqucProcess",ftString,pdInput,18,b_EqucProcess);
l_StoredProc->Parameters->CreateParameter("@EqucGoods",ftString,pdInput,18,l_EqucGoods);
l_StoredProc->Parameters->CreateParameter("@EqucProcess",ftString,pdInput,18,l_EqucProcess);
l_StoredProc->Parameters->CreateParameter("@EqucValue",ftFloat,pdInput,12,l_EqucValue);
l_StoredProc->Parameters->CreateParameter("@EqucUser",ftString,pdInput,18,l_EqucUser);
l_StoredProc->Parameters->CreateParameter("@EqucSysDate",ftString,pdOutput,40,l_EqucSysDate);
l_StoredProc->ExecProc();
l_StoredProc->Close();
l_EqucSysDate=l_StoredProc->Parameters->ParamValues["@EqucSysDate"];
}
TKSEquc *p=new TKSEquc();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->EqucGoods+p->EqucProcess);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->EqucGoods+p->EqucProcess,this->b_EqucGoods+this->b_EqucProcess);
}
}
//---------------------------------------------------------------------------
void TKSEquc::RecordDoubuleCh()
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("SELECT EQUCGOODS,EQUCPROCESS FROM sdEquc WHERE EQUCGOODS='"+l_EqucGoods+"' and EQUCPROCESS='"+l_EqucProcess+"'");
l_Query->Open();
if(l_Query->RecordCount>0)
{
l_Query->Close();
throw Exception("该记录已存在! 请重新输入");
}
}
void TKSEquc::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(l_EqucGoods.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
l_StoredProc->Close();
l_StoredProc->ProcedureName="sdEquc_Delete";
l_StoredProc->Parameters->Clear();
l_StoredProc->Parameters->CreateParameter("@W_EqucGoods",ftString,pdInput,18,b_EqucGoods);
l_StoredProc->Parameters->CreateParameter("@W_EqucProcess",ftString,pdInput,18,b_EqucProcess);
l_StoredProc->ExecProc();
l_StoredProc->Close();
DeleteRecord(this->b_EqucGoods+this->b_EqucProcess);
}
//---------------------------------------------------------------------------
void TKSEquc::Assign(TKSEquc *p)
{
this->SetActionID(p->CurStatus);
this->l_EqucGoods=p->l_EqucGoods;
this->l_EqucProcess=p->l_EqucProcess;
this->l_EqucValue=p->l_EqucValue;
this->l_EqucUser=p->l_EqucUser;
this->l_EqucSysDate=p->l_EqucSysDate;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TKSEquc::AssignValue()
{
TKSEquc *p=(TKSEquc *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TKSEquc::Query()
{
AnsiString l_SqlStr;
l_SqlStr=QueryString;
if(FilterString.IsEmpty()==false)
l_SqlStr=l_SqlStr+" where "+FilterString;
if(OrderString.IsEmpty()==false)
l_SqlStr=l_SqlStr+" Order by "+OrderString;
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add(l_SqlStr);
l_Query->Open();
ClearRecord();
if(l_Query->RecordCount>0)
{
l_Query->First();
while(!l_Query->Eof)
{
BatchLetValue();
TKSEquc *p=new TKSEquc();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->l_EqucGoods+p->l_EqucProcess);
l_Query->Next();
}
MoveFirst();
}
l_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TKSEquc::Find(AnsiString WhereStr)
{
AnsiString l_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
l_SqlStr="select * from sdEquc where "+WhereStr;
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add(l_SqlStr);
l_Query->Open();
if(l_Query->RecordCount!=1)
{
l_Query->Close();
return false;
}
else
{
BatchLetValue();
l_Query->Close();
return true;
}
}
//**************************************
// TKSMcd 成本差异
//**************************************
//--------------------------------------------------------------
void __fastcall TKSMcd:: SetMcdFmonth(AnsiString value)
{
l_McdFmonth=value;
}
void __fastcall TKSMcd:: SetMcdGoods(AnsiString value)
{
l_McdGoods=value;
}
void __fastcall TKSMcd:: SetMcdBopCost(double value)
{
l_McdBopCost=value;
}
void __fastcall TKSMcd:: SetMcdBopDiff(double value)
{
l_McdBopDiff=value;
}
void __fastcall TKSMcd:: SetMcdIopCost(double value)
{
l_McdIopCost=value;
}
void __fastcall TKSMcd:: SetMcdIopDiff(double value)
{
l_McdIopDiff=value;
}
void __fastcall TKSMcd:: SetMcdSopCost(double value)
{
l_McdSopCost=value;
}
void __fastcall TKSMcd:: SetMcdSopDiff(double value)
{
l_McdSopDiff=value;
}
void __fastcall TKSMcd:: SetMcdNopCost(double value)
{
l_McdNopCost=value;
}
void __fastcall TKSMcd:: SetMcdNopDiff(double value)
{
l_McdNopDiff=value;
}
void __fastcall TKSMcd:: SetMcdFopCost(double value)
{
l_McdFopCost=value;
}
void __fastcall TKSMcd:: SetMcdFopDiff(double value)
{
l_McdFopDiff=value;
}
void __fastcall TKSMcd:: SetMcdIoyCost(double value)
{
l_McdIoyCost=value;
}
void __fastcall TKSMcd:: SetMcdIoyDiff(double value)
{
l_McdIoyDiff=value;
}
void __fastcall TKSMcd:: SetMcdSoyCost(double value)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -