D10myYicheng/坯布码单待检(PBMDDJ.dll)/U_CPCKQEListSC.pas

421 lines
11 KiB
ObjectPascal
Raw Permalink Normal View History

2025-05-27 14:08:09 +08:00
unit U_CPCKQEListSC;
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, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges;
type
TfrmCPCKQEListSC = 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;
ToolButton3: 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 ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(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
frmCPCKQEListSC: TfrmCPCKQEListSC;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmCPCKQEListSC.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;
SCreateCDS(ADOQueryTemp, CDS_WXTS);
SInitCDSData(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;
end;
procedure TfrmCPCKQEListSC.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 TfrmCPCKQEListSC.SetStatus();
begin
TBCXQR.Visible := False;
case cxTabControl1.TabIndex of
0:
begin
end;
1:
begin
TBCXQR.Visible := True;
end;
2:
begin
end;
end;
end;
procedure TfrmCPCKQEListSC.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 TfrmCPCKQEListSC.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 TfrmCPCKQEListSC.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
canshu3 := Trim(DParameters3);
end;
procedure TfrmCPCKQEListSC.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;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPCKQEListSC.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmCPCKQEListSC.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCPCKQEListSC.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
Close;
end;
procedure TfrmCPCKQEListSC.FormShow(Sender: TObject);
begin
ReadCxGrid(Trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
SetStatus();
end;
procedure TfrmCPCKQEListSC.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmCPCKQEListSC.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCPCKQEListSC.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCPCKQEListSC.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 TfrmCPCKQEListSC.DHIDChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKQEListSC.DQFactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKQEListSC.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCPCKQEListSC.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(self.Caption, cxGrid1);
end;
procedure TfrmCPCKQEListSC.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
ModalResult := 1;
end;
end.