D7myYunxiang/工资管理(Wage.dll)/U_XHGZYearList.pas

350 lines
9.0 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_XHGZYearList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,
DateUtils, cxPC;
type
TfrmXHGZYearList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label3: TLabel;
Label8: TLabel;
YGName: TEdit;
YGCode: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column15: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1Column23: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
v1Column5: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column1: TcxGridDBColumn;
TBFind: TToolButton;
Label4: TLabel;
Edit1: TEdit;
RM2: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure v1DuiZhangPropertiesEditValueChanged(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure YGNameChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmXHGZYearList: TfrmXHGZYearList;
implementation
uses
U_DataLink, U_RTFun, U_Fun, U_XHGZListInPut, U_XHGZListNew, U_ZDYHelpYuanGong;
{$R *.dfm}
procedure TfrmXHGZYearList.FormDestroy(Sender: TObject);
begin
frmXHGZYearList := nil;
end;
procedure TfrmXHGZYearList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmXHGZYearList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_WageYear' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
sql.add(' ,' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
TBFind.Click;
end;
procedure TfrmXHGZYearList.TBRafreshClick(Sender: TObject);
begin
// BegDate.SetFocus;
InitGrid();
end;
procedure TfrmXHGZYearList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmXHGZYearList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
Close;
end;
procedure TfrmXHGZYearList.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
InitGrid();
//InitGrid();
end;
procedure TfrmXHGZYearList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmXHGZYearList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmXHGZYearList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmXHGZYearList.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
begin
ExportFtErpFile('<27><EFBFBD><E5BBA8>ȫ<EFBFBD><EFBFBD>ʱ<EFBFBD>.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><EFBFBD><E5BBA8>ȫ<EFBFBD><EFBFBD>ʱ<EFBFBD>.rmf';
RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1);
if FileExists(fPrintFile) then
begin
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><EFBFBD><E5BBA8>ȫ<EFBFBD><EFBFBD>ʱ<EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmXHGZYearList.v1DuiZhangPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FPDTiaoXian, FISM, FHXName: string;
FMiShu, AZhenShu, FZhenShu, FPrice, FMoney, FOutputWage, FElseWage, FKKMoney: Double;
begin
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
edit;
if CDS_Main.FieldByName('DuiZhang').AsBoolean = True then
begin
CDS_Main.FieldByName('DuiZhang').AsBoolean := false;
end
else
begin
CDS_Main.FieldByName('DuiZhang').AsBoolean := true;
end;
Post;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update GZList set ');
if CDS_Main.FieldByName('DuiZhang').AsBoolean = True then
begin
sql.Add('DuiZhang=1 ');
end
else
begin
sql.Add('DuiZhang=0 ');
end;
sql.Add('where GZID=''' + Trim(CDS_Main.fieldbyname('GZID').AsString) + '''');
ExecSQL;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmXHGZYearList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmXHGZYearList.YGNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmXHGZYearList.FormCreate(Sender: TObject);
var
FYear: string;
FMonth: string;
FDate: TDate;
begin
FDate := SGetServerDate10(ADOQueryTemp);
FYear := FormatDateTime('yyyy', FDate);
FMonth := FormatDateTime('MM', FDate);
if StrToInt(FMonth) < 2 then
begin
BegDate.Date := StrToDate(IntToStr(strtoint(FYear) - 1) + '-02-01');
EndDate.Date := StrToDate(FYear + '-01-31');
end
else
begin
BegDate.Date := StrToDate(FYear + '-02-01');
EndDate.Date := StrToDate(IntToStr(strtoint(FYear) + 1) + '-01-31');
end;
end;
procedure TfrmXHGZYearList.ToolButton3Click(Sender: TObject);
begin
try
frmZDYHelpYuanGong := TfrmZDYHelpYuanGong.Create(Application);
with frmZDYHelpYuanGong do
begin
flag := 'YGXinxi';
flagname := <><D4B1><EFBFBD><EFBFBD>Ϣ';
fnote := True;
V1HelpType.Visible := True;
V1Name.Caption := '<27><><EFBFBD><EFBFBD>';
V1Note.Caption := '<27><><EFBFBD><EFBFBD>';
V1HelpType.Caption := '<27><><EFBFBD><EFBFBD>';
V1Note1.Caption := '<27><><EFBFBD><EFBFBD>';
fnote1 := True;
if ShowModal = 1 then
begin
end;
end;
finally
frmZDYHelpYuanGong.Free;
end;
end;
procedure TfrmXHGZYearList.ToolButton2Click(Sender: TObject);
begin
try
frmXHGZListInPut := TfrmXHGZListInPut.Create(Application);
with frmXHGZListInPut do
begin
FCRTime := Trim(FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp)));
FBanCi := '<27>װ<EFBFBD>';
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmXHGZListInPut.Free;
end;
end;
procedure TfrmXHGZYearList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmXHGZYearList.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
begin
ExportFtErpFile('<27><><EFBFBD><EFBFBD><E5BBA8><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><E5BBA8><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf';
RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' exec P_Print_XHGYGZ ' + QUOTEDSTR(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><E5BBA8><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
end.