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 + -
显示快捷键?