D7myYunxiang/云翔财务(Money.dll)/U_KHSKInPut.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

565 lines
15 KiB
ObjectPascal
Raw Permalink 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_KHSKInPut;
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
TfrmKHSKInPut = 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;
Label6: TLabel;
BZType: TComboBox;
Label7: TLabel;
ShuiDanMoney: TEdit;
Label8: TLabel;
SKDate: TDateTimePicker;
Label9: TLabel;
Label10: TLabel;
ConNo: TEdit;
Label11: TLabel;
BKNO: TBtnEditC;
Label13: TLabel;
HuMingJC: TEdit;
Label12: TLabel;
ShiShouMoney: TEdit;
Label14: TLabel;
ShouXuFlag: TEdit;
Panel2: TPanel;
FactoryNoSub: TEdit;
HuMing: TEdit;
Label15: TLabel;
Label16: TLabel;
SKTaiTou: TBtnEditC;
SKBankNo: TEdit;
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 ShouXuFlagClick(Sender: TObject);
procedure BZTypeChange(Sender: TObject);
procedure SKTaiTouBtnUpClick(Sender: TObject);
procedure SKTaiTouBtnDnClick(Sender: TObject);
private
{ Private declarations }
procedure InitData();
function SaveData():Boolean;
procedure initJM();
public
{ Public declarations }
FMainId:String;
FZZ:string;
end;
var
frmKHSKInPut: TfrmKHSKInPut;
implementation
uses
U_DataLink,U_ZDYHelp, U_KHListSelJJ,U_RTFun,U_GSListBankSel;
{$R *.dfm}
procedure TfrmKHSKInPut.InitData();
begin
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select A.*,B.BankNo,B.BankName,B.HuMingJC ');
sql.Add(',HuMing=(select Top 1 HuMing from KH_Sub_Bank KBS where KBS.KHNOSub=A.FactoryNoSub)');
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);
if Trim(ADOQueryMain.fieldbyname('FactoryNoSub').AsString)<>'' then
begin
FactoryNoSub.Visible:=True;
HuMing.Visible:=True;
FactoryNoSub.Text:=Trim(ADOQueryMain.fieldbyname('FactoryNoSub').AsString);
HuMing.Text:=Trim(ADOQueryMain.fieldbyname('HuMing').AsString);
end;
end;
procedure TfrmKHSKInPut.FormDestroy(Sender: TObject);
begin
frmKHSKInPut:=nil;
end;
procedure TfrmKHSKInPut.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmKHSKInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmKHSKInPut.FormShow(Sender: TObject);
begin
CRTime.DateTime:=SGetServerDate(ADOQueryTemp);
SKDate.DateTime:=CRTime.DateTime;
if Trim(FMainId)<>'' then
begin
InitData();
end;
initJM();
end;
procedure TfrmKHSKInPut.initJM();
begin
if Trim(BZType.Text)='<27><>' then
begin
Label7.Visible:=False;
ShuiDanMoney.Visible:=False;
Label14.Visible:=False;
ShouXuFlag.Text:='';
ShouXuFlag.Visible:=False;
end else
if Trim(BZType.Text)='$' then
begin
Label7.Visible:=True;
ShuiDanMoney.Visible:=True;
Label14.Visible:=True;
ShouXuFlag.Text:='<27><>';
ShouXuFlag.Visible:=True;
end;
end;
function TfrmKHSKInPut.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=''KH'' ');
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><D5BF>Ǽ<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>';
if FactoryNoSub.Visible=True then
begin
FieldByName('FactoryNoSub').Value:=Trim(FactoryNoSub.Text);
end else
begin
FieldByName('FactoryNoSub').Value:='';
end;
if Trim(ShuiDanMoney.Text)<>'' then
begin
if Trim(ShouXuFlag.Text)<>'' then
begin
FieldByName('JSMoney').Value:=Trim(ShuiDanMoney.Text);
FieldByName('Money').Value:=Trim(ShuiDanMoney.Text);
end else
begin
if Trim(ShiShouMoney.Text)<>'' then
begin
FieldByName('JSMoney').Value:=Trim(ShiShouMoney.Text);
FieldByName('Money').Value:=Trim(ShiShouMoney.Text);
end else
begin
FieldByName('JSMoney').Value:=Null;
FieldByName('Money').Value:=Null;
end;
end;
if Trim(ShiShouMoney.Text)<>'' then
begin
FieldByName('ShouXuMoney').Value:=StrToFloat(ShuiDanMoney.Text)-StrToFloat(ShiShouMoney.Text);
end else
begin
FieldByName('ShouXuMoney').Value:=Null;
end;
end else
begin
if Trim(ShiShouMoney.Text)<>'' then
begin
FieldByName('JSMoney').Value:=Trim(ShiShouMoney.Text);
FieldByName('Money').Value:=Trim(ShiShouMoney.Text);
end else
begin
FieldByName('JSMoney').Value:=Null;
FieldByName('Money').Value:=Null;
end;
end;
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 TfrmKHSKInPut.ToolButton4Click(Sender: TObject);
var
FReal:Double;
begin
ToolBar1.SetFocus;
if Trim(FactoryName.Text)='' then
begin
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if ShuiDanMoney.Visible=False then
begin
if Trim(ShiShouMoney.Text)='' then
begin
Application.MessageBox(<>ս<EFBFBD><D5BD><EFBFBD><EEB2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if TryStrToFloat(ShiShouMoney.Text,FReal)=False then
begin
Application.MessageBox(<>ս<EFBFBD><D5BD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if Trim(ShuiDanMoney.Text)<>'' then
begin
if TryStrToFloat(ShuiDanMoney.Text,FReal)=False then
begin
Application.MessageBox(<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
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 TfrmKHSKInPut.FactoryNameBtnUpClick(Sender: TObject);
begin
try
frmKHListSelJJ:=TfrmKHListSelJJ.Create(Application);
with frmKHListSelJJ do
begin
frmKHListSelJJ.canshu2:='<27><>Ȩ<EFBFBD><C8A8>';
if ShowModal=1 then
begin
if FF='<27><>' then
begin
FactoryName.Text:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
FactoryName.TxtCode:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNO').AsString);
if Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHType').AsString)='<27><><EFBFBD><EFBFBD>' then
begin
BZType.ItemIndex:=BZType.Items.IndexOf('<27><>');
end else
begin
BZType.ItemIndex:=BZType.Items.IndexOf('$');
end;
FactoryNoSub.Visible:=False;
HuMing.Visible:=False;
end else
if FF='<27><>' then
begin
FactoryName.Text:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
FactoryName.TxtCode:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNO').AsString);
if Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHType').AsString)='<27><><EFBFBD><EFBFBD>' then
begin
BZType.ItemIndex:=BZType.Items.IndexOf('<27><>');
end else
begin
BZType.ItemIndex:=BZType.Items.IndexOf('$');
end;
FactoryNoSub.Visible:=True;
HuMing.Visible:=True;
FactoryNoSub.Text:=Trim(frmKHListSelJJ.CDS_HZ3.fieldbyname('KHNOSub').AsString);
HuMing.Text:=Trim(frmKHListSelJJ.CDS_HZ3.fieldbyname('HuMing').AsString);
end;
end;
end;
finally
frmKHListSelJJ.Free;
end;
end;
procedure TfrmKHSKInPut.FactoryNameBtnDnClick(Sender: TObject);
begin
FactoryName.Text:='';
FactoryName.TxtCode:='';
FactoryName.Hint:='';
end;
procedure TfrmKHSKInPut.YFNameBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YFNameYS';
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 TfrmKHSKInPut.PayMentBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PayMentYS';
flagname:='<27>տʽ';
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 TfrmKHSKInPut.YFNameBtnDnClick(Sender: TObject);
begin
YFName.Text:='';
end;
procedure TfrmKHSKInPut.PayMentBtnDnClick(Sender: TObject);
begin
PayMent.Text:='';
end;
procedure TfrmKHSKInPut.SKDateChange(Sender: TObject);
begin
CRTime.Date:=SKDate.Date;
end;
procedure TfrmKHSKInPut.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 TfrmKHSKInPut.BKNOBtnDnClick(Sender: TObject);
begin
BKNO.Text:='';
BKNO.TxtCode:='';
HuMingJC.Text:='';
end;
procedure TfrmKHSKInPut.ShouXuFlagClick(Sender: TObject);
begin
if Trim(ShouXuFlag.Text)='' then
begin
ShouXuFlag.Text:='<27><>';
end else
begin
ShouXuFlag.Text:='';
end;
end;
procedure TfrmKHSKInPut.BZTypeChange(Sender: TObject);
begin
initJM();
end;
procedure TfrmKHSKInPut.SKTaiTouBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='SKTaiTouKH';
flagname:='<27>Է<EFBFBD>̧ͷ';
MainType:=Self.FactoryName.TxtCode;
fnote:=True;
V1Name.Caption:='<27>Է<EFBFBD>̧ͷ';
V1Note.Caption:='<27>˺<EFBFBD>';
if ShowModal=1 then
begin
SKTaiTou.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
SKBankNo.Text:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmKHSKInPut.SKTaiTouBtnDnClick(Sender: TObject);
begin
SKTaiTou.Text:='';
SKBankNo.Text:='';
end;
end.