D7wmguihua/应收应付/U_YF_Money_Sub.pas

361 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-01-18 16:22:10 +08:00
unit U_YF_Money_Sub;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, DB, ADODB, cxControls, cxContainer, cxEdit,
cxTextEdit, cxCurrencyEdit, BtnEdit, StdCtrls, ExtCtrls, cxGraphics,
cxLookAndFeels, cxLookAndFeelPainters;
type
TFrmYF_Money_Sub = class(TForm)
ToolBar1: TToolBar;
TSAVE: TToolButton;
Tclose: TToolButton;
Panel1: TPanel;
Label11: TLabel;
Label9: TLabel;
Label8: TLabel;
Label5: TLabel;
Label2: TLabel;
note: TMemo;
CRTime: TDateTimePicker;
CRType: TBtnEditA;
OutMoney: TcxCurrencyEdit;
ADOQueryTMP: TADOQuery;
ADOQueryCMD: TADOQuery;
Label1: TLabel;
InMoney: TcxCurrencyEdit;
CRZY: TEdit;
Label3: TLabel;
FactoryName: TBtnEditA;
Label4: TLabel;
TOFactoryName: TBtnEditA;
OrderNo: TBtnEditA;
Label6: TLabel;
ADOQueryTEMP: TADOQuery;
procedure TcloseClick(Sender: TObject);
procedure TSAVEClick(Sender: TObject);
procedure CRTypeBtnClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FactoryNameBtnClick(Sender: TObject);
procedure TOFactoryNameBtnClick(Sender: TObject);
procedure OrderNoBtnClick(Sender: TObject);
private
fopevent:string;
procedure savedata();
procedure initdata();
procedure geteditRzhi();
{ Private declarations }
public
fkeyNo: string;
fSYRName:string;
{ Public declarations }
end;
var
FrmYF_Money_Sub: TFrmYF_Money_Sub;
implementation
uses U_ZDYHelpSel, U_ZDYHelp,U_Fun, U_ProductOrderNewList,U_DataLink;
{$R *.dfm}
procedure TFrmYF_Money_Sub.geteditRzhi();
begin
fopevent:='';
with ADOQueryTemp do
begin
Close;
sql.Clear;
SQL.Add('select * from YF_Money_LL where LLNO='''+Trim(fkeyNo)+''' ');
open;
end;
IF not ADOQueryTemp.IsEmpty then
begin
IF trim(TOFactoryName.Text)<> trim(ADOQueryTemp.fieldbyName('TOFactoryName').AsString) then
fopevent:=fopevent+' <20>Է<EFBFBD><D4B7><EFBFBD>Ϣ:'+trim(ADOQueryTemp.fieldbyName('TOFactoryName').AsString)+'->'+trim(TOFactoryName.Text);
IF formatdateTime('yyyy-MM-dd',CRTime.DateTime)<> formatdateTime('yyyy-MM-dd',ADOQueryTemp.fieldbyName('CRTime').AsDateTime) then
fopevent:=fopevent+' <20><><EFBFBD><EFBFBD>:'+formatdateTime('yyyy-MM-dd',ADOQueryTemp.fieldbyName('CRTime').AsDateTime )+'->'+formatdateTime('yyyy-MM-dd',CRTime.DateTime);
IF strtofloatdef(trim(InMoney.Text),0)<> ADOQueryTemp.fieldbyName('InMoney').AsFloat then
fopevent:=fopevent+' <20><EFBFBD><E8B7BD><EFBFBD><EFBFBD>:'+ADOQueryTemp.fieldbyName('inMoney').AsString+'->'+trim(InMoney.Text);
IF strtofloatdef(trim(OutMoney.Text),0)<> ADOQueryTemp.fieldbyName('OutMoney').AsFloat then
fopevent:=fopevent+' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'+ADOQueryTemp.fieldbyName('OutMoney').AsString+'->'+trim(OutMoney.Text);
if trim(fopevent)<>'' then
fopevent:='<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>:'+trim(ADOQueryTemp.fieldbyName('factoryName').AsString)+fopevent;
end;
IF trim(fopevent)<>'' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' '+quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(','+quotedstr(trim('<27>˻<EFBFBD><CBBB><EFBFBD>ˮ<EFBFBD>Ǽ<EFBFBD>')));
sql.Add(','+quotedstr(trim('<27>˻<EFBFBD><CBBB><EFBFBD>ˮ<EFBFBD>޸<EFBFBD>')));
sql.Add(','+quotedstr(trim(fopevent)));
sql.Add(','+quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
end;
procedure TFrmYF_Money_Sub.initdata();
begin
with adoquerycmd do
begin
close;
sql.clear;
sql.Add('select * from YF_Money_LL ');
sql.Add('where LLNO='+quotedstr(trim(fkeyNo)) );
open;
if not isempty then
begin
CRTime.DateTime:=fieldbyname('crtime').AsDateTime;
CRType.Text:=trim(fieldbyname('crtype').AsString);
factoryName.Text:=trim(fieldbyname('factoryName').AsString);
TOfactoryName.Text:=trim(fieldbyname('TOfactoryName').AsString);
NOTE.Text:=trim(fieldbyname('NOTE').AsString);
CRZY.Text:=trim(fieldbyname('crzy').AsString);
InMoney.Text:=trim(fieldbyname('InMoney').AsString);
OutMoney.Text:=Trim(fieldbyname('OutMoney').AsString);
orderNo.Text:=Trim(fieldbyname('orderNo').AsString);
end;
end;
end;
procedure TFrmYF_Money_Sub.savedata();
var
fid:string;
begin
try
ADOQueryCMD.Connection.BeginTrans;
if Trim(fkeyNo)='' then
begin
if GetLSNo(ADOQueryCMD,fkeyNo,'YL','YF_Money_LL',3,1)=False then
begin
ADOQueryCMD.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ');
Exit;
end;
end;
geteditRzhi();
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete from YF_Money_LL where fromMainID='''+Trim(fkeyNo)+''' ');
execsql;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from YF_Money_LL where LLNO='''+Trim(fkeyNo)+''' ');
Open;
if isempty then
begin
append;
fieldbyname('filler').Value:=trim(Dname);
// fieldbyname('filltime').Value:=SGetServerDate10(adoqueryTmp);
end
else
begin
edit;
fieldbyname('chker').Value:=trim(Dname);
fieldbyname('chkTime').Value:=SGetServerDate10(adoqueryTmp);
end;
FieldByName('LLNO').Value:=Trim(fkeyNo);
fieldbyname('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTime.DateTime);
fieldbyname('CRType').Value:=trim(CRType.Text);
fieldbyname('factoryName').Value:=trim(factoryName.Text);
fieldbyname('TOfactoryName').Value:=trim(TOfactoryName.Text);
fieldbyname('CRType').Value:=trim(CRType.Text);
fieldbyname('NOTE').Value:=trim(NOTE.Text);
fieldbyname('CRZY').Value:=trim(CRZY.text);
fieldbyname('orderNo').Value:=trim(orderNo.text);
fieldbyname('inMoney').Value:=strtofloatdef(trim(inMoney.Text),0);
fieldbyname('OutMoney').Value:=strtofloatdef(trim(OutMoney.Text),0);
fieldbyname('syrName').Value:=trim(fsyrName);
fieldbyname('status').Value:='0';
Post;
end;
IF trim(CRType.Text)='<27>˻<EFBFBD><CBBB><EFBFBD>ת' then
begin
if GetLSNo(ADOQueryCMD,fid,'YL','YF_Money_LL',3,1)=False then
begin
ADOQueryCMD.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ');
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from YF_Money_LL where LLNO='''+Trim(fid)+''' ');
Open;
if isempty then
begin
append;
fieldbyname('filler').Value:=trim(Dname);
end
else
begin
edit;
fieldbyname('chker').Value:=trim(Dname);
fieldbyname('chkTime').Value:=SGetServerDate10(adoqueryTmp);
end;
FieldByName('LLNO').Value:=Trim(fid);
fieldbyname('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTime.DateTime);
fieldbyname('CRType').Value:=trim(CRType.Text);
fieldbyname('factoryName').Value:=trim(TOfactoryName.Text);
fieldbyname('TOfactoryName').Value:=trim(factoryName.Text);
fieldbyname('CRType').Value:=trim(CRType.Text);
fieldbyname('NOTE').Value:=trim(NOTE.Text);
fieldbyname('CRZY').Value:=trim(CRZY.text);
fieldbyname('inMoney').Value:=strtofloatdef(trim(OutMoney.Text),0);
fieldbyname('OutMoney').Value:=strtofloatdef(trim(InMoney.Text),0);
fieldbyname('status').Value:='0';
fieldbyname('fromMainID').Value:=trim(fkeyNo);
fieldbyname('syrName').Value:=trim(fsyrName);
Post;
end;
end;
ADOquerycmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
except
ADOquerycmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TFrmYF_Money_Sub.TcloseClick(Sender: TObject);
begin
close;
end;
procedure TFrmYF_Money_Sub.TSAVEClick(Sender: TObject);
begin
IF trim(FactoryName.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
exit;
end;
savedata();
end;
procedure TFrmYF_Money_Sub.CRTypeBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='XJZZFLAG';
flagname:=<><D7AA><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>';
if showmodal=1 then
begin
CRType.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
InMoney.Enabled:=true;
IF trim(CRType.Text)='<27>˻<EFBFBD><CBBB><EFBFBD>ת' then
begin
InMoney.Text:='';
InMoney.Enabled:=false;
end;
end;
procedure TFrmYF_Money_Sub.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TFrmYF_Money_Sub.FormDestroy(Sender: TObject);
begin
FrmYF_Money_Sub:=nil;
end;
procedure TFrmYF_Money_Sub.FormShow(Sender: TObject);
begin
CRTime.DateTime:=SGetServerDate10(adoqueryTmp);
initData();
end;
procedure TFrmYF_Money_Sub.FormCreate(Sender: TObject);
begin
Panel1.Align:=alclient;
end;
procedure TFrmYF_Money_Sub.FactoryNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:=trim(fsyrName)+'XJLLFLAG';
flagname:='<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>';
if showmodal=1 then
begin
FactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TFrmYF_Money_Sub.TOFactoryNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:=trim(fsyrName)+'XJLLFLAG';
flagname:='<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>';
if showmodal=1 then
begin
TOFactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TFrmYF_Money_Sub.OrderNoBtnClick(Sender: TObject);
begin
{ try
frmProductOrderNewList:=TfrmProductOrderNewList.Create(Application);
with frmProductOrderNewList do
begin
// DParameters1:='<27><>Ȩ<EFBFBD><C8A8>';
//frmProductOrderList.v1Column4.Visible:=True;
if ShowModal=1 then
begin
self.OrderNo.Text:=Order_Main.fieldbyname('OrderNo').asstring;
end;
end;
finally
frmProductOrderNewList.Free;
end; }
end;
end.