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

📄 mps.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mps.h"
#include "Mpsd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmMps *frmMps;
//---------------------------------------------------------------------------
__fastcall TfrmMps::TfrmMps(TComponent* Owner)
        : TQueryBaseForm(Owner,euSdMps,"")
{
  ItemTemp="";
  sgMps->RowCount=1;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMps::GetFieldValue(int FieldIndex)
{
    WideString S;
    S   =   ReadFieldValue(comServer,FieldIndex);
    return(S);
}
void __fastcall TfrmMps::ClearControl(bool BringToNext)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::GetDataFromComObject()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::WaitUserInput()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::RefreshGridData(int mAction)
{
        int i,Num;
        AnsiString ItemStr,s="";
        switch(mAction)
        {
           case 0:
          ItemStr ="\t" + GetFieldValue(fiMpsGoods)+
                 "\t" + GetFieldValue(fiMpsRDate)+
                 "\t" + GetFieldValue(fiMpsRQty)+
                 "\t" + GetFieldValue(fiMpsGQty)+
                 "\t" + GetFieldValue(fiMpsDate)+
                 "\t" + GetFieldValue(fiMpsPlanner)+
                 "\t" + (GetFieldValue(fiMpsCheck)=="1"?"已审核":"未审核")+
                 "\t" + GetFieldValue(fiMpsChecker)+
                 "\t" + GetFieldValue(fiMpsCheckDate)+
                 "\t" + GetFieldValue(fiMpsState)+
                 "\t" + GetFieldValue(fiMpsSysDate);
             sgMps->AddItem(ItemStr);
             break;
          case 1:
           ItemStr ="\t" + GetFieldValue(fiMpsGoods)+
                 "\t" + GetFieldValue(fiMpsRDate)+
                 "\t" + GetFieldValue(fiMpsRQty)+
                 "\t" + GetFieldValue(fiMpsGQty)+
                 "\t" + GetFieldValue(fiMpsDate)+
                 "\t" + GetFieldValue(fiMpsPlanner)+
                 "\t" + (GetFieldValue(fiMpsCheck)=="1"?"已审核":"未审核")+
                 "\t" + GetFieldValue(fiMpsChecker)+
                 "\t" + GetFieldValue(fiMpsCheckDate)+
                 "\t" + GetFieldValue(fiMpsState)+
                 "\t" + GetFieldValue(fiMpsSysDate);
            sgMps->ChangeItem(ItemStr,sgMps->Row);
             break;
           case 2:
             sgMps->RemoveItem(sgMps->Row);
         }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::DisplayBill()
{
//       FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::GetBill(AnsiString BillID)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->Query();
    comServer->MoveFirst();
    sgMps->RowCount    =   1;
    while (comServer->Eof   ==  0)
    {
        RefreshGridData(0);
        comServer->MoveNext();
    }
    sgMpsClick(NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::muFirstClick(TObject *Sender)
{
  if(sgMps->RowCount>1)
    sgMps->Row=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::muPreviousClick(TObject *Sender)
{
 if(sgMps->Row>1)
  sgMps->Row--;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::muNextClick(TObject *Sender)
{
 if(sgMps->Row<sgMps->RowCount-1)
   sgMps->Row++;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::muLastClick(TObject *Sender)
{
  sgMps->Row=sgMps->RowCount-1;
}
//---------------------------------------------------------------------------



void __fastcall TfrmMps::sgMpsClick(TObject *Sender)
{
     int iRow;
     iRow=sgMps->Row;
     if (iRow == 0)
      {
         return;
      }
     comServer->LocateByKey(WideString(sgMps->TextMatrix[iRow][1]+sgMps->TextMatrix[iRow][2]));
     tbCheck->Enabled=(GetFieldValue(fiMpsCheck)=="0");
}
//---------------------------------------------------------------------------



void __fastcall TfrmMps::sgMpsDblClick(TObject *Sender)
{
  if(sgMps->Row>0&&sgMps->Row<sgMps->RowCount)
  {
    try
    {
     TfrmMpsd *frmMpsd= new TfrmMpsd(this);
     frmMpsd->MpsGoods=Trim(sgMps->TextMatrix[sgMps->Row][1]);
     frmMpsd->MpsRDate=Trim(sgMps->TextMatrix[sgMps->Row][2]);
     frmMpsd->seMpsGoods->Text=Trim(sgMps->TextMatrix[sgMps->Row][1]);
     frmMpsd->seMpsRDate->Text=Trim(sgMps->TextMatrix[sgMps->Row][2]);
     frmMpsd->seMpsRQty->Text=Trim(sgMps->TextMatrix[sgMps->Row][3]);
     frmMpsd->ShowModal();
    }
    __finally
    {
     delete frmMpsd;
    }
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::pMenuPopup(TObject *Sender)
{
 if(sgMps->Row > 0)
 {
   MICheck->Enabled=tbCheck->Enabled;
   MIMpsd->Enabled=true;
 }
 else
 {
   MICheck->Enabled=false;
   MIMpsd->Enabled=false;
 }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMps::GenData()
{
  if(comServer->RecordCount>0)
   if(Application->MessageBox("确定要重新生成主生产计划吗?","系统提示",MB_YESNO) != IDYES)
     return;
  try
  {
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql;
    RsQuery=NewResultSet();
    sSql=" select PlannerCode from sdPlanner where PlannerCode='"+g_sdUserCode+"'";
    try
    {
      StartWaitForm("正在MPS计划生成,请稍等!");
      RsQuery->Open(sSql,"");
      RsQuery->MoveFirst();
      if( RsQuery->RecordCount < 1 )
      {
        RsQuery->Close();
        delete RsQuery;
        throw Exception("当前用户不是计划员,操作被禁止");
      }
      sSql="exec sdGen_Mps "+g_sdUserCode;
      RsQuery->Execute(sSql);
//      comServer->Query();
      FillGridWithData();
    }
    __finally
    {
      RsQuery->Close();
      delete RsQuery;
      EndWaitForm();
    }
  }
  catch(Exception &e)
  {
   throw Exception(e.Message);
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMps::tbCheckClick(TObject *Sender)
{
 try
 {
   if(GetFieldValue(fiMpsCheck)=="0")
     {
         comServer->Check(1);
         if(GetFieldValue(fiMpsCheck)=="1")
           {
            RefreshGridData(1);
            tbCheck->Enabled=false;
           }
     }
 }
 catch(Exception &e)
 {
  throw Exception(e.Message);
 }
}
//---------------------------------------------------------------------------





⌨️ 快捷键说明

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