📄 wl11_p.~pas
字号:
unit wl11_p;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, DB, DBTables, Grids,
DBGrids;
type
Twl11 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
Panel2: TPanel;
Panel3: TPanel;
Edit1: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
Edit2: TEdit;
Edit3: TEdit;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
ComboBox6: TComboBox;
ComboBox7: TComboBox;
ComboBox8: TComboBox;
Label14: TLabel;
Edit4: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Query1: TQuery;
Query2: TQuery;
Query3: TQuery;
Query4: TQuery;
Query5: TQuery;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
wl11: Twl11;
implementation
{$R *.dfm}
// 退出本模块
procedure Twl11.BitBtn2Click(Sender: TObject);
begin
close;
end;
// 选择原料种类后,装入原料名称
procedure Twl11.ComboBox1Change(Sender: TObject);
begin
// 重新初始化原料名称
with query1 do
begin
close;
sql.Clear;
sql.Add('select distinct yl_mc from wl_yl where yl_zl = :cs0');
params[0].asstring := ComboBox1.text;
open;
ComboBox2.Items.Clear;
First;
while not EOF do
begin
ComboBox2.Items.Add(fields[0].asString);
next;
end;
end;
end;
//// 进入本模块
procedure Twl11.FormActivate(Sender: TObject);
begin
// 初始化入库日期
DateTimePicker1.Date := date;
// 初始化生产主管、采购员
with query3 do
begin
close;
sql.Clear;
sql.Add('select bm_xm from wl_bm where bm_mc = ''生产部''');
open;
ComboBox6.Items.Clear;
ComboBox7.Items.Clear;
First;
while not EOF do
begin
ComboBox6.Items.Add(fields[0].asString);
ComboBox7.Items.Add(fields[0].asString);
next;
end;
end;
// 初始化保管员
with query4 do
begin
close;
sql.Clear;
sql.Add('select bm_xm from wl_bm where bm_mc = ''原料库''');
open;
ComboBox8.Items.Clear;
First;
while not EOF do
begin
ComboBox8.Items.Add(fields[0].asString);
next;
end;
end;
// 禁用输入组件
ComboBox1.Enabled := False;
ComboBox2.Enabled := False;
ComboBox3.Enabled := False;
ComboBox4.Enabled := False;
ComboBox5.Enabled := False;
ComboBox6.Enabled := False;
ComboBox7.Enabled := False;
ComboBox8.Enabled := False;
DateTimePicker1.Enabled := False;
Edit1.Enabled := False;
Edit2.Enabled := False;
Edit3.Enabled := False;
Edit4.Enabled := False;
end;
//// 选择原料名称后,装入原料规格
procedure Twl11.ComboBox2Change(Sender: TObject);
begin
// 初始化原料规格
with query2 do
begin
close;
sql.Clear;
sql.Add('select distinct yl_gg from wl_yl where yl_mc = :cs0');
params[0].asstring := ComboBox2.text;
open;
ComboBox3.Items.Clear;
First;
while not EOF do
begin
ComboBox3.Items.Add(fields[0].asString);
next;
end;
end;
end;
// 存盘处理
procedure Twl11.BitBtn1Click(Sender: TObject);
begin
// 记原料入库表
with query5 do begin /
close;
sql.clear;
sql.Add('insert into wl_ylrk (rkbh,ylzl,ylmc,ylgg,ys,fk,jldw,dj,sl,sczg,cgr,bgy,rkrq) values(:cs0,:cs1,:cs2,:cs3,:cs4,:cs5,:cs6,:cs7,:cs8,:cs9,:cs10,:cs11,:cs12)');
params[0].asstring := Edit1.text; // 入库编号
params[1].asstring := ComboBox1.text; // 原料种类
params[2].asstring := ComboBox2.text; // 原料名称
params[3].asstring := ComboBox3.text; // 原料规格
params[4].asstring := ComboBox4.text; // 颜色
params[5].asstring := Edit4.text; // 幅宽
params[6].asstring := ComboBox5.text; // 计量单位
params[7].asfloat := StrToFloat(Edit2.text); // 单价
params[8].asfloat := StrToFloat(Edit3.text); // 数量
params[9].asstring := ComboBox6.text; // 生产主管
params[10].asstring := ComboBox7.text; // 采购员
params[11].asstring := ComboBox8.text; // 保管员
params[12].asdatetime := DateTimePicker1.date; // 保管员
execsql; // 执行insert。
end;
// 记原料库存表
with query5 do begin
close;
sql.clear;
sql.Add('select * from wl_ylkc where ylzl=:cs0 and ylmc=:cs1 and ylgg=:cs2 and fk=:cs3 and ys=:cs4 and jldw=:cs5');
params[0].asstring := ComboBox1.text; // 原料种类
params[1].asstring := ComboBox2.text; // 原料名称
params[2].asstring := ComboBox3.text; // 原料规格
params[3].asinteger := StrToInt(Edit4.text); // 幅宽
params[4].asstring := ComboBox4.text; // 颜色
params[5].asstring := ComboBox5.text; // 计量单位
open;
if recordcount > 0 then
begin
close;
sql.Clear;
sql.Add('update wl_ylkc set sl=sl+:cs0 where ylzl=:cs1 and ylmc=:cs2 and ylgg=:cs3 and fk=:cs4 and ys=:cs5 and jldw=:cs6');
params[0].asfloat := StrToFloat(Edit3.text); // 数量
params[1].asstring := ComboBox1.text; // 原料种类
params[2].asstring := ComboBox2.text; // 原料名称
params[3].asstring := ComboBox3.text; // 原料规格
params[4].asinteger := StrToInt(Edit4.text); // 幅宽
params[5].asstring := ComboBox4.text; // 颜色
params[6].asstring := ComboBox5.text; // 计量单位
execsql; // 执行insert。
end
else
begin
close;
sql.Clear;
sql.Add('insert into wl_ylkc (ylzl,ylmc,ylgg,fk,ys,jldw,sl) values(:cs0,:cs1,:cs2,:cs3,:cs4,:cs5,:cs6)');
params[0].asstring := ComboBox1.text; // 原料种类
params[1].asstring := ComboBox2.text; // 原料名称
params[2].asstring := ComboBox3.text; // 原料规格
params[3].asinteger := StrToInt(Edit4.text); // 幅宽
params[4].asstring := ComboBox4.text; // 颜色
params[5].asstring := ComboBox5.text; // 计量单位
params[6].asfloat := StrToFloat(Edit3.text); // 数量
execsql; // 执行insert。
end;
end;
showMessage('该笔入库记录已经完成!');
// 禁用输入组件
ComboBox1.Enabled := False;
ComboBox2.Enabled := False;
ComboBox3.Enabled := False;
ComboBox4.Enabled := False;
ComboBox5.Enabled := False;
ComboBox6.Enabled := False;
ComboBox7.Enabled := False;
ComboBox8.Enabled := False;
DateTimePicker1.Enabled := False;
Edit1.Enabled := False;
Edit2.Enabled := False;
Edit3.Enabled := False;
Edit4.Enabled := False;
// 设置按钮属性
BitBtn1.Enabled := False;;
BitBtn3.Enabled := True
end;
//// 开始记账
procedure Twl11.BitBtn3Click(Sender: TObject);
var i:string;j:string;
begin
// 启用输入组件
ComboBox1.Enabled := True;
ComboBox2.Enabled := True;
ComboBox3.Enabled := True;
ComboBox4.Enabled := True;
ComboBox5.Enabled := True;
ComboBox6.Enabled := True;
ComboBox7.Enabled := True;
ComboBox8.Enabled := True;
DateTimePicker1.Enabled := True;
Edit1.Enabled := True;
Edit2.Enabled := True;
Edit3.Enabled := True;
Edit4.Enabled := True;
// 设置按钮属性
BitBtn1.Enabled := True;
BitBtn3.Enabled := False;
// 初始化单据流水号NO (比较本次入库日期与上次入库日期的年号)
with query5 do
begin
close;
sql.Clear;
sql.Add('select * from wl_ylrk');
open;
last;
i := DateToStr(DateTimePicker1.Date);
j := fields[0].asString;
if copy(i,1,4) > copy(j,1,4) then
begin
if MessageDlg('上笔NO为'+j+',需要启用'+copy(i,1,4)+'新的年号吗?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Edit1.Text := copy(i,1,4)+'000001';
exit;
end;
end;
Edit1.Text := inttostr( strtoint( j )+1 );
end;
end;
//// 选择放弃
procedure Twl11.BitBtn4Click(Sender: TObject);
begin
// 禁用输入组件
ComboBox1.Enabled := False;
ComboBox2.Enabled := False;
ComboBox3.Enabled := False;
ComboBox4.Enabled := False;
ComboBox5.Enabled := False;
ComboBox6.Enabled := False;
ComboBox7.Enabled := False;
ComboBox8.Enabled := False;
DateTimePicker1.Enabled := False;
Edit1.Enabled := False;
Edit2.Enabled := False;
Edit3.Enabled := False;
Edit4.Enabled := False;
// 设置按钮属性
BitBtn1.Enabled := False;;
BitBtn3.Enabled := True
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -