RTFormwork/项目代码/RTBasicsV1/A01基础公司管理/U_YGListSel.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

453 lines
13 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_YGListSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit,
cxDropDownEdit, cxPC, cxTL, cxMaskEdit, cxInplaceContainer, cxDBTL, cxTLData,
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, dxBarBuiltInMenu,
cxNavigator, U_BaseHelp, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges,
RM_e_Graphic, RM_e_Jpeg, RM_E_llPDF, cxGridBandedTableView,
cxGridDBBandedTableView, U_BaseList, System.ImageList, Vcl.ImgList;
type
TfrmYGListSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
Panel1: TPanel;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N1: TMenuItem;
Label1: TLabel;
YGName: TEdit;
Label2: TLabel;
YGSex: TComboBox;
Label5: TLabel;
GangWei: TEdit;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
DataSource2: TDataSource;
CDS_Tree: TClientDataSet;
ADOQueryTree: TADOQuery;
cxSplitter1: TcxSplitter;
cxTabControl1: TcxTabControl;
ADOQuery1: TADOQuery;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
Label4: TLabel;
Dept: TEdit;
Label7: TLabel;
YGNo: TEdit;
RMDB_1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RM1: TRMGridReport;
ADOQueryPrint: TADOQuery;
RMJPEGExport1: TRMJPEGExport;
RMllPDFExport1: TRMllPDFExport;
cxGrid1: TcxGrid;
TV1: TcxGridDBBandedTableView;
cxGridDBBandedColumn35: TcxGridDBBandedColumn;
cxGridDBBandedColumn42: TcxGridDBBandedColumn;
cxGridDBBandedColumn51: TcxGridDBBandedColumn;
cxGridDBBandedColumn52: TcxGridDBBandedColumn;
cxGridDBBandedColumn56: TcxGridDBBandedColumn;
cxGridDBBandedColumn57: TcxGridDBBandedColumn;
cxGridDBBandedColumn59: TcxGridDBBandedColumn;
cxGridDBBandedColumn61: TcxGridDBBandedColumn;
cxGridDBBandedColumn62: TcxGridDBBandedColumn;
cxGridDBBandedColumn63: TcxGridDBBandedColumn;
cxGridDBBandedColumn64: TcxGridDBBandedColumn;
cxGridDBBandedColumn77: TcxGridDBBandedColumn;
cxGridDBBandedColumn79: TcxGridDBBandedColumn;
cxGridDBBandedColumn81: TcxGridDBBandedColumn;
cxGridDBBandedColumn87: TcxGridDBBandedColumn;
cxGridDBBandedColumn91: TcxGridDBBandedColumn;
cxGridDBBandedColumn1: TcxGridDBBandedColumn;
cxGridDBBandedColumn2: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
V1Column25: TcxGridDBBandedColumn;
V1Column26: TcxGridDBBandedColumn;
V1Column27: TcxGridDBBandedColumn;
V1Column28: TcxGridDBBandedColumn;
V1Column4: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1Column7: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
V1Column8: TcxGridDBBandedColumn;
V1Column9: TcxGridDBBandedColumn;
V1Column10: TcxGridDBBandedColumn;
V1Column11: TcxGridDBBandedColumn;
cxGridDBBandedColumn3: TcxGridDBBandedColumn;
cxGridDBBandedColumn4: TcxGridDBBandedColumn;
cxGridDBBandedColumn5: TcxGridDBBandedColumn;
TV1Column4: TcxGridDBBandedColumn;
TV1Column5: TcxGridDBBandedColumn;
TV1Column6: TcxGridDBBandedColumn;
TV1Column1: TcxGridDBBandedColumn;
TV1Column2: TcxGridDBBandedColumn;
TV1Column3: TcxGridDBBandedColumn;
cxgrdbndtblvw1Column4: TcxGridDBBandedColumn;
cxgrdbndtblvw1Column5: TcxGridDBBandedColumn;
cxgrdbndtblvw1Column6: TcxGridDBBandedColumn;
TV1Column7: TcxGridDBBandedColumn;
TV1Column8: TcxGridDBBandedColumn;
TV1Column9: TcxGridDBBandedColumn;
TV1Column10: TcxGridDBBandedColumn;
TV1Column11: TcxGridDBBandedColumn;
TV1Column12: TcxGridDBBandedColumn;
TV1Column13: TcxGridDBBandedColumn;
TV1Column14: TcxGridDBBandedColumn;
TV1Column15: TcxGridDBBandedColumn;
TV1Column16: TcxGridDBBandedColumn;
TV1Column17: TcxGridDBBandedColumn;
TV1Column18: TcxGridDBBandedColumn;
TV1Column19: TcxGridDBBandedColumn;
cxGridLevel2: TcxGridLevel;
TV1Column20: TcxGridDBBandedColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure YGNameChange(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
private
canshu1: string;
DQdate: TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData(): Boolean;
procedure InitTree();
procedure GLAge();
procedure SetStatus();
procedure PrintIC(MICK: string);
{ Private declarations }
public
FFInt, FCloth: Integer;
{ Public declarations }
end;
var
frmYGListSel: TfrmYGListSel;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmYGListSel.PrintIC(MICK: string);
var
fPrintFile, LBName: string;
begin
if Order_Main.IsEmpty then
Exit;
LBName := Trim(Order_Main.fieldbyname('YGType').AsString) + MICK;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + LBName + '.rmf';
ExportFtErpFile(LBName + '.rmf', ADOQueryTemp);
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*');
sql.Add(',FilesOther=(select top 1 FilesOther from TP_File where TFType='<><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and WBID=A.YGID) ');
sql.Add(' from OA_YG_DangAn A ');
sql.Add('where A.YGId=''' + Trim(Order_Main.fieldbyname('YGId').AsString) + '''');
Open;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmYGListSel.SetStatus();
begin
end;
procedure TfrmYGListSel.FormDestroy(Sender: TObject);
begin
inherited;
frmYGListSel := nil;
end;
procedure TfrmYGListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmYGListSel.FormCreate(Sender: TObject);
begin
inherited;
canshu1 := Trim(DParameters1);
cxgrid1.Align := alClient;
end;
procedure TfrmYGListSel.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxBandedGrid(<><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>2', Tv1, 'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGListSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_YGList @DPID=' + quotedstr(Trim(CDS_Tree.fieldbyname('DPID').AsString)));
sql.Add(',@LiZhiFlag=' + quotedstr(inttostr(cxTabControl1.TabIndex)));
// showmessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYGListSel.GLAge();
var
FXTGLNF, FYGGLNF, FGLYF: Double;
begin
FXTGLNF := strtofloat(uppercase(formatdateTime('yyyy', SGetServerDate(ADOQueryTemp))));
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select RuZhiDate,YGYearGL from OA_YG_DangAn where YGType=''<27><>ʽ'' ');
open;
end;
with ADOQueryCmd do
begin
first;
while not eof do
begin
edit;
if ADOQueryCmd.fieldbyname('RuZhiDate').asstring = '' then
begin
fieldbyname('YGYearGL').AsFloat := 0;
end
else
begin
FYGGLNF := strtofloat(uppercase(formatdateTime('yyyy', ADOQueryCmd.fieldbyname('RuZhiDate').AsDateTime)));
FGLYF := strtofloat(uppercase(formatdateTime('MM', ADOQueryCmd.fieldbyname('RuZhiDate').AsDateTime)));
if (FGLYF >= 1) and (FGLYF <= 3) then
fieldbyname('YGYearGL').AsFloat := FXTGLNF - FYGGLNF + 1;
if (FGLYF > 3) and (FGLYF <= 9) then
fieldbyname('YGYearGL').AsFloat := FXTGLNF - FYGGLNF + 0.5;
if (FGLYF > 9) and (FGLYF <= 12) then
fieldbyname('YGYearGL').AsFloat := FXTGLNF - FYGGLNF;
end;
next;
end;
end;
end;
procedure TfrmYGListSel.InitTree();
var
i: Integer;
begin
try
ADOQueryTree.DisableControls;
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select * from SY_Dept order by DPlevel,DPOrder,DPName');
Open;
end;
SCreateCDS(ADOQueryTree, CDS_Tree);
SInitCDSData(ADOQueryTree, CDS_Tree);
cxDBTreeList1.Items[0].Expand(True);
CDS_Tree.Locate('DPName', '<27><><EFBFBD>۲<EFBFBD>', []);
finally
ADOQueryTree.EnableControls;
end;
end;
procedure TfrmYGListSel.InitForm();
begin
ReadCxBandedGrid(<><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>2', Tv1, 'OA<4F><41><EFBFBD><EFBFBD>');
InitTree();
GLAge();
InitGrid();
end;
procedure TfrmYGListSel.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
end;
function TfrmYGListSel.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete OA_YG_DangAn where YGId=''' + Trim(Order_Main.fieldbyname('YGId').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete OA_YG_DangAn_Other where YGId=''' + Trim(Order_Main.fieldbyname('YGId').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete TP_File where WBId=''' + Trim(Order_Main.fieldbyname('YGId').AsString) + '''');
sql.Add(' and TFType=''YG'' ');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('EXEC P_OAYG_in_ZhangHu @DataID=''' + Trim(Order_Main.fieldbyname('YGID').AsString) + '''');
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmYGListSel.TBRafreshClick(Sender: TObject);
begin
InitTree();
InitGrid();
end;
procedure TfrmYGListSel.FormShow(Sender: TObject);
begin
inherited;
// v1SJLiZhiDate.Visible := false;
// if cxTabControl1.TabIndex <> 0 then
// v1SJLiZhiDate.Visible := true;
// canshu1 := self.fParameters1;
SetStatus();
InitForm();
end;
procedure TfrmYGListSel.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGListSel.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYGListSel.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
end;
procedure TfrmYGListSel.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main, True);
end;
procedure TfrmYGListSel.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main, False);
end;
procedure TfrmYGListSel.cxTabControl1Change(Sender: TObject);
begin
// v1SJLiZhiDate.Visible := false;
// if cxTabControl1.TabIndex <> 0 then
// v1SJLiZhiDate.Visible := true;
InitGrid();
end;
procedure TfrmYGListSel.YGNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmYGListSel.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGListSel.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if Order_Main.IsEmpty then
Exit;
CDS_Tree.Locate('DPID', Trim(Order_Main.fieldbyname('DPID').AsString), []);
end;
procedure TfrmYGListSel.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if Order_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
end.