D7myYunxiang/工资管理(Wage.dll)/U_XHGZListHZNew.pas
DESKTOP-E401PHE\Administrator 19ebd6eb13 251013
2025-10-13 13:18:40 +08:00

459 lines
12 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_XHGZListHZNew;
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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter;
type
TfrmXHGZListHZNew = 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;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1Column23: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
v1Column5: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column1: TcxGridDBColumn;
TBFind: TToolButton;
cxTabControl1: TcxTabControl;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
v1Column2: TcxGridDBColumn;
Label4: TLabel;
Edit1: TEdit;
ToolButton4: TToolButton;
RM2: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
v1Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
v1Column9: TcxGridDBColumn;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
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 ToolButton1Click(Sender: TObject);
procedure v1DuiZhangPropertiesEditValueChanged(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure YGNameChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmXHGZListHZNew: TfrmXHGZListHZNew;
implementation
uses
U_DataLink, U_RTFun, U_Fun, U_XHGZListInPut, U_XHGZListNew, U_ZDYHelpYuanGong,
U_JLPTInPut, U_FjList_RZ,U_XHGGZ;
{$R *.dfm}
procedure TfrmXHGZListHZNew.FormDestroy(Sender: TObject);
begin
frmXHGZListHZNew := nil;
end;
procedure TfrmXHGZListHZNew.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmXHGZListHZNew.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_WageMonth' + 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 TfrmXHGZListHZNew.TBRafreshClick(Sender: TObject);
begin
// BegDate.SetFocus;
InitGrid();
end;
procedure TfrmXHGZListHZNew.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmXHGZListHZNew.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
Close;
end;
procedure TfrmXHGZListHZNew.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
// cxTabControl1.TabIndex := StrToIntDef(Trim(FormatDateTime('MM', SGetServerDate10(ADOQueryTemp))), 1) - 1;
BegDate.Date := StartOfTheMonth(Now);
enddate.Date := EndOfTheMonth(BegDate.Date);
InitGrid();
end;
procedure TfrmXHGZListHZNew.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmXHGZListHZNew.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
begin
ExportFtErpFile('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmXHGZListHZNew.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 TfrmXHGZListHZNew.Tv1DblClick(Sender: TObject);
begin
try
frmXHGZList := TfrmXHGZList.Create(Application);
with frmXHGZList do
begin
frmXHGZList.YGCode.Text := Trim(Self.CDS_Main.fieldbyname('YGCode').AsString);
frmXHGZList.YGName.Text := Trim(Self.CDS_Main.fieldbyname('YGName').AsString);
frmXHGZList.BegDate.DateTime := StrToDate(trim(Self.CDS_Main.fieldbyname('CRTime').AsString) + '-01');
frmXHGZList.EndDate.DateTime := EndOfTheMonth(frmXHGZList.BegDate.DateTime);
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmXHGZList.Free;
end;
end;
procedure TfrmXHGZListHZNew.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 TfrmXHGZListHZNew.YGNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmXHGZListHZNew.FormCreate(Sender: TObject);
begin
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 30;
end;
procedure TfrmXHGZListHZNew.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 TfrmXHGZListHZNew.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 TfrmXHGZListHZNew.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;
procedure TfrmXHGZListHZNew.cxTabControl1Change(Sender: TObject);
begin
// BegDate.Date := StartOfTheMonth(Now);
// enddate.Date := EndOfTheMonth(BegDate.Date);
if cxTabControl1.TabIndex < 9 then
BegDate.Date := StrToDate(Trim(FormatDateTime('yyyy-', enddate.DateTime)) + '0' + inttostr(cxTabControl1.TabIndex + 1) + '-01')
else
BegDate.Date := StrToDate(Trim(FormatDateTime('yyyy-', enddate.DateTime)) + inttostr(cxTabControl1.TabIndex + 1) + '-01');
enddate.Date := EndOfTheMonth(BegDate.Date);
InitGrid();
end;
procedure TfrmXHGZListHZNew.ToolButton5Click(Sender: TObject);
begin
try
frmJLPTInPut := TfrmJLPTInPut.Create(Application);
with frmJLPTInPut do
begin
FYGCode := Self.CDS_Main.FieldByName('YGCode').AsString;
FYGName := Self.CDS_Main.FieldByName('YGName').AsString;
if cxTabControl1.TabIndex < 9 then
FCRTime := FormatDateTime('yyyy-MM-dd', EndOfTheMonth(StrToDate(Trim(FormatDateTime('yyyy-', enddate.DateTime)) + '0' + inttostr(cxTabControl1.TabIndex + 1) + '-01')))
else
FCRTime := FormatDateTime('yyyy-MM-dd', EndOfTheMonth(StrToDate(Trim(FormatDateTime('yyyy-', enddate.DateTime)) + inttostr(cxTabControl1.TabIndex + 1) + '-01')));
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmJLPTInPut.Free;
end;
end;
procedure TfrmXHGZListHZNew.ToolButton6Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
frmFjList_RZ := TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
fkeyNO := Trim(Self.CDS_Main.fieldbyname('YGName').AsString) + IntToStr(cxTabControl1.TabIndex);
fType := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmXHGZListHZNew.ToolButton7Click(Sender: TObject);
var
fPrintFile: string;
begin
ExportFtErpFile('<27><><EFBFBD><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf';
RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' exec P_View_WageMonthAll ' + 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><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmXHGZListHZNew.ToolButton8Click(Sender: TObject);
begin
try
frmxhggz := Tfrmxhggz.Create(Application);
with frmxhggz do
begin
// FFFID := '';
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmxhggz.Free;
end;
end;
end.