⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tihuodan.cpp

📁 库存管理系统源码
💻 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 + -