📄 unit1.pas
字号:
sql:='Select Cus_NO,General_Mng,Cus_addr,TeleNO,Cus_Name,Area_type from Custom where cus_no ='''+Combobox8.text+'''';
ADO_Out_temp.Close;
ADO_Out_temp.SQL.Clear;
ADO_Out_temp.SQL.Add(sql);
ADO_Out_temp.Open;
combobox9.Clear;
While not ADO_Out_temp.Eof do
begin
s_cus_name:=ADO_Out_temp.FieldByName('Cus_Name').AsString;
combobox9.Items.Add(s_cus_name);
ADO_Out_temp.Next;
end;
combobox9.Text:=ADO_Out_temp.FieldByName('Cus_Name').AsString;
edit3.Text:= ADO_Out_temp.FieldByName('Area_type').AsString;
khdz.Text:= ADO_Out_temp.FieldByName('Cus_addr').AsString;
fzr.Text:= ADO_Out_temp.FieldByName('General_Mng').AsString;
dh.Text:= ADO_Out_temp.FieldByName('TeleNO').AsString;
end;
procedure TForm1.ComboBox10Click(Sender: TObject);
var
sql,S_Quality:string;
begin
combobox11.Clear;
sql:='Select distinct Quality from ShopName where ManuFactory='''+combobox10.Text+'''';
ADO_Out_Temp.Close;
ADO_Out_Temp.SQL.Clear;
ADO_Out_Temp.SQL.Add(sql);
ADO_Out_Temp.Open;
While not ADO_Out_Temp.Eof do
begin
S_Quality:=ADO_Out_Temp.FieldByName('Quality').AsString;
combobox11.Items.Add(S_Quality);
ADO_Out_Temp.Next;
end;
end;
procedure TForm1.ComboBox11Click(Sender: TObject);
var
sql,S_Size:string;
begin
combobox13.Clear;
sql:='Select distinct Shop_size from ShopName where Quality='''+combobox11.Text+''' and ManuFactory='''+combobox10.Text+'''';
ADO_Out_Temp.Close;
ADO_Out_Temp.SQL.Clear;
ADO_Out_Temp.SQL.Add(sql);
ADO_Out_Temp.Open;
While not ADO_Out_Temp.Eof do
begin
S_Size:=ADO_Out_Temp.FieldByName('Shop_size').AsString;
combobox13.Items.Add(S_Size);
ADO_Out_Temp.Next;
end;
end;
procedure TForm1.ComboBox13Click(Sender: TObject);
var
sql,sql1,sql2,sql3,S_ShopName:string;
begin
combobox14.Clear;
sql:='Select Package_num,Shop_NO from ShopName where ManuFactory='''+Combobox10.Text+''' and Quality='''+combobox11.Text+''' and shop_size='''+combobox13.Text+'''';
ADO_Out_Temp.Close;
ADO_Out_Temp.SQL.Clear;
ADO_Out_Temp.SQL.Add(sql);
ADO_Out_Temp.Open;
While not ADO_Out_Temp.Eof do
begin
S_ShopName:=ADO_Out_Temp.FieldByName('Package_num').AsString;
combobox14.Items.Add(S_ShopName);
ADO_Out_Temp.Next;
end;
tiaoma.Text:= ADO_Out_Temp.FieldByName('Shop_NO').AsString;
//计算库存
edit29.Text:='';
ADO_Out_Temp.Close;
ADO_Out_Temp.sql.clear;
sql1:='SELECT Pzsize as 产品名称, sum(inputnum) AS 库存量 FROM (SELECT Pzsize, sum(cellnum) AS inputnum FROM inputcell where Pzsize=:S_pzsize GROUP BY Pzsize';
sql2:=' UNION ALL select Pzsize,-sum(cellnum) as outputnum from outputcell where Pzsize=:S_pz group by Pzsize';
sql3:=' UNION ALL select Pzsize,sum(cellnum) as outputnum from Cancelcell where Pzsize=:S_pzs group by Pzsize) A GROUP BY Pzsize';
sql:=sql1+sql2+sql3;
ADO_Out_Temp.SQL.Add(sql);
ADO_Out_Temp.Parameters.ParamByName('S_pzsize').Value:=combobox13.Text;
ADO_Out_Temp.Parameters.ParamByName('S_pz').Value:=combobox13.Text;
ADO_Out_Temp.Parameters.ParamByName('S_pzs').Value:=combobox13.Text;
ADO_Out_Temp.Open;
DBGridAutoSize(DBGrid2);
if ADO_Out_Temp.RecordCount>0 then
edit29.Text:=inttostr(ADO_Out_Temp.FieldByName('库存量').asinteger);
end;
procedure TForm1.Button34Click(Sender: TObject);
var
sql,sql1,sql2:string;
s_manufactory,s_quality,S_size,S_package,S_user,S_cusno,s_cusname,S_shopNO:string;
S_outputdate:Tdatetime;
S_cellnum,S_timelimit:integer;
S_price:real;
S_Jiner:real;
S_Area,s_unit,S_Paytype:string;
begin
try
orderno:=10000000+strtofloat(Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9)));
s_manufactory:=combobox10.Text;
s_quality:=combobox11.Text;
S_size:=combobox13.Text;
S_package:= combobox14.Text;
S_user:=combobox15.Text;
S_outputdate:=DateTimePicker2.Date;
S_cellnum:=strtoint(edit19.text);
S_price:=strtofloat(Format('%.2f',[strtofloat(edit20.text)]));
S_cusno:=combobox8.Text;
s_cusname:=combobox9.Text;
Edit21.Text:=floattostr((S_price*S_cellnum));
S_Jiner:=strtofloat(Format('%.2f',[strtofloat(edit21.text)]));
S_Area:=edit3.text;
S_shopNO:=tiaoma.Text;
S_Paytype:=combobox36.Text;
S_timelimit:=strtoint(edit36.text);
s_unit:= '支';
//先检查是否超过11条
sql:='select * from OutPrint';
ADO_Check11.Close;
ADO_Check11.SQL.Clear;
ADO_Check11.SQL.Add(sql);
ADO_Check11.Open;
if ADO_Check11.RecordCount<=10 then
begin
sql1:='InSert Into Outprint(ManuFactory,Quality,Pzsize,Shop_NO,packagenum,cellnum,price,Jiner,Pzuser,Outputdate,Cus_NO,Cus_Name,Area_type,s_unit) ';
sql2:='values(:S_manufactory,:s_quality,:S_size,:S_shopNO,:S_package,:S_cellnum,:S_price,:S_Jiner,:S_user,:S_Outputdate,:S_Cusno,:S_CusName,:S_Area,:S_unit)' ;
sql:=sql1+sql2;
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql1+sql2);
ADO_Print.Parameters.ParamByName('S_manufactory').Value:=s_manufactory;
ADO_Print.Parameters.ParamByName('s_quality').Value:=s_quality;
ADO_Print.Parameters.ParamByName('S_size').Value:=S_size;
ADO_Print.Parameters.ParamByName('S_shopNO').Value:=S_shopNO;
ADO_Print.Parameters.ParamByName('S_package').Value:=S_package;
ADO_Print.Parameters.ParamByName('S_cellnum').Value:=S_cellnum;
ADO_Print.Parameters.ParamByName('S_price').Value:=S_price;
ADO_Print.Parameters.ParamByName('S_Jiner').Value:=S_Jiner;
ADO_Print.Parameters.ParamByName('S_user').Value:=S_user;
ADO_Print.Parameters.ParamByName('S_outputdate').Value:=S_Outputdate;
ADO_Print.Parameters.ParamByName('S_Cusno').Value:=S_cusno;
ADO_Print.Parameters.ParamByName('S_CusName').Value:=s_cusname;
ADO_Print.Parameters.ParamByName('S_Area').Value:=S_Area;
ADO_Print.Parameters.ParamByName('S_unit').Value:=s_unit;
ADO_Print.ExecSQL;
sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,Shop_NO as 产品条码,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
sql2:=' union select :orderno,''合计'','' '','' '','' '','' '','' '','' '','' '','' '',sum(jiner),'' '' from OutPrint';
sql:=sql1+sql2;
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql);
ADO_Print.Parameters.ParamByName('orderno').Value:=orderno;
ADO_Print.Open;
DBGridAutoSize(DBGrid5);
ChangeDbGridColColor(DBGrid5);
if ADO_Print.RecordCount>0 then
DBEdit5.DataField:='出库编号';
ADO_Print.Last;
DBEdit6.DataField:='金额';
sql1:='InSert Into OutputCell(ManuFactory,Quality,Pzsize,Shop_NO,packagenum,cellnum,price,Jiner,Pzuser,Outputdate,Cus_NO,Cus_Name,Area_type,pay_type,time_limit) ';
sql2:='values(:S_manufactory,:s_quality,:S_size,:S_shopNO,:S_package,:S_cellnum,:S_price,:S_Jiner,:S_user,:S_Outputdate,:S_Cusno,:S_CusName,:S_Area,:pay_type,:time_limit)' ;
ADO_Output.Close;
ADO_Output.SQL.Clear;
ADO_Output.SQL.Add(sql1+sql2);
ADO_Output.Parameters.ParamByName('S_manufactory').Value:=s_manufactory;
ADO_Output.Parameters.ParamByName('s_quality').Value:=s_quality;
ADO_Output.Parameters.ParamByName('S_size').Value:=S_size;
ADO_Output.Parameters.ParamByName('S_shopNO').Value:=S_shopNO;
ADO_Output.Parameters.ParamByName('S_package').Value:=S_package;
ADO_Output.Parameters.ParamByName('S_cellnum').Value:=S_cellnum;
ADO_Output.Parameters.ParamByName('S_price').Value:=S_price;
ADO_Output.Parameters.ParamByName('S_Jiner').Value:=S_Jiner;
ADO_Output.Parameters.ParamByName('S_user').Value:=S_user;
ADO_Output.Parameters.ParamByName('S_outputdate').Value:=S_Outputdate;
ADO_Output.Parameters.ParamByName('S_Cusno').Value:=S_cusno;
ADO_Output.Parameters.ParamByName('S_CusName').Value:=s_cusname;
ADO_Output.Parameters.ParamByName('S_Area').Value:=S_Area;
ADO_Output.Parameters.ParamByName('pay_type').Value:=S_paytype;
ADO_Output.Parameters.ParamByName('time_limit').Value:=S_timelimit;
ADO_Output.ExecSQL;
sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,Shop_NO as 产品条码,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutputCell';
sql2:=' union select :orderno,''合计'','' '','' '','' '','' '','' '','' '','' '','' '',sum(jiner),'' '' from OutputCell';
ADO_Output.Close;
ADO_Output.SQL.Clear;
ADO_Output.SQL.Add(sql1+sql2);
ADO_Output.Parameters.ParamByName('orderno').Value:=orderno;
ADO_Output.Open;
if ADO_Output.RecordCount>0 then
DBEdit4.DataField:='出库编号';
DBGridAutoSize(DBGrid3);
ChangeDbGridColColor(DBGrid3);
end else
application.MessageBox('开单一次不能超过11项!,原因:打印纸每张最大限额','提示',0);
except
application.MessageBox('增加出库数据失败','提示',0);
end;
end;
procedure TForm1.Button35Click(Sender: TObject);
var
sql,sql1,sql2:string;
Cur_ID:integer;
begin
if messagedlg('删除该出库资料吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
if MyFocus=1 then
begin
Cur_ID:=strtoint(DBedit4.text);
sql:='delete from OutputCell where ID=:curid';
ADO_Output.Close;
ADO_Output.SQL.Clear;
ADO_Output.SQL.Add(sql);
ADO_Output.Parameters.ParamByName('curid').Value:=Cur_ID;
ADO_Output.ExecSQL;
sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品品类,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,PzUser as 经手人 from OutputCell';
ADO_OutPut.Close;
ADO_OutPut.SQL.Clear;
ADO_OutPut.SQL.Add(sql1);
ADO_OutPut.Open;
ADO_OutPut.Requery();
ChangeDbGridColColor(DBGrid3);
end;
if MyFocus=2 then
begin
Cur_ID:=strtoint(DBedit5.text);
sql:='delete from OutPrint where ID=:curid';
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql);
ADO_Print.Parameters.ParamByName('curid').Value:=Cur_ID;
ADO_Print.ExecSQL;
sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品品类,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql1);
ADO_Print.Open;
ChangeDbGridColColor(DBGrid5);
end;
end;
end;
procedure TForm1.ComboBox16Click(Sender: TObject);
var
quality:string;
begin
ADO_Input.Close;
ADO_Input.SQL.Clear;
ADO_Input.sql.Add('select distinct Quality from shopName where ManuFactory='''+Combobox16.Text+'''');
ADO_Input.Open;
Combobox4.Clear;
while not ADO_Input.Eof do
begin
quality:=ADO_Input.FieldByName('Quality').AsString;
Combobox4.Items.Add(quality);
ADO_Input.Next;
end;
end;
procedure TForm1.ComboBox17Click(Sender: TObject);
var
quality:string;
begin
ADO_Input.Close;
ADO_Input.SQL.Clear;
ADO_Input.sql.Add('select distinct Quality from shopName where ManuFactory='''+Combobox17.Text+'''');
ADO_Input.Open;
Combobox6.Clear;
while not ADO_Input.Eof do
begin
quality:=ADO_Input.FieldByName('Quality').AsString;
Combobox6.Items.Add(quality);
ADO_Input.Next;
end;
end;
procedure TForm1.DBGrid3CellClick(Column: TColumn);
begin
MyFocus:=1;
end;
procedure TForm1.DBGrid5CellClick(Column: TColumn);
begin
MyFocus:=2;
end;
procedure TForm1.Button39Click(Sender: TObject);
var
sql:string;
S_inputdate:Tdatetime;
begin
try
S_inputdate:=DateTimePicker3.Date;
sql:='InSert into FeeStyle(FeeStyle,num,usedfor,use_date) values(:Feestyle,:num,:usedfor,:use_date)';
ADO_fee.Close;
ADO_fee.SQL.Clear;
ADO_fee.SQL.Add(sql);
ADO_fee.Parameters.ParamByName('Feestyle').Value:=Combobox21.Text;
ADO_fee.Parameters.ParamByName('num').Value:=strtoint(edit24.Text);
ADO_fee.Parameters.ParamByName('usedfor').Value:=edit22.Text;
ADO_fee.Parameters.ParamByName('use_date').Value:=S_inputdate;
ADO_fee.ExecSQL;
sql:='select id as 序号,FeeStyle as 费用类别,num as 费用金额,usedfor as 用途,use_date as 支出日期 from FeeStyle';
ADO_fee.Close;
ADO_fee.SQL.Clear;
ADO_fee.SQL.Add(sql);
ADO_fee.Open;
dbedit8.DataField:='序号';
except
application.MessageBox('增加费用失败','提示',0);
end;
end;
procedure TForm1.Edit24Exit(Sender: TObject);
begin
try
strtoint(Edit24.Text);
except
application.MessageBox('请输入数字!','提示',0);
end;
end;
procedure TForm1.Button36Click(Sender: TObject);
var
sql:string;
begin
sql:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql);
ADO_Print.Open;
end;
Procedure TForm1.AddNilRecord(cur_record:integer);
var
i:integer;
s,sql:string;
begin
s:='';
sql:='insert into OutPrint(Manufactory) values('''+s+''')';
for i:=1 to 11-cur_record do
begin
ADO_Out_Temp.close;
ADO_Out_Temp.sql.Clear;
ADO_Out_Temp.sql.Add(sql);
ADO_Out_Temp.ExecSQL;
end;
end;
procedure TForm1.Button41Click(Sender: TObject);
var
S_jiner:string;
recount,ipos,i:integer;
s_single:array[1..8] of string;
totalstr:string;
S_Money:string;
begin
try
//先检查是否有11条
ADO_Out_Temp.close;
ADO_Out_Temp.sql.Clear;
ADO_Out_Temp.sql.Add('select * from OutPrint');
ADO_Out_Temp.Open;
recount:= ADO_Out_Temp.RecordCount;
AddNilRecord(recount);
//edit25.Text:=copy(RMBChange(9),1,2);
form8.ConnectDataBase;
if ADO_Print.RecordCount>0 then
begin
form8.ADOQuery2.close;
form8.ADOQuery2.sql.Clear;
form8.ADOQuery2.sql.Add('delete * from temp');
form8.ADOQuery2.ExecSQL;
form8.ADOQuery2.close;
form8.ADOQuery2.sql.Clear;
form8.ADOQuery2.sql.Add('insert into temp select top 11 * from Outprint');
form8.ADOQuery2.ExecSQL;
form8.ADOQuery1.close;
form8.ADOQuery1.sql.Clear;
form8.ADOQuery1.sql.Add('select * from temp');
form8.ADOQuery1.Open;
dbedit6.DataField:='金额';
ADO_Print.Last;
S_Jiner:=Format('%.2f',[strtofloat(dbedit6.text)]);
form8.QRLabel25.Caption:=S_Jiner;
S_Money:=RMBChange(strtocurr(S_Jiner));
form8.QRLabel27.Caption:=S_Money;
form8.QRLabel28.Caption:=dbedit5.Text;
form8.QRLabel29.Caption:=combobox8.Text;
form8.QRLabel30.Caption:=datetostr(DateTimePicker2.Date);
form8.QRLabel33.Caption:=combobox9.Text;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -