D10gmBitao/T00贸易通用窗体/U_TradeSalesContractSel.pas

290 lines
7.8 KiB
ObjectPascal
Raw Normal View History

2025-04-11 10:54:54 +08:00
unit U_TradeSalesContractSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit,
cxDropDownEdit, cxCheckBox, Vcl.Menus;
type
TfrmTradeSalesContractSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
TBSave: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
ADOConnection1: TADOConnection;
Panel1: TPanel;
Label1: TLabel;
ConNo: TEdit;
GPM_1: TcxGridPopupMenu;
ImageList1: TImageList;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
VC_SCSCode: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
TV1Column1: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
TV1Column7: TcxGridDBColumn;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label2: TLabel;
C_Name: TEdit;
Label3: TLabel;
BuyName: TEdit;
TV1Column2: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column8: TcxGridDBColumn;
Label4: TLabel;
Label5: TLabel;
SellName: TEdit;
BuyConNo: TEdit;
Label6: TLabel;
C_Code: TEdit;
Label7: TLabel;
Edit1: TEdit;
Label8: TLabel;
C_Color: TEdit;
Label9: TLabel;
C_KnitGramWeight: TEdit;
Label10: TLabel;
C_GramWeight: TEdit;
Label11: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label12: TLabel;
ToolButton2: TToolButton;
TV1Column9: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
FCoType, FAuthority, FLenUnit, FGrade, FBuyName: string;
{ Public declarations }
end;
var
frmTradeSalesContractSel: TfrmTradeSalesContractSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmTradeSalesContractSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
end;
procedure TfrmTradeSalesContractSel.ConNoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmTradeSalesContractSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ConNo.SetFocus;
Action := cahide;
end;
procedure TfrmTradeSalesContractSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(',KCPS=(select count(*) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID ) ');
if trim(FLenUnit) = 'M' then
begin
sql.Add(',KCQty=(select sum(StkMeter) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) ');
end
else if trim(FLenUnit) = 'Y' then
begin
sql.Add(',KCQty=(select sum(StkYardage) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) ');
end
else if trim(FLenUnit) = 'KG' then
begin
sql.Add(',KCQty=(select sum(StkYardage) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) ');
end
else if trim(FLenUnit) = 'Roll' then
begin
sql.Add(',KCQty=(select count(*) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) ');
end;
sql.Add('from BS_Contract_Main A inner join BS_Contract_Sub B on A.ConMId=B.ConMId ');
sql.Add(' where isnull(A.status,''0'')=''9'' and ConUnit =''' + trim(FLenUnit) + '''');
sql.Add(' and ConDate>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
sql.Add(' and ConDate<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
if trim(FAuthority) <> '<27><><EFBFBD><EFBFBD>' then
begin
sql.Add(' and A.Saleser=''' + trim(DName) + '''');
end;
// ShowMessage(sql.text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmTradeSalesContractSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmTradeSalesContractSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmTradeSalesContractSel.FormShow(Sender: TObject);
begin
inherited;
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
InitGrid();
ReadCxGrid(Trim(self.Caption), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmTradeSalesContractSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmTradeSalesContractSel.TBSaveClick(Sender: TObject);
begin
WriteCxGrid(Trim(self.Caption), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmTradeSalesContractSel.ToolButton1Click(Sender: TObject);
begin
ConNo.SetFocus;
FBuyName := '';
with CDS_1 do
begin
CDS_1.Locate('SSel', true, []);
FBuyName := Trim(CDS_1.fieldbyname('BuyName').AsString);
while not Eof do
begin
if CDS_1.FieldByName('SSel').AsBoolean = True then
begin
if FBuyName <> Trim(CDS_1.fieldbyname('BuyName').AsString) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
end;
CDS_1.Next;
end;
end;
ModalResult := 1;
end;
procedure TfrmTradeSalesContractSel.ToolButton2Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmTradeSalesContractSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmTradeSalesContractSel.FormDestroy(Sender: TObject);
begin
inherited;
frmTradeSalesContractSel := nil;
end;
end.