//Model(模型层(优化))
private function qcPostTransaction() {
//当有添加增值服务权限的账号添加增值服务时需要填写原因,并且系统记录来货异常
$spolNote = $this->_condition['spol_note'];
if( !empty( $spolNote ) ) {
$qcoRes = Product_Service_QualityControlOrder::getQcoCode( $this->_condition['qcCode'] );
$refId = Product_Service_Receiving::getByReceivingCode( $qcoRes['qco_ref_code'] );
//整理 CSP 订单数据
if( $refId['plat_form'] == "CSP" ) {
$Journal = array(
'spo_code' => $spRes['spo_code'],
'user_id' => $this->_userId,
'customer_id' => $this->_receivingInfo['customer_id'],
'spol_note' => implode( ";", $spolNote ),
'spol_ip' => Common_Service_Common::getIP(),
'spol_create_date' => date( 'Y-m-d H:i:s' ),
'spol_msg_type' => $this->_condition['spol_msg_type'],
'warehouse_id' => $this->_receivingInfo['warehouse_id'],
);
//写入数据库
$JournalObj = new Special_Model_SpecialProjectOrderLog();
$addJournal = $JournalObj->create( $Journal );
if( empty( $addJournal ) ) {
$dbAdapter->rollback();
$this->_error['msg'] = '写日志失败';
return false;
}
}
}
}
/*
* CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
* $start_date 前一天时间
* $end_dates 当天时间
* $warehouse (string) 仓库
*/
public static function QcCSPEmail( $start_date, $end_date, $warehouse = "1" ) {
//根据时间限制获取对应数据
$condition = array(
"start_date" => date( "Y-m-d", strtotime( $start_date ) ),
"end_date" => date( "Y-m-d", strtotime( $end_date ) ),
"warehouse_id" => $warehouse,
);
$dataList = Special_Service_SpecialProjectOrderLog::getByCond( $condition, "*", array( "spol_create_date" ) );
//整合邮件内容
$content = "ASN单号,采购单号,QC单号,CSP,增值服务项,原因,日期\n";
foreach( $dataList as $value ) {
if( $value['spol_msg_type'] == 1 ) {
$spoRefCode = Special_Service_SpecialProjectOrder::getBySpoCode( $value['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( $value['spo_code'] );
$Is_show = $receivingCode['plat_form'] == "CSP" ? '是' : '否';
$spolNote = explode( ';', $value['spol_note'] );
$userId = User_Service_User::getByUserId( $value['user_id'] );
foreach( $spoCode as $k => $v ) {
$pocValueCn = Special_Service_SpecialProjectOptions::getById( $v['poc_id'] );
$content .= $qcoCode['qco_ref_code'] . ','
. $receivingCode['ref_id'] . ','
. $spoRefCode['spo_ref_code'] . ','
. $Is_show . ','
. $pocValueCn['spop_value_cn'] . ','
. $spolNote[$k] . ','
. $userId['name'] . ','
. $value['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 );
$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();
}
//Liunx 自动任务
/**
* CSP 订单添加增值服务并完成质检提交后系统自动发邮件到收件人邮箱
* 传参?date = 2015-05-14 && warehouse = 1 && rerun = 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 = '1';
$reRun = false;
$start_date = date( 'Y-m-d 20:30:00', strtotime( "-1 day" ) );
$end_dates = date( "Y-m-d 20:30:00" );
$putObj = new Product_Service_QcProccess();
for( ;$start_date < $end_dates; ) {
$end_date = date( "Y-m-d 20:30:00", 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 20:30:00', strtotime( "-1 day" ) );
//休眠 5 秒后等待数据同步
sleep( 5 );
$putObj->QcCSPEmail( $email_start_date, $end_dates, $warehouse );
echo "[ " . date( 'Y-m-d H:i:s' ) . " ] 结束运行\r\n";
@unlink( $flagFile );
提交订单系统自动发送邮件到收件人邮箱优化(定时发送邮件)
最新推荐文章于 2022-07-08 12:00:29 发布