D7gmYongjin/手机跟单管理(MobileTrack.dll)/U_SXFHList.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

435 lines
12 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_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.