您的位置:首页 > 其它

提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)

2017-07-05 14:18 756 查看
/**
* CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
* 传参?date = 2017-06-01 && warehouse = 1 && rerun = 1
* 默认日期为每月 1 号到运行的前一天,默认仓库为 1
*/
require_once( 'config.php' );
$flagFile = dirname(__FILE__) . '/qc-csp-email';
if (@file_exists($flagFile)) {
Common_Service_Common::autoRunFlag($flagFile, __FILE__, 2);
die('程序正在运行。');
}
ini_set('memory_limit', '-1');
set_time_limit(0);
define('RUNTIME', '[ ' . date('Y-m-d H:i:s') . ' ] ');
echo RUNTIME . "Starting!\n";
$warehouse = '11';
$reRun = false;
$start_date = date("Y-m-d H:i:s", mktime( 0, 0, 0, date("m"), 1, date("Y")));
$end_dates = date("Y-m-d 23:59:59", strtotime("-1 day"));
$putObj = new Product_Service_QcProccess();
for (; $start_date < $end_dates;) {
$end_date = date("Y-m-d 23:59:59", strtotime("+1 day", strtotime($start_date)));
$date = $start_date;
echo $start_date . "\n";
$start_date = date('Y-m-d H:i:s', strtotime($start_date) + 24 * 3600);
}
$email_start_date = date("Y-m-d H:i:s", mktime( 0, 0, 0, date("m"), 1, date("Y")));
//休眠 5 秒后等待数据同步
sleep(5);
$putObj->QcCSPEmail($email_start_date, $end_dates, $warehouse);
echo "[ " . date('Y-m-d H:i:s') . " ] 结束运行\r\n";
@unlink($flagFile);

/*
* CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
* $start_date                               前一天时间
* $end_dates                              当天时间
* $warehouse   (string)              仓库
*/
public static function QcCSPEmail( $start_date, $end_date, $warehouse = "11" ) {
//根据时间限制获取对应数据
$condition = array(
"start_date" => date( "Y-m-d H:i:s", strtotime( $start_date ) ),
"end_date" => date( "Y-m-d H:i:s", strtotime( $end_date ) ),
"warehouse_id" => $warehouse,
);
$dataList = Special_Service_SpecialProjectOrderLog::getByCond( $condition, "*", array( "spol_create_date" ) );
//组合数组以时间为键名
$date = array();
foreach ( $dataList as $value ) {
if ( $value['spol_msg_type'] == 1 ) {
$da = date( 'Y-m-d', strtotime( $value['spol_create_date'] ) );
$date[$da][] = $value;
}
}
//对数组按照键名逆向排序
krsort($date);
/*
* 整合邮件内容
* 遍历每天
*/
foreach ( $date as $key => $value ) {
$content .= "\n". $key . "\n";
$content .= "ASN单号,采购单号,QC单号,CSP,增值服务项,原因,操作员,日期\n";
//遍历一天中的单号
foreach( $value as $va ) {
$spoRefCode = Special_Service_SpecialProjectOrder::getBySpoCode( $va['spo_code'] );
$qcoCode = Product_Service_QualityControlOrder::getQcoCode( $spoRefCode['spo_ref_code'] );
$receivingCode = Product_Service_Receiving::getByReceivingCode( $qcoCode['qco_ref_code'] );
$spoCode = Special_Service_SpecialProjectItem::getBySpoCodeAll( $va['spo_code'] );
$Is_show = $receivingCode['plat_form'] == "CSP" ? '是' : '否';
$spolNote = explode( ';', $va['spol_note'] );
$userId = User_Service_User::getByUserId( $va['user_id'] );
//遍历一个单号中的增值服务项
foreach( $spoCode as $k => $v ) {
$pocValueCn = Special_Service_SpecialProjectOptions::getById( $v['poc_id'] );
$content .= $qcoCode['qco_ref_code'] . ','
. "\t" . $receivingCode['ref_id'] . ','
. $spoRefCode['spo_ref_code'] . ','
. $Is_show . ','
. $pocValueCn['spop_value_cn'] . ','
. $spolNote[$k] . ','
. $userId['name'] . ','
. $va['spol_create_date'] . "\n";
}
}
}
//获取收件人邮箱
$configAttribute = Common_Service_Config::getByAttribute( 'CSP_EXCEPTION_LIST_EMAIL' );
if( !empty( $configAttribute ) ) {
$mailUser = explode( ';', $configAttribute['config_value'] );
} else {
die( '请添加邮箱地址!' );
}
//发送邮件对应处理
$content = iconv( "UTF-8", "GBK", $content );
$mail_subject = "CSP 订单报表";
$mail = Cff::setupMail();
$mail->setBodyHtml( 'CSP 订单,请跟进!' );
$mail->addTo( $mailUser, $mail_subject
a3ed
);
$mail->setSubject( $mail_subject );
$at = $mail->createAttachment( $content );
$at->type = 'application/vnd.ms-excel';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding = Zend_Mime::ENCODING_8BIT;
$at->filename = iconv( "UTF-8", "GB2312", $mail_subject . date( 'Y-m-d' ) . '.csv' );
$mail->send();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