D7myzhenyong/手机跟单管理(MobileTrack.dll)/U_CPCKQEList.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

425 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_CPCKQEList;
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, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, cxLookAndFeels, cxLookAndFeelPainters,
dxBarBuiltInMenu, cxNavigator;
type
TfrmCPCKQEList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: 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;
TBCXQR: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
CPName: TEdit;
DQFactoryName: TEdit;
DHID: TEdit;
cxTabControl1: TcxTabControl;
PopupMenu2: TPopupMenu;
N3: TMenuItem;
N4: TMenuItem;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1CRType: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
V2Column1: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V2Column3: TcxGridDBColumn;
ToolButton1: TToolButton;
V2Column4: TcxGridDBColumn;
Label6: TLabel;
OrderNo: TEdit;
IdHTTP1: TIdHTTP;
CDS_WXTS: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
ToolButton2: TToolButton;
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 TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBCXQRClick(Sender: TObject);
procedure DHIDChange(Sender: TObject);
procedure DQFactoryNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
canshu1, canshu2, canshu3: string;
procedure InitGrid();
procedure SetStatus();
procedure ReadINIFile();
procedure SendMessageQR(Mfsid, KeyWord2: string);
procedure SendMessageBH(GdName, Mfsid, KeyWord2: string);
{ Private declarations }
public
{ Public declarations }
end;
//var
// frmShaRKList: TfrmShaRKList;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_RTFun, U_Fun, U_PBRKInPut, U_FileUp, U_WechatAuthority,
U_SysLogHelp;
{$R *.dfm}
procedure TfrmCPCKQEList.SendMessageQR(Mfsid, KeyWord2: string);
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select distinct A.* from SY_User A inner join SY_Purview B on A.UserID=B.UserID where A.Valid=''Y'' ');
SQL.Add('and isnull(A.wxid,'''')<>''''');
SQL.Add(' and exists(select 1 from SY_ModuleSub X where X.ModuleID=B.ModuleID and X.ModuleSubID=B.ModuleSubID and X.FormName='<><D2B5>Աȷ<D4B1><C8B7>'') ');
// showmessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_WXTS);
SInitCDSData20(ADOQueryTemp, CDS_WXTS);
if CDS_WXTS.IsEmpty then
begin
Application.MessageBox('<27>û<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>΢<EFBFBD><CEA2>,<2C>ύʧ<E1BDBB>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
CDS_WXTS.First;
while not CDS_WXTS.eof do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from WeixinMessage where 1<>1');
Open;
Append;
FieldByName('MessageType').Value := 'OrderProgress';
FieldByName('MessageName').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('Title').Value := '<27><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ȷ<EFBFBD>ϣ<EFBFBD><CFA3>뼰ʱ<EBBCB0><CAB1><EFBFBD><EFBFBD>';
FieldByName('URL').Value := 'pages/grayfabric/ywConfirm?fhid=' + Trim(Mfsid);
FieldByName('OpenId').Value := Trim(CDS_WXTS.FieldByName('wxid').AsString);
FieldByName('Status').Value := '0';
FieldByName('CreateDate').Value := FormatDateTime('yyyymmdd', SGetServerDateTime(ADOQueryTemp));
FieldByName('CreateTime').Value := FormatDateTime('HH:mm:ss', SGetServerDateTime(ADOQueryTemp));
FieldByName('BusinessId').Value := Trim(Mfsid);
FieldByName('KeyWord1').Value := Trim(Mfsid);
FieldByName('KeyWord2').Value := Trim(KeyWord2);
Post;
end;
CDS_WXTS.Next;
end;
GetHTTP(IdHTTP1, 'http://www.rightsoft.top/yifu/api/message/Send/OrderProgress');
end;
procedure TfrmCPCKQEList.SendMessageBH(GdName, Mfsid, KeyWord2: string);
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select A.* from SY_User A where A.Valid=''Y'' ');
SQL.Add('and isnull(A.wxid,'''')<>''''');
SQL.Add(' and UserName= ' + quotedstr(Trim(GdName)));
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27>û<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>΢<EFBFBD><CEA2>,<2C>ύʧ<E1BDBB>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
ADOQueryTemp.First;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from WeixinMessage where 1<>1');
Open;
Append;
FieldByName('MessageType').Value := 'OrderProgress';
FieldByName('MessageName').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('Title').Value := '<27><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3>뼰ʱ<EBBCB0><CAB1><EFBFBD><EFBFBD>';
FieldByName('URL').Value := 'pages/grayfabric/gdConfirm?fhid=' + Trim(Mfsid);
FieldByName('OpenId').Value := Trim(ADOQueryTemp.FieldByName('wxid').AsString);
FieldByName('Status').Value := '0';
FieldByName('CreateDate').Value := FormatDateTime('yyyymmdd', SGetServerDateTime(ADOQueryTemp));
FieldByName('CreateTime').Value := FormatDateTime('HH:mm:ss', SGetServerDateTime(ADOQueryTemp));
FieldByName('BusinessId').Value := Trim(Mfsid);
FieldByName('KeyWord1').Value := Trim(Mfsid);
FieldByName('KeyWord2').Value := Trim(KeyWord2);
Post;
end;
end;
procedure TfrmCPCKQEList.SetStatus();
begin
TBCXQR.Visible := False;
case cxTabControl1.TabIndex of
0:
begin
end;
1:
begin
TBCXQR.Visible := True;
end;
2:
begin
end;
end;
end;
procedure TfrmCPCKQEList.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 TfrmCPCKQEList.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 TfrmCPCKQEList.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 TfrmCPCKQEList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select * from XH_Cloth_DH ');
sql.Add(' where DHType=''<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.add(' and DHDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and DHDate<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and ChkStatus =''<27>ѷ<EFBFBD><D1B7><EFBFBD>'' ');
end;
1:
begin
sql.Add(' and ChkStatus =''<27>ֿ<EFBFBD><D6BF><EFBFBD>ȷ<EFBFBD><C8B7>'' ');
end;
2:
begin
sql.Add(' and ChkStatus =''<27>Ѳ<EFBFBD><D1B2><EFBFBD>'' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPCKQEList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmCPCKQEList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCPCKQEList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
Close;
end;
procedure TfrmCPCKQEList.FormShow(Sender: TObject);
begin
ReadCxGrid(Trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
SetStatus();
end;
procedure TfrmCPCKQEList.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 TfrmCPCKQEList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCPCKQEList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCPCKQEList.TBCXQRClick(Sender: TObject);
var
strsql: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('ssel', True, []) = False then
begin
Application.MessageBox('<27><>ѡ<EFBFBD>񵽻<EFBFBD><F1B5BDBB><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
while CDS_Main.Locate('ssel', True, []) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update XH_Cloth_DH ');
sql.Add(' set ChkStatus=''<27>ѷ<EFBFBD><D1B7><EFBFBD>'', Chker=null');
sql.Add(' ,ChkTime=null');
sql.Add(' where DHID=' + quotedstr(Trim(CDS_Main.fieldbyname('DHID').AsString)));
sql.Add(' and ChkStatus=''<27>ֿ<EFBFBD><D6BF><EFBFBD>ȷ<EFBFBD><C8B7>''');
ExecSQL;
end;
strsql := 'ID<49><44>' + Trim(CDS_Main.fieldbyname('DHId').AsString) + <><C8B7><EFBFBD>ˣ<EFBFBD>' + Trim(CDS_Main.fieldbyname('Chker').AsString) + <><C8B7>ʱ<EFBFBD>䣺' + Trim(CDS_Main.fieldbyname('ChkTime').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
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('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>')));
sql.Add(',' + quotedstr(trim(strsql)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
CDS_Main.Delete;
end;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3>!', '<27><>ʾ', 0);
end;
procedure TfrmCPCKQEList.DHIDChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKQEList.DQFactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKQEList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCPCKQEList.ToolButton1Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
fModel := self.caption;
// facction:='<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ɾ<EFBFBD><C9BE>';
showmodal;
free;
end;
end;
procedure TfrmCPCKQEList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(self.Caption, cxGrid1);
end;
end.