453 lines
13 KiB
ObjectPascal
453 lines
13 KiB
ObjectPascal
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.
|
||
|