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

255 lines
7.5 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_GYSListSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
2025-11-06 09:08:40 +08:00
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
2025-01-20 13:04:03 +08:00
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
2025-11-06 09:08:40 +08:00
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxDropDownEdit, Menus, BtnEdit, Buttons, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter;
2025-01-20 13:04:03 +08:00
type
TfrmGYSListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
zjm: TEdit;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label2: TLabel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1Column1: TcxGridDBColumn;
cxGYSName: TcxGridDBColumn;
cxGridDBGYSNameZC: TcxGridDBColumn;
V1SHStatus: TcxGridDBColumn;
V1FZR: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
V1Column2: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
LabKHType: TLabel;
KHType: TBtnEditC;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
V3Column2: TcxGridDBColumn;
V3BankName: TcxGridDBColumn;
V3BankNo: TcxGridDBColumn;
V3Column3: TcxGridDBColumn;
V3Column1: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
DS_HZ3: TDataSource;
CDS_HZ3: TClientDataSet;
cxGridPopupMenu4: TcxGridPopupMenu;
2025-11-06 09:08:40 +08:00
Label1: TLabel;
KHFlag: TComboBox;
2025-01-20 13:04:03 +08:00
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure zjmChange(Sender: TObject);
procedure KHTypeClick(Sender: TObject);
2025-11-06 09:08:40 +08:00
procedure V1SHStatusCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
2025-01-20 13:04:03 +08:00
procedure KHTypeBtnUpClick(Sender: TObject);
procedure KHTypeBtnDnClick(Sender: TObject);
procedure TV3DblClick(Sender: TObject);
2025-11-06 09:08:40 +08:00
procedure TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure KHFlagChange(Sender: TObject);
2025-01-20 13:04:03 +08:00
private
{ Private declarations }
2025-11-06 09:08:40 +08:00
ColorInt: Integer;
2025-01-20 13:04:03 +08:00
procedure InitGrid();
procedure InitGridBankMain();
public
2025-11-06 09:08:40 +08:00
canshu1, canshu2, FGYSType: string;
2025-01-20 13:04:03 +08:00
end;
var
frmGYSListSel: TfrmGYSListSel;
implementation
2025-11-06 09:08:40 +08:00
2025-01-20 13:04:03 +08:00
uses
2025-11-06 09:08:40 +08:00
U_DataLink, U_RTFun, U_ZDYHelp, U_SCPerson;
2025-01-20 13:04:03 +08:00
{$R *.dfm}
procedure TfrmGYSListSel.InitGrid();
begin
with ADOQueryMain do
begin
2025-11-06 09:08:40 +08:00
Filtered := False;
2025-01-20 13:04:03 +08:00
Close;
SQL.Clear;
sql.Add(' select *,zjm=dbo.getpinyin(KHName)+KHName+dbo.getpinyin(KHNameJC)+KHNameJC+KHNO');
sql.add(',SHStatus=(case when isnull(status,''0'')=''0'' then '<><CEB4><EFBFBD><EFBFBD>'' else ''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' end)');
sql.Add(' from KH_Main A ');
sql.add(' where isnull(KHFlag,'''') in (''GYS'',''KH'') and isnull(Valid,'''')=''Y'' ');
Open;
end;
2025-11-06 09:08:40 +08:00
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSListSel.FormDestroy(Sender: TObject);
begin
2025-11-06 09:08:40 +08:00
frmGYSListSel := nil;
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
2025-11-06 09:08:40 +08:00
Action := caFree;
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSListSel.TBCloseClick(Sender: TObject);
begin
2025-11-06 09:08:40 +08:00
WriteCxGrid('PBGYS11YXCX', Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
2025-01-20 13:04:03 +08:00
Close;
end;
2025-11-06 09:08:40 +08:00
2025-01-20 13:04:03 +08:00
procedure TfrmGYSListSel.FormShow(Sender: TObject);
var
2025-11-06 09:08:40 +08:00
fsj: string;
2025-01-20 13:04:03 +08:00
begin
{ fsj:='select Name=YWY from KH_Main where isnull(YWY,'''')<>'''' and Valid=''Y'' and isnull(KHFlag,'''')=''KH'' Group by YWY';
SInitComBoxBySql(ADOQueryTemp,YWY,False,fsj);
fsj:='select Name=LiDan from KH_Main where isnull(LiDan,'''')<>'''' and Valid=''Y'' and isnull(KHFlag,'''')=''KH'' Group by LiDan';
SInitComBoxBySql(ADOQueryTemp,LiDan,False,fsj); }
2025-11-06 09:08:40 +08:00
ReadCxGrid('PBGYS11YXCX', Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
2025-01-20 13:04:03 +08:00
InitGrid();
end;
procedure TfrmGYSListSel.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmGYSListSel.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-11-06 09:08:40 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
2025-01-20 13:04:03 +08:00
end;
end;
procedure TfrmGYSListSel.zjmChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmGYSListSel.KHTypeClick(Sender: TObject);
begin
ToolButton2.Click;
end;
2025-11-06 09:08:40 +08:00
procedure TfrmGYSListSel.V1SHStatusCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
2025-01-20 13:04:03 +08:00
var
2025-11-06 09:08:40 +08:00
id: Integer;
2025-01-20 13:04:03 +08:00
begin
2025-11-06 09:08:40 +08:00
id := TV1.GetColumnByFieldName('SHStatus').Index;
if AViewInfo.GridRecord.Values[id] = <><CEB4><EFBFBD><EFBFBD>' then
2025-01-20 13:04:03 +08:00
begin
2025-11-06 09:08:40 +08:00
ACanvas.Font.Color := clRed;
2025-01-20 13:04:03 +08:00
end;
end;
procedure TfrmGYSListSel.KHTypeBtnUpClick(Sender: TObject);
begin
try
2025-11-06 09:08:40 +08:00
frmSCPerson := TfrmSCPerson.Create(Application);
2025-01-20 13:04:03 +08:00
with frmSCPerson do
begin
2025-11-06 09:08:40 +08:00
FlagStr := 'GYSType';
if ShowModal = 1 then
2025-01-20 13:04:03 +08:00
begin
2025-11-06 09:08:40 +08:00
Self.KHType.Text := Trim(FSDPerson);
Self.KHType.TxtCode := Trim(FSDPerson);
2025-01-20 13:04:03 +08:00
end;
end;
finally
frmSCPerson.Free;
end;
ToolButton2.Click;
end;
procedure TfrmGYSListSel.KHTypeBtnDnClick(Sender: TObject);
begin
2025-11-06 09:08:40 +08:00
KHType.Text := '';
KHType.TxtCode := '';
2025-01-20 13:04:03 +08:00
ToolButton2.Click;
end;
procedure TfrmGYSListSel.TV3DblClick(Sender: TObject);
begin
2025-11-06 09:08:40 +08:00
if CDS_HZ.IsEmpty then
exit;
ModalResult := 1;
2025-01-20 13:04:03 +08:00
end;
2025-11-06 09:08:40 +08:00
2025-01-20 13:04:03 +08:00
procedure TfrmGYSListSel.InitGridBankMain();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
2025-11-06 09:08:40 +08:00
sql.Add('select * from KH_Sub_Bank where KHMainid=''' + Trim(CDS_HZ.fieldbyname('KHMainid').asstring) + '''');
2025-01-20 13:04:03 +08:00
if CDS_HZ.IsEmpty then
begin
sql.Add(' and 1=2');
2025-11-06 09:08:40 +08:00
end
else
2025-01-20 13:04:03 +08:00
begin
sql.Add(' and valid=''Y'' ');
end;
sql.Add(' order by XH');
Open;
end;
2025-11-06 09:08:40 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ3);
SInitCDSData20(ADOQueryTemp, CDS_HZ3);
2025-01-20 13:04:03 +08:00
end;
2025-11-06 09:08:40 +08:00
procedure TfrmGYSListSel.TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-01-20 13:04:03 +08:00
begin
InitGridBankMain();
end;
2025-11-06 09:08:40 +08:00
procedure TfrmGYSListSel.KHFlagChange(Sender: TObject);
begin
ToolButton2.Click;
end;
2025-01-20 13:04:03 +08:00
2025-11-06 09:08:40 +08:00
end.
2025-01-20 13:04:03 +08:00