📄 mps.cpp
字号:
//-------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mps.h"
#include "selectmaterial.h"
//-------------------------------------------------------
#pragma package(smart_init)
#pragma link "Parent"
#pragma resource "*.dfm"
TfmMPS *fmMPS;
//-------------------------------------------------------
__fastcall TfmMPS::TfmMPS(TComponent* Owner)
: TfmParent(Owner)
{
// 设置按钮状态
this->SetButtonEnable(0);
BitBtn2->Enabled = false;
}
//-------------------------------------------------------
void __fastcall TfmMPS::btNewClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = true;
EditDBEdit->SetFocus();
// 注意如何调用父类窗体的方法
TfmParent::btNewClick(NULL);
}
//-------------------------------------------------------
void __fastcall TfmMPS::btEditClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = true;
// 注意如何调用父类窗体的方法
TfmParent::btEditClick(NULL);
}
//-------------------------------------------------------
void __fastcall TfmMPS::btSaveClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = false;
// 注意如何调用父类窗体的方法
TfmParent::btSaveClick(NULL);
}
//-------------------------------------------------------
void __fastcall TfmMPS::btCancelClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = false;
// 注意如何调用父类窗体的方法
TfmParent::btCancelClick(NULL);
}
//-------------------------------------------------------
void __fastcall TfmMPS::BitBtn2Click(TObject *Sender)
{
TfmSelectMat* pFm = new TfmSelectMat(NULL);
pFm->ShowModal();
if(pFm->Table1->FieldByName("物料编号"))
{
EditDBEdit->SetFocus();
EditDBEdit->Text = pFm->Table1->FieldByName("物料编号")->AsString;
}
delete pFm;
}
//-------------------------------------------------------
void __fastcall TfmMPS::EditDBEditChange(TObject *Sender)
{
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
AnsiString sql;
sql = "select 物料名称 from 物料主文件 where 物料编号 = '";
sql += EditDBEdit->Text + "'";
pQuery->SQL->Add(sql);
pQuery->Open();
Edit4->Text = pQuery->FieldByName("物料名称")->AsString;
pQuery->Close();
delete pQuery;
}
//-------------------------------------------------------
void __fastcall TfmMPS::EditDBEdit3Change(TObject *Sender)
{
// 根据年份和计划期设置开始日期和结束日期
if(!EditDBEdit2->Text.IsEmpty() && !EditDBEdit3->Text.IsEmpty())
{
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
AnsiString sql;
sql = "select 开始日期,结束日期 from 工厂日历 where 年份 = ";
sql += EditDBEdit2->Text + "and 计划期 = " + EditDBEdit3->Text;
pQuery->SQL->Add(sql);
pQuery->Open();
EditDBEdit4->Text = pQuery->FieldByName("开始日期")->AsString;
EditDBEdit5->Text = pQuery->FieldByName("结束日期")->AsString;
pQuery->Close();
delete pQuery;
}
}
//-------------------------------------------------------
void __fastcall TfmMPS::BitBtn1Click(TObject *Sender)
{
Table1->Filter = "";
AnsiString szFilter;
// 设置条件
if(!Edit1->Text.IsEmpty())
szFilter = "物料编号 = '" + Edit1->Text + "*' and ";
if(!Edit2->Text.IsEmpty())
szFilter += "年份 = " + Edit2->Text + " and ";
if(!Edit3->Text.IsEmpty())
szFilter += "计划期 = " + Edit3->Text + " and ";
// 清除最后多余的and
szFilter = szFilter.SubString(1,szFilter.Length()-5);
Table1->Filtered = false;
Table1->Filter = szFilter;
Table1->Filtered = true;
}
//-------------------------------------------------------
void __fastcall TfmMPS::Edit1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
// 回车查询
if(Key == 13)
{
BitBtn1Click(NULL);
}
}
//-------------------------------------------------------
void __fastcall TfmMPS::btCopyFormNeedClick(TObject *Sender)
{
// 获取当前选择的记录
AnsiString szCode, nYear, nNum;
szCode = Query1->FieldByName("物料编号")->AsString;
nYear = Query1->FieldByName("年份")->AsString;
nNum = Query1->FieldByName("计划期")->AsString;
// 导入主生产计划
AnsiString sql;
sql = "insert into 主生产计划(物料编号,年份,计划期,开始日期,结束日期";
sql += ",需求数量,MPS数量,状态) select 物料编号," ;
sql += "年份,计划期,开始日期,结束日期,需求数量,需求数量,状态 from 主需求计划";
AnsiString szcon;
szcon = " where 物料编号='" + szCode + "' and 年份=" + nYear;
szcon += " and 计划期=" + nNum;
sql += szcon;
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
pQuery->SQL->Add(sql);
pQuery->ExecSQL();
pQuery->SQL->Clear();
// 放入历史
sql = "insert into 主需求计划历史(物料编号,年份,计划期,开始日期,结束日期";
sql += ",需求数量,状态) select 物料编号," ;
sql += "年份,计划期,开始日期,结束日期,需求数量,状态 from 主需求计划";
sql += szcon;
pQuery->SQL->Add(sql);
pQuery->ExecSQL();
pQuery->SQL->Clear();
// 删除需求计划
sql = "delete from 主需求计划";
sql += szcon;
pQuery->SQL->Add(sql);
pQuery->ExecSQL();
pQuery->Close();
delete pQuery;
// 刷新显示
Query1->Active = false;
Query1->Active = true;
Table1->Active = false;
Table1->Active = true;
}
//-------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -