D7wmguihua/应收应付/U_YF_Money_Sub.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

361 lines
10 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_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.