请输入
菜单

项目日报自动发送邮件

下载

一、demo脚本

DROP PROCEDURE IF EXISTS `hongjin_email_xiangmuribao`;
DELIMITER ;;
CREATE  PROCEDURE `hongjin_email_xiangmuribao`(
)
BEGIN
    
    -- 24点执行,发送昨天的数据
    IF HOUR(NOW())>=9 THEN
        SET @my_date=CURDATE();
    ELSE
        SET @my_date=DATE_SUB(CURDATE(),INTERVAL 1 DAY);
    END IF;

    SET @my_emailto=(
        SELECT 
            GROUP_CONCAT(DISTINCT a.email1)
        FROM ld_users a
        LEFT JOIN ld_usersscf b ON b.id=a.id
        WHERE b.cf_7956=1
    );

    IF IFNULL(@my_emailto,'')<>'' AND EXISTS (SELECT 1 FROM ld_customform100 WHERE deleted=0 AND DATE_FORMAT(createdtime,'%Y-%m-%d')=@my_date) THEN
        SET @i=0;
        SET @my_emailtitle=CONCAT(
                DATE_FORMAT(NOW(),'%Y年%c月%e日'),
                '(星期',
                (CASE DAYOFWEEK(NOW()) 
                    WHEN 1 THEN '日' 
                    WHEN 2 THEN '一'
                    WHEN 3 THEN '二'
                    WHEN 4 THEN '三'
                    WHEN 5 THEN '四'
                    WHEN 6 THEN '五'
                    WHEN 7 THEN '六'
                END),
                ')客户项目日报表:');

        SET @my_emailcontent=(
            SELECT
                CONCAT(
                    '<div><span style="padding-left:2mm; font-weight: bold">',
                    CONCAT(DATE_FORMAT(NOW(),'%Y年%c月%e日'),'(星期',
                        (CASE DAYOFWEEK(NOW()) 
                            WHEN 1 THEN '日' 
                            WHEN 2 THEN '一'
                            WHEN 3 THEN '二'
                            WHEN 4 THEN '三'
                            WHEN 5 THEN '四'
                            WHEN 6 THEN '五'
                            WHEN 7 THEN '六'
                        END),
                        ')客户项目日报表:</span>'),
                    '</div>'    
                    '<table border="1" cellpadding="0" cellspacing="0" style="width:95%">',CHAR(13),
                    SPACE(3),'<tr style="background-color: #F4F8FE">',CHAR(13),
                    SPACE(4),'<td align="center" style="width:2%"><span style="font-weight: bold">序号</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:5%"><span style="font-weight: bold">业务负责人</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:15%"><span style="font-weight: bold">客户全称</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">芯片型号</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:10%"><span style="font-weight: bold">方案名称</span></td>',CHAR(13),

                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">主控平台型号</span></td>',CHAR(13),

                    SPACE(4),'<td align="center" style="width:20%"><span style="font-weight: bold">终端应用产品</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">项目阶段</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">项目状态</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">商务进度</span></td>',CHAR(13),
                    SPACE(4),'<td align="center" style="width:8%"><span style="font-weight: bold">技术进度</span></td>',CHAR(13),
                    SPACE(3),'</tr>',CHAR(13),
                    GROUP_CONCAT(
                        CONCAT(
                            SPACE(3),'<tr>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',@i:=@i+1,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.fuzeren,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.accountname,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.xinpianxinghao,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.fanganmingchun,'</span></td>',CHAR(13),
                        
                            SPACE(4),'<td align="center"><span>',a.zhukongxinghao,'</span></td>',CHAR(13),

                            SPACE(4),'<td align="center"><span>',a.zhongduanyingyin,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.xiangmujieduan,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.xiangmuzhuangtai,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.shangwujindu,'</span></td>',CHAR(13),
                            SPACE(4),'<td align="center"><span>',a.jishujindu,'</span></td>',CHAR(13),
                            SPACE(3),'</tr>',
                            CHAR(13)
                        ) 
                        SEPARATOR '\r\n' 
                    )
                ) AS html
            FROM (
                SELECT
                    u.last_name AS fuzeren,
                    c.accountname,
                    IFNULL(b.cf_7580,'') AS xinpianxinghao,
                    IFNULL(b.cf_7581,'') AS fanganmingchun,
                    IFNULL(b.cf_7582,'') AS zhongduanyingyin,
                    IFNULL(b.cf_7583,'') AS xiangmujieduan,
                    IFNULL(b.cf_7584,'') AS xiangmuzhuangtai,
                    
                    IFNULL(b.cf_7585,'') AS shangwujindu,
                    IFNULL(b.cf_7586,'') AS jishujindu,
                    IFNULL(b.cf_7955,'') AS zhukongxinghao
                FROM ld_customform100 a
                LEFT JOIN ld_customform100scf b ON b.customform100id=a.customform100id
                LEFT JOIN ld_account c ON c.accountid=a.accountid
                LEFT JOIN ld_users u ON u.id=a.smownerid
                WHERE a.deleted=0
                    AND DATE_FORMAT(a.createdtime,'%Y-%m-%d')=@my_date
                ORDER BY CONVERT(u.last_name USING GBK)
            ) a
        );

        CALL ldcrm_add_email(@my_emailtitle,@my_emailcontent,@my_emailto,NOW(),1);
    END IF;

end ;;
DELIMITER ;


-- 测试发送邮件
-- CALL hongjin_email_xiangmuribao();


-- 添加事件每天晚上 24点执行
DROP EVENT IF EXISTS `hongjin_email_xiangmuribao_event`;
DELIMITER ;;
CREATE EVENT `hongjin_email_xiangmuribao_event` ON SCHEDULE EVERY 1 DAY STARTS '2024-04-11 00:00:01' ON COMPLETION NOT PRESERVE ENABLE DO 
CALL hongjin_email_xiangmuribao();
;;
DELIMITER ;


/*
-- 查询邮件是否发送成功
SELECT
 a.`subject` AS emai_subject,
 a.date_start AS email_addtime,
 b.email_sendtime,
 description AS email_content,
 a.to_email,
 a.cc_email,
 CASE WHEN reminder_sent=1 THEN '已发送' ELSE '未发送' END AS send_tag
FROM ld_activity a
LEFT JOIN ld_activity_reminder b ON b.activity_id=a.activityid
WHERE a.deleted=0
 AND a.activitytype='Emails'
*/


-- crontab 添加计划任务
*/5    * * * * sudo /usr/bin/php /opt/home/www/crm/modules/Reminds/sendRemindsEmail.php >/dev/null
  

项目日报自动发送邮件.sql                                                            

上一个
重算产品总库存数量
下一个
报表开发案例
最近修改: 2025-02-08