📄 mmhdl.cpp
字号:
//---------------------------------------------------------------------------
void __fastcall TsdWo::SetWoMdate(AnsiString value)
{
if(value.IsEmpty()==false)
m_WoMdate=Validate(value);
}
//---------------------------------------------------------------------------
TsdWo::TsdWo(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdWo";
FilterString="";
OrderString=" WoCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception(e.Message);
}
}
//---------------------------------------------------------------------------
TsdWo::TsdWo()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdWo";
FilterString="";
OrderString=" WoCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception(e.Message);
}
}
//---------------------------------------------------------------------------
AnsiString TsdWo::GetFieldValue(euWo sdFieldName)
{
switch(sdFieldName)
{
case fiWoCode:
return WoCode;
case fiWoStatus:
return AnsiString(WoStatus);
case fiWoType:
return AnsiString(WoType);
case fiWoConsume:
return AnsiString(WoConsume);
case fiWoTrace:
return AnsiString(WoTrace);
case fiWoGoods:
return WoGoods;
case fiWoUnit:
return WoUnit;
case fiWoSoCode:
return WoSoCode;
case fiWoSodLine:
return AnsiString(WoSodLine);
case fiWoRoute:
return WoRoute;
case fiWoBatch:
return WoBatch;
case fiWoFrom:
return AnsiString(WoFrom);
case fiWoChkFlg:
return AnsiString(WoChkFlg);
case fiWoQty:
return AnsiString(WoQty);
case fiWoCQty:
return AnsiString(WoCqty);
case fiWoEQty:
return AnsiString(WoEqty);
case fiWoWQty:
return AnsiString(WoWqty);
case fiWoRQty:
return AnsiString(WoRqty);
case fiWoSQty:
return AnsiString(WoSqty);
case fiWoDate:
return WoDate;
case fiWoRdate:
return WoRdate;
case fiWoMDate:
return WoMdate;
case fiWoSdate:
return WoSdate;
case fiWoCloseDate:
return WoCloseDate;
case fiWoClose:
return AnsiString(WoClose);
case fiWoTwt:
return AnsiString(WoTwt);
case fiWoPamt:
return AnsiString(WoPamt);
case fiWoMamt:
return AnsiString(WoMamt);
case fiWoEamt:
return WoEamt;
case fiWoDesc:
return WoDesc;
case fiWoUser:
return WoUser;
case fiWoSysDate:
return WoSysDate;
case fiWoCheck:
return WoCheck;
case fiWoChecker:
return WoChecker;
case fiWoCheckDate:
return WoCheckDate;
case fiWoCancel:
return WoCancel;
case fiWoCancelDate:
return WoCancelDate;
case fiWoProducter:
return WoProducter;
default:
throw Exception("该字段未定义可取值!");
}
}
//---------------------------------------------------------------------------
void TsdWo::SetFieldValue(euWo sdFieldName, AnsiString Value)
{
switch(sdFieldName)
{
case fiWoCode:
WoCode=Value;
break;
case fiWoStatus:
WoStatus=Value.ToInt();
break;
case fiWoType:
WoType=Value.ToInt();
break;
case fiWoConsume:
WoConsume=Value.ToInt();
break;
case fiWoTrace:
WoTrace=Value.ToInt();
break;
case fiWoGoods:
WoGoods=Value;
break;
case fiWoSoCode:
WoSoCode=Value;
break;
case fiWoSodLine:
WoSodLine=Value.ToInt();
break;
case fiWoRoute:
WoRoute=Value;
break;
case fiWoBatch:
WoBatch=Value;
break;
case fiWoFrom:
WoFrom=Value.ToInt();
break;
case fiWoChkFlg:
WoChkFlg=Value.ToInt();
break;
case fiWoQty:
WoQty=Value.ToDouble();
break;
case fiWoDate:
WoDate=Value;
break;
case fiWoRdate:
WoRdate=Value;
break;
case fiWoSdate:
WoSdate=Value;
break;
case fiWoMDate:
WoMdate=Value;
break;
case fiWoUser:
WoUser=Value;
break;
case fiWoDesc:
WoDesc=Value;
break;
case fiWoClose:
WoClose=Value.ToInt();
break;
case fiWoCloseDate:
WoCloseDate=Value;
break;
case fiWoCheck:
WoCheck=Value.ToInt();
break;
case fiWoChecker:
WoChecker=Value;
break;
case fiWoCheckDate:
WoCheckDate=Value;
break;
case fiWoCancel:
WoCancel=Value.ToInt();
break;
case fiWoCancelDate:
WoCancelDate=Value;
break;
case fiWoProducter:
WoProducter=Value;
break;
default:
throw Exception("该字段未定义可赋值!");
}
}
//---------------------------------------------------------------------------
void TsdWo::Update()
{
if(CurStatus==0 || CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_WoCode.IsEmpty()==true)
throw Exception("新增和修改时加工单的单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2 || CurStatus==4)
{
m_StoredProc->ProcedureName="sdWo_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@WoCode",ftString,pdInputOutput,18,m_WoCode);
m_StoredProc->Parameters->CreateParameter("@WoStatus",ftInteger,pdInput,1,m_WoStatus);
m_StoredProc->Parameters->CreateParameter("@WoType",ftInteger,pdInput,1,m_WoType);
m_StoredProc->Parameters->CreateParameter("@WoConsume",ftInteger,pdInput,1,m_WoConsume);
m_StoredProc->Parameters->CreateParameter("@WoTrace",ftInteger,pdInput,1,m_WoTrace);
m_StoredProc->Parameters->CreateParameter("@WoGoods",ftString,pdInput,18,m_WoGoods);
m_StoredProc->Parameters->CreateParameter("@WoUnit",ftString,pdInput,18,m_WoUnit);
m_StoredProc->Parameters->CreateParameter("@WoSoCode",ftString,pdInput,18,m_WoSoCode);
m_StoredProc->Parameters->CreateParameter("@WoSodLine",ftInteger,pdInput,10,m_WoSodLine);
m_StoredProc->Parameters->CreateParameter("@WoRoute",ftString,pdInput,18,m_WoRoute);
m_StoredProc->Parameters->CreateParameter("@WoBatch",ftString,pdInput,18,m_WoBatch);
m_StoredProc->Parameters->CreateParameter("@WoFrom",ftInteger,pdInput,1,m_WoFrom);
m_StoredProc->Parameters->CreateParameter("@WoChkFlg",ftInteger,pdInput,1,m_WoChkFlg);
m_StoredProc->Parameters->CreateParameter("@WoQty",ftFloat,pdInput,12,m_WoQty);
m_StoredProc->Parameters->CreateParameter("@WoDate",ftString,pdInput,10,m_WoDate);
m_StoredProc->Parameters->CreateParameter("@WoRdate",ftString,pdInput,10,m_WoRdate);
m_StoredProc->Parameters->CreateParameter("@WoSdate",ftString,pdInput,10,m_WoSdate);
m_StoredProc->Parameters->CreateParameter("@WoMdate",ftString,pdInput,10,m_WoMdate);
m_StoredProc->Parameters->CreateParameter("@WoUser",ftString,pdInput,18,m_WoUser);
m_StoredProc->Parameters->CreateParameter("@WoProducter",ftString,pdInput,18,m_WoProducter);
m_StoredProc->Parameters->CreateParameter("@WoDesc",ftString,pdInput,40,m_WoDesc);
m_StoredProc->Parameters->CreateParameter("@WoSysDate",ftString,pdOutput,40,m_WoSysDate);
m_StoredProc->ExecProc();
m_WoCode=m_StoredProc->Parameters->ParamValues["@WoCode"];
m_WoSysDate=m_StoredProc->Parameters->ParamValues["@WoSysDate"];
m_StoredProc->Close();
}
else
{
m_StoredProc->ProcedureName="sdWo_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WoCode",ftString,pdInput,18,b_WoCode);
m_StoredProc->Parameters->CreateParameter("@WoStatus",ftInteger,pdInput,1,m_WoStatus);
m_StoredProc->Parameters->CreateParameter("@WoType",ftInteger,pdInput,1,m_WoType);
m_StoredProc->Parameters->CreateParameter("@WoConsume",ftInteger,pdInput,1,m_WoConsume);
m_StoredProc->Parameters->CreateParameter("@WoTrace",ftInteger,pdInput,1,m_WoTrace);
m_StoredProc->Parameters->CreateParameter("@WoGoods",ftString,pdInput,18,m_WoGoods);
m_StoredProc->Parameters->CreateParameter("@WoUnit",ftString,pdInput,18,m_WoUnit);
m_StoredProc->Parameters->CreateParameter("@WoSoCode",ftString,pdInput,18,m_WoSoCode);
m_StoredProc->Parameters->CreateParameter("@WoSodLine",ftInteger,pdInput,10,m_WoSodLine);
m_StoredProc->Parameters->CreateParameter("@WoRoute",ftString,pdInput,18,m_WoRoute);
m_StoredProc->Parameters->CreateParameter("@WoBatch",ftString,pdInput,18,m_WoBatch);
m_StoredProc->Parameters->CreateParameter("@WoFrom",ftInteger,pdInput,1,m_WoFrom);
m_StoredProc->Parameters->CreateParameter("@WoChkFlg",ftInteger,pdInput,1,m_WoChkFlg);
m_StoredProc->Parameters->CreateParameter("@WoQty",ftFloat,pdInput,12,m_WoQty);
m_StoredProc->Parameters->CreateParameter("@WoDate",ftString,pdInput,10,m_WoDate);
m_StoredProc->Parameters->CreateParameter("@WoRdate",ftString,pdInput,10,m_WoRdate);
m_StoredProc->Parameters->CreateParameter("@WoSdate",ftString,pdInput,10,m_WoSdate);
m_StoredProc->Parameters->CreateParameter("@WoUser",ftString,pdInput,18,m_WoUser);
m_StoredProc->Parameters->CreateParameter("@WoProducter",ftString,pdInput,18,m_WoProducter);
m_StoredProc->Parameters->CreateParameter("@WoCheck",ftInteger,pdInput,1,m_WoCheck);
m_StoredProc->Parameters->CreateParameter("@WoChecker",ftString,pdInput,18,m_WoChecker);
m_StoredProc->Parameters->CreateParameter("@WoCheckDate",ftString,pdInput,18,m_WoCheckDate);
m_StoredProc->Parameters->CreateParameter("@WoCancel",ftInteger,pdInput,1,m_WoCancel);
m_StoredProc->Parameters->CreateParameter("@WoCancelDate",ftString,pdInput,18,m_WoCancelDate);
m_StoredProc->Parameters->CreateParameter("@WoClose",ftInteger,pdInput,1,m_WoClose);
m_StoredProc->Parameters->CreateParameter("@WoCloseDate",ftString,pdInput,18,m_WoCloseDate);
m_StoredProc->Parameters->CreateParameter("@WoDesc",ftString,pdInput,40,m_WoDesc);
m_StoredProc->Parameters->CreateParameter("@WoSysDate",ftString,pdOutput,40,m_WoSysDate);
m_StoredProc->ExecProc();
m_WoSysDate=m_StoredProc->Parameters->ParamValues["@WoSysDate"];
m_StoredProc->Close();
}
TsdWo *p=new TsdWo();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->WoCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->WoCode,this->b_WoCode);
}
}
//---------------------------------------------------------------------------
void TsdWo::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_WoCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdWo_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WoCode",ftString,pdInput,18,b_WoCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_WoCode);
}
//---------------------------------------------------------------------------
void TsdWo::Check(int IsCheck)
{
if(this->Count>0)
{
try{
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdWo_Check";
m_StoredProc->Parameters->Clear();
if(IsCheck==1)
{
WoCheck=1;
WoChecker=g_sdUserCode;
WoCheckDate=g_sdCurDate;
m_StoredProc->Parameters->CreateParameter("@W_WoCode",ftString,pdInput,18,b_WoCode);
m_StoredProc->Parameters->CreateParameter("@WoCheck",ftInteger,pdInput,1,m_WoCheck);
m_StoredProc->Parameters->CreateParameter("@WoChecker",ftString,pdInput,18,m_WoChecker);
m_StoredProc->Parameters->CreateParameter("@WoCheckDate",ftString,pdInput,10,m_WoCheckDate);
m_StoredProc->Parameters->CreateParameter("@WoStatus",ftInteger,pdOutput,1,m_WoStatus);
m_StoredProc->ExecProc();
m_WoStatus=m_StoredProc->Parameters->ParamValues["@WoStatus"];
m_StoredProc->Close();
}
else
{
WoCheck=0;
WoChecker="";
WoCheckDate="";
m_StoredProc->Parameters->CreateParameter("@W_WoCode",ftString,pdInput,18,b_WoCode);
m_StoredProc->Parameters->CreateParameter("@WoCheck",ftInteger,pdInput,1,m_WoCheck);
m_StoredProc->Parameters->CreateParameter("@WoChecker",ftString,pdInput,18,m_WoChecker);
m_StoredProc->Parameters->CreateParameter("@WoCheckDate",ftString,pdInput,10,m_WoCheckDate);
m_StoredProc->Parameters->CreateParameter("@WoStatus",ftInteger,pdOutput,1,m_WoStatus);
m_StoredProc->ExecProc();
m_WoStatus=m_StoredProc->Parameters->ParamValues["@WoStatus"];
m_StoredProc->Close();
}
TsdWo *p=(TsdWo*)Records(CurRecNo);
p->Assign(this);
BackupValue();
}
catch(Exception &e)
{
m_WoCheck=b_WoCheck;
m_WoChecker=b_WoChecker;
m_WoCheckDate=b_WoCheckDate;
m_WoStatus=b_WoStatus;
throw Exception(e.Message);
}
}
}
//---------------------------------------------------------------------------
void TsdWo::Revoke(int IsRevoke)
{
if(this->Count>0)
{
try{
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdWo_Revoke";
m_StoredProc->Parameters->Clear();
if(IsRevoke==1)
{
WoCancel=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -