309 lines
7.9 KiB
ObjectPascal
309 lines
7.9 KiB
ObjectPascal
unit U_BangAdd;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, DB, ADODB,OleCtrls, RM_Dataset, RM_System, RM_Common,
|
||
RM_Class, RM_GridReport;
|
||
function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
|
||
IntTime:integer;IsMessage:integer):integer;stdcall;external 'ELERS323C.DLL';
|
||
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'ELERS323C.DLL';
|
||
|
||
type
|
||
TfrmBangAdd = class(TForm)
|
||
Label1: TLabel;
|
||
MJID: TEdit;
|
||
Label2: TLabel;
|
||
Button1: TButton;
|
||
Button2: TButton;
|
||
Edit1: TEdit;
|
||
ADOCmd: TADOQuery;
|
||
ADOTmp: TADOQuery;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
CheckBox1: TCheckBox;
|
||
RM2: TRMGridReport;
|
||
RMDB_Main: TRMDBDataSet;
|
||
ADOQueryPrint: TADOQuery;
|
||
Label5: TLabel;
|
||
Label6: TLabel;
|
||
Edit2: TEdit;
|
||
Label7: TLabel;
|
||
Label8: TLabel;
|
||
Edit3: TEdit;
|
||
procedure MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure Button2Click(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure Button1KeyPress(Sender: TObject; var Key: Char);
|
||
private
|
||
{ Private declarations }
|
||
procedure On1201(Var Message:Tmessage);Message 1201;
|
||
procedure PrintData();
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmBangAdd: TfrmBangAdd;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmBangAdd.On1201(Var Message:Tmessage);
|
||
var
|
||
i1,i2:integer;
|
||
unitname:string;
|
||
fdata:double;
|
||
begin
|
||
i1:=message.WParam;
|
||
i2:=message.LParam;
|
||
|
||
Edit1.Text:= floattostr(i1 *i2 /100000 );
|
||
end;
|
||
|
||
procedure TfrmBangAdd.MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key=#13 then
|
||
begin
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY where MJID='''+Trim(MJID.Text)+'''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.IsEmpty=False then
|
||
begin
|
||
Label2.Visible:=True;
|
||
Label2.Caption:=Trim(ADOTmp.fieldbyname('MJID').AsString);
|
||
end else
|
||
begin
|
||
MJID.Text:='';
|
||
Label2.Visible:=False;
|
||
Label2.Caption:='';
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
MJID.Text:='';
|
||
Button1.SetFocus;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBangAdd.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmBangAdd:=nil;
|
||
end;
|
||
|
||
procedure TfrmBangAdd.Button1Click(Sender: TObject);
|
||
var
|
||
FZG,FJD:string;
|
||
FFreal,FMJMaoZ:Double;
|
||
begin
|
||
if Label2.Caption='' then
|
||
begin
|
||
Application.MessageBox('δɨ<CEB4><C9A8><EFBFBD><EFBFBD>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
if Trim(Edit1.Text)='' then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select * from WFB_MJJY where MJID='''+Trim(Label2.Caption)+'''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.FieldByName('MJMaoZ').AsFloat>0 then
|
||
begin
|
||
if Application.MessageBox('<27>ѳ<EFBFBD><D1B3>أ<EFBFBD>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
|
||
end;
|
||
if Trim(Edit2.Text)<>'' then
|
||
begin
|
||
if TryStrToFloat(Edit2.Text,FFreal)=False then
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
|
||
Exit;
|
||
end else
|
||
begin
|
||
FZG:=Edit2.Text;
|
||
end;
|
||
end else
|
||
begin
|
||
FZG:='0';
|
||
end;
|
||
if Trim(Edit3.Text)<>'' then
|
||
begin
|
||
if TryStrToFloat(Edit3.Text,FFreal)=False then
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
|
||
Exit;
|
||
end else
|
||
begin
|
||
FJD:=Edit3.Text;
|
||
end;
|
||
end else
|
||
begin
|
||
FJD:='0';
|
||
end;
|
||
FMJMaoZ:=StrToFloat(Edit1.Text)-StrToFloat(FZG);
|
||
try
|
||
ADOCmd.Connection.BeginTrans;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update WFB_MJJY Set MJMaoZ='+Trim(Floattostr(FMJMaoZ)));
|
||
sql.add(',MJQty1='+Trim(Edit1.Text));
|
||
sql.add(',MJQty2='+Trim(FZG));
|
||
sql.add(',MJQty3='+Trim(FJD));
|
||
SQL.Add(' where MJID='''+Trim(Label2.Caption)+'''');
|
||
ExecSQL;
|
||
end;
|
||
ADOCmd.Connection.CommitTrans;
|
||
PrintData();
|
||
Label2.Caption:='';
|
||
Label2.Visible:=False;
|
||
MJID.SetFocus;
|
||
//Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
|
||
except
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
procedure TfrmBangAdd.PrintData();
|
||
var
|
||
fPrintFile,LabInt,LabName:String;
|
||
begin
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select C.SLbInt,C.SLbName from WFB_MJJY A');
|
||
sql.Add(' inner join JYOrder_Sub_AnPai B on A.APID=B.APID');
|
||
sql.Add(' inner join JYOrder_Sub C on B.SubId=C.SubId');
|
||
sql.Add(' where A.MJID='''+Trim(Label2.Caption)+'''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.IsEmpty=False then
|
||
begin
|
||
LabInt:=ADOTmp.fieldbyname('SLbInt').AsString;
|
||
LabName:=ADOTmp.fieldbyname('SLbName').AsString;
|
||
end ;
|
||
if Trim(LabName)='' then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ǩδ<C7A9><CEB4><EFBFBD>ã<EFBFBD>','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
{ try
|
||
frmLabelPrint:=TfrmLabelPrint.Create(Application);
|
||
with frmLabelPrint do
|
||
begin
|
||
fLabelId:=LabInt;
|
||
FFCDFlag:=Trim(CDFlag);
|
||
fKeyNo:=Trim(FXJID);
|
||
fIsPreviewPrint:=True;
|
||
frmLabelPrint.Button1.Click;
|
||
// if ShowModal=1 then
|
||
//begin
|
||
|
||
// end;
|
||
end;
|
||
finally
|
||
frmLabelPrint.Free;
|
||
end; }
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select D.OrderNo,C.PRTColor,C.PRTKZ,C.PRTType,D.OrdDefStr2,D.OrdDefStr3,D.OrdDefStr7,B.AOrdDefNote30,A.MJXH,B.GangNo');
|
||
SQL.Add(',C.PRTMF,C.SOrddefstr3,C.SOrddefstr5,D.DlyDate,D.DLyPlace,A.MJMaoZ,B.AOrdDefNote31,C.SOrddefstr4,');
|
||
SQL.Add('ColorEngName=(select top 1 Note from KH_Zdy E where E.ZdyName=C.PRTColor and E.Type=''OrdColor'' ),');
|
||
{SQL.Add('MJBang=Cast((A.MJMaoZ*2.2046) as decimal(18,2)),');
|
||
SQL.Add('MJMaoZBang=Cast(((A.MJQty1+A.MJQty3)*2.2046) as decimal(18,2)),');
|
||
SQL.Add('MAQty=Cast((A.MJMaoZ*100*1000/(A.MJSJKZ*(A.MJFK*2.54))*0.9144) as decimal(18,2) ),');
|
||
SQL.Add('MQty=Cast((A.MJMaoZ*100*1000/(A.MJSJKZ*(A.MJFK*2.54))) as decimal(18,2) ),');
|
||
SQL.Add('MaoZ=A.MJQty1+A.MJQty3,');
|
||
SQL.Add('JingZ=A.MJQty1-A.MJQty2'); }
|
||
SQL.Add('MJBang=A.MJMaoZ,');
|
||
SQL.Add('MJMaoZBang=A.MJQty1+A.MJQty3,');
|
||
SQL.Add('MAQty=Cast((A.MJMaoZ*0.4536*100*1000/(A.MJSJKZ*(A.MJFK*2.54))*0.9144) as decimal(18,2) ),');
|
||
SQL.Add('MQty=Cast((A.MJMaoZ*0.4536*100*1000/(A.MJSJKZ*(A.MJFK*2.54))) as decimal(18,2) ),');
|
||
SQL.Add('MaoZ=Cast((A.MJQty1+A.MJQty3)*0.4536 as decimal(18,2)),');
|
||
SQL.Add('JingZ=Cast((A.MJQty1-A.MJQty2)*0.4536 as decimal(18,2))');
|
||
SQL.Add('from WFB_MJJY A inner join JYOrder_Sub_AnPai B on A.APID=B.APID');
|
||
SQL.Add('inner join JYOrder_Sub C on B.SubId=C.SubId');
|
||
SQL.Add('inner join JYOrder_Main D on C.MainId=D.Mainid');
|
||
SQL.Add('where A.MJID='''+Trim(Label2.Caption)+'''');
|
||
Open;
|
||
end;
|
||
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf' ;
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RM2.LoadFromFile(fPrintFile);
|
||
//RM2.ShowReport;
|
||
Rm2.PrintReport;
|
||
end else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf'),'<27><>ʾ',0);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmBangAdd.Button2Click(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmBangAdd.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
if CheckBox1.Checked=False then
|
||
CommClose(pchar('com1'));
|
||
end;
|
||
|
||
procedure TfrmBangAdd.FormShow(Sender: TObject);
|
||
begin
|
||
if CommOpen(frmBangAdd.Handle,pchar('com1'),500,1)<1 then
|
||
begin
|
||
showmessage('<27><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʧ<EFBFBD><CAA7>!');
|
||
end
|
||
else
|
||
begin
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBangAdd.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
if CheckBox1.Checked=True then
|
||
begin
|
||
if CommOpen(frmBangAdd.Handle,pchar('com1'),500,1)<1 then
|
||
begin
|
||
showmessage('<27><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʧ<EFBFBD><CAA7>!');
|
||
end
|
||
else
|
||
begin
|
||
end;
|
||
end else
|
||
begin
|
||
CommClose(pchar('com1'));
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBangAdd.Button1KeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key=#13 then
|
||
begin
|
||
Button1.Click;
|
||
end;
|
||
end;
|
||
|
||
end.
|