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

📄 wrg.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        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("WrgWc");
    scWrgWc->LocateKey(s1);
    m_ItemStr = GetFieldValue("WrgNo")+
               "\t" +GetFieldValue("WrgProcess")+
               "\t" +scWrgWc->ItemData[2]+
               "\t" +GetFieldValue("WrgPQty")+
               "\t" +GetFieldValue("WrgRlt");
    return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormShow(TObject *Sender)
{
    InitEditControl();
    labWrgWo->Caption=FWrgWoCode;
    SetControlState(caSave);
    if(comServer->RecordCount>0)
    {
      FillGridWithData();
      comServer->MoveFirst();
      GetDataFromComObject();
    }
    else
    {
      sgWrg->RowCount=1;
      ClearControl(false);
    }
    tbControl->Enabled=false;
    if(FWrgWoFrom==1) //按工艺路线表跟踪
    {
      tbAddHead->Enabled=false;
      tbDeleteHead->Enabled=false;
      sbtWrgCopy->Enabled=false;
    }
    else            //按工单路线表跟踪
      tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::scWrgProcessClick(TObject *Sender)
{
    AnsiString SqlStr;
    SqlStr="select ProcessCode,ProcessName,ProcessWc,ProcessLoc,ProcessType,ProcessState,ProcessChkFlg,ProcessWxFlg,";
    SqlStr+=" ProcessWxAmt,ProcessQlt,ProcessSlt,ProcessRlt,ProcessWlt,ProcessMlt,ProcessSpec ";
    SqlStr+=" FROM sdProcess where ProcessCode='"+scWrgProcess->ItemData[1]+"' order by ProcessCode";

    Query->Close();
//    Query->SQL->Clear();
//    Query->SQL->Add(SqlStr);
//    Query->Open();
    Query->Open(SqlStr,"");
    if(Query->RecordCount>0)
    {
      seWrgName->Text=Query->FieldByName("ProcessName");
      cheChkFlg->Checked=Query->FieldByName("ProcessChkFlg")==1;
      cheWxFlg->Checked=Query->FieldByName("ProcessWxFlg")==1;

      scWrgWc->LocateKey(Query->FieldByName("ProcessWc"));
      scWrgLoc->LocateKey(Query->FieldByName("ProcessLoc"));

      scWrgState->ItemIndex=StrToInt(Query->FieldByName("ProcessState"))-1;
      scWrgType->ItemIndex=StrToInt(Query->FieldByName("ProcessType"))-1;
      seWrgWxAmt->Text=Query->FieldByName("ProcessWxAmt");
      seWrgQlt->Text=Query->FieldByName("ProcessQlt");
      seWrgSlt->Text=Query->FieldByName("ProcessSlt");
      seWrgRlt->Text=Query->FieldByName("ProcessRlt");
      seWrgWlt->Text=Query->FieldByName("ProcessWlt");
      seWrgMlt->Text=Query->FieldByName("ProcessMlt");
      Query->Close();
    }
    else
    {
      Query->Close();
      throw Exception("输入的工序编码不存在!");
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWpeClick(TObject *Sender)
{
    TfrmWpe *Wpefrm;
    if(comServer->RecordCount==0){
       ShowMessage("没有加工工序的记录,不能调用加工单工序员工维护!");
       return;
    }
    try{
       StartWaitForm("正在启动<工序员工维护>界面...");
       AnsiString FParameter,FWhereString;
       FParameter=FWrgWoCode+"\t"+GetFieldValue("WrgProcess")+"\t"+FWrgWoCheck+"\t"+FWrgWoCancel;
       FWhereString="WpeWo='"+FWrgWoCode+"' and WpeProcess='"+GetFieldValue("WrgProcess")+"'";
       Wpefrm=new TfrmWpe(this,g_ClientHandle,"1061107",FWhereString,FParameter);
       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);
           */
           Query->Close();
           Query->Execute("exec sdWrg_Genrate '"+FWrgWoCode+"','"+FWrgWoRoute+"','"+g_sdUserCode+"'");

           comServer->Query();
           FillGridWithData();
           GetDataFromComObject();
        }
        __finally
        {
           EndWaitForm();
        }
      }
    }
    else
    {
      try
      {
        StartWaitForm("正在生成工单工艺路线,请稍候...");
        Query->Close();
        Query->Execute("exec sdWrg_Genrate '"+FWrgWoCode+"','"+FWrgWoRoute+"','"+g_sdUserCode+"'");
        comServer->Query();
        FillGridWithData();
        GetDataFromComObject();
      }
      __finally
      {
        EndWaitForm();
      }
    }
} //---------------------------------------------------------------------------
void __fastcall TfrmWrg::sgWrgClick(TObject *Sender)
{
    int ARow;
    ARow=sgWrg->Row;
    if(ARow > 0)
      comServer->LocateByKey(labWrgWo->Caption+"\t"+sgWrg->TextMatrix[ARow][1]);
    if(comServer->RecordCount>0)
      GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWrgCopyClick(TObject *Sender)
{
    //保存复制前的RecordCount
    int BefoCount=comServer->RecordCount;
    try{
      StartWaitForm("正在启动<工艺路线表复制>界面...");
      WrgCopyfrm = new TfrmWrgCopy(this);
      WrgCopyfrm->FWrgCopyWo=FWrgWoCode;
      WrgCopyfrm->SetcomServer(comServer);
      EndWaitForm();
      WrgCopyfrm->ShowModal();
      if(comServer->RecordCount>BefoCount){
         FillGridWithData();
         SetControlState(caSave);
      }
      else
         CancelChange();
    }
    __finally
    {
      delete WrgCopyfrm;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbWmdClick(TObject *Sender)
{
  if(sgWrg->RowCount>1)
  {
    StartWaitForm("正在启动工单工序物料列表,请稍候...");
    AnsiString FParameter;
    FParameter=FWrgWoCode+"\t"+Trim(sgWrg->Cells[1][sgWrg->Row]);
    ShowClientFormModal(g_ClientHandle,1060311,FParameter);
    EndWaitForm();
  }
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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