capacptrationgen.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 244 行

CPP
244
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "CapaCptRationGen.h"
//#include "VW_Mps.h"
#include "VW_Capacity_Query.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
#define ParaCode "111"   //计划管理参数代码
TfrmCapaCptRationGen *frmCapaCptRationGen;
//---------------------------------------------------------------------------
__fastcall TfrmCapaCptRationGen::TfrmCapaCptRationGen(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
        : TQueryBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
 InitFlag1=false;
 InitFlag2=false;
 InitFlag3=false;
 InitFlag4=false;
 InitFlag5=false;
 ClientCommHandle=chWnd;
 //MrpCom=new TComServer(Handle,chWnd,ClassCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::InitForm()
{
 AnsiString sSQL;
 PageControl1->ActivePage=TabSheet1;
 edtUser->Text=g_sdUserCode;
 edtFMonth->Text=g_sdFMonth;
 edtDate->Text=g_sdCurDate;
/*
 TComResultSet *RsQuery=new TComResultSet(Handle,g_ClientHandle);
 sSQL=" select PlannerCode from sdPlanner where PlannerCode='"+g_sdUserCode+"'";
 RsQuery->Open(sSQL,"");
 RsQuery->MoveFirst();
 if( RsQuery->RecordCount < 1 )
 {
   Panel1->Enabled=false;
   tbQuery->Enabled=false;
   tbGenDetail->Enabled=false;
   ShowMessage("当前用户不是计划员,操作被禁止");
 }
 delete RsQuery;
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::InitPage(int PageIndex)
{
 AnsiString sSQL;
 TComResultSet *RsQuery=new TComResultSet(Handle,g_ClientHandle);
 switch(PageIndex)
 {
  case 1: //当前信息
   PageControl1->ActivePage=TabSheet1;
   if(InitFlag1==false)
    InitForm();
   break;
  case 2: //计划参数
   PageControl1->ActivePage=TabSheet2;
   if(InitFlag2==false)
   {
    scType->ClearAll();
    scType->AddItems("1-天","1");
    scType->AddItems("2-周","2");
    scType->AddItems("3-旬","3");
    scType->AddItems("4-半月","4");
    scType->AddItems("5-月","5");
    scType->AddItems("6-季","6");
    scType->AddItems("7-半年","7");
    scType->AddItems("8-年","8");
    scType->ItemIndex=-1;
    sePeriod->Text="";


    RsQuery->Close();
    sSQL=" select ParameterCode,ParameterValue from sdParameter where ParameterCode like '";
    sSQL+=ParaCode;
    sSQL+="%' order by ParameterCode";
    RsQuery->Open(sSQL,"");
    RsQuery->MoveFirst();
    while(!RsQuery->Eof)
    {
     if(RsQuery->FieldByName("ParameterCode")=="11101") //展望期
     {sePeriod->Text=RsQuery->FieldByName("ParameterValue");}
     else if(RsQuery->FieldByName("ParameterCode")=="11111") //计划周期类型
     {scType->LocateKey(RsQuery->FieldByName("ParameterValue"));}

     RsQuery->MoveNext();
    }
    InitFlag2=true;
   }
   break;
  case 3: //主需求计划
   PageControl1->ActivePage=TabSheet3;
   if(InitFlag3==false)
   {
    AnsiString ItemStr;
    sgMcr->RowCount=1;
    RsQuery->Close();
    sSQL="select * from SDVW_Mrp where MrpdType=6 order by MrpGoods,MrpdRDate";
    try
    {
     StartWaitForm("正在查询需求,请稍候...");
     RsQuery->Open(sSQL,"");
     RsQuery->MoveFirst();
     while( RsQuery->Eof == 0)
     {
      ItemStr=
          "\t"+RsQuery->FieldByName("MrpdRDate")+
         "\t"+RsQuery->FieldByName("MrpGoods")+
         "\t"+RsQuery->FieldByName("GoodsName")+
         "\t"+RsQuery->FieldByName("MrpdQty");
      sgMcr->AddItem(ItemStr);
      RsQuery->MoveNext();
     }
    }
    __finally
    {
      EndWaitForm();
    }
   } 
   break;
  case 4: //计划选项
   PageControl1->ActivePage=TabSheet4;
   break;
  case 5: //计划调整
   break;
  default:
   break;
 }
 delete RsQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::tbQueryClick(TObject *Sender)
{
 int ARow;
 TfrmVW_CapaCity_Query *p;
 if(ARow < 1)
  return;
 try
 {
    StartWaitForm("正在启动能力查询,请稍候...");
    p=new TfrmVW_CapaCity_Query(this,"");
 }
 __finally
 {
    EndWaitForm();
 }
 p->ShowModal();
 delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::GenData()
{
  AnsiString sParam;
  TComResultSet *RsQuery=new TComResultSet(Handle,g_ClientHandle);
  if ( Application->MessageBox("确定要重新生成能力计划(MPS)吗?","系统提示",MB_YESNO) == IDNO)
    return;
  try
  {
    try
    {
      StartWaitForm("正在生成能力计划...");
     // sParam=GetPlanParam();
     // MrpCom->Execute(WideString(sParam));

     sParam = " EXEC KsPr_MrpCapacity   '"+g_sdUserCode+"'" ;
     RsQuery->Close();
     RsQuery->Execute(sParam);
    // RsQuery->Close();
    // RsQuery->Execute(" update sdParameter set parametervalue=0  where Parametercode='11116'");
    // RsQuery->Close();
    }
    __finally
    {
      EndWaitForm();
     // MrpCom->FreeClass();
    }
  }
  catch(Exception &e)
  {
    RsQuery->Close();
    RsQuery->Execute(" update sdParameter set parametervalue=0  where Parametercode='11116'");
    RsQuery->Close();
    throw Exception(e.Message);
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::FormShow(TObject *Sender)
{
 InitForm();
}
//---------------------------------------------------------------------------
//构造运行计划的参数字串
AnsiString __fastcall TfrmCapaCptRationGen::GetPlanParam()
{
 AnsiString sParam,sPlanner,sIsSupply,sBalance;
 AnsiString sFlag;
 sFlag="#";
 sPlanner=g_sdUserCode;
 if(chkMrpSupply->Checked)
  sIsSupply="1";
 else
  sIsSupply="0";
 if(chkBalance->Checked)
  sBalance="1";
 else
  sBalance="0";
 sParam=sFlag+sPlanner+sFlag+sIsSupply+sFlag+sBalance+sFlag;
 return(sParam);
}
//---------------------------------------------------------------------------

void __fastcall TfrmCapaCptRationGen::BitBtn1Click(TObject *Sender)
{
 //打开计划参数窗体
 ShowClientForm(ClientCommHandle,1110102,"");
}
//---------------------------------------------------------------------------
void __fastcall TfrmCapaCptRationGen::tvwControlClick(TObject *Sender)
{
 if(tvwControl->Selected == NULL)
  return;
 if(tvwControl->Selected->Text == "当前信息")
 { InitPage(1); }
 else if(tvwControl->Selected->Text == "计划参数")
 { InitPage(2); }
 else if(tvwControl->Selected->Text == "需求计划")
 { InitPage(3); }

}
//---------------------------------------------------------------------------



⌨️ 快捷键说明

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