⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commondata.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        return SettleModeGlKm;
      case fiSettleModeKmDir:
        return AnsiString(SettleModeKmDir);
      default:
           throw Exception("当前未定义可取值");
    }
}

void TsdSettleMode::SetFieldValue(euSettleMode sdFieldName, AnsiString value)
{
    switch(sdFieldName)
    {
      case fiSettleModeCode:
        SettleModeCode=value;
        break;
      case fiSettleModeName:
        SettleModeName=value;
        break;
      case fiSettleModeDesc:
        SettleModeDesc=value;
        break;
      case fiSettleModeGlKm:
        SettleModeGlKm=value;
        break;
      case fiSettleModeKmDir:
        SettleModeKmDir=value.ToInt();
        break;
      default:
         throw Exception("当前字段未定义可赋值");
    }
}

void TsdSettleMode::Update()
{
  if(CurStatus==0||CurStatus==1)
    throw Exception("当前不是编辑状态,不能进行存盘操作!");
  if(m_SettleModeCode.IsEmpty()==true)
    throw Exception("编码不能为空!");
  m_StoredProc->Close();
  if(CurStatus==2||CurStatus==4)
  {
        m_StoredProc->ProcedureName="sdSettleMode_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@SettleModeCode",ftString,pdInput,18,m_SettleModeCode);
        m_StoredProc->Parameters->CreateParameter("@SettleModeName",ftString,pdInput,20,m_SettleModeName);
        m_StoredProc->Parameters->CreateParameter("@SettleModeDesc",ftString,pdInput,40,m_SettleModeDesc);
        m_StoredProc->Parameters->CreateParameter("@SettleModeGlKm",ftString,pdInput,18,m_SettleModeGlKm);
        m_StoredProc->Parameters->CreateParameter("@SettleModeKmDir",ftFloat,pdInput,5,m_SettleModeKmDir);
 
        m_StoredProc->ExecProc();
        m_StoredProc->Close();
  }
  else
  {
        m_StoredProc->ProcedureName="sdSettleMode_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_SettleModeCode",ftString,pdInput,18,b_SettleModeCode);
        m_StoredProc->Parameters->CreateParameter("@SettleModeCode",ftString,pdInput,18,m_SettleModeCode);
        m_StoredProc->Parameters->CreateParameter("@SettleModeName",ftString,pdInput,20,m_SettleModeName);
        m_StoredProc->Parameters->CreateParameter("@SettleModeDesc",ftString,pdInput,40,m_SettleModeDesc);
        m_StoredProc->Parameters->CreateParameter("@SettleModeGlKm",ftString,pdInput,18,m_SettleModeGlKm);
        m_StoredProc->Parameters->CreateParameter("@SettleModeKmDir",ftFloat,pdInput,5,m_SettleModeKmDir);

        m_StoredProc->ExecProc();
        m_StoredProc->Close();
  }
  TsdSettleMode *p=new TsdSettleMode();

  if(CurStatus==2) {
    SetActionID(1);  // for browsing only
    p->Assign(this);
    AddRecord((void *)p,p->SettleModeCode);
  }
  else {
    SetActionID(1);  // for browsing only
    p->Assign(this);
    ChangeRecord((void *)p,p->SettleModeCode,this->b_SettleModeCode);
  }
}

void TsdSettleMode::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_SettleModeCode.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdSettleMode_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_SettleModeCode",ftString,pdInput,18,b_SettleModeCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_SettleModeCode);
}

void TsdSettleMode::BackupValue()
{
    b_SettleModeCode=m_SettleModeCode;
    b_SettleModeName=m_SettleModeName;
    b_SettleModeDesc=m_SettleModeDesc;
    b_SettleModeGlKm=m_SettleModeGlKm;
    b_SettleModeKmDir=m_SettleModeKmDir;
}

void TsdSettleMode::RestoreValue()
{
    m_SettleModeCode=b_SettleModeCode;
    m_SettleModeName=b_SettleModeName;
    m_SettleModeDesc=b_SettleModeDesc;
    m_SettleModeGlKm=b_SettleModeGlKm;
    m_SettleModeKmDir=b_SettleModeKmDir;

}


