📄 tihuodan.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "tihuodan.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//定义数组保存数据
//用来保存从被搜索的出库单中获得货品数量和货品总额
int myNum[10];
float myMoney[10];
//定义保存所有选中出库单的数量和总额
int TotalNum;
float TotalMoney;
//定义提货单号
String BillNum;
Tfrm_tihuo *frm_tihuo;
//---------------------------------------------------------------------------
__fastcall Tfrm_tihuo::Tfrm_tihuo(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button7Click(TObject *Sender)
{
//保存数组的下标,和CheckListBox1中的次序保持一致
int myIndex=0;
if(Edit1->Text=="")
return;
String tempsql;
//根据查询条件生成查询语句
if(!CheckBox1->Checked )
{ tempsql="select * from 出库单 where 货品编号='" ;
tempsql=tempsql+Edit1->Text;
tempsql=tempsql+"' and 提货单号 is null";
ShowMessage(tempsql);
}
else
tempsql="select * from 出库单 where 货品编号='" +
Edit1->Text + "' and 提货单位='" + ComboBox1->Text +
"' and 提货单号 is null";
qy_tihuo->Close() ;
qy_tihuo->SQL->Clear();
qy_tihuo->SQL->Add(tempsql) ;
qy_tihuo->Open() ;
qy_tihuo->FindFirst();
//将结果写入到列表框中
while (!qy_tihuo->Eof )
{
CheckListBox1->Items->Add(qy_tihuo->Fields->FieldByName("出库单号")->AsString);
qy_tihuo->Next() ;
myNum[myIndex]= qy_tihuo->Fields->FieldByName("数量")->AsInteger;
myMoney[myIndex]=qy_tihuo->Fields->FieldByName("总额")->AsFloat;
}
DBGrid1->DataSource=ds_search;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked )
Edit1->Enabled=true;
else
Edit1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::FormCreate(TObject *Sender)
{
// tb_search->Open() ;
tb_show->Open() ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::DBLookupComboBox1Click(TObject *Sender)
{
//当用户选择货品名称时,货品编号也要改编
AnsiString tempid;
tb_search->Close() ;
tb_search->Open() ;
tb_search->Filter ="货品名称='"+DBLookupComboBox1->Text +"'" ;
//移动数据指针到第一条记录
tb_search->Filtered=true;
//获得货品编号
tempid=tb_search->Fields->FieldByName("货品名称")->AsString ;
Edit1->Text =tempid;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button1Click(TObject *Sender)
{
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
CheckListBox1->Checked[i]=true;
}
}
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button2Click(TObject *Sender)
{
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
CheckListBox1->Checked[i]=false;
}
}
}
//---------------------------------------------------------------------------
//生成提货单
void __fastcall Tfrm_tihuo::Button3Click(TObject *Sender)
{
//首先统计出提货单的所有数据
//确定提货单货品数量、总额、提货部门等等数据
//计算出总数和总额
//获得被选中的出库单
//用于保存提货单中总的数量和金额
TotalNum=0;
TotalMoney=0;
//定义出库单数量变量
int tempNum=0;
bool ifChoose=false;
String OutputNum;
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
if(CheckListBox1->Checked[i])
{
TotalNum=TotalNum+myNum[i];
TotalMoney=TotalMoney+myMoney[i];
tempNum=tempNum+1;
ifChoose=true;
}
}
}
if(!ifChoose)
{
ShowMessage("请选择至少一个出库单!!!");
return;
}
//接着要将具体数据写入到提货单中
//直接调用tb_tihuo表控件来增加数据
tb_tihuo->Append() ;
//根据一定原则来实现
BillNum =Edit1->Text+"-"+DateTimeToStr(Now());
DBEdit10->Text= BillNum;
DBEdit12->Text=Edit1->Text;
DBEdit13->Text=DBLookupComboBox1->Text;
DBEdit11->Text=ComboBox1->Text;
DBEdit14->Text=IntToStr(TotalNum) ;
DBEdit15->Text =FloatToStr(TotalMoney);
DBEdit18->Text=IntToStr(tempNum);
DBEdit17->Text=DateToStr(Date());
tb_tihuo->Post() ;
//接下来要将提货单号写入到相关的出库单的相关字段中,这样便于编辑查看
//可以直接使用UPDATE语句来实现这项功能
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
if(CheckListBox1->Checked[i])
{
//获得出库单号
OutputNum=CheckListBox1->Items->Strings[i];
qy_tihuo->Close() ;
qy_tihuo->SQL->Clear();
qy_tihuo->SQL->Add("update 出库单 set 提货单号='"+BillNum+"' where 出库单号='" +
OutputNum+"'");
qy_tihuo->ExecSQL();
}
}
}
GroupBox2->Visible=false;
CheckListBox1->Clear();
DBGrid1->DataSource=ds_deatails ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button5Click(TObject *Sender)
{
tb_ftdj->First();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button6Click(TObject *Sender)
{
if(!tb_ftdj->Bof)
tb_ftdj->Prior();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button13Click(TObject *Sender)
{
//当用户单击新增提货单的时候,该控件才可以实用
GroupBox2->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button14Click(TObject *Sender)
{
if(!tb_ftdj->Eof)
tb_ftdj->Next();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button11Click(TObject *Sender)
{
tb_tihuo->First();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button9Click(TObject *Sender)
{
if(!tb_tihuo->Bof)
tb_tihuo->Prior();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button10Click(TObject *Sender)
{
if(!tb_tihuo->Eof)
tb_tihuo->Next();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button12Click(TObject *Sender)
{
tb_tihuo->Last();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button4Click(TObject *Sender)
{
tb_tihuo->Filtered =false;
tb_tihuo->Filter=
ComboBox2->Text+ComboBox4->Text+"'"+ComboBox3->Text+"'" ;
//ShowMessage(ComboBox1->Text+ComboBox4->Text+"'"+ComboBox2->Text+"'");
tb_tihuo->Filtered =true;
tb_tihuo->FindFirst();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button8Click(TObject *Sender)
{
tb_tihuo->Filtered=false;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button15Click(TObject *Sender)
{
tb_ftdj->Last();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button16Click(TObject *Sender)
{
tb_ftdj->Append();
tb_ftdj->FieldValues["提货日期"]=DateToStr(Date());
tb_ftdj->FieldValues["提货单号"]=tb_tihuo->FieldByName("提货单号")->AsString;
tb_ftdj->FieldValues["数量"]=tb_tihuo->FieldByName("总数量")->AsInteger-
tb_tihuo->FieldByName("已提货数量")->AsInteger;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button17Click(TObject *Sender)
{
int answer;
answer=Application->MessageBox("确定删除吗?","警告",MB_YESNO);
if(answer==6)
tb_ftdj->Delete() ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button18Click(TObject *Sender)
{
tb_ftdj->Edit();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button19Click(TObject *Sender)
{
if(tb_ftdj->FieldByName("数量")->AsInteger>(tb_tihuo->FieldByName("总数量")->AsInteger-
tb_tihuo->FieldByName("已提货数量")->AsInteger))
{
ShowMessage("提货数量超过预定数量!!!!!");
return;
}
tb_ftdj->Post();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button20Click(TObject *Sender)
{
tb_ftdj->Cancel();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -