📄 uorder.~pas
字号:
unit Uorder;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, StdCtrls, Buttons, Mask, Grids, DBGrids,
ComCtrls, AppEvnts, ExtDlgs,jpeg,db, ADODB, Menus, EHGrids,QRCTRLS, DBGridEh,
ToolWin;
type
www=(add,updat,delt,browse);
Tfrmorder = class(TForm)
Panel1: TPanel; Panel2: TPanel; Label14: TLabel; Label15: TLabel;
Label16: TLabel; Label19: TLabel; Label20: TLabel; DBNavigator1: TDBNavigator; Panel3: TPanel; GroupBox1: TGroupBox; Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
DBEdit1_1: TDBEdit;
DBEdit1_2: TDBEdit;
DTP1: TDateTimePicker;
Label4: TLabel;
Label6: TLabel;
OpenPictureDialog1: TOpenPictureDialog;
DBImage2: TDBImage;
OpenPictureDialog2: TOpenPictureDialog;
myAdo: TADOQuery;
Label22: TLabel;
DataSourceDD4: TDataSource;
DSDD2: TDataSource;
ADOQueryNDD2: TADOQuery;
DataSourceDD3: TDataSource;
DataSourceDD1: TDataSource;
ADOQueryNDD1: TADOQuery;
DSkh: TDataSource;
ADOSPdelorder: TADOStoredProc;
DSks: TDataSource;
DSxx: TDataSource;
DScolor: TDataSource;
ADOQkh: TADOQuery;
ADOcolor: TADOQuery;
ADOQks: TADOQuery;
DSorder4: TDataSource;
ADOQorder4: TADOQuery;
ADOSPcal: TADOStoredProc;
ADOQuerydy: TADOQuery;
ToolBar1: TToolBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn15: TBitBtn;
BitBtn3: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn12: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn16: TBitBtn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
DBGridEh2: TDBGridEh;
ToolButton4: TToolButton;
BitBtn17: TBitBtn;
Label21: TLabel;
DBEdit2_8: TDBEdit;
BitBtn13: TBitBtn;
ToolButton5: TToolButton;
ADOQueryNDD1OrderNo: TWideStringField;
ADOQueryNDD1OrderDate: TDateTimeField;
ADOQueryNDD1CoName: TWideStringField;
ADOQueryNDD1CgOverDate: TDateTimeField;
ADOQueryNDD1Amount: TIntegerField;
ADOQueryNDD1InPerson: TWideStringField;
ADOQueryNDD2OrderNo: TWideStringField;
ADOQueryNDD2R_name: TWideStringField;
ADOQueryNDD2Make: TWideStringField;
ADOQueryNDD2Amount: TIntegerField;
ADOQueryNDD2Face: TWideStringField;
ADOQueryNDD2Brand: TBlobField;
ADOQueryNDD2Model: TWideStringField;
ADOQueryNDD2Overdate: TDateTimeField;
ADOQueryNDD2InPerson: TWideStringField;
ADOQueryNDD2Picture: TBlobField;
ADOQueryNDD2ZlDate: TDateTimeField;
ADOQueryNDD2ScDate: TDateTimeField;
ADOQueryNDD2SendDate: TDateTimeField;
ADOQueryNDD2SCOverdate: TDateTimeField;
ADOQueryNDD2MadePlanning: TBooleanField;
DBGridEh4: TDBGridEh;
GroupBox2: TGroupBox;
DBGridEh1: TDBGridEh;
ADOTable1: TADOTable;
ADOTable1OrderNo: TWideStringField;
ADOTable1R_name: TWideStringField;
ADOTable1ShoesNo: TWideStringField;
ADOTable1Color: TWideStringField;
ADOTable1Face: TWideStringField;
ADOTable1Size: TWideStringField;
ADOTable1Amount: TIntegerField;
ADOcolorCo_name: TWideStringField;
ADOcolorStyle_num: TWideStringField;
ADOcolorshoes_num: TWideStringField;
ADOcolorCo_short: TWideStringField;
ADOTable1coname: TStringField;
Panel5: TPanel;
DBImage1: TDBImage;
ADOTable2: TADOTable;
DBComboBox1: TDBComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure DBEdit3_3KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure ADOTable1NewRecord(DataSet: TDataSet);
procedure DBGridEh4ColEnter(Sender: TObject);
procedure DBGridEh2EditButtonClick(Sender: TObject);
procedure DBGridEh2ColEnter(Sender: TObject);
procedure DSxxDataChange(Sender: TObject; Field: TField);
procedure ADOQorder4BeforePost(DataSet: TDataSet);
procedure ADOQueryNDD2NewRecord(DataSet: TDataSet);
procedure BitBtn17Click(Sender: TObject);
procedure DBEdit1_1Change(Sender: TObject);
procedure DBGridEh2ColExit(Sender: TObject);
procedure DBGridEh4CellClick(Column: TColumnEh);
procedure BitBtn13Click(Sender: TObject);
procedure DSDD2DataChange(Sender: TObject; Field: TField);
procedure DBComboBox1DropDown(Sender: TObject);
procedure DBImage2DblClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
Flag:Boolean;
{ Private declarations }
public
procedure opendata(id1: string);
{ Public declarations }
end;
var
bl:string;
frmorder: Tfrmorder;
ks:string;
FlagDD,flagpop1:boolean;
RecNodd4: Integer;
FlagSJ, strxy:string;
act:www;
implementation
uses umain,U_DM, U_MXD, Udata, U_BZHFF, Uselorder, XS_PDingDan, js_cailiao,
Ufunction, UJhMaterialName;
{$R *.DFM}
procedure Tfrmorder.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.ADOQueryDD2.Active:=false;
DM.ADOQueryDD3.Active:=false;
ADOcolor.close;
Frmmain.Outlook1.Visible :=true;
frmmain.Panel1.Visible:=true;
Frmmain.Panel2.Visible:=True;
frmmain.LTitle.Caption:='';
frmorder:=nil;
action:=cafree;
end;
procedure Tfrmorder.BitBtn1Click(Sender: TObject);
const
w: array [0..13]of boolean=(true,false,false,false,false,true,true,true,true,true,true,true,true,false);
begin
act:=add;
if ADOQueryNDD1.Active =false then
ADOQueryNDD1.open;
ADOQueryNDD1.Edit;
ADOQueryNDD1.Append;
DBEdit1_1.Text :=MyGetCode(40,false);
DBEdit2_8.text:=Username;
if ADOQkh.active=false then
ADOQkh.open;
if ADOTable2.active=false then
ADOTable2.open;
dbGrideh2.ReadOnly :=false;
dbGrideh4.ReadOnly :=false;
DBComboBox1.Enabled :=true;
DTP1.Enabled:=true;
DBImage2.Enabled :=true;
ButEnabled(toolbar1,w);
end;
procedure Tfrmorder.FormShow(Sender: TObject);
begin
frmmain.Outlook1.Visible:=False;
frmmain.Panel1.Visible:=true;
frmmain.Panel2.Visible:=false;
end;
procedure Tfrmorder.BitBtn3Click(Sender: TObject);
const
w: array [0..13]of boolean=(true,true,true,true,true,false,false,false,false,false,false,false,false,true);
var
i:integer;
begin
if Trim(DBEdit1_1.text) = '' then
begin
Application.MessageBox('请输入订单编号!','提示',64);
DBEdit1_1.SetFocus;
exit;
end;
if DBComboBox1.text = '' then
begin
Application.MessageBox('请输入订单公司!','提示',64);
DbComboBox1.SetFocus ;
exit;
end;
dm.ADOConnection.BeginTrans ;
try
if (adoqorder4.RecordCount<=0) then
begin
Application.MessageBox('请汇总数量!','提示',64);
dm.ADOConnection.RollbackTrans ;
exit;
end;
ADOQorder4.Edit;
ADOQorder4.UpdateBatch ;
adoqueryndd2.First;
for i:=0 to adoqueryndd2.RecordCount-1 do
begin
ADOTable1.UpdateBatch ;
adoqueryndd2.Next;
end;
ADOQueryNDD2.updatebatch;
ADOQueryNDD1.edit;
ADOQueryNDD1.FieldByname('OrderDate').AsDatetime:=DTP1.Date ;
ADOQueryNDD1.UpdateBatch ;
dm.ADOConnection.CommitTrans ;
ButEnabled(toolbar1,w);
MyGetCode(40,true);
dbgrideh2.readonly:=true;
dbgrideh4.readonly:=true;
DBImage2.Enabled :=false;
DBComboBox1.Enabled :=false;
DTP1.enabled:=false;
Application.MessageBox('保存数据成功!','提示',MB_OK+MB_ICONQUESTION);
except
Application.MessageBox('保存数据失败!','错误',0+16);
dm.ADOConnection.RollbackTrans ;
end;
end;
procedure Tfrmorder.BitBtn4Click(Sender: TObject);
begin
ADOQueryNDD2.Append ;
end;
procedure Tfrmorder.BitBtn2Click(Sender: TObject);
begin
If DBEdit1_1.text='' then exit;
if Application.MessageBox('确定删除该订单全部资料吗?','确认',MB_YESNO+MB_ICONQUESTION) = IDYES then
begin
ADOSPdelorder.Close;
ADOSPdelorder.Parameters[1].Value:=DBEdit1_1.text;
ADOSPdelorder.ExecProc;
// ADOQueryNDD1.Delete;
DBEdit1_1.Text:='';
end;
end;
procedure Tfrmorder.BitBtn5Click(Sender: TObject);
begin
ADOQueryNDD2.Delete;
end;
procedure Tfrmorder.BitBtn12Click(Sender: TObject);
begin
adoqueryndd2.refresh;
if ADOQueryNDD2.RecordCount >0 then
begin
if not AdoTable1.Active then AdoTable1.Open;
AdoTable1.Append;
end;
//-----------------------------------------------------------------------------
end;
procedure Tfrmorder.BitBtn8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmorder.BitBtn11Click(Sender: TObject);
var
rect:trect;
externname:string;
jpg:tjpegimage;
pnh, pnw: Integer;
pch, pcw: Integer;
begin
try
if OpenPictureDialog1.Execute then
begin
externname:=ExtractFileExt(OpenPictureDialog1.FileName);
if StrComp(pchar(uppercase(externname)),pchar(uppercase('.bmp')))=0 then
begin
dbimage1.Picture.LoadFromFile(OpenPictureDialog1.filename);
end
else
if StrComp(pchar(uppercase(externname)),pchar(uppercase('.jpg')))=0 then
begin
jpg:=tjpegimage.create;
jpg.LoadFromFile(OpenPictureDialog1.filename);
dbimage1.Picture.Graphic.Assign (jpg);
end;
end;
pnh := Panel5.Height-4;
pnw := Panel5.Width-4;
pch := DBImage1.Picture.Height;
pcw := DBImage1.Picture.Width;
with DBImage1 do
begin
if (pcw <= pnw) and (pch <= pnh) then
begin
Left := 2 + (pnw-pcw) div 2 ;
Top := 2 + (pnh-pch) div 2;
Height := pch;
Width := pcw;
Exit;
end;
if pnh/pnw >= pch/pcw then
begin
Left := 2;
Width := pnw;
Height := pch * pnw div pcw;
Top := 2 + (pnh - Height) div 2;
end
else begin
Top := 2;
Height := pnh;
Width := pnh * pcw div pch;
Left := 2 + (pnw -Width) div 2;
end;
end;
except
messagebox(handle,'此文件格式无效!','错误',mb_ok+mb_iconerror);
end;
end;
procedure Tfrmorder.BitBtn10Click(Sender: TObject);
var
I:integer;
j,amount:integer;
shoesno,csize,color,r_name:string;
tempquery:Tadoquery;
begin
dm.ADOConnection.BeginTrans ;
tempquery:=Tadoquery.create(nil);
tempquery.Connection :=dm.ADOConnection ;
try
with tempquery do
begin
close;
sql.clear;
sql.add('delete from xs_order4 where orderno='+''''+trim(DBEdit1_1.text)+'''');
execsql;
end;
adoqorder4.first;
for j:=0 to adoqorder4.recordcount-1 do
begin
adoqorder4.delete;
adoqorder4.next;
end;
adoqorder4.close ;
adoqorder4.open;
ADOQueryNDD2.first;
for i:=0 to ADOQueryNDD2.recordcount-1 do
begin
with tempquery do
begin
close;
sql.clear;
sql.add('delete from xs_temp');
execsql;
end;
adotable1.first;
for j:=0 to adotable1.RecordCount-1 do
begin
shoesno:=adotable1.FieldByName('shoesno').AsString;
csize:=adotable1.fieldbyname('size').AsString;
amount:=adotable1.fieldbyname('amount').Asinteger ;
r_name:=adotable1.fieldbyname('r_name').AsString ;
color:=adotable1.fieldbyname('color').AsString ;
with tempquery do
begin
close;
sql.clear;
sql.add('insert into xs_temp (shoesno,csize,amount,color,r_name) values ('+''''+shoesno+''''+','+csize+','+IntToStr(amount)+','+''''+color+''''+','+''''+r_name+''''+')');
execsql;
end;
adotable1.next;
end;
with tempquery do
begin
close;
sql.Clear ;
sql.add('select shoesno,sum(amount) As ww ,color,r_name from xs_temp group by shoesno,color,r_name');
open;
end;
tempquery.first;
for j:=0 to tempquery.RecordCount-1 do
begin
adoqorder4.Append ;
ADOQorder4.FieldByName('R_name').AsString:=tempquery.fieldbyname('r_name').AsString;
ADOQorder4.FieldByName('Total').AsString:=tempquery.fieldbyname('ww').AsString;
ADOQorder4.FieldByName('Color').AsString:=tempquery.fieldbyname('color').AsString;
ADOQorder4.FieldByName('ShoesNo').AsString:=tempquery.fieldbyname('shoesno').AsString;
adoqorder4.post;
tempquery.next;
end;
ADOQueryNDD2.next;
end;
tempquery.Free;
dm.ADOConnection.CommitTrans ;
except
Application.MessageBox('数据计算失败!','错误',0+16);
tempquery.Free;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -