D7gmYongjin/BI(BIView.dll)/U_ContractListSel.pas

238 lines
6.7 KiB
ObjectPascal
Raw Normal View History

2026-03-04 09:51:44 +08:00
unit U_ContractListSel;
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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu;
type
TfrmContractListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
Panel1: TPanel;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
BuyName: TEdit;
Salesman: TEdit;
OrderNO: TEdit;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
V2Column2: TcxGridDBColumn;
V2Column5: TcxGridDBColumn;
V1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
V1Column2: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
CheckBox1: TCheckBox;
Label3: TLabel;
MPRTCodeName: TEdit;
TV1Column1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure BuyNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure OrderNOKeyPress(Sender: TObject; var Key: Char);
private
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
{ Public declarations }
end;
var
frmContractListSel: TfrmContractListSel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmContractListSel.FormDestroy(Sender: TObject);
begin
frmContractListSel := nil;
end;
procedure TfrmContractListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmContractListSel.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
end;
procedure TfrmContractListSel.TBCloseClick(Sender: TObject);
begin
Close;
writeCxGrid(self.Caption +'1122', Tv1, '<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
end;
procedure TfrmContractListSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select PM.OrderNo,PM.MPRTCodeName,PM.Filler,PM.FillTime,A.MainId,Salesman=A.YWY,BuyName=A.CustomerNoName,A.LiDan');
sql.Add(' from PBOrder_Main PM ');
sql.Add(' left join CP_Info CP on PM.MPRTCodeName=CP.SPName');
sql.Add(' inner join JYOrder_Main A on PM.OrderNo=A.ConNo');
SQL.Add('where PM.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + '''');
SQL.Add(' and PM.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
SQL.Add(' and isnull(PM.Valid,'''')=''Y'' ');
sql.Add(' and not exists(select * from Order_HS_OrderNo OO inner join Order_HS HS on OO.HSID=HS.HSID where HS.Valid=''Y'' and OO.orderNo=PM.OrderNo)');
if CheckBox1.Checked then
begin
sql.Add(' and A.YWY='''+Trim(DName)+'''');
end;
sql.Add(' order by PM.OrderNo');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractListSel.InitForm();
begin
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 90;
ReadCxGrid(self.Caption +'1122', Tv1, '<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmContractListSel.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 TfrmContractListSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmContractListSel.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListSel.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractListSel.BuyNameChange(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 TfrmContractListSel.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractListSel.ToolButton2Click(Sender: TObject);
begin
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;
ModalResult := 1;
end;
procedure TfrmContractListSel.OrderNOKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select PM.OrderNo,PM.MPRTCodeName,PM.Filler,PM.FillTime,A.MainId,Salesman=A.YWY,BuyName=A.CustomerNoName,A.LiDan');
sql.Add(' from PBOrder_Main PM ');
sql.Add(' left join CP_Info CP on PM.MPRTCodeName=CP.SPName');
sql.Add(' inner join JYOrder_Main A on PM.OrderNo=A.ConNo');
SQL.Add('where PM.OrderNo like'''+'%'+Trim(OrderNO.Text)+'%'+'''');
SQL.Add(' and isnull(PM.Valid,'''')=''Y'' ');
sql.Add(' and not exists(select * from Order_HS_OrderNo OO inner join Order_HS OS on OO.HSID=OS.HSID where OO.OrderNo=A.ConNo and OS.Valid=''Y'')');
if CheckBox1.Checked then
begin
sql.Add(' and A.YWY='''+Trim(DName)+'''');
end;
sql.Add(' order by PM.OrderNo');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
end.