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

📄 mmhdl.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//---------------------------------------------------------------------------
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 + -