提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
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(); }
相关文章推荐
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发邮件到收件人邮箱
- 提交订单系统自动发邮件到收件人邮箱
- 提交订单系统自动发邮件到收件人邮箱