D7myYunxiang/工资管理(Wage.dll)/U_XHGGZ.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

319 lines
10 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_XHGGZ;
interface
uses
Windows, Messages, SysUtils, Variants, DateUtils, Classes, Graphics, Controls,
Forms, Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
cxStyles, cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator,
DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGridCustomPopupMenu, cxGridPopupMenu, DBClient, ADODB, cxGridLevel,
cxClasses, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin,
cxCheckBox;
type
Tfrmxhggz = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label8: TLabel;
Label4: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
YGName: TEdit;
YGCode: TEdit;
Edit1: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
ADOQueryMain: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
ADOCmd: TADOQuery;
Panel2: TPanel;
Edit2: TEdit;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Tv1Column19: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure YGNameChange(Sender: TObject);
procedure YGCodeChange(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
procedure InitGrid();
function XHGGZData(): Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
frmxhggz: Tfrmxhggz;
implementation
uses
U_DataLink, U_RTFun, U_Fun, U_ZDYHelpYuanGong, U_JLPTInPut, U_FjList_RZ;
{$R *.dfm}
function Tfrmxhggz.XHGGZData(): Boolean;
var
maxno: string;
begin
try
ADOCmd.Connection.BeginTrans;
// ADOQueryCmd.Connection.BeginTrans;
// ADOQueryCmd.DisableControls;
if GetLSNo(ADOCmd, maxno, 'WP', 'Worker_Pay', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Worker_Pay where WPID=''' + Trim(maxno) + '''');
Open;
end;
with ADOQueryCmd do
begin
// Edit;
Append;
FieldByName('WPID').Value := Trim(maxno);
FieldByName('DataType').Value := 'B';
FieldByName('Worker').Value := Trim(CDS_Main.fieldbyname('YGName').AsString); //<2F><><EFBFBD><EFBFBD>
FieldByName('MonMoney').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('JB').AsString), 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('DayQty').Value := Trim(CDS_Main.fieldbyname('SBTS').AsString); //<2F>ϰ<EFBFBD><CFB0><EFBFBD><EFBFBD><EFBFBD>
FieldByName('XiuJia').Value := Trim(CDS_Main.fieldbyname('cxts').AsString); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('FJDay').Value := Trim(CDS_Main.fieldbyname('gsfj').AsString); //<2F><>˾<EFBFBD>ż<EFBFBD>
FieldByName('JJRDay').Value := Trim(CDS_Main.fieldbyname('jjr').AsString); //<2F>ڼ<EFBFBD><DABC><EFBFBD>
FieldByName('QingJia').Value := Trim(CDS_Main.fieldbyname('qjts').AsString); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('JBGZ').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('JBCL').AsString), 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('QTBT').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('QT').AsString), 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('CXBT').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('cxgz').AsString), 0); //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
FieldByName('QQJ').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('qjgz').AsString), 0); //ȫ<>ڽ<EFBFBD>
FieldByName('BDBT').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('bdgz').AsString), 0); //<2F><><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD>
// FieldByName('QTBT').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('qt').AsString), 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FieldByName('KouKuan').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('KKMoney').AsString), 0); //<2F>ۿ<EFBFBD>
FieldByName('BXBT').Value := StrToFloatDef(Trim(Edit2.Text), 1300); //<2F><><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD>
FieldByName('BasePay').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('YF').AsString), 0);
FieldByName('YFHZMoney').Value :=StrToFloatDef(Trim(CDS_Main.fieldbyname('Money').AsString), 0);
// FieldByName('BasePay').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('JBGZ').AsString), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('outputWage').AsString), 0) + StrToFloatDef(Trim(Edit2.Text), 0); //Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// FieldByName('YFHZMoney').Value := StrToFloatDef(Trim(CDS_Main.fieldbyname('JBGZ').AsString), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('outputWage').AsString), 0) + StrToFloatDef(Trim(Edit2.Text), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('cxgz').AsString), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('bdgz').AsString), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('dygz').AsString), 0) + StrToFloatDef(Trim(CDS_Main.fieldbyname('qjgz').AsString), 0); //ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'Worker_Pay', 0);
FieldByName('WPDate').Value := Trim(CDS_Main.fieldbyname('crtime').AsString) + '-01';
// FieldByName('WPDate').Value := Trim(FDate) + '-01';
FieldByName('Filler').Value := Trim(DName);
Post;
end;
// ADOQueryCmd.EnableControls;
// ADOQueryCmd.Connection.CommitTrans;
ADOCmd.Connection.CommitTrans;
// FCCID := Trim(MaxSubId);
Result := True;
except
Result := false;
// ADOQueryCmd.Connection.RollbackTrans;
// ADOCmd.Connection.CommitTrans;
ADOCmd.Connection.RollbackTrans;
// application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure Tfrmxhggz.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_WageMonthAll_copy1 @BXBT='''+Trim(Edit2.text)+''',@Begdate=' + 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 Tfrmxhggz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tfrmxhggz.FormCreate(Sender: TObject);
begin
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 30;
end;
procedure Tfrmxhggz.FormDestroy(Sender: TObject);
begin
frmxhggz := nil;
end;
procedure Tfrmxhggz.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><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 Tfrmxhggz.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
Close;
end;
procedure Tfrmxhggz.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure Tfrmxhggz.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 Tfrmxhggz.YGNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure Tfrmxhggz.YGCodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure Tfrmxhggz.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure Tfrmxhggz.ToolButton1Click(Sender: TObject);
begin
Panel2.Left := (self.Width - Panel2.Width) div 2;
Panel2.Visible := true;
end;
procedure Tfrmxhggz.Button1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
// ADOQueryCmd.Connection.BeginTrans;
try
with CDS_Main do
begin
DisableControls;
first;
while not eof do
begin
if fieldbyname('ssel').AsBoolean then
begin
if not XHGGZData() then
begin
// ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('Update BS_CYGL_CY Set YSZT=''1'' ');
// sql.Add('where BIOSID=''' + Trim(CDS_Main.fieldbyname('BIOSID').AsString) + '''');
// ExecSQL;
// end;
end;
next;
end;
first;
EnableControls;
end;
// ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳɹ<C9B3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
initGrid();
Panel2.Visible := False;
except
// ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Panel2.Visible := False;
end;
end;
procedure Tfrmxhggz.Button2Click(Sender: TObject);
begin
Panel2.Visible := False;
end;
end.