void TsdSettleMode::EmptyValue(int Index)
{
   switch(Index)
   {
     case 0:
        m_SettleModeCode="";
        m_SettleModeName="";
        m_SettleModeDesc="";
        m_SettleModeGlKm="";
        m_SettleModeKmDir=1;
        break;
     case 1:
        b_SettleModeCode="";
        b_SettleModeName="";
        b_SettleModeDesc="";
        b_SettleModeGlKm="";
        b_SettleModeKmDir=1;
        break;
    }
}


void TsdSettleMode::BatchLetValue()
{
      m_SettleModeCode=m_Query->FieldValues["SettleModeCode"];
      m_SettleModeName=m_Query->FieldValues["SettleModeName"];
      m_SettleModeDesc=m_Query->FieldValues["SettleModeDesc"];
      m_SettleModeGlKm=m_Query->FieldValues["SettleModeGlKm"];
      m_SettleModeKmDir=m_Query->FieldValues["SettleModeKmDir"];
      BackupValue();                         
}

void TsdSettleMode::Assign(TsdSettleMode *p)
{
    this->SetActionID(p->CurStatus);
    m_SettleModeCode=p->m_SettleModeCode;
    m_SettleModeName=p->m_SettleModeName;
    m_SettleModeDesc=p->m_SettleModeDesc;
    m_SettleModeGlKm=p->m_SettleModeGlKm;
    m_SettleModeKmDir=p->m_SettleModeKmDir;
    BackupValue();
}


void TsdSettleMode::AssignValue()
{
    TsdSettleMode *p=(TsdSettleMode *)Records(CurRecNo);
    this->SetActionID(p->CurStatus);
    m_SettleModeCode=p->m_SettleModeCode;
    m_SettleModeName=p->m_SettleModeName;
    m_SettleModeDesc=p->m_SettleModeDesc;
    m_SettleModeGlKm=p->m_SettleModeGlKm;
    m_SettleModeKmDir=p->m_SettleModeKmDir;
    BackupValue();
}

int TsdSettleMode::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();
      TsdSettleMode *p=new TsdSettleMode();
      SetActionID(1);  // for browsing only
      p->Assign(this);
      AddRecord((void *)p,p->SettleModeCode);
      m_Query->Next();
    }
    MoveFirst();
  }
  m_Query->Close();
  return Count;
}


bool TsdSettleMode::Find(AnsiString WhereStr)
{
   AnsiString m_SqlStr;

  if(WhereStr.IsEmpty()==true)
    throw Exception("查找表达式不能为空");
  m_SqlStr="SELECT * FROM SDSettleMode 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;
  }
}

TsdSettleMode::~TsdSettleMode()
{
    try{
    }
    catch(...)
    {
        throw Exception("析构函数出错");
    }
}


/////////////////////////////////////////////////////////////////////
//              单位编码
/////////////////////////////////////////////////////////////////////
void __fastcall TsdUnit::SetUnitCode(AnsiString value)
{
    if (value.IsEmpty() )
        throw Exception("单位编码不能为空!");
    if(value.Length()>18)
        throw Exception("单位编码长度不能大于18");
    if (value!=m_UnitCode)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("SELECT UnitCODE FROM SDUnit WHERE UnitCODE='" +value+"'");
      m_Query->Open();
      if(m_Query->RecordCount>0)
      {
        m_Query->Close();
        throw Exception("单位编码'"+value+"'已存在");
      }
      m_Query->Close();
    }
    m_UnitCode=value;
}

void __fastcall TsdUnit::SetUnitName(AnsiString value)
{
    if(value.IsEmpty())
        throw Exception("单位名称不能为空");
    if(value.Length()>20)
        throw Exception("单位名称长度不能大于20");
    if (value!=m_UnitName)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("SELECT UnitCODE FROM SDUnit WHERE UnitName='" +value+"'");
      m_Query->Open();
      if(m_Query->RecordCount>0)
      {
        m_Query->Close();
        throw Exception("单位名称'"+value+"'已存在");
      }
      m_Query->Close();
    }
    m_UnitName=value;
}


void __fastcall TsdUnit::SetUnitRate(double value)
{
        if (value<=0)
          throw Exception("换算率不能小于等于零");
        m_UnitRate=value;
}

