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

490 lines
12 KiB
ObjectPascal
Raw Permalink 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_PBRKList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
IniFiles, jpeg, U_SLT, cxLookAndFeels, cxLookAndFeelPainters,
dxBarBuiltInMenu, cxNavigator;
type
TfrmPBRKList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBEdit: TToolButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
CPName: TEdit;
SupplierName: TEdit;
SPID: TEdit;
BatchNo: TEdit;
cxTabControl1: TcxTabControl;
adoqueryPicture: TADOQuery;
PopupMenu2: TPopupMenu;
N3: TMenuItem;
N4: TMenuItem;
RMDBDataSet1: TRMDBDataSet;
ClientDataSet1: TClientDataSet;
ToolButton6: TToolButton;
RMGridReport1: TRMGridReport;
btn1: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1FactoryName: TcxGridDBColumn;
v2SPName: TcxGridDBColumn;
v1SPSpec: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1SPCF: TcxGridDBColumn;
v1BatchNo: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
CheckBox2: TCheckBox;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure SPIDChange(Sender: TObject);
procedure BatchNoChange(Sender: TObject);
procedure SupplierNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure BatchNoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
canshu1, canshu2, canshu3: string;
procedure InitGrid();
procedure ReadINIFile();
{ Private declarations }
public
{ Public declarations }
end;
//var
// frmShaRKList: TfrmShaRKList;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_RTFun, U_PBRKInPut, U_FileUp, U_WechatAuthority;
{$R *.dfm}
procedure TfrmPBRKList.FormDestroy(Sender: TObject);
begin
//frmShaRKList:=nil;
end;
procedure TfrmPBRKList.FormClose(Sender: TObject; var Action: TCloseAction);
var
i, j: integer;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
Action := caFree;
end;
procedure TfrmPBRKList.ReadINIFile();
var
programIni: Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName: string;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
server := programIni.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '127.0.0.1');
programIni.Free;
end;
procedure TfrmPBRKList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
canshu3 := Trim(DParameters3);
end;
procedure TfrmPBRKList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_RCPBFH ');
sql.add(' ' + Quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
sql.Add(' ,' + Quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))));
sql.add(' ,' + Quotedstr(Trim(IntToStr(cxTabControl1.TabIndex))));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBRKList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmPBRKList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmPBRKList.TBCloseClick(Sender: TObject);
begin
if Trim(DName)='ADMIN' then
begin
WriteCxGridAll(trim(self.Caption), Tv1,ADOQueryCmd,ADOQueryTemp);
end;
Close;
end;
procedure TfrmPBRKList.FormShow(Sender: TObject);
begin
ReadCxGridAll(trim(self.Caption), Tv1);
if Trim(Self.Caption)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ' then
begin
ToolButton6.Visible:=False;
TBEdit.Visible:=False;
TBDel.Visible:=False;
btn1.Visible:=False;
end;
end;
procedure TfrmPBRKList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(self.Caption, cxGrid2);
end;
procedure TfrmPBRKList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmPBRKList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmPBRKList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmPBRKList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if cxTabControl1.TabIndex <> 0 then
Exit;
if Trim(CDS_Main.fieldbyname('FHID').AsString) <> '' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete SupplierDeliver where FHId=''' + Trim(CDS_Main.fieldbyname('FHId').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end
else
begin
CDS_Main.Delete;
end;
end;
procedure TfrmPBRKList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
frmPBRKInPut := TfrmPBRKInPut.Create(Application);
with frmPBRKInPut do
begin
FBCId := Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmPBRKInPut.Free;
end;
end;
procedure TfrmPBRKList.SPIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(',ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)');
//sql.Add(' ,ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId )');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmPBRKList.SPIDChange(Sender: TObject);
begin
if Length(Trim(SPID.Text)) < 4 then
begin
if Trim(SPID.Text) <> '' then
Exit;
end;
TBFind.Click;
end;
procedure TfrmPBRKList.BatchNoChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBRKList.SupplierNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBRKList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBRKList.BatchNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key <> #13 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where A.BatchNo=''' + Trim(BatchNo.Text) + '''');
sql.Add(' and isnull(CKName,'''')='<><C9B4>''');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
{if Trim(canshu2)<>'' then
begin
SQL.Add(' and isnull(DeptName,'''')='''+Trim(canshu2)+'''');
end;}
if cxTabControl1.TabIndex = 0 then
begin
Sql.Add(' and ZFFlag=0 ');
end
else if cxTabControl1.TabIndex = 1 then
begin
Sql.Add(' and ZFFlag=1 ');
end;
SQL.Add(' order by CRTime desc');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBRKList.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Print_SXRK' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date))));
SQL.Add(',''<27><>'' ');
Open;
// ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryTemp, ClientDataSet1);
SInitCDSData20(ADOQueryTemp, ClientDataSet1);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ɴ<><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB1A8>.rmf';
if FileExists(fPrintFile) then
begin
// RMVariables['ConNo']:=Order_Main.fieldbyname('ConNo').Value;
RMGridReport1.LoadFromFile(fPrintFile);
RMGridReport1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\ɴ<><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB1A8>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmPBRKList.ToolButton6Click(Sender: TObject);
begin
try
frmPBRKInPut := TfrmPBRKInPut.Create(Application);
with frmPBRKInPut do
begin
FBCId := '';
ZHFlag := '1';
frmPBRKInPut.canshu3 := Trim(Self.canshu3);
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmPBRKInPut.Free;
end;
end;
procedure TfrmPBRKList.CheckBox2Click(Sender: TObject);
var
FTag, i: Integer;
begin
if CheckBox2.Checked then
begin
FTag := 1;
end
else
begin
FTag := 2;
end;
with Panel1 do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TLabel then
continue;
if Controls[i] is TEdit then
begin
TEdit(Controls[i]).Tag := FTag;
end
else if Controls[i] is TComboBox then
begin
TComboBox(Controls[i]).Tag := FTag;
end;
end;
end;
TBFind.Click;
end;
end.