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

531 lines
14 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_GYSFKChkList;
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, Menus;
type
TfrmGYSFKChkList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
TBFind: TToolButton;
ADOQueryMain: TADOQuery;
TBExport: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N6: TMenuItem;
N7: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
v2Column14: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
Panel2: TPanel;
v2Column18: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Label2: TLabel;
Label5: TLabel;
Label4: TLabel;
Label8: TLabel;
Label9: TLabel;
YFName: TEdit;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
CheckBox1: TCheckBox;
PayMent: TEdit;
FactoryName: TBtnEditC;
FactoryNo: TEdit;
GSNO: TEdit;
BKNO: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure FactoryName10Change(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure FactoryNameBtnDnClick(Sender: TObject);
procedure FactoryNameBtnUpClick(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv2StylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
end;
var
frmGYSFKChkList: TfrmGYSFKChkList;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp, U_KHListSelJJ,U_RTFun,U_KHSKInPut,U_FjList,
U_GYSListSelJJ;
{$R *.dfm}
procedure TfrmGYSFKChkList.InitGrid();
var
fsj:string;
begin
fsj:=SGetWhereFinds(Panel1,1,2);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add('SELECT AA.* FROM(');
sql.Add(' select CRTime=Convert(varchar(7),A.CRTime,120),A.SKDate,A.FactoryNo,A.BZType,A.YFName,A.Payment,A.Note,A.YFID,A.Money,A.ConNo ');
sql.Add(',A.ChkerP,A.ChkTimeP,A.ChkStatusP');
sql.Add(',FactoryName=(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo)');
sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.YFID and TF.TFType=''<27>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD>'' )');
sql.Add(',B.BankNo,B.BankName,B.HuMingJC,A.GSNO,A.BKNO,A.ShuidanMoney,A.ShouXuMoney,A.JSMoney');
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');
if CheckBox1.Checked then
begin
sql.Add('where A.SKDate>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and SKDate<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
end else
begin
sql.Add('where A.SKDate>=''2000-01-01'' ');
sql.Add(' and SKDate<''2500-01-01'' ');
end;
sql.Add(' and isnull(ShiShouMoney,-99.999)<>-99.99');
sql.Add(' and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'')AA where 1=1 ');
SQL.Add(fsj);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
TBFind.Click;
end;
end;
procedure TfrmGYSFKChkList.FormDestroy(Sender: TObject);
begin
frmGYSFKChkList:=nil;
end;
procedure TfrmGYSFKChkList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmGYSFKChkList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ӧ<EFBFBD≯<EFBFBD><CCB8><EFBFBD>Chk<68>б<EFBFBD>',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmGYSFKChkList.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ӧ<EFBFBD≯<EFBFBD><CCB8><EFBFBD>Chk<68>б<EFBFBD>',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=StrToDate(FormatDateTime('yyyy',Enddate.Date)+'-01-01');
InitGrid();
end;
procedure TfrmGYSFKChkList.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmGYSFKChkList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmGYSFKChkList.FactoryName10Change(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmGYSFKChkList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmGYSFKChkList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGYSFKChkList.FactoryNameBtnDnClick(Sender: TObject);
begin
FactoryName.Text:='';
FactoryName.TxtCode:='';
FactoryName.Hint:='';
end;
procedure TfrmGYSFKChkList.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);
FactoryName.Hint:='<27><>';
end;
end;
finally
frmGYSListSelJJ.Free;
end;
end;
procedure TfrmGYSFKChkList.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
FName:string;
begin
FName:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(FName)='SDQty' then
begin
if CDS_HZ.IsEmpty then Exit;
try
frmFjList:=TfrmFjList.Create(Application);
with frmFjList do
begin
fkeyNO:=Trim(CDS_HZ.fieldbyname('YFID').AsString);
fType:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fstatus:=0;
if ShowModal=1 then
begin
end;
end;
finally
frmFjList.Free;
end;
end;
end;
procedure TfrmGYSFKChkList.Tv2StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
id:Integer;
begin
Id:=Tv2.GetColumnByFieldName('ChkStatusP').Index;
if ARecord.Values[id]='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then exit;
AStyle:=DataLink_Money.SkyBlue;
end;
procedure TfrmGYSFKChkList.N6Click(Sender: TObject);
begin
SelOKNo(CDS_HZ,True);
end;
procedure TfrmGYSFKChkList.N7Click(Sender: TObject);
begin
SelOKNo(CDS_HZ,False);
end;
procedure TfrmGYSFKChkList.N4Click(Sender: TObject);
var
FDate:TDateTime;
begin
if CDS_HZ.IsEmpty then Exit;
if CDS_HZ.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
ToolBar1.SetFocus;
try
Panel2.Visible:=True;
Panel2.Refresh;
FDate:=SGetServerDateTime(ADOQueryTemp);
ADOQueryCmd.Connection.BeginTrans;
CDS_HZ.DisableControls;
with CDS_HZ do
begin
First;
while CDS_HZ.Locate('SSel',True,[]) do
begin
if Trim(CDS_HZ.fieldbyname('ChkStatusP').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
// RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'YS_Money_CR',7);
FieldByName('ChkerP').Value:=Trim(DName);
FieldByName('ChkTimeP').Value:=FDate;
FieldByName('ChkStatusP').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Post;
end;
{with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YS_Money_CR Set ');
sql.Add('HSMoney=Money');
sql.Add(',JSMoney=Money');
sql.Add(' where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
ExecSQL;
end; }
with CDS_HZ do
begin
Edit;
FieldByName('ChkStatusP').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('ChkerP').Value:=Trim(DName);
FieldByName('ChkTimeP').Value:=FDate;
FieldByName('SSel').Value:=False;
Post;
end;
end else
begin
with CDS_HZ do
begin
Edit;
FieldByName('SSel').Value:=False;
Post;
end;
end;
end;
end;
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Panel2.Visible:=False;
except
Panel2.Visible:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmGYSFKChkList.N5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
if CDS_HZ.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
ToolBar1.SetFocus;
try
Panel2.Visible:=True;
Panel2.Refresh;
ADOQueryCmd.Connection.BeginTrans;
CDS_HZ.DisableControls;
with CDS_HZ do
begin
First;
while CDS_HZ.Locate('SSel',True,[]) do
begin
if Trim(CDS_HZ.fieldbyname('ChkStatusP').AsString)<><><CEB4><EFBFBD><EFBFBD>' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
FieldByName('ChkerP').Value:=Null;
FieldByName('ChkTimeP').Value:=Null;
FieldByName('ChkStatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
Post;
end;
with CDS_HZ do
begin
Edit;
FieldByName('ChkStatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
FieldByName('ChkerP').Value:=Null;
FieldByName('ChkTimeP').Value:=Null;
FieldByName('SSel').Value:=False;
Post;
end;
end else
begin
with CDS_HZ do
begin
Edit;
FieldByName('SSel').Value:=False;
Post;
end;
end;
end;
end;
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Panel2.Visible:=False;
except
Panel2.Visible:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmGYSFKChkList.N1Click(Sender: TObject);
var
FDate:TDateTime;
begin
if CDS_HZ.IsEmpty then Exit;
ToolBar1.SetFocus;
try
FDate:=SGetServerDateTime(ADOQueryTemp);
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
//RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'YS_Money_CR',7);
FieldByName('ChkerP').Value:=Trim(DName);
FieldByName('ChkTimeP').Value:=FDate;
FieldByName('ChkStatusP').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Post;
end;
{with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YS_Money_CR Set ');
sql.Add('HSMoney=Money');
sql.Add(',JSMoney=Money');
sql.Add(' where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
ExecSQL;
end; }
with CDS_HZ do
begin
Edit;
FieldByName('ChkStatusP').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('ChkTimeP').Value:=FDate;
FieldByName('ChkerP').Value:=Trim(DName);
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmGYSFKChkList.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
ToolBar1.SetFocus;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YS_Money_CR where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
FieldByName('ChkerP').Value:=Null;
FieldByName('ChkTimeP').Value:=Null;
FieldByName('ChkStatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
Post;
end;
with CDS_HZ do
begin
Edit;
FieldByName('ChkStatusP').Value:=<><CEB4><EFBFBD><EFBFBD>';
FieldByName('ChkerP').Value:=Null;
FieldByName('ChkTimeP').Value:=Null;
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
end.