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

📄 wrg.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    m_ItemStr=GetDataToGrid();
    switch(mAction)
    {
      case 0:   //Add
        sgWrg->AddItem(m_ItemStr);
        sgWrg->Row=sgWrg->RowCount-1;
        break;
      case 1:  //Edit
        sgWrg->ChangeItem(m_ItemStr,sgWrg->Row);
        break;
      case 2:  //Del
        sgWrg->RemoveItem(sgWrg->Row);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FillGridWithData()
{
    AnsiString m_ItemStr;
    comServer->MoveFirst();
    sgWrg->RowCount = 1;
    while(comServer->Eof == 0)
    {
      m_ItemStr =GetDataToGrid();
      sgWrg->AddItem(m_ItemStr);
      comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWrg::GetDataToGrid()
{
    AnsiString m_ItemStr,s1;
    s1=GetFieldValue(fiWrgWc);
    scWrgWc->LocateKey(s1);
    m_ItemStr = GetFieldValue(fiWrgNo)+
               "\t" +GetFieldValue(fiWrgProcess)+
               "\t" +scWrgWc->ItemData[2]+
               "\t" +GetFieldValue(fiWrgPQty)+
               "\t" +GetFieldValue(fiWrgRlt);
    return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormShow(TObject *Sender)
{
    InitEditControl();
    labWrgWo->Caption=FWrgWoCode;
    SetControlState(caSave);
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
    if(FWrgWoFrom==1) //按工艺路线表跟踪
    {
      tbAddHead->Enabled=false;
      tbDeleteHead->Enabled=false;
      sbtWrgCopy->Enabled=false;
    }
    else            //按工单路线表跟踪
      tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    SetInifileValue(this->Name,"AutoQuery","1",ExtractFileDir(Application->ExeName)+"\\sdFormSet.dat");
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormCreate(TObject *Sender)
{
    //FormIniFile="D:\Test.Ini";
    //SetGridWidth(Name,sgWrg,FormIniFile);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::scWrgProcessClick(TObject *Sender)
{
    AnsiString s;
    s = Trim(scWrgProcess->ItemData[cbItem2]);
    SetFieldValue(fiWrgWo,labWrgWo->Caption);
    SetFieldValue(fiWrgProcess,s);

    //给标准工序赋值
    seWrgName->Text=GetFieldValue(fiWrgName);
    cheChkFlg->Checked=GetFieldValue(fiWrgChkFlg)=="1";
    cheWxFlg->Checked=GetFieldValue(fiWrgWxFlg)=="1";

    scWrgWc->LocateKey(GetFieldValue(fiWrgWc));
    scWrgLoc->LocateKey(GetFieldValue(fiWrgLoc));

    scWrgState->ItemIndex=StrToInt(GetFieldValue(fiWrgState))-1;
    scWrgType->ItemIndex=StrToInt(GetFieldValue(fiWrgType))-1;
    seWrgWxAmt->Text=GetFieldValue(fiWrgWxAmt);
    seWrgQlt->Text=GetFieldValue(fiWrgQlt);
    seWrgSlt->Text=GetFieldValue(fiWrgSlt);
    seWrgRlt->Text=GetFieldValue(fiWrgRlt);
    seWrgWlt->Text=GetFieldValue(fiWrgWlt);
    seWrgMlt->Text=GetFieldValue(fiWrgMlt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWpeClick(TObject *Sender)
{
    if(comServer->RecordCount==0){
       ShowMessage("没有加工工序的记录,不能调用加工单工序员工维护!");
       return;
    }
    try{
       StartWaitForm("正在启动<工序员工维护>界面...");
       AnsiString t_WrgProcess=GetFieldValue(fiWrgProcess);
       Wpefrm=new TfrmWpe(this,FWrgWoCode,t_WrgProcess,FWrgWoCheck,FWrgWoCancel);
       EndWaitForm();
       Wpefrm->ShowModal();
    }
    __finally
    {
       delete Wpefrm;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muSaveClick(TObject *Sender)
{
    TRecBaseForm::muSaveClick(Sender);
    if(FWrgWoFrom==1)
    {
      tbAddHead->Enabled=false;
      tbDeleteHead->Enabled=false;
      sbtWrgCopy->Enabled=false;
    }
    else
      tbGenrate->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muCancelClick(TObject *Sender)
{
    TRecBaseForm::muCancelClick(Sender);
    if(FWrgWoFrom==1)
    {
       tbAddHead->Enabled=false;
       tbDeleteHead->Enabled=false;
       sbtWrgCopy->Enabled=false;
    }
    else
       tbGenrate->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muEditDetailClick(TObject *Sender)
{
    TRecBaseForm::muEditDetailClick(Sender);
    if(FWrgWoFrom==1)
    {
       scWrgLoc->Enabled=true;
       deWrgEdate->Enabled=true;
       deWrgIdate->Enabled=true;
       scWrgLoc->SetFocus();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::GenrateDoc()
{
    AnsiString FParam;
    int FErrNum;
    if(FWrgWoFrom!=1)
    {
       ShowMessage("非工艺路线方式不能生成!");
       return;
    }
    if(comServer->RecordCount>0)
    {
      if(MessageDlg("是否重新生成工艺路线?", mtWarning, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
      {
        try
        {
           StartWaitForm("正在生成工单工艺路线,请稍候...");
           FParam=FWrgWoCode+'\t'+FWrgWoRoute+'\t'+g_sdUserCode;
           comServer->Execute(FParam);
           FillGridWithData();
           GetDataFromComObject();
        }
        __finally
        {
           EndWaitForm();
        }
      }
    }
    else
    {
      FParam=FWrgWoCode+'\t'+FWrgWoRoute+'\t'+g_sdUserCode;
      try
      {
        StartWaitForm("正在生成工单工艺路线,请稍候...");
        comServer->Execute(FParam);
        FillGridWithData();
        GetDataFromComObject();
      }
      __finally
      {
        EndWaitForm();
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sgWrgClick(TObject *Sender)
{
    int ARow;
    ARow=sgWrg->Row;
    if(ARow > 0)
      comServer->LocateByKey(WideString(labWrgWo->Caption+sgWrg->TextMatrix[ARow][1]));
    if(!comServer->Eof)
      GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWrgCopyClick(TObject *Sender)
{
    //保存复制前的RecordCount
    int BefoCount=comServer->RecordCount;
    try{
      StartWaitForm("正在启动<工艺路线表复制>界面...");
      AnsiString t_WrgWo=GetFieldValue(fiWrgWo);
      WrgCopyfrm = new TfrmWrgCopy(this,t_WrgWo);
      WrgCopyfrm->SetcomServer(comServer);
      EndWaitForm();
      WrgCopyfrm->ShowModal();
      if(comServer->RecordCount>BefoCount){
         FillGridWithData();
         SetControlState(caSave);
      }
      else
         CancelChange();
    }
    __finally
    {
      delete WrgCopyfrm;
    }
}
//---------------------------------------------------------------------------


void __fastcall TfrmWrg::sbWmdClick(TObject *Sender)
{
  TfrmWmd *p;
  if(sgWrg->RowCount>1)
  {
    StartWaitForm("正在启动工单工序物料列表,请稍候...");
    p=new TfrmWmd(this,FWrgWoCode,sgWrg->Cells[1][sgWrg->Row]);
    EndWaitForm();
    p->ShowModal();
    delete p;
  }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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