📄 qmdoc.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Qmdoc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//**************************************
// TsdQcm 质检员
//**************************************
//--------------------------------------------------------------
void __fastcall TsdQcm:: SetQcmCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("质检员代码不能为空");
if(value.Length()>18)
throw Exception("质检员代码不能大于18");
if(value!=m_QcmCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select QcmCode from sdQcm where QcmCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("质检员"+value+"已存在");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select UserCode from sdUser where UserCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount==0)
{
m_Query->Close();
throw Exception(value+"不是系统用户,不能作为质检员");
}
m_Query->Close();
}
m_QcmCode=value;
}
void __fastcall TsdQcm:: SetQcmTel(AnsiString value)
{
if(value.Length()>20)
throw Exception("电话长度不能大于20");
m_QcmTel=value;
}
void __fastcall TsdQcm:: SetQcmBeepPage(AnsiString value)
{
if(value.Length()>20)
throw Exception("呼机长度不能大于20");
m_QcmBeepPage=value;
}
//---------------------------------------------------------------------------
AnsiString TsdQcm::GetFieldValue(euQcm sdFieldName)
{
switch(sdFieldName)
{
case fiQcmCode:
return QcmCode;
case fiQcmTel:
return QcmTel;
case fiQcmBeepPage:
return QcmBeepPage;
default:
throw Exception("当前未定义返可取值");
}
}
//---------------------------------------------------------------------------
void TsdQcm::SetFieldValue(euQcm sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiQcmCode:
QcmCode=value;
break;
case fiQcmTel:
QcmTel=value;
break;
case fiQcmBeepPage:
QcmBeepPage=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdQcm::TsdQcm(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdQcm";
FilterString="";
OrderString="QcmCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdQcm::TsdQcm()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdQcm";
FilterString="";
OrderString="QcmCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdQcm::~TsdQcm()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdQcm::BackupValue()
{
b_QcmCode=m_QcmCode;
b_QcmTel=m_QcmTel;
b_QcmBeepPage=m_QcmBeepPage;
}
//---------------------------------------------------------------------------
void TsdQcm::RestoreValue()
{
m_QcmCode=b_QcmCode;
m_QcmTel=b_QcmTel;
m_QcmBeepPage=b_QcmBeepPage;
}
//---------------------------------------------------------------------------
void TsdQcm::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_QcmCode="";
m_QcmTel="";
m_QcmBeepPage="";
break;
case 1:
b_QcmCode="";
b_QcmTel="";
b_QcmBeepPage="";
break;
}
}
//---------------------------------------------------------------------------
void TsdQcm::BatchLetValue()
{
m_QcmCode=m_Query->FieldValues["QcmCode"];
m_QcmTel=m_Query->FieldValues["QcmTel"];
m_QcmBeepPage=m_Query->FieldValues["QcmBeepPage"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdQcm::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_QcmCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdQcm_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@QcmCode",ftString,pdInput,18,m_QcmCode);
m_StoredProc->Parameters->CreateParameter("@QcmTel",ftString,pdInput,20,m_QcmTel);
m_StoredProc->Parameters->CreateParameter("@QcmBeepPage",ftString,pdInput,20,m_QcmBeepPage);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
else
{
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdQcm_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_QcmCode",ftString,pdInput,18,b_QcmCode);
m_StoredProc->Parameters->CreateParameter("@QcmCode",ftString,pdInput,18,m_QcmCode);
m_StoredProc->Parameters->CreateParameter("@QcmTel",ftString,pdInput,20,m_QcmTel);
m_StoredProc->Parameters->CreateParameter("@QcmBeepPage",ftString,pdInput,20,m_QcmBeepPage);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TsdQcm *p=new TsdQcm();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->QcmCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->QcmCode,this->b_QcmCode);
}
}
//---------------------------------------------------------------------------
void TsdQcm::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_QcmCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdQcm_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("QW_QcmCode",ftString,pdInput,18,b_QcmCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_QcmCode);
}
//---------------------------------------------------------------------------
void TsdQcm::Assign(TsdQcm *p)
{
this->SetActionID(p->CurStatus);
this->m_QcmCode=p->m_QcmCode;
this->m_QcmTel=p->m_QcmTel;
this->m_QcmBeepPage=p->m_QcmBeepPage;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdQcm::AssignValue()
{
TsdQcm *p=(TsdQcm *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdQcm::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();
ClearRecord();
if(m_Query->RecordCount>0)
{
m_Query->First();
while(!m_Query->Eof)
{
BatchLetValue();
TsdQcm *p=new TsdQcm();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->QcmCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdQcm::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdQcm 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_Query->Close();
return true;
}
}
//类体
//**************************************
// TsdQcc 质检内容
//**************************************
//--------------------------------------------------------------
void __fastcall TsdQcc:: SetQccCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("质检内容代码不能为空");
if(value.Length()>18)
throw Exception("质检内容代码不能大于18");
if(value.UpperCase()!=m_QccCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select QccCode from sdQcc where QccCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("质检内容代码"+value+"已存在");
}
m_Query->Close();
}
m_QccCode=value;
}
void __fastcall TsdQcc:: SetQccName(AnsiString value)
{
if(value.Length()>20)
throw Exception("质检内容名称不能大于20");
if(value != m_QccName)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select QccName from sdQcc where QccName='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("质检内容名称 "+value+" 已存在");
}
m_Query->Close();
}
m_QccName=value;
}
void __fastcall TsdQcc:: SetQccDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("备注长度不能大于40");
m_QccDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TsdQcc::GetFieldValue(euQcc sdFieldName)
{
switch(sdFieldName)
{
case fiQccCode:
return QccCode;
case fiQccName:
return QccName;
case fiQccDesc:
return QccDesc;
default:
throw Exception("当前未定义返可取值");
}
}
//---------------------------------------------------------------------------
void TsdQcc::SetFieldValue(euQcc sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiQccCode:
QccCode=value;
break;
case fiQccName:
QccName=value;
break;
case fiQccDesc:
QccDesc=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdQcc::TsdQcc(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdQcc";
FilterString="";
OrderString="QccCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdQcc::TsdQcc()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdQcc";
FilterString="";
OrderString="QccCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdQcc::~TsdQcc()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdQcc::BackupValue()
{
b_QccCode=m_QccCode;
b_QccName=m_QccName;
b_QccDesc=m_QccDesc;
}
//---------------------------------------------------------------------------
void TsdQcc::RestoreValue()
{
m_QccCode=b_QccCode;
m_QccName=b_QccName;
m_QccDesc=b_QccDesc;
}
//---------------------------------------------------------------------------
void TsdQcc::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_QccCode="";
m_QccName="";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -