D7zzXiangHeng/工资管理(Wage.dll)/U_GaiJiList.pas

381 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-08-08 10:42:50 +08:00
unit U_GaiJiList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxDBLookupComboBox, cxPC, cxContainer, cxDropDownEdit, jpeg, U_SLT;
type
TfrmGaiJiList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column5: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
Label4: TLabel;
Label5: TLabel;
BegDate: TcxDateEdit;
EndDate: TcxDateEdit;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
Label1: TLabel;
CarNo: TEdit;
v2Column6: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column18: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
adoqueryPicture: TADOQuery;
v2Column19: TcxGridDBColumn;
tbDel: TToolButton;
tbDelCX: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure C_CodeNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure v2Column17PropertiesEditValueChanged(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure v2Column3PropertiesEditValueChanged(Sender: TObject);
procedure tbDelClick(Sender: TObject);
procedure tbDelCXClick(Sender: TObject);
private
{ Private declarations }
canshu1: string;
procedure InitGrid();
procedure SetStatus();
public
fkhType: string;
Fmanage: string;
end;
var
frmGaiJiList: TfrmGaiJiList;
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun, U_RTFun, U_ZDYHelp, U_WageListInput, U_InspectionInfo,
U_JTList;
{$R *.dfm}
procedure TfrmGaiJiList.SetStatus();
begin
tbDel.Visible := False;
tbDelCX.Visible := False;
case cxTabControl1.TabIndex of
0:
begin
tbDel.Visible := True;
end;
1:
begin
tbDelCX.Visible := True;
end;
end;
end;
procedure TfrmGaiJiList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('select A.* ');
sql.Add(',B.ConNo,C.C_Code,C.C_CodeName from Worker_WorkDetail A ');
sql.Add('inner join Cloth_Main B on A.MainId=B.MainId');
sql.Add('inner join Cloth_Sub C on A.SubId=C.SubId');
sql.Add('where A.FillerTime>' + quotedstr(Trim(BegDate.Text)));
sql.Add(' and A.FillerTime<=' + quotedstr(Trim(EndDate.Text)));
sql.Add(' and A.CarStatus=''<27>Ļ<EFBFBD>'' ');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and A.Valid=''Y'' ');
end;
1:
begin
sql.Add(' and A.Valid=''N'' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
CDS_HZ.Last;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmGaiJiList.FormDestroy(Sender: TObject);
begin
frmGaiJiList := nil;
end;
procedure TfrmGaiJiList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmGaiJiList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv2, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
Close;
end;
procedure TfrmGaiJiList.FormShow(Sender: TObject);
begin
ReadCxGrid(trim(self.Caption), Tv2, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmGaiJiList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGaiJiList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmGaiJiList.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmGaiJiList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmGaiJiList.FormCreate(Sender: TObject);
begin
EndDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp)) + ' 08:00:00';
BegDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp) - 1) + ' 08:00:00';
canshu1 := Trim(DParameters1);
end;
procedure TfrmGaiJiList.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
FFieldName, mvalue: string;
FQty, FCZCarPrice, FJTMoney, FBTMoney, FJlMoney, FCFMoney, FDTMoney: double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := strtofloatdef(mvalue, 0);
Post;
FQty := FieldByName('Qty').asfloat;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DCGMoney set Qty=' + floattostr(FQty));
sql.Add(' , Editer=' + quotedstr(DName));
sql.Add(' , Edittime=getdate()');
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
EXECSQL;
end;
with CDS_HZ do
begin
Edit;
FieldByName('Qty').Value := FQty;
FieldByName('Editer').Value := DName;
FieldByName('Edittime').Value := Now;
Post;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmGaiJiList.v2Column17PropertiesEditValueChanged(Sender: TObject);
var
FFieldName, mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update Worker_WorkDetail set ' + FFieldName + ' =' + quotedstr(mvalue));
sql.Add(' where DetailId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DetailId').AsString)));
EXECSQL;
end;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmGaiJiList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
SetStatus();
end;
procedure TfrmGaiJiList.v2Column3PropertiesEditValueChanged(Sender: TObject);
var
FFieldName, mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update Worker_WorkDetail set ' + FFieldName + ' =' + mvalue);
sql.Add(' where DetailId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DetailId').AsString)));
EXECSQL;
end;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmGaiJiList.tbDelClick(Sender: TObject);
begin
if CDS_HZ.Locate('ssel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_HZ.DisableControls;
with CDS_HZ do
begin
First;
while CDS_HZ.Locate('SSel', True, []) do
begin
if CDS_HZ.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' UPdate Worker_WorkDetail Set Valid= ''N'' ');
sql.Add(' where DetailId=''' + Trim(CDS_HZ.fieldbyname('DetailId').AsString) + '''');
ExecSQL;
end;
CDS_HZ.Delete;
end;
end;
end;
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmGaiJiList.tbDelCXClick(Sender: TObject);
begin
if CDS_HZ.Locate('ssel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_HZ.DisableControls;
with CDS_HZ do
begin
First;
while CDS_HZ.Locate('SSel', True, []) do
begin
if CDS_HZ.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' UPdate Worker_WorkDetail Set Valid= ''Y'' ');
sql.Add(' where DetailId=''' + Trim(CDS_HZ.fieldbyname('DetailId').AsString) + '''');
ExecSQL;
end;
CDS_HZ.Delete;
end;
end;
end;
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
end.