📄 imhdl.cpp
字号:
m_AlfdSSodLine=value;
}
else
m_AlfdSSodLine=0;
}
void __fastcall TsdAlfd::SetAlfdDBatch(AnsiString value)
{
int IsBatch;
if(m_AlfdGoods.IsEmpty())
throw Exception("调拔物料不能为空");
if(value.Length()>18)
throw Exception("批号编码长度不能大于18");
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select GoodsBatch from sdgoods where goodscode='"+m_AlfdGoods+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("调拔物料不存在");
}
else
{
IsBatch=m_Query->FieldValues["GoodsBatch"];
m_Query->Close();
}
if(IsBatch==0)
{
if(!value.IsEmpty())
throw Exception("物料:"+m_AlfdGoods+" 不需批次管理");
}
if(value.IsEmpty()==false && value!=m_AlfdDBatch)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Batchcode from sdBatch where Batchcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("批号编码:"+value+"未定义");
}
m_Query->Close();
}
m_AlfdDBatch=value;
}
void __fastcall TsdAlfd::SetAlfdDSo(AnsiString value)
{
int TrackSo;
if(m_AlfdGoods.IsEmpty())
throw Exception("调拔物料不能为空");
if(value.Length()>18)
throw Exception("订单号长度不能大于18");
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select GoodsTrackSo from sdgoods where goodscode='"+m_AlfdGoods+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("调拔物料不存在");
}
else
{
TrackSo=m_Query->FieldValues["GoodsTrackSo"];
m_Query->Close();
}
if(TrackSo==0)
{
if(!value.IsEmpty())
throw Exception("物料:"+m_AlfdGoods+" 不需跟踪订单管理");
}
if(value.IsEmpty()==false && value!=m_AlfdDSo)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Sohcode from sdSoh where Sohcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("订单:"+value+"不存在");
}
m_Query->Close();
}
m_AlfdDSo=value;
}
void __fastcall TsdAlfd::SetAlfdDSodLine(int value)
{
if(m_AlfdDSo.IsEmpty()==false)
{
if(value<=0)
throw Exception("订单行号不存在");
if(value!=m_AlfdDSodLine)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Sodcode from sdSod where Sodcode='"+m_AlfdDSo+"' and sodline="+AnsiString(value));
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("订单行号:"+AnsiString(value)+"不存在");
}
m_Query->Close();
}
m_AlfdDSodLine=value;
}
else
m_AlfdDSodLine=0;
}
void __fastcall TsdAlfd::SetAlfdDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("备注长度不能大于40");
m_AlfdDesc=value;
}
AnsiString TsdAlfd::GetFieldValue(euAlfd sdFieldName)
{
switch(sdFieldName)
{
case fiAlfdCode:
return AlfdCode;
case fiAlfdGoods:
return AlfdGoods;
case fiAlfdLine:
return AlfdLine;
case fiAlfdUnit:
return AlfdUnit;
case fiAlfdOLoc:
return AlfdOLoc;
case fiAlfdILoc:
return AlfdILoc;
case fiAlfdConv:
return AlfdConv;
case fiAlfdQty:
return AlfdQty;
case fiAlfdSBatch:
return AlfdSBatch;
case fiAlfdSSo:
return AlfdSSo;
case fiAlfdSSodLine:
return AlfdSSodLine;
case fiAlfdDBatch:
return AlfdDBatch;
case fiAlfdDSo:
return AlfdDSo;
case fiAlfdDSodLine:
return AlfdDSodLine;
case fiAlfdDesc:
return AlfdDesc;
default:
throw Exception("没有定义该字段的返回值");
}
}
AnsiString TsdAlfd::GetOldFieldValue(euAlfd sdFieldName)
{
switch(sdFieldName)
{
case fiAlfdCode:
return b_AlfdCode;
case fiAlfdGoods:
return b_AlfdGoods;
case fiAlfdLine:
return b_AlfdLine;
case fiAlfdUnit:
return b_AlfdUnit;
case fiAlfdConv:
return b_AlfdConv;
case fiAlfdQty:
return b_AlfdQty;
case fiAlfdSBatch:
return b_AlfdSBatch;
case fiAlfdSSo:
return b_AlfdSSo;
case fiAlfdSSodLine:
return b_AlfdSSodLine;
case fiAlfdDBatch:
return b_AlfdDBatch;
case fiAlfdDSo:
return b_AlfdDSo;
case fiAlfdDSodLine:
return b_AlfdDSodLine;
case fiAlfdDesc:
return b_AlfdDesc;
default:
throw Exception("没有定义该字段的返回值");
}
}
//---------------------------------------------------------------------------
void TsdAlfd::SetFieldValue(euAlfd sdFieldName, AnsiString Value)
{
switch(sdFieldName)
{
case fiAlfdCode:
AlfdCode=Value;
break;
case fiAlfdGoods:
AlfdGoods=Value;
break;
case fiAlfdOLoc:
AlfdOLoc=Value;
break;
case fiAlfdILoc:
AlfdILoc=Value;
break;
case fiAlfdLine:
AlfdLine=Value.ToInt();
break;
case fiAlfdUnit:
AlfdUnit=Value;
break;
case fiAlfdConv:
AlfdConv=Value.ToDouble();
break;
case fiAlfdQty:
AlfdQty=Value.ToDouble();
break;
case fiAlfdSBatch:
AlfdSBatch=Value;
break;
case fiAlfdSSo:
AlfdSSo=Value;
break;
case fiAlfdSSodLine:
AlfdSSodLine=Value.ToInt();
break;
case fiAlfdDBatch:
AlfdDBatch=Value;
break;
case fiAlfdDSo:
AlfdDSo=Value;
break;
case fiAlfdDSodLine:
AlfdDSodLine=Value.ToInt();
break;
case fiAlfdDesc:
AlfdDesc=Value;
break;
default:
throw Exception("该字段未定义成可赋值类型");
}
}
//---------------------------------------------------------------------------
TsdAlfd::TsdAlfd(TDataComm *DC)
:TsdDetail(DC)
{
try
{
QueryString="select * from sdAlfd ";
FilterString="";
OrderString="AlfdLine";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
//---------------------------------------------------------------------------
TsdAlfd::TsdAlfd()
:TsdDetail()
{
try
{
QueryString="select * from sdAlfd ";
FilterString="";
OrderString="AlfdLine";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
//---------------------------------------------------------------------------
TsdAlfd::~TsdAlfd()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdAlfd::BackupValue()
{
b_AlfdCode =m_AlfdCode;
b_AlfdGoods =m_AlfdGoods;
b_AlfdILoc =m_AlfdILoc;
b_AlfdOLoc =m_AlfdOLoc;
b_AlfdLine =m_AlfdLine;
b_AlfdUnit =m_AlfdUnit;
b_AlfdConv =m_AlfdConv;
b_AlfdQty =m_AlfdQty;
b_AlfdSBatch =m_AlfdSBatch;
b_AlfdSSo =m_AlfdSSo;
b_AlfdSSodLine =m_AlfdSSodLine;
b_AlfdDBatch =m_AlfdDBatch;
b_AlfdDSo =m_AlfdDSo;
b_AlfdDSodLine =m_AlfdDSodLine;
b_AlfdDesc =m_AlfdDesc;
}
//---------------------------------------------------------------------------
void TsdAlfd::RestoreValue()
{
m_AlfdCode =b_AlfdCode;
m_AlfdGoods =b_AlfdGoods;
m_AlfdILoc =b_AlfdILoc;
m_AlfdOLoc =b_AlfdOLoc;
m_AlfdLine =b_AlfdLine;
m_AlfdUnit =b_AlfdUnit;
m_AlfdConv =b_AlfdConv;
m_AlfdQty =b_AlfdQty;
m_AlfdSBatch =b_AlfdSBatch;
m_AlfdSSo =b_AlfdSSo;
m_AlfdSSodLine =b_AlfdSSodLine;
m_AlfdDBatch =b_AlfdDBatch;
m_AlfdDSo =b_AlfdDSo;
m_AlfdDSodLine =b_AlfdDSodLine;
m_AlfdDesc =b_AlfdDesc;
}
//---------------------------------------------------------------------------
void TsdAlfd::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_AlfdCode ="";
m_AlfdGoods ="";
m_AlfdILoc ="";
m_AlfdOLoc ="";
m_AlfdLine =0;
m_AlfdUnit ="";
m_AlfdConv =0;
m_AlfdQty =0;
m_AlfdSBatch ="";
m_AlfdSSo ="";
m_AlfdSSodLine =0;
m_AlfdDBatch ="";
m_AlfdDSo ="";
m_AlfdDSodLine =0;
m_AlfdDesc ="";
break;
case 1:
b_AlfdCode ="";
b_AlfdGoods ="";
m_AlfdILoc ="";
m_AlfdOLoc ="";
b_AlfdLine =0;
b_AlfdUnit ="";
b_AlfdConv =0;
b_AlfdQty =0;
b_AlfdSBatch ="";
b_AlfdSSo ="";
b_AlfdSSodLine =0;
b_AlfdDBatch ="";
b_AlfdDSo ="";
b_AlfdDSodLine =0;
b_AlfdDesc ="";
break;
}
}
//---------------------------------------------------------------------------
void TsdAlfd::BatchLetValue()
{
m_AlfdCode =m_Query->FieldValues["AlfdCode"];
m_AlfdGoods =m_Query->FieldValues["AlfdGoods"];
m_AlfdOLoc =m_Query->FieldValues["AlfdOLoc"];
m_AlfdILoc =m_Query->FieldValues["AlfdILoc"];
m_AlfdLine =m_Query->FieldValues["AlfdLine"];
m_AlfdUnit =m_Query->FieldValues["AlfdUnit"];
m_AlfdQty =m_Query->FieldValues["AlfdQty"];
m_AlfdConv =m_Query->FieldValues["AlfdConv"];
m_AlfdSBatch =m_Query->FieldValues["AlfdSBatch"];
m_AlfdSSo =m_Query->FieldValues["AlfdSSo"];
m_AlfdSSodLine =m_Query->FieldValues["AlfdSSodLine"];
m_AlfdDBatch =m_Query->FieldValues["AlfdDBatch"];
m_AlfdDSo =m_Query->FieldValues["AlfdDSo"];
m_AlfdDSodLine =m_Query->FieldValues["AlfdDSodLine"];
m_AlfdDesc =m_Query->FieldValues["AlfdDesc"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdAlfd::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_AlfdCode.IsEmpty()==true)
throw Exception("调拔单号不能为空!");
if(this->Count<1)
throw Exception("没有明细");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdAlfd_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@AlfdCode",ftString,pdInput,18,m_AlfdCode);
m_StoredProc->Parameters->CreateParameter("@AlfdLine",ftInteger,pdInput,10,m_AlfdLine);
m_StoredProc->Parameters->CreateParameter("@AlfdOLoc",ftString,pdInput,18,m_AlfdOLoc);
m_StoredProc->Parameters->CreateParameter("@AlfdILoc",ftString,pdInput,18,m_AlfdILoc);
m_StoredProc->Parameters->CreateParameter("@AlfdGoods",ftString,pdInput,18,m_AlfdGoods);
m_StoredProc->Parameters->CreateParameter("@AlfdUnit",ftString,pdInput,18,m_AlfdUnit);
m_StoredProc->Parameters->CreateParameter("@AlfdConv",ftFloat,pdInput,12,m_AlfdConv);
m_StoredProc->Parameters->CreateParameter("@AlfdQty",ftFloat,pdInput,12,m_AlfdQty);
m_StoredProc->Parameters->CreateParameter("@AlfdSBatch",ftString,pdInput,18,m_AlfdSBatch);
m_StoredProc->Parameters->CreateParameter("@AlfdSSo",ftString,pdInput,18,m_AlfdSSo);
m_StoredProc->Parameters->CreateParameter("@AlfdSSodLine",ftInteger,pdInput,10,m_AlfdSSodLine);
m_StoredProc->Parameters->CreateParameter("@AlfdDBatch",ftString,pdInput,18,m_AlfdDBatch);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -