You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
4.7 KiB
Plaintext

unit u_crm_client_check_do;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BusinessSkinForm, bsSkinCtrls, StdCtrls, Mask, DBCtrls, DB,
ADODB, Psock, NMsmtp, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent, IdMessage,
IdExplicitTLSClientServerBase, IdSMTPBase;
type
Tfrm_crm_client_check_do = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinButton3: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
Label4: TLabel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label5: TLabel;
IdMsg: TIdMessage;
SMTP1: TIdSMTP;
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure NMSMTP1Connect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_crm_client_check_do: Tfrm_crm_client_check_do;
implementation
uses u_crm_client_check, u_data_share, my_sys_function;
{$R *.dfm}
procedure Tfrm_crm_client_check_do.bsSkinButton2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_crm_client_check_do.bsSkinButton3Click(Sender: TObject);
var
aQuery:TAdoQuery;
str,emp,mail:String;
begin
try
frm_crm_client_check.t_crm_client.edit;
frm_crm_client_check.t_crm_client['客户状态']:='审核通过';
frm_crm_client_check.t_crm_client.post;
except
showmessage('审核通过失败!!');
exit;
end;
aQuery:=CreateAdoQuery;
try
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('Select * from t_crm_client_sales where 结费类型=''约定时间'' and 客户简称='''+frm_crm_client_check.t_crm_client['客户简称']+'''');
aQuery.Open;
if not aQuery.IsEmpty then begin
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('Select * from t_sys_awoke where 提醒状态=''准备执行'' AND 提醒类别=''新客户提醒'' AND 开始日期<='''+FormatDateTime('YYYY-MM-DD',NOW)+''' and 结束日期>='''+FormatDateTime('YYYY-MM-DD',NOW)+'''');
aQuery.Open;
if not aQuery.IsEmpty then begin
str:=Trim(aQuery.FieldByName('提醒内容').AsString);
emp:=Copy(str,pos('复核=',str)+5,length(str)-pos('复核=',str)-3);
mail:=GetEmail(emp);
if mail<>'' then begin
SMTP1.AuthType := satDefault; //(satNone, satDefault, satSASL);
// SMTP1.AuthenticationType := atLogin;
SMTP1.username:= frm_data_share.t_sys_company.FieldByName('登录用户名').AsString;
SMTP1.Password :=frm_data_share.t_sys_company.FieldByName('登录密码').AsString;
SMTP1.Host :=frm_data_share.t_sys_company.FieldByName('SMTP服务器地址').AsString;
SMTP1.Port :=Strtointdef(Trim(frm_data_share.t_sys_company.FieldByName('SMTP服务器端口').AsString),25);
try
SMTP1.Connect;
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
try
with IdMsg do
begin
body.Clear;
Body.Text :='客户名称:'+frm_crm_client_check.t_crm_client['客户简称']+'申请复核';
From.address :=frm_data_share.t_sys_company.FieldByName('SMTP邮箱名称').AsString;
Recipients.EMailAddresses :=mail;
Subject:='客户名称:'+frm_crm_client_check.t_crm_client['客户简称']+'申请复核';
end;
SMTP1.Send(IdMsg);
finally
// showmessage(t_sys_awoke_emp.FieldByName('人员').asstring+'的信件已成功发送');
SMTP1.Disconnect;
end;
{
NMSMTP1.Host:=frm_data_share.t_sys_company.FieldByName('SMTP服务器地址').AsString;
NMSMTP1.Port:=Strtointdef(Trim(frm_data_share.t_sys_company.FieldByName('SMTP服务器端口').AsString),25);
if NMSMTP1.Connected then
begin
NMSMTP1.Disconnect;
end;
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress :=frm_data_share.t_sys_company.FieldByName('SMTP邮箱名称').AsString;
NMSMTP1.PostMessage.FromName :='邮件自动提醒';
NMSMTP1.PostMessage.ToAddress.Text :=mail;
NMSMTP1.PostMessage.Body.Text :='客户名称:'+frm_crm_client_check.t_crm_client['客户简称']+'申请复核';
NMSMTP1.PostMessage.Subject :='客户名称:'+frm_crm_client_check.t_crm_client['客户简称']+'申请复核';
NMSMTP1.SendMail;
}
end;
end;
end;
finally
FreeAndNil(aQuery);
end;
showmessage('审核通过成功!!');
close;
end;
procedure Tfrm_crm_client_check_do.NMSMTP1Connect(Sender: TObject);
var
StrUserName,strPassword:String;
begin
{
strUserName:=EncodeString(frm_data_share.t_sys_company.FieldByName('登录用户名').AsString);
strPassword:=EncodeString(frm_data_share.t_sys_company.FieldByName('登录密码').AsString);
nmsmtp1.Transaction('EHLO') ;
nmsmtp1.Transaction('AUTH LOGIN');
nmsmtp1.Transaction(strUserName);
nmsmtp1.Transaction(strPassword);
}
end;
end.