📄 cmhdl.cpp
字号:
if(l_Query->RecordCount<1 )
{
l_Query->Close();
throw Exception("收发类型编码 "+value+" 未定义");
}
l_Query->Close();
}
l_AdjCohPosType=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("调整原因不能超过40");
l_AdjCohDesc=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohKeeper(AnsiString value)
{
if (value.IsEmpty())
throw Exception("仓管员代码不能为空!");
if(value.Length()>18)
throw Exception("仓管员代码长度不能超过18");
if (value!=l_AdjCohKeeper)
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("select keepercode from sdkeeper ,sduser where keepercode=usercode and keepercode='"+value+"'");
l_Query->Open();
if(l_Query->RecordCount<1 )
{
l_Query->Close();
throw Exception("仓管员代码'"+value+"'未定义");
}
l_Query->Close();
}
l_AdjCohKeeper=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohUser(AnsiString value)
{
if(value.IsEmpty())
throw Exception("操作员代码不能为空");
if(value.Length()>18)
throw Exception("操作员代码长度不能大于18");
if(value!=l_AdjCohUser)
{
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_AdjCohUser=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohCheck(int value)
{
if(value!=0&&value!=1)
throw Exception("审核标志只能取值0-未审核 1-审核");
l_AdjCohCheck=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohChecker(AnsiString value)
{
if(l_AdjCohCheck==1)
{
if(value.IsEmpty())
throw Exception("审核员代码不能为空");
if(value.Length()>18)
throw Exception("审核员代码长度不能大于18");
if(value!=l_AdjCohChecker)
{
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("审核员代码未定义或没有审核权限");
}
l_Query->Close();
}
l_AdjCohChecker=value;
}
else
l_AdjCohChecker="";
}
void __fastcall TKSAdjCoh:: SetAdjCohCheckDate(AnsiString value)
{
if(l_AdjCohCheck==1)
{
if(value.IsEmpty())
throw Exception("审核日期不能为空");
l_AdjCohCheckDate=Validate(value);
}
else
l_AdjCohCheckDate="";
}
void __fastcall TKSAdjCoh:: SetAdjCohPost(int value)
{
if(value!=0&&value!=1)
throw Exception("记帐标志只能取值0-末计帐 1-计帐");
l_AdjCohPost=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohPoster(AnsiString value)
{
if(l_AdjCohCheck==1)
{
if(value.IsEmpty())
throw Exception("记帐员代码不能为空");
if(value.Length()>18)
throw Exception("记帐员代码长度不能大于18");
if(value!=l_AdjCohPoster)
{
l_Query->Close();
l_Query->SQL->Clear();
l_Query->SQL->Add("select keepercode from sdkeeper where keepercode='"+value+"' and KeeperPost=1");
l_Query->Open();
if(l_Query->RecordCount<=0)
{
l_Query->Close();
throw Exception("记帐员代码未定义或没有记帐权限");
}
l_Query->Close();
}
l_AdjCohPoster=value;
}
else
l_AdjCohPoster="";
}
void __fastcall TKSAdjCoh:: SetAdjCohPostDate(AnsiString value)
{
if(l_AdjCohCheck==1)
{
if(value.IsEmpty())
throw Exception("记帐日期不能为空");
l_AdjCohPostDate=Validate(value);
}
else
l_AdjCohPostDate="";
}
//---------------------------------------------------------------------------
AnsiString TKSAdjCoh::GetFieldValue(euAdjCoh sdFieldName)
{
switch(sdFieldName)
{
case fiAdjCohCode:
return AdjCohCode;
case fiAdjCohDate:
return AdjCohDate;
case fiAdjCohFmonth:
return AdjCohFmonth;
case fiAdjCohPosType:
return AdjCohPosType;
case fiAdjCohDesc:
return AdjCohDesc;
case fiAdjCohKeeper:
return AdjCohKeeper;
case fiAdjCohUser:
return AdjCohUser;
case fiAdjCohCheck:
return AdjCohCheck;
case fiAdjCohChecker:
return AdjCohChecker;
case fiAdjCohCheckDate:
return AdjCohCheckDate;
case fiAdjCohPost:
return AdjCohPost;
case fiAdjCohPoster:
return AdjCohPoster;
case fiAdjCohPostDate:
return AdjCohPostDate;
case fiAdjCohSysDate:
return AdjCohSysDate;
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TKSAdjCoh::SetFieldValue(euAdjCoh sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiAdjCohCode:
AdjCohCode=value;
break;
case fiAdjCohDate:
AdjCohDate=value;
break;
case fiAdjCohFmonth:
AdjCohFmonth=value;
break;
case fiAdjCohPosType:
AdjCohPosType=value;
break;
case fiAdjCohDesc:
AdjCohDesc=value;
break;
case fiAdjCohKeeper:
AdjCohKeeper=value;
break;
case fiAdjCohUser:
AdjCohUser=value;
break;
case fiAdjCohCheck:
AdjCohCheck=value.ToInt();
break;
case fiAdjCohChecker:
AdjCohChecker=value;
break;
case fiAdjCohCheckDate:
AdjCohCheckDate=value;
break;
case fiAdjCohPost:
AdjCohPost=value.ToInt();
break;
case fiAdjCohPoster:
AdjCohPoster=value;
break;
case fiAdjCohPostDate:
AdjCohPostDate=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TKSAdjCoh::TKSAdjCoh(TDataComm *DC)
:TKSHead(DC)
{
try
{
l_sdAdjCod=NULL;
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdAdjCoh";
FilterString="";
OrderString="AdjCohCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSAdjCoh::TKSAdjCoh()
:TKSHead()
{
try
{
l_sdAdjCod=NULL;
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdAdjCoh";
FilterString="";
OrderString="AdjCohCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSAdjCoh::~TKSAdjCoh()
{
try{
for(int i=0;i<this->Count;i++)
{
this->LocateByIndex(i);
this->AssignValue();
delete l_sdAdjCod;
}
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TKSAdjCoh::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(l_AdjCohCode.IsEmpty()==true)
throw Exception("单号不能为空!");
if(ItemCount<=0)
throw Exception("单没有定义明细字段");
l_StoredProc->Close();
switch(CurStatus)
{
case 2:
case 4:
l_StoredProc->ProcedureName="sdAdjCoh_Insert";
l_StoredProc->Parameters->Clear();
l_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInputOutput,18,l_AdjCohCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,l_AdjCohDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,l_AdjCohFmonth);
l_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,l_AdjCohPosType);
l_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,l_AdjCohDesc);
l_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,l_AdjCohKeeper);
l_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,l_AdjCohUser);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,l_AdjCohCheck);
l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,l_AdjCohChecker);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,l_AdjCohCheckDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,l_AdjCohPost);
l_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,l_AdjCohPoster);
l_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,l_AdjCohPostDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,l_AdjCohSysDate);
l_StoredProc->ExecProc();
l_StoredProc->Close();
l_AdjCohSysDate=l_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];
l_AdjCohCode=l_StoredProc->Parameters->ParamValues["@AdjCohCode"];
for(int i=0;i<ItemCount;i++)
{
LocateItemByIndex(i);
l_sdAdjCod->SetFieldValue(fiAdjCodCode,l_AdjCohCode);
AddToObject();
l_sdAdjCod->Update();
}
break;
case 3:
l_StoredProc->ProcedureName="sdAdjCoh_Update";
l_StoredProc->Parameters->Clear();
l_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,18,b_AdjCohCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInput,18,l_AdjCohCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,l_AdjCohDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,l_AdjCohFmonth);
l_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,l_AdjCohPosType);
l_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,l_AdjCohDesc);
l_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,l_AdjCohKeeper);
l_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,l_AdjCohUser);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,l_AdjCohCheck);
l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,l_AdjCohChecker);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,l_AdjCohCheckDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,l_AdjCohPost);
l_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,l_AdjCohPoster);
l_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,l_AdjCohPostDate);
l_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,l_AdjCohSysDate);
l_StoredProc->ExecProc();
l_StoredProc->Close();
l_AdjCohSysDate=l_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];
break;
case 5:
case 6:
for(int i=0;i<ItemCount;i++)
{
LocateItemByIndex(i);
if(l_sdAdjCod->CurStatus==2||l_sdAdjCod->CurStatus==3)
l_sdAdjCod->Update();
}
break;
}
TKSAdjCoh *p=new TKSAdjCoh();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->AdjCohCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->AdjCohCode,this->AdjCohCode);
}
}
//---------------------------------------------------------------------------
void TKSAdjCoh::Check(int IsCheck)
{
if(this->Count>0)
{
try
{
l_StoredProc->ProcedureName="sdAdjCoh_Check";
l_StoredProc->Parameters->Clear();
if(IsCheck==1)
{
AdjCohCheck=1;
AdjCohChecker=g_sdUserCode;
AdjCohCheckDate=g_sdCurDate;
l_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,20,b_AdjCohCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftSmallint,pdInput,2,1);
l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,20,g_sdUserCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,g_sdCurDate);
l_StoredProc->ExecProc();
l_StoredProc->Close();
}
else
{
AdjCohCheck=0;
AdjCohChecker="";
AdjCohCheckDate="";
AnsiString temp="";
l_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,20,b_AdjCohCode);
l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftSmallint,pdInput,2,0);
l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,20,temp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -