D10SZKaiXiYa/A05基础资料管理/U_GKDRList.pas
DESKTOP-E401PHE\Administrator ed8c265ddd 111
2025-03-11 15:26:40 +08:00

684 lines
17 KiB
ObjectPascal
Raw 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_GKDRList;
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, cxPC, cxButtonEdit,
cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, U_BaseList, dxDateRanges, dxScrollbarAnnotations,
cxContainer, cxProgressBar, dxSkinsCore, dxSkinsDefaultPainters;
type
TfrmGKDRList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
v1OrdDate: TcxGridDBColumn;
Order_Main: TClientDataSet;
ToolButton1: TToolButton;
v1Column4: TcxGridDBColumn;
Panel1: TPanel;
Label4: TLabel;
Label8: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Note: TEdit;
MPRTCodeName: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
cxTabControl1: TcxTabControl;
tchk: TToolButton;
Tnochk: TToolButton;
cxSplitter1: TcxSplitter;
DS_2: TDataSource;
v1Column8: TcxGridDBColumn;
Label2: TLabel;
ClientDataSet2: TClientDataSet;
GPM_2: TcxGridPopupMenu;
v1Column13: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
btnWC: TToolButton;
btnWCCX: TToolButton;
CheckBox1: TCheckBox;
ToolButton6: TToolButton;
Label1: TLabel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
//RMllPDFExport1: TRMllPDFExport;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure NoteChange(Sender: TObject);
procedure tchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure btnWCClick(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure btnWCCXClick(Sender: TObject);
procedure v1Column7PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
procedure InitGrid();
procedure InitSubGrid();
procedure InitForm();
procedure SetStatus();
function DelData(): Boolean;
{ Private declarations }
public
FFInt: Integer;
canshu1, canshu2: string;
{ Public declarations }
end;
//var
//frmContractListNX: TfrmContractListNX;
implementation
uses
U_DataLink, U_GKDRtInPut, U_RTFun, U_ZDYHelp, U_LabelPrint;
{$R *.dfm}
procedure TfrmGKDRList.SetStatus();
begin
tchk.Enabled := False;
Tnochk.Enabled := False;
btnWC.Enabled := False;
btnWCCX.Enabled := False;
if canshu1 = '<27><><EFBFBD><EFBFBD>' then
begin
case cxTabControl1.TabIndex of
0:
begin
tchk.Enabled := true;
end;
1:
begin
Tnochk.Enabled := true;
end;
2:
begin
end;
end;
end
else
begin
end;
end;
procedure TfrmGKDRList.FormDestroy(Sender: TObject);
begin
inherited;
//frmFHSQList:=nil;
end;
procedure TfrmGKDRList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmGKDRList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmGKDRList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add(' select A.* ');
sql.Add(' from Tat_Cloth_DR_Main A where 1=1 and LX=''<27>ֿ<EFBFBD>'' ');
if CheckBox1.Checked then
begin
sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
end;
case cxTabControl1.TabIndex of
0:
begin
SQL.Add(' and isnull(A.status,''0'')=''0'' ');
end;
1:
begin
SQL.Add(' and isnull(A.status,''0'')=''9'' ');
end;
2:
begin
SQL.Add(' and isnull(A.status,''0'')=''10'' ');
end;
end;
// if Trim(canshu1) <> '<27><><EFBFBD><EFBFBD>' then
// begin
// sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + '''');
// end;
sql.Add(' order by Filltime desc ');
// ShowMessage(sql.Text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
TV2.DataController.Filter.Clear;
end;
end;
procedure TfrmGKDRList.InitForm();
begin
ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
InitGrid();
end;
procedure TfrmGKDRList.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;
procedure TfrmGKDRList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
// if cxTabControl1.TabIndex <> 0 then
// Exit;
try
frmGKDRtInPut := TfrmGKDRtInPut.Create(Application);
with frmGKDRtInPut do
begin
PState := 1;
FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString);
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmGKDRtInPut.Free;
end;
end;
procedure TfrmGKDRList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if cxTabControl1.TabIndex <> 0 then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if DelData() then
begin
Order_Main.Delete;
InitSubGrid();
end;
end;
function TfrmGKDRList.DelData(): Boolean;
begin
try
with Order_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('SSel').AsBoolean then
begin
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Tat_Cloth_DR_Sub where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Tat_Cloth_DR_Main where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
ExecSQL;
end;
end;
next;
end;
First;
EnableControls;
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 TfrmGKDRList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
// SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmGKDRList.TBPrintClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TradeClothDR1';
FFiltration1 := Trim(self.Order_Main.fieldbyname('DRMID').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmGKDRList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGKDRList.TBAddClick(Sender: TObject);
var
maxno: string;
begin
try
frmGKDRtInPut := TfrmGKDRtInPut.Create(Application);
with frmGKDRtInPut do
begin
PState := 0;
FDRMID := '';
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmGKDRtInPut.Free;
end;
end;
procedure TfrmGKDRList.FormShow(Sender: TObject);
begin
inherited;
canshu1 := self.fParameters1;
InitForm();
SetStatus();
end;
procedure TfrmGKDRList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGKDRList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmGKDRList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmGKDRtInPut := TfrmGKDRtInPut.Create(Application);
with frmGKDRtInPut do
begin
PState := 1;
FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString);
ToolBar2.Visible := False;
TBSave.Visible := False;
ScrollBox1.Enabled := False;
Tv1.OptionsSelection.CellSelect := False;
if ShowModal = 1 then
begin
end;
end;
finally
frmGKDRtInPut.Free;
end;
end;
procedure TfrmGKDRList.NoteChange(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 TfrmGKDRList.tchkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 0 then
exit;
try
with Order_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('SSel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Tat_Cloth_DR_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),Status=''9'' ');
sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
Order_Main.Delete;
InitSubGrid();
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmGKDRList.InitSubGrid();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add('from Tat_Cloth_DR_Sub A where A.DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
Open;
end;
SCreateCDS(ADOQueryTemp, ClientDataSet2);
SInitCDSData(ADOQueryTemp, ClientDataSet2);
end;
procedure TfrmGKDRList.TnochkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 1 then
exit;
try
with Order_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('SSel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Tat_Cloth_DR_Main SET Chker=Null,ChkTime=Null,status=''0'' ');
sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
Order_Main.Delete;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmGKDRList.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
SetStatus();
end;
procedure TfrmGKDRList.btnWCCXClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with Order_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('SSel').AsBoolean then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Judge_All @DataID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Tat_Cloth_DR_Main SET status=''9'' ,Comper=null,Comptime=null ');
sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
InitSubGrid();
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmGKDRList.ToolButton6Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmGKDRList.btnWCClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with Order_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('SSel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Tat_Cloth_DR_Main SET status=''10'' ,Comper=''' + Trim(DName) + ''',Comptime=getdate() ');
sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
InitSubGrid();
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmGKDRList.Tv1Column9PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if mvalue = '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + 'NULL');
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
end
else
begin
with Order_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmGKDRList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitSubGrid();
end;
procedure TfrmGKDRList.v1Column7PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with Order_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.