D7gmYongjin/手机跟单管理(MobileTrack.dll)/U_SXFHList.pas

435 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_SXFHList;
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,
RM_E_llPDF, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter;
type
TfrmSXFHList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
Panel1: TPanel;
Label1: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
MPRTCodeName: TEdit;
OrderNo: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
Label2: TLabel;
Label7: TLabel;
Label10: TLabel;
CPName: TEdit;
DQFactoryName: TEdit;
Label3: TLabel;
SPName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Tv1Column4: TcxGridDBColumn;
Label4: TLabel;
filler: TEdit;
Tv1Column5: TcxGridDBColumn;
Label5: TLabel;
FromFactoryName: TEdit;
cxTabControl1: TcxTabControl;
Thd: TToolButton;
Tnohd: TToolButton;
Tv1Column6: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
//RMllPDFExport1: TRMllPDFExport;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ThdClick(Sender: TObject);
procedure TnohdClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
procedure InitGrid();
procedure InitForm();
procedure SetStatus();
{ Private declarations }
public
{ Public declarations }
end;
var
frmSXFHList: TfrmSXFHList;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmSXFHList.FormDestroy(Sender: TObject);
begin
frmSXFHList := nil;
end;
procedure TfrmSXFHList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmSXFHList.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
end;
procedure TfrmSXFHList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(<><C9B4><EFBFBD><EFBFBD><E2B7A2>ѯ', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmSXFHList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add(' select A.*,B.SPName,B.PiQty,FHQty=B.Qty,B.FromFactoryName ');
sql.Add(' from Ck_YarnDeliver A');
sql.Add(' left join CK_SXPB_CR B on A.FHID=B.CKorderNo');
sql.Add(' where 1=1');
begin
sql.Add(' and FHDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and FHDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
SQL.Add(' and isnull(A.FHType,'''')='<><C9B4>'' ');
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'')=''1'' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSXFHList.InitForm();
begin
ReadCxGrid(<><C9B4><EFBFBD><EFBFBD><E2B7A2>ѯ', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
if Trim(DParameters1) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
cxTabControl1.Visible := True;
end;
InitGrid();
end;
procedure TfrmSXFHList.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 TfrmSXFHList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, <><C9B4><EFBFBD>ⷢ');
end;
procedure TfrmSXFHList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
TBFind.Click;
end;
procedure TfrmSXFHList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmSXFHList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmSXFHList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmSXFHList.CustomerNoNameChange(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 TfrmSXFHList.SetStatus();
begin
Tnohd.Visible := false;
Thd.Visible := false;
case cxTabControl1.TabIndex of
0:
begin
Thd.Visible := true;
Tnohd.Visible := false;
end;
1:
begin
Tnohd.Visible := true;
Thd.Visible := false;
end;
end;
end;
procedure TfrmSXFHList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmSXFHList.ThdClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ˶<DDBA><CBB6><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel', True, []) do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Ck_YarnDeliver SET status=''1'' ');
sql.Add('where FHId=' + quotedstr(trim(Order_Main.fieldbyname('FHId').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim(<><C9B4><EFBFBD><EFBFBD>˶<EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('FHId').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
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 TfrmSXFHList.TnohdClick(Sender: TObject);
begin
// if Order_Main.IsEmpty then
// exit;
// try
// with ADOQueryCmd do
// begin
// close;
// sql.Clear;
// sql.Add('update Ck_YarnDeliver SET status=''0'' ');
// sql.Add('where FHId=' + quotedstr(trim(Order_Main.fieldbyname('FHId').AsString)));
// sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
// sql.Add(' ' + quotedstr(trim(DName)));
// sql.Add(',getdate() ');
// sql.Add(',' + quotedstr(trim(self.Caption)));
// sql.Add(',' + quotedstr(trim('ɴ<><C9B4><EFBFBD><EFBFBD><E2B7A2><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>')));
// sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('FHId').AsString))));
// sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
// sql.Add(')');
// execsql;
// end;
// application.MessageBox('ɴ<><C9B4><EFBFBD><EFBFBD><E2B7A2><EFBFBD><EFBFBD><EFBFBD>˶Գɹ<D4B3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
// TBRafresh.Click;
// except
// application.MessageBox('ɴ<><C9B4><EFBFBD><EFBFBD><E2B7A2><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// end;
if Order_Main.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel', True, []) do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Ck_YarnDeliver SET status=''0'' ');
sql.Add('where FHId=' + quotedstr(trim(Order_Main.fieldbyname('FHId').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim(<><C9B4><EFBFBD><EFBFBD><E2B7A2><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('FHId').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
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 TfrmSXFHList.N3Click(Sender: TObject);
begin
with Order_Main do
begin
first;
while not Eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update Ck_YarnDeliver SET status=''1'' ');
sql.Add('where FHId=' + quotedstr(trim(Order_Main.fieldbyname('FHId').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim(<><C9B4><EFBFBD><EFBFBD>˶<EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('FHId').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
Next;
end;
end;
end;
procedure TfrmSXFHList.N1Click(Sender: TObject);
var
i: integer;
begin
Screen.Cursor := crHourGlass;
tv1.DataController.GotoFirst;
for i := 0 to tv1.DataController.FilteredRecordCount - 1 do
begin
tv1.DataController.GetItemByFieldName('ssel').EditValue := True;
tv1.DataController.GotoNext;
end;
Screen.Cursor := crDefault;
end;
procedure TfrmSXFHList.N2Click(Sender: TObject);
var
i: integer;
begin
Screen.Cursor := crHourGlass;
tv1.DataController.GotoFirst;
for i := 0 to tv1.DataController.FilteredRecordCount - 1 do
begin
tv1.DataController.GetItemByFieldName('ssel').EditValue := False;
tv1.DataController.GotoNext;
end;
Screen.Cursor := crDefault;
end;
end.