D7wmguihua/桂华管理系统/U_BangAdd.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

309 lines
7.9 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.