D7myYunxiang/云翔财务(Money.dll)/U_GYSFKInPut.pas

468 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_GYSFKInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxPC, cxDropDownEdit, BtnEdit;
type
TfrmGYSFKInPut = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
ADOQueryMain: TADOQuery;
Label3: TLabel;
Label2: TLabel;
CRTime: TDateTimePicker;
ToolButton4: TToolButton;
Label5: TLabel;
FactoryName: TBtnEditC;
YFName: TBtnEditC;
PayMent: TBtnEditC;
Label4: TLabel;
Note: TEdit;
Label8: TLabel;
SKDate: TDateTimePicker;
Label9: TLabel;
Label11: TLabel;
BKNO: TBtnEditC;
Label13: TLabel;
HuMingJC: TEdit;
Label12: TLabel;
JSMoney: TEdit;
Label6: TLabel;
FKTaiTou: TBtnEditC;
FKBankNo: TEdit;
Label7: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure FactoryNameBtnUpClick(Sender: TObject);
procedure FactoryNameBtnDnClick(Sender: TObject);
procedure YFNameBtnUpClick(Sender: TObject);
procedure PayMentBtnUpClick(Sender: TObject);
procedure YFNameBtnDnClick(Sender: TObject);
procedure PayMentBtnDnClick(Sender: TObject);
procedure SKDateChange(Sender: TObject);
procedure BKNOBtnUpClick(Sender: TObject);
procedure BKNOBtnDnClick(Sender: TObject);
procedure BZTypeChange(Sender: TObject);
procedure FKTaiTouBtnUpClick(Sender: TObject);
procedure FKTaiTouBtnDnClick(Sender: TObject);
private
{ Private declarations }
procedure InitData();
function SaveData():Boolean;
procedure initJM();
public
{ Public declarations }
FMainId:String;
end;
var
frmGYSFKInPut: TfrmGYSFKInPut;
implementation
uses
U_DataLink,U_ZDYHelp, U_GYSListSelJJ,U_RTFun,U_GSListBankSel;
{$R *.dfm}
procedure TfrmGYSFKInPut.InitData();
begin
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select A.*,B.BankNo,B.BankName,B.HuMingJC ');
sql.Add(' from YS_Money_CR A');
sql.Add(' left join KH_Sub_Bank B on A.BKNO=B.BKNO');
sql.Add(' left join KH_Main C on B.KHMainId=C.KHMainId');
sql.Add(' where YFID='''+Trim(FMainId)+'''');
Open;
end;
SCSHDataNew(ADOQueryMain,Panel1,2);
SCSHDataNew(ADOQueryMain,Panel1,0);
end;
procedure TfrmGYSFKInPut.FormDestroy(Sender: TObject);
begin
frmGYSFKInPut:=nil;
end;
procedure TfrmGYSFKInPut.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmGYSFKInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmGYSFKInPut.FormShow(Sender: TObject);
begin
CRTime.DateTime:=SGetServerDate(ADOQueryTemp);
SKDate.DateTime:=CRTime.DateTime;
if Trim(FMainId)<>'' then
begin
InitData();
end;
initJM();
end;
procedure TfrmGYSFKInPut.initJM();
begin
end;
function TfrmGYSFKInPut.SaveData():Boolean;
var
maxId,CRID:String;
FDate:TDateTime;
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,:FDate)+1, 0)) as dt');
Parameters.ParamByName('FDate').Value:=CRTime.Date;
Open;
end;
FDate:=ADOQueryTemp.fieldbyname('dt').AsDateTime;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(FMainId)+'''');
Open;
end;
FMainId:=Trim(ADOQueryCmd.fieldbyname('YFID').AsString);
if Trim(FMainId)='' then
begin
if GetLSNo(ADOQueryCmd,maxId,'SK','YS_Money_CR',4,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxId:=FMainId;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from YS_Money_KC where FactoryName='''+Trim(FactoryName.TxtCode)+'''');
sql.Add(' and KCType=''GYS'' ');
Open;
end;
if ADOQueryCmd.IsEmpty=False then
begin
CRID:=ADOQueryCmd.fieldbyname('CRID').AsString;
end else
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YS_Money_CRID set CRID=CRID+1');
sql.Add('select * from YS_Money_CRID ');
Open;
end;
CRID:=ADOQueryCmd.fieldbyname('CRID').AsString;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from YS_Money_KC where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('CRID').Value:=StrToInt(CRID);
FieldByName('FactoryNo').Value:=Trim(FactoryName.TxtCode);
FieldByName('FactoryName').Value:=Trim(FactoryName.Text);
FieldByName('ZdyStr1').Value:=<><D3A6><EFBFBD><EFBFBD>';
Post;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(FMainId)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FMainId)='' then
begin
Append;
FieldByName('ChkStatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
FieldByName('Filler').Value:=Trim(DName);
end else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('YFID').Value:=Trim(maxId);
FieldByName('CRID').Value:=StrToInt(CRID);
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value:=<><D3A6><EFBFBD><EFBFBD>';
FieldByName('QtyFlag').Value:=-1;
RTSetsavedata(ADOQueryCmd,'YS_Money_CR',Panel1,2);
if Trim(FormatDateTime('yyyy-MM',CRTime.Date))=Trim(FormatDateTime('yyyy-MM',SKDate.Date)) then
begin
FieldByName('CRTime').Value:=SKDate.Date;
end else
begin
FieldByName('CRTime').Value:=formatdateTIme('yyyy-MM-dd',FDate);
end;
FieldByName('ChkstatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
FieldByName('JSMoney').Value:=Trim(JSMoney.Text);
FieldByName('Money').Value:=Trim(JSMoney.Text);
Post;
end;
FMainId:=Trim(maxId);
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Result:=True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmGYSFKInPut.ToolButton4Click(Sender: TObject);
var
FReal:Double;
begin
ToolBar1.SetFocus;
if Trim(FactoryName.Text)='' then
begin
Application.MessageBox('<27><>Ӧ<EFBFBD>̲<EFBFBD><CCB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(JSMoney.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if TryStrToFloat(JSMoney.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmGYSFKInPut.FactoryNameBtnUpClick(Sender: TObject);
begin
try
frmGYSListSelJJ:=TfrmGYSListSelJJ.Create(Application);
with frmGYSListSelJJ do
begin
frmGYSListSelJJ.canshu2:='<27><>Ȩ<EFBFBD><C8A8>';
if ShowModal=1 then
begin
FactoryName.Text:=Trim(frmGYSListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
FactoryName.TxtCode:=Trim(frmGYSListSelJJ.CDS_HZ.fieldbyname('KHNO').AsString);
end;
end;
finally
frmGYSListSelJJ.Free;
end;
end;
procedure TfrmGYSFKInPut.FactoryNameBtnDnClick(Sender: TObject);
begin
FactoryName.Text:='';
FactoryName.TxtCode:='';
FactoryName.Hint:='';
end;
procedure TfrmGYSFKInPut.YFNameBtnUpClick(Sender: TObject);
begin
if Trim(DName)<>'ADMIN' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''PayMentYF'' ');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><>ADMIN<49>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ','<27><>ʾ',0);
Exit;
end;
end;
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YFNameYF';
flagname:='<27><>ĿժҪ';
if Trim(DName)<>'ADMIN' then
begin
ViewFlag:=True;
end;
if ShowModal=1 then
begin
YFName.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmGYSFKInPut.PayMentBtnUpClick(Sender: TObject);
begin
if Trim(DName)<>'ADMIN' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''PayMentYF'' ');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><>ADMIN<49>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ','<27><>ʾ',0);
Exit;
end;
end;
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PayMentYF';
flagname:='<27><><EFBFBD>ʽ';
if Trim(DName)<>'ADMIN' then
begin
ViewFlag:=True;
end;
if ShowModal=1 then
begin
PayMent.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmGYSFKInPut.YFNameBtnDnClick(Sender: TObject);
begin
YFName.Text:='';
end;
procedure TfrmGYSFKInPut.PayMentBtnDnClick(Sender: TObject);
begin
PayMent.Text:='';
end;
procedure TfrmGYSFKInPut.SKDateChange(Sender: TObject);
begin
CRTime.Date:=SKDate.Date;
end;
procedure TfrmGYSFKInPut.BKNOBtnUpClick(Sender: TObject);
begin
try
frmGSListBankSel:=TfrmGSListBankSel.Create(Application);
with frmGSListBankSel do
begin
if ShowModal=1 then
begin
BKNO.Text:=Trim(frmGSListBankSel.CDS_HZ3.fieldbyname('BKNO').AsString);
BKNO.TxtCode:=Trim(frmGSListBankSel.CDS_HZ.fieldbyname('KHNO').AsString);
HuMingJC.Text:=Trim(frmGSListBankSel.CDS_HZ3.fieldbyname('HuMingJC').AsString);
end;
end;
finally
frmGSListBankSel.Free;
end;
end;
procedure TfrmGYSFKInPut.BKNOBtnDnClick(Sender: TObject);
begin
BKNO.Text:='';
BKNO.TxtCode:='';
HuMingJC.Text:='';
end;
procedure TfrmGYSFKInPut.BZTypeChange(Sender: TObject);
begin
initJM();
end;
procedure TfrmGYSFKInPut.FKTaiTouBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='FKTaiTouGSY';
flagname:='<27>Է<EFBFBD>̧ͷ';
MainType:=Self.FactoryName.TxtCode;
fnote:=True;
V1Name.Caption:='<27>Է<EFBFBD>̧ͷ';
V1Note.Caption:='<27>˺<EFBFBD>';
if ShowModal=1 then
begin
FKTaiTou.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
FKBankNo.Text:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmGYSFKInPut.FKTaiTouBtnDnClick(Sender: TObject);
begin
FKTaiTou.Text:='';
FKBankNo.Text:='';
end;
end.