void __fastcall TsdUnit::SetUnitDefault(int value)
{
    if (value!=0 && value!=1)
      throw Exception("税码默认标志必须为0,非默认;1,默认税码");
    if(m_UnitDefault==0 && value==1)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select * from sdunit where unitcode<>'"+m_UnitCode+" 'and Unitdefault=1");
      m_Query->Open();
      if(m_Query->RecordCount>0)
      {
        m_Query->Close();
        throw Exception("已有计量单位被定义为缺省单位");
      }
      m_Query->Close();
    }
    if(value==1 && m_UnitRate!=1)
     throw Exception("缺省计量单位交换比率只能为 1 ");
    if(value!=1 && m_UnitRate==1)
     throw Exception("非缺省计量单位交换比率不能为 1 ");
    m_UnitDefault=value;
}

TsdUnit::TsdUnit(TDataComm *DC)
                :TsdStandard(DC)
{
  try
  {
    EmptyValue(0);
    EmptyValue(1);
    QueryString="SELECT * FROM SDUnit";
    FilterString="";
    OrderString="UNITCODE";
  }
  catch(Exception &e)
  {
    throw Exception("构造函数出错");
  }
}
TsdUnit::TsdUnit()
                :TsdStandard()
{
  try
  {
    EmptyValue(0);
    EmptyValue(1);
    QueryString="SELECT * FROM SDUnit";
    FilterString="";
    OrderString="UNITCODE";
  }
  catch(Exception &e)
  {
    throw Exception("构造函数出错");
  }
}

AnsiString TsdUnit::GetFieldValue(euUnit sdFieldName)
{
    switch(sdFieldName)
    {
      case fiUnitCode:
        return UnitCode;
      case fiUnitName:
        return UnitName;
      case fiUnitRate:
        return UnitRate;
      case fiUnitDefault:
        return UnitDefault;
      default:
           throw Exception("当前未定义可取值");
    }
}

void TsdUnit::SetFieldValue(euUnit sdFieldName, AnsiString value)
{
    switch(sdFieldName)
    {
      case fiUnitCode:
        UnitCode=value;
        break;
      case fiUnitName:
        UnitName=value;
        break;
      case fiUnitRate:
        UnitRate=value.ToDouble();
        break;
      case fiUnitDefault:
        UnitDefault=value.ToInt();
        break;
    default:
         throw Exception("当前字段未定义可赋值");
    }
}

void TsdUnit::Update()
{
  if(CurStatus==0||CurStatus==1)
    throw Exception("当前不是编辑状态,不能进行存盘操作!");
  if(m_UnitCode.IsEmpty()==true)
    throw Exception("税务编码不能为空!");
  m_StoredProc->Close();
  if(CurStatus==2||CurStatus==4)
  {
        m_StoredProc->ProcedureName="sdUnit_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@UnitCode",ftString,pdInput,18,m_UnitCode);
        m_StoredProc->Parameters->CreateParameter("@UnitName",ftString,pdInput,20,m_UnitName);
        m_StoredProc->Parameters->CreateParameter("@UnitDefault",ftInteger,pdInput,1,m_UnitDefault);
        m_StoredProc->Parameters->CreateParameter("@UnitRate",ftFloat,pdInput,12,m_UnitRate);
 
        m_StoredProc->ExecProc();
        m_StoredProc->Close();
  }
  else
  {
        m_StoredProc->ProcedureName="sdUnit_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_UnitCode",ftString,pdInput,18,b_UnitCode);
        m_StoredProc->Parameters->CreateParameter("@UnitCode",ftString,pdInput,18,m_UnitCode);
        m_StoredProc->Parameters->CreateParameter("@UnitName",ftString,pdInput,20,m_UnitName);
        m_StoredProc->Parameters->CreateParameter("@UnitDefault",ftInteger,pdInput,1,m_UnitDefault);
        m_StoredProc->Parameters->CreateParameter("@UnitRate",ftFloat,pdInput,12,m_UnitRate);
 
       m_StoredProc->ExecProc();
       m_StoredProc->Close();
  }
  TsdUnit *p=new TsdUnit();

  if(CurStatus==2) {
    SetActionID(1);  // for browsing only
    p->Assign(this);
    AddRecord((void *)p,p->UnitCode);
  }
  else {
    SetActionID(1);  // for browsing only
    p->Assign(this);
    ChangeRecord((void *)p,p->UnitCode,this->b_UnitCode);
  }
}

void TsdUnit::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_UnitCode.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdUnit_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_UnitCode",ftString,pdInput,18,b_UnitCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_UnitCode);
}

void 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -