D7snShanfengT/山峰贸易管理/U_CaiGouSQList.pas

393 lines
10 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_CaiGouSQList;
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, cxCalendar, cxButtonEdit, cxSplitter,
RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport,
cxTextEdit, cxPC, cxDropDownEdit, cxCheckBox;
type
TfrmCaiGouSQList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
ToolButton3: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column7: TcxGridDBColumn;
v1YCLSpec: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
TBFind: TToolButton;
YCLName: TEdit;
Label4: TLabel;
SQPerson: TEdit;
Label5: TLabel;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
cxTabControl1: TcxTabControl;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
Label3: TLabel;
YCLSpec: TEdit;
v1SQPirce: TcxGridDBColumn;
v1SQGYSName: TcxGridDBColumn;
Label6: TLabel;
SQGYSName: TEdit;
v1SQMoney: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure YCLNameChange(Sender: TObject);
private
canshu1,canshu2,ChildFlag:string;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
{ Public declarations }
end;
//frmCaiGouSQListJWL: TfrmCaiGouSQList;
implementation
uses
U_DataLink,U_RTFun,U_CaiGouSQInPut,U_ModuleNote;
{$R *.dfm}
procedure TfrmCaiGouSQList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
application:=mainapplication;
Action:=caFree;
end;
procedure TfrmCaiGouSQList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(Self.Caption,Tv1,'<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmCaiGouSQList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(' from CaiGou_SQ A where SQType='''+Trim(canshu2)+'''');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and Filler='''+Trim(DName)+'''');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(SChkStatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(SChkStatus,'''')<>'''' ');
end;
if cxTabControl1.TabIndex<>0 then
begin
sql.Add(' and A.SQDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and A.SQDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
sql.Add(' order by SQDate');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCaiGouSQList.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid(Self.Caption,Tv1,'<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmCaiGouSQList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
try
frmCaiGouSQInPut:=TfrmCaiGouSQInPut.Create(Application);
with frmCaiGouSQInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('SQID').AsString);
frmCaiGouSQInPut.ToolButton3.Visible:=False;
frmCaiGouSQInPut.ToolButton4.Visible:=False;
FSQType:=Trim(Self.canshu2);
if ShowModal=1 then
begin
end;
end;
finally
frmCaiGouSQInPut.Free;
end;
end;
procedure TfrmCaiGouSQList.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;
end;
end;
function TfrmCaiGouSQList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete CaiGou_SQ where SQId='''+Trim(Order_Main.fieldbyname('SQId').AsString)+'''');
ExecSQL;
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 TfrmCaiGouSQList.TBExportClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
TcxGridToExcel('<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC>б<EFBFBD>',cxGrid1);
end;
procedure TfrmCaiGouSQList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouSQList.TBAddClick(Sender: TObject);
begin
try
frmCaiGouSQInPut:=TfrmCaiGouSQInPut.Create(Application);
with frmCaiGouSQInPut do
begin
PState:=0;
FMainId:='';
FSQType:=Trim(Self.canshu2);
if ShowModal=1 then
begin
end;
end;
finally
frmCaiGouSQInPut.Free;
end;
end;
procedure TfrmCaiGouSQList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmCaiGouSQList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouSQList.ToolButton3Click(Sender: TObject);
begin
try
frmModuleNote:=TfrmModuleNote.Create(Application);
with frmModuleNote do
begin
flag:='<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmModuleNote.Free;
end;
end;
procedure TfrmCaiGouSQList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmCaiGouSQList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouSQList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmCaiGouSQList.ToolButton1Click(Sender: TObject);
begin
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.IsEmpty then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Locate('SSel',True,[])=True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CaiGou_SQ Set SChkStatus=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',SChktime=getdate(),SChker='''+Trim(DName)+'''');
sql.Add(' where SQID='''+Trim(Order_Main.fieldbyname('SQID').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCaiGouSQList.ToolButton4Click(Sender: TObject);
begin
if cxTabControl1.TabIndex<>1 then Exit;
if Order_Main.IsEmpty then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Locate('SSel',True,[])=True do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CaiGou_SQ ');
sql.Add(' where SQID='''+Trim(Order_Main.fieldbyname('SQID').AsString)+'''');
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('ChkStatus').AsString)='<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>' then
begin
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
InitGrid();
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2>ܳ<EFBFBD><DCB3><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CaiGou_SQ Set SChkStatus=Null,SChktime=getdate(),SChker='''+Trim(DName)+'''');
sql.Add(' where SQID='''+Trim(Order_Main.fieldbyname('SQID').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCaiGouSQList.YCLNameChange(Sender: TObject);
begin
TBFind.Click;
end;
end.