D7szChenfeng/纱线仓库/U_CaiGouListSel.pas
DESKTOP-E401PHE\Administrator ccdaa90a0f 移交
2025-07-22 15:51:47 +08:00

215 lines
6.0 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_CaiGouListSel;
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
TfrmCaiGouListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
TBFind: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1SSel: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label4: TLabel;
Label5: TLabel;
Label3: TLabel;
Label6: TLabel;
SPName: TEdit;
SQPerson: TEdit;
PinPai: TEdit;
FactoryName: TEdit;
Label7: TLabel;
ConNo: TEdit;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
RM1: TRMGridReport;
RMDBPRT: TRMDBDataSet;
CDS_PRT: TClientDataSet;
v1Column21: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
Label8: TLabel;
DataType: TComboBox;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column29: TcxGridDBColumn;
v1Column30: TcxGridDBColumn;
v1Column31: TcxGridDBColumn;
v1Column32: TcxGridDBColumn;
ToolButton1: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure DataTypeChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
canshu1, canshu2: string;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCaiGouListSel: TfrmCaiGouListSel;
implementation
uses
U_DataLink, U_RTFun, U_CaiGouSQInPut, U_ModuleNote;
{$R *.dfm}
procedure TfrmCaiGouListSel.FormDestroy(Sender: TObject);
begin
frmCaiGouListSel := nil;
end;
procedure TfrmCaiGouListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
application := mainapplication;
Action := caFree;
end;
procedure TfrmCaiGouListSel.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmCaiGouListSel.InitGrid();
begin
BegDate.SetFocus;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' ,SjSX=(case when isnull(MXPBID,'''')<>'''' then ''<27><>ɴ'' else ''<27>ϻ<EFBFBD>ԭ<EFBFBD><D4AD>'' end )');
sql.Add(',Case when (isnull(SQQtyUp,0)+isnull(SQQty,0))<>0 then Cast(SQQty*(1+SQQtyUp*0.01) as decimal(18,2)) end as MAXJHQty');
sql.Add(',Case when isnull(DataType,'''')<>'''' then ''(''+DataType+'')'' else '''' end as DataTypePrt ');
sql.Add(',DHBL=Cast( case when (SQQty*(1+isnull(SQQtyUp,0)*0.01))>0 then (case when SQQty*(1+isnull(SQQtyUp,0)*0.01)>SQQty then DHQty/SQQty else DHQty/(SQQty*(1+isnull(SQQtyUp,0)*0.01)) end) else 1 end as decimal(18,2))');
SQL.Add(' from SQ_CG A where isnull(SChkStatus,'''')<>'''' and SQType='<><C9B4>'' ');
sql.Add(' and isnull(SChkStatus,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(' order by SQDate');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCaiGouListSel.InitForm();
begin
EndDate.Date := SGetServerDate(ADOQueryTemp);
BegDate.Date := EndDate.Date - 7;
ReadCxGrid('<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmCaiGouListSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouListSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmCaiGouListSel.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouListSel.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCaiGouListSel.TBFindClick(Sender: TObject);
begin
BegDate.SetFocus;
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmCaiGouListSel.DataTypeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCaiGouListSel.ToolButton1Click(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;
end.