cptration_pictplan.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 268 行
CPP
268 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "CptRation_PictPlan.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma link "DateEdit"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmCptRation_PictPlan *frmCptRation_PictPlan;
//---------------------------------------------------------------------------
__fastcall TfrmCptRation_PictPlan::TfrmCptRation_PictPlan(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
: TQueryBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
// FillGridWithData();
ScrollBar1->Position=100;
Chart1->AnimatedZoomSteps=2;
DefaultLabels = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::ClearControl(bool BringToNext)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::GetDataFromComObject()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::WaitUserInput()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::RefreshGridData(int mAction)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::DisplayBill()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::GetBill(AnsiString BillID)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::FillGridWithData()
{
TComResultSet *RsQuery = new TComResultSet(Handle,g_ClientHandle);
AnsiString ItemStr,sSql,WcName,ItemStrWc;
float l_Qty,l_WcQty,l_Perc;
sSql=GetQueryStr();
Series1->Clear();
Series2->Clear();
if(sSql=="")
return;
try
{
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
while( RsQuery->Eof == 0)
{
ItemStrWc=RsQuery->FieldByName("CptAnWcname") ;
ItemStr=RsQuery->FieldByName("CptAnDate") ;
l_Qty = StrToFloat(RsQuery->FieldByName("CptAnQty")) ;
l_WcQty= StrToFloat(RsQuery->FieldByName("CptAnWcQty")) ;
if (!CheckBox2->Checked)
{
Chart1->LeftAxis->Title->Caption=ItemStrWc;
Chart1->LeftAxis->Maximum=800;
Series1->Add(l_Qty,ItemStr,clTeeColor);
Series2->Add(l_WcQty,ItemStr,clTeeColor);
}
else
{
l_Perc= l_Qty/l_WcQty*100;
Chart1->LeftAxis->Title->Caption="能力/负荷比(%)";
Chart1->LeftAxis->Maximum=200;
Series1->Add(l_Perc,ItemStr,clTeeColor);
}
RsQuery->MoveNext();
}
Chart1->Title->Text->Text = "工作中心负荷图("+ItemStrWc+")";
RsQuery->Close();
}
__finally
{
delete RsQuery;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::tbQueryClick(TObject *Sender)
{
try{
StartWaitForm("正在查询,请稍候...");
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmCptRation_PictPlan::GetQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
AnsiString l_DateE ,l_DateF,WCName;
l_DateF = de_DateF->Text;
l_DateE = de_DateE->Text;
WCName = se_wc->Text;
if (l_DateF.IsEmpty())
throw Exception("请输入起始日期!");
if (l_DateE.IsEmpty())
throw Exception("请输入结束日期!");
if (WCName.IsEmpty())
throw Exception("请输入工作中心编码!");
Selectstr =" select * ";
Fromstr=" from ksVW_KsCptAnalyse ";
Fromstr+=" where CptAnDate BETWEEN '"+FormatDateTime("yyyy-mm-dd",l_DateF)+"' and '"+FormatDateTime("yyyy-mm-dd",l_DateE)+"'";
Fromstr+=" and CptAnWc ='"+WCName+"'";
Orderstr=" order by CptanWc ";
sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(sSQL);
}
void __fastcall TfrmCptRation_PictPlan::tbRefreshClick(TObject *Sender)
{
if(sSQL=="")
return;
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::Zoom(TChart *ch ,double present)
{
TRect r=ch->ChartRect;
r.Left=r.Left+present;
r.Right=r.Right-present;
r.Top=r.Top+present;
ch->ZoomRect(r);
}
void __fastcall TfrmCptRation_PictPlan::se_wcButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="004[工作中心编码][工作中心名称][关键工作中心][车间代码]";
SqlStr+="Select wccode,wcName,wckey,wcshopcode from sdwc order by wcCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"工作中心数据查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
se_wc->Text=p->ColData[1];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::cb_LogarithmicClick(TObject *Sender)
{
if (cb_Logarithmic->Checked)
Chart1->LeftAxis->Logarithmic=true;
else
Chart1->LeftAxis->Logarithmic=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::ScrollBar1Change(TObject *Sender)
{
Chart1->View3DOptions->Zoom=ScrollBar1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::BitBtn4Click(TObject *Sender)
{
BitBtn1->Enabled=false;
BitBtn2->Enabled=false;
Chart1->ZoomPercent(115);
BitBtn1->Enabled=true;
BitBtn2->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::BitBtn3Click(TObject *Sender)
{
BitBtn1->Enabled=false;
BitBtn2->Enabled=false;
Chart1->ZoomPercent(85);
BitBtn1->Enabled=true;
BitBtn2->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::Chart1GetNextAxisLabel(
TChartAxis *Sender, int LabelIndex, double &LabelValue, bool &Stop)
{
Word year,month,day;
if (!DefaultLabels) {
if (Sender == Chart1->BottomAxis)
{
DecodeDate(LabelValue,year,month,day);
day = 1;
month++;
if (month>12) {
month = 1;
year++;
}
LabelValue = EncodeDate(year,month,day);
}
else if (Sender == Chart1->LeftAxis) {
if (LabelValue>=250)
LabelValue = LabelValue+250;
else
LabelValue = 250;
}
Stop = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCptRation_PictPlan::RadioGroup1Click(TObject *Sender)
{
DefaultLabels = RadioGroup1->ItemIndex == 0;
Chart1->Repaint();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?