|
|
unit u_op_seae_print_mul;
|
|
|
|
|
|
interface
|
|
|
|
|
|
uses
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
Dialogs, dxExEdtr, ADODB, DB, BusinessSkinForm, dxDBTLCl, dxGrClms,
|
|
|
bsSkinCtrls, dxTL, dxDBCtrl, dxDBGrid, dxCntner, ComCtrls, bsSkinTabs,
|
|
|
StdCtrls, kbmMemTable;
|
|
|
|
|
|
type
|
|
|
Tfrm_op_seae_print_mul = class(TForm)
|
|
|
bsSkinPanel1: TbsSkinPanel;
|
|
|
dxDBGrid1: TdxDBGrid;
|
|
|
dxDBGrid1Column1: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column4: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column5: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column6: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column7: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column13: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column14: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column15: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column16: TdxDBGridDateColumn;
|
|
|
dxDBGrid1Column19: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column20: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1TEU: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column63: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column64: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column65: TdxDBGridDateColumn;
|
|
|
dxDBGrid1Column66: TdxDBGridMaskColumn;
|
|
|
dxDBGrid1Column67: TdxDBGridMaskColumn;
|
|
|
bsBusinessSkinForm1: TbsBusinessSkinForm;
|
|
|
t_op_seae1: TDataSource;
|
|
|
t_sys_report: TADOQuery;
|
|
|
t_sys_report1: TDataSource;
|
|
|
t_op_seae: TADOStoredProc;
|
|
|
t_sys_report_employee: TADOQuery;
|
|
|
bsSkinPageControl1: TbsSkinPageControl;
|
|
|
bsSkinTabSheet1: TbsSkinTabSheet;
|
|
|
bsSkinTabSheet2: TbsSkinTabSheet;
|
|
|
bsSkinPanel2: TbsSkinPanel;
|
|
|
dxDBGrid2: TdxDBGrid;
|
|
|
dxDBGridMaskColumn1: TdxDBGridMaskColumn;
|
|
|
bsSkinButton12: TbsSkinButton;
|
|
|
bsSkinButton8: TbsSkinButton;
|
|
|
bsSkinButton5: TbsSkinButton;
|
|
|
bsSkinGroupBox1: TbsSkinGroupBox;
|
|
|
bsSkinPanel3: TbsSkinPanel;
|
|
|
bsSkinGroupBox2: TbsSkinGroupBox;
|
|
|
Memo1: TMemo;
|
|
|
Memo2: TMemo;
|
|
|
bsSkinButton1: TbsSkinButton;
|
|
|
bsSkinButton2: TbsSkinButton;
|
|
|
bsSkinButton3: TbsSkinButton;
|
|
|
SaveDialog1: TSaveDialog;
|
|
|
bsSkinButton11: TbsSkinButton;
|
|
|
mailSend: TkbmMemTable;
|
|
|
mailSendStringField: TStringField;
|
|
|
mailSendField: TStringField;
|
|
|
mailSendField2: TStringField;
|
|
|
mailSendField3: TStringField;
|
|
|
mailSendField4: TStringField;
|
|
|
mailSendField5: TStringField;
|
|
|
mailSendField6: TStringField;
|
|
|
mailSendField7: TStringField;
|
|
|
t_op_seae2: TDataSource;
|
|
|
t_op_seae_print: TADOQuery;
|
|
|
procedure bsSkinButton5Click(Sender: TObject);
|
|
|
procedure bsSkinButton8Click(Sender: TObject);
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
procedure bsSkinButton12Click(Sender: TObject);
|
|
|
procedure bsSkinButton1Click(Sender: TObject);
|
|
|
procedure bsSkinButton2Click(Sender: TObject);
|
|
|
procedure bsSkinButton3Click(Sender: TObject);
|
|
|
procedure bsSkinButton11Click(Sender: TObject);
|
|
|
private
|
|
|
{ Private declarations }
|
|
|
public
|
|
|
{ Public declarations }
|
|
|
end;
|
|
|
|
|
|
var
|
|
|
frm_op_seae_print_mul: Tfrm_op_seae_print_mul;
|
|
|
|
|
|
implementation
|
|
|
|
|
|
uses my_sys_function, u_main, u_data_share;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton5Click(Sender: TObject);
|
|
|
begin
|
|
|
close;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton8Click(Sender: TObject);
|
|
|
begin
|
|
|
if t_sys_report.IsEmpty then
|
|
|
begin
|
|
|
showmessage('û<>е<EFBFBD>֤<EFBFBD><D6A4>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><DEB7><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
sys_print_piliang('<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤',t_sys_report.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring,t_op_seae,t_op_seae1,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,t_sys_report.fieldbyname('CH_ID').asinteger);
|
|
|
|
|
|
if not t_sys_report_employee.Locate('CH_ID',t_sys_report.fieldbyname('CH_ID').asinteger,[])then
|
|
|
begin
|
|
|
t_sys_report_employee.insert;
|
|
|
t_sys_report_employee['CH_ID']:=t_sys_report['CH_ID'];
|
|
|
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
|
|
|
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
|
|
|
t_sys_report_employee.post;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_sys_report_employee.edit;
|
|
|
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
|
|
|
t_sys_report_employee.post;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.FormShow(Sender: TObject);
|
|
|
var
|
|
|
str:widestring;
|
|
|
begin
|
|
|
t_sys_report_employee.close;
|
|
|
t_sys_report_employee.Parameters.ParamByName('<27><><EFBFBD><EFBFBD>').value:=employee;
|
|
|
t_sys_report_employee.Parameters.ParamByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report_employee.open;
|
|
|
if not t_sys_report_employee.IsEmpty then
|
|
|
begin
|
|
|
t_sys_report_employee.first;
|
|
|
while not t_sys_report_employee.eof do
|
|
|
begin
|
|
|
if t_sys_report_employee.fieldbyname('<27><><EFBFBD><EFBFBD>').AsDateTime>=date-30 then
|
|
|
begin
|
|
|
if str='' then
|
|
|
str:=t_sys_report_employee.fieldbyname('CH_ID').asstring
|
|
|
else
|
|
|
str:=str+','+t_sys_report_employee.fieldbyname('CH_ID').asstring;
|
|
|
end;
|
|
|
t_sys_report_employee.next;
|
|
|
end;
|
|
|
str:=' and CH_ID in ('+str+')';
|
|
|
t_sys_report.close;
|
|
|
t_sys_report.sql.clear;
|
|
|
t_sys_report.sql.add('select * from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+str+' order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
t_sys_report.Parameters[0].value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report.open;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_sys_report.close;
|
|
|
t_sys_report.sql.clear;
|
|
|
t_sys_report.sql.add('select * from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
t_sys_report.Parameters[0].value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report.open;
|
|
|
end;
|
|
|
if FileExists(ExtractFilePath(application.ExeName)+'exptxt.ini') then memo1.Lines.LoadFromFile(ExtractFilePath(application.ExeName)+'exptxt.ini');
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton12Click(Sender: TObject);
|
|
|
var
|
|
|
str:widestring;
|
|
|
begin
|
|
|
if bsSkinButton12.caption='<27><><EFBFBD>и<EFBFBD>ʽ'then
|
|
|
begin
|
|
|
bsSkinButton12.caption:='<27><><EFBFBD>ڸ<EFBFBD>ʽ';
|
|
|
t_sys_report.close;
|
|
|
t_sys_report.sql.clear;
|
|
|
t_sys_report.sql.add('select * from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
t_sys_report.Parameters[0].value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report.open;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if not t_sys_report_employee.IsEmpty then
|
|
|
begin
|
|
|
t_sys_report_employee.first;
|
|
|
while not t_sys_report_employee.eof do
|
|
|
begin
|
|
|
if t_sys_report_employee.fieldbyname('<27><><EFBFBD><EFBFBD>').AsDateTime>=date-30 then
|
|
|
begin
|
|
|
if str='' then
|
|
|
str:=t_sys_report_employee.fieldbyname('CH_ID').asstring
|
|
|
else
|
|
|
str:=str+','+t_sys_report_employee.fieldbyname('CH_ID').asstring;
|
|
|
end;
|
|
|
t_sys_report_employee.next;
|
|
|
end;
|
|
|
str:=' and CH_ID in ('+str+')';
|
|
|
t_sys_report.close;
|
|
|
t_sys_report.sql.clear;
|
|
|
t_sys_report.sql.add('select * from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+str+' order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
t_sys_report.Parameters[0].value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report.open;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
t_sys_report.close;
|
|
|
t_sys_report.sql.clear;
|
|
|
t_sys_report.sql.add('select * from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
t_sys_report.Parameters[0].value:='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤';
|
|
|
t_sys_report.open;
|
|
|
end;
|
|
|
bsSkinButton12.caption:='<27><><EFBFBD>и<EFBFBD>ʽ';
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton1Click(Sender: TObject);
|
|
|
var
|
|
|
sl_tmp:tstringlist;
|
|
|
str_tmp:string;
|
|
|
m,i,n:integer;
|
|
|
begin //<2F><><EFBFBD>ݹ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
Memo2.Lines.clear;
|
|
|
t_op_seae.first;
|
|
|
i:=0;
|
|
|
while not t_op_seae.eof do
|
|
|
begin
|
|
|
i:=i+1;
|
|
|
for n:=0 to memo1.Lines.Count-1 do begin
|
|
|
str_tmp:=Memo1.Lines.Strings[n];
|
|
|
str_tmp:=StringReplace(str_tmp,'[RDNUM]',inttostr(i),[]);
|
|
|
for m:=0 to t_op_seae.FieldCount-1 do begin
|
|
|
str_tmp:=StringReplace(str_tmp,'['+t_op_seae.Fields[m].FieldName+']',t_op_seae.Fields[m].AsString,[]);
|
|
|
end;
|
|
|
Memo2.Lines.Add(str_tmp);
|
|
|
end;
|
|
|
|
|
|
t_op_seae.next;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton2Click(Sender: TObject);
|
|
|
begin
|
|
|
memo1.Lines.SaveToFile(ExtractFilePath(application.ExeName)+'exptxt.ini');
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton3Click(Sender: TObject);
|
|
|
begin
|
|
|
if SaveDialog1.Execute then
|
|
|
begin
|
|
|
memo2.Lines.SaveToFile(SaveDialog1.FileName+'.txt');
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm_op_seae_print_mul.bsSkinButton11Click(Sender: TObject);
|
|
|
var
|
|
|
aQuery:TADOQuery;
|
|
|
str:string;
|
|
|
begin
|
|
|
aQuery:=CreateAdoQuery;
|
|
|
try
|
|
|
t_op_seae.First;
|
|
|
while not t_op_seae.Eof do begin
|
|
|
if t_op_seae.FieldByName('<27>ͻ<EFBFBD><CDBB>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString<>'' then begin
|
|
|
with aQuery do begin
|
|
|
close;sql.Clear;
|
|
|
SQL.Add('select * from t_code_cust_mailproject_detail where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+t_op_seae.FieldByName('<27>ͻ<EFBFBD><CDBB>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString+''' and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=''<27>ᵥ<EFBFBD><E1B5A5><EFBFBD>»<EFBFBD>ֽ'' ');
|
|
|
Open;
|
|
|
if not isempty then begin
|
|
|
mailSend.EmptyTable;
|
|
|
mailSend.Open;
|
|
|
mailSend.Insert;
|
|
|
mailSend.FieldByName('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString:=fieldbyname('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString;
|
|
|
str:=fieldbyname('<27><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>').AsString;
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>]',t_op_seae.fieldbyname('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[ί<>е<EFBFBD>λ]',t_op_seae.fieldbyname('ί<>е<EFBFBD>λ').AsString,[]);
|
|
|
mailSend.FieldByName('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString:=str;
|
|
|
str:=fieldbyname('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>]',t_op_seae.fieldbyname('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[ί<>е<EFBFBD>λ]',t_op_seae.fieldbyname('ί<>е<EFBFBD>λ').AsString,[]);
|
|
|
mailSend.FieldByName('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString:=str;
|
|
|
frm_data_share.t_sys_employee.Locate('<27><><EFBFBD><EFBFBD>',employee,[]);
|
|
|
mailSend.FieldByName('<27>ʼ<EFBFBD>ǩ<EFBFBD><C7A9>').AsString:=frm_data_share.t_sys_employee.fieldbyname('<27>ʼ<EFBFBD>ǩ<EFBFBD><C7A9>').AsString;
|
|
|
str:=fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>]',t_op_seae.fieldbyname('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[<5B><><EFBFBD><EFBFBD>]',t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString,[]);
|
|
|
str:=StringReplace(str,'[ί<>е<EFBFBD>λ]',t_op_seae.fieldbyname('ί<>е<EFBFBD>λ').AsString,[]);
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString:=str;
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString:=fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD>').AsString:=t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString:=t_op_seae.fieldbyname('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString;
|
|
|
mailSend.Post;
|
|
|
t_op_seae_print.Close;
|
|
|
t_op_seae_print.SQL.Text:='select * from t_op_seae where <20><><EFBFBD><EFBFBD>='''+t_op_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').AsString+'''';
|
|
|
t_op_seae_print.Open;
|
|
|
|
|
|
sys_frprint('<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤',5,t_op_seae2,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,True,'',nil,nil,mailSend);
|
|
|
end else begin
|
|
|
ShowMessage('<27>ᵥ<EFBFBD><E1B5A5>:'+t_op_seae.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString+',<2C>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>');
|
|
|
end;
|
|
|
end else begin
|
|
|
ShowMessage('<27>ᵥ<EFBFBD><E1B5A5>:'+t_op_seae.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString+',δ<><CEB4><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
end;
|
|
|
|
|
|
|
|
|
t_op_seae.Next;
|
|
|
end;
|
|
|
finally
|
|
|
FreeAndNil(aQuery);
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
end.
|