Пример #1
0
 public function reviewAction()
 {
     // 返回值数组
     $result = array('success' => true, 'info' => '审核成功');
     $request = $this->getRequest()->getParams();
     $review_id = isset($request['review_id']) ? $request['review_id'] : null;
     //$review_type_id = isset($request['review_type_id']) ? $request['review_type_id'] : null;
     $review_operate = isset($request['review_operate']) ? $request['review_operate'] : null;
     $review_current_step = isset($request['review_current_step']) ? $request['review_current_step'] : null;
     // 当前阶段(review表ID)
     $review_last_step = isset($request['review_last_step']) ? $request['review_last_step'] : null;
     // 是否当前阶段为最后一阶段
     $review_to_finish = isset($request['review_to_finish']) ? $request['review_to_finish'] : null;
     // 是否批准后当前阶段结束
     $review_next_step = isset($request['review_next_step']) ? $request['review_next_step'] : null;
     // 下一阶段(review表ID)
     $review_remark = isset($request['review_remark']) ? $request['review_remark'] : null;
     $review_transfer_user = isset($request['review_transfer_user']) ? $request['review_transfer_user'] : null;
     //转审人
     $review_transfer = $request['review_transfer'] == 1 ? true : false;
     if ($review_id && $review_operate) {
         $transfer = new Erp_Model_Purchse_Transfer();
         $now = date('Y-m-d H:i:s');
         $user_session = new Zend_Session_Namespace('user');
         $user_id = $user_session->user_info['user_id'];
         $employee_id = $user_session->user_info['employee_id'];
         // 评审意见
         $review_info = '意见: ' . $review_remark;
         $req = new Erp_Model_Purchse_Req();
         $user = new Application_Model_User();
         $review = new Dcc_Model_Review();
         $employee = new Hra_Model_Employee();
         $reqData = $req->getData(null, $review_id);
         // 更新审核状态及审核意见
         if ($review_operate == 'transfer') {
             // 转审
             $review_info = $reqData['review_info'] . '<br>' . $now . ': ' . $user_session->user_info['user_name'] . ' [审核-转审] [' . $review_info . ']';
             $req->update(array('review_info' => $review_info), "id = " . $review_id);
             $reviewState = $review->fetchRow("type = 'purchse_req_add' and finish_flg = 0 and file_id = " . $review_id, "id")->toArray();
             // 转审对象
             $transferUserInfo = $user->getEmployeeInfoById($review_transfer_user);
             $reviewUsers = $reviewState['plan_user'];
             $reviewUserArr = explode(',', $reviewUsers);
             $reviewer = array();
             if ($reviewState['method'] == 2) {
                 // 任意: 直接替换审核人为转审对象
                 foreach ($reviewUserArr as $review_user) {
                     if ($review_user == $employee_id) {
                         array_push($reviewer, $transferUserInfo['id']);
                     }
                 }
             } else {
                 // 全部: 替换当前审核人为转审对象,其余审核人保留
                 foreach ($reviewUserArr as $review_user) {
                     if ($review_user == $employee_id) {
                         array_push($reviewer, $transferUserInfo['id']);
                     } else {
                         if (!in_array($review_user, $reviewer)) {
                             array_push($reviewer, $review_user);
                         }
                     }
                 }
             }
             $reviewerstr = implode(',', $reviewer);
             $review->update(array('plan_user' => $reviewerstr), "id = " . $reviewState['id']);
             // 发送邮件通知制单人
             $reviewResult = '<font style="color: #FF0000"><b>转审</b></font>';
             $mail = new Application_Model_Log_Mail();
             $to = $transferUserInfo['email'];
             $mailContent = '<div>采购申请审核:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $reqData['number'] . '</p>
                             <p><b>申请部门:</b>' . $reqData['dept'] . '</p>
                             <p><b>申请人:</b>' . $reqData['apply_user_name'] . '</p>
                             <p><b>制单人:</b>' . $reqData['creater'] . '</p>
                             <p><b>类别:</b>' . $reqData['type'] . '</p>
                             <p><b>事由:</b>' . $reqData['reason'] . '</p>
                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">¥' . round($reqData['total'], 2) . '</a></p>
                             <p><b>备注:</b>' . $reqData['remark'] . '</p>
                             <p><b>制单时间:</b>' . $reqData['create_time'] . '</p>
                             <p><b>更新时间:</b>' . $reqData['update_time'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $reqData['review_info'] . '</p>
                             </div>';
             $mailData = array('type' => '消息', 'subject' => '采购申请-转审', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $user_session->user_info['user_id'], 'content' => $mailContent, 'add_date' => $now);
             try {
                 // 记录邮件日志并发送邮件
                 $mail->send($mail->insert($mailData));
             } catch (Exception $e) {
                 $result['success'] = false;
                 $result['info'] = $e->getMessage();
             }
         } else {
             if ($review_operate == 'no') {
                 // 更新采购申请状态
                 $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-拒绝] [' . $review_info . ']';
                 $data = array('state' => 1, 'transfer_description' => null, 'review_info' => $reqData['review_info'] . '<br>' . $review_info);
                 $req->update($data, "id = " . $review_id);
                 if ($review_transfer) {
                     $transfer->update(array('state' => 1), "id = " . $reqData['transfer_id']);
                 }
                 // 删除当前申请的审核配置
                 $review->delete("type = 'purchse_req_add' and file_id = " . $review_id);
                 // 发送邮件通知制单人
                 $reviewResult = '<font style="color: #FF0000"><b>拒绝</b></font>';
                 $mail = new Application_Model_Log_Mail();
                 $applyEmployeeData = $user->fetchRow("id = " . $reqData['create_user'])->toArray();
                 $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
                 $to = $applyEmployee['email'];
                 $mailContent = '<div>采购申请审核:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $reqData['number'] . '</p>
                             <p><b>申请部门:</b>' . $reqData['dept'] . '</p>
                             <p><b>申请人:</b>' . $reqData['apply_user_name'] . '</p>
                             <p><b>制单人:</b>' . $reqData['creater'] . '</p>
                             <p><b>类别:</b>' . $reqData['type'] . '</p>
                             <p><b>事由:</b>' . $reqData['reason'] . '</p>
                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">¥' . round($reqData['total'], 2) . '</a></p>
                             <p><b>备注:</b>' . $reqData['remark'] . '</p>
                             <p><b>制单时间:</b>' . $reqData['create_time'] . '</p>
                             <p><b>更新时间:</b>' . $reqData['update_time'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $reqData['review_info'] . '</p>
                             </div>';
                 $mailData = array('type' => '消息', 'subject' => '采购申请-审核', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $reqData['create_user'], 'content' => $mailContent, 'add_date' => $now);
                 try {
                     // 记录邮件日志并发送邮件
                     $mail->send($mail->insert($mailData));
                 } catch (Exception $e) {
                     $result['success'] = false;
                     $result['info'] = $e->getMessage();
                 }
             } else {
                 $help = new Application_Model_Helpers();
                 $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-批准] [' . $review_info . ']';
                 $reqUpdateData = array('review_info' => $reqData['review_info'] . '<br>' . $review_info);
                 $reviewData = $review->fetchRow("id = " . $review_current_step)->toArray();
                 $actual_user = $reviewData['actual_user'] == '' ? $user_session->user_info['employee_id'] : $reviewData['actual_user'] . ',' . $user_session->user_info['employee_id'];
                 $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                 // 当前审核阶段为最后一阶段
                 if ($review_last_step == 1) {
                     // 当前阶段已完结
                     if ($review_to_finish == 1) {
                         if ($review_transfer) {
                             if ($reqData['transfer_type'] == '取消') {
                                 $this->cancelReq($review_id);
                             } else {
                                 $this->approveTransferUpdateItems($reqData['transfer_id']);
                             }
                             $transfer->update(array('state' => 2), "id = " . $reqData['transfer_id']);
                         }
                         $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                         $reviewResult = '<font style="color: #006400"><b>发布</b></font>';
                         // 发布
                         // 更新申请状态
                         $reqUpdateData['state'] = 2;
                         $reqUpdateData['transfer_description'] = null;
                         $reqUpdateData['release_time'] = $now;
                         // 更新审核记录表
                         $review->update($data, "id = " . $review_current_step);
                         $mail = new Application_Model_Log_Mail();
                         $applyEmployeeData = $user->fetchRow("id = " . $reqData['create_user'])->toArray();
                         $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
                         $to = $applyEmployee['email'];
                         $cc = $user_session->user_info['user_email'];
                         // 发布通知采购员
                         $buyer = new Erp_Model_Purchse_Buyer();
                         $buyerData = $buyer->getData();
                         foreach ($buyerData as $b) {
                             $cc .= ',' . $b['email'];
                         }
                         $mailContent = '<div>采购申请审核批准,请登录系统查看:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $reqData['number'] . '</p>
                             <p><b>申请部门:</b>' . $reqData['dept'] . '</p>
                             <p><b>申请人:</b>' . $reqData['apply_user_name'] . '</p>
                             <p><b>制单人:</b>' . $reqData['creater'] . '</p>
                             <p><b>类别:</b>' . $reqData['type'] . '</p>
                             <p><b>事由:</b>' . $reqData['reason'] . '</p>
                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">¥' . round($reqData['total'], 2) . '</a></p>
                             <p><b>备注:</b>' . $reqData['remark'] . '</p>
                             <p><b>制单时间:</b>' . $reqData['create_time'] . '</p>
                             <p><b>更新时间:</b>' . $reqData['update_time'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $reqUpdateData['review_info'] . '</p>
                             </div>';
                         $mailData = array('type' => '消息', 'subject' => '采购申请-发布', 'to' => $to, 'cc' => $cc, 'user_id' => $reqData['create_user'], 'content' => $mailContent, 'add_date' => $now);
                         try {
                             // 记录邮件日志并发送邮件
                             $mail->send($mail->insert($mailData));
                         } catch (Exception $e) {
                             $result['success'] = false;
                             $result['info'] = $e->getMessage();
                         }
                     } else {
                         $data = array('actual_user' => $actual_user);
                         $review->update($data, "id = " . $review_current_step);
                         // 等待其他审核人批准
                     }
                 } else {
                     // 当前阶段已完结
                     if ($review_to_finish == 1) {
                         $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                         $reviewResult = '<font style="color: #006400"><b>批准</b></font>';
                         // 进入下一阶段
                         // 更新审核记录表
                         $review->update($data, "id = " . $review_current_step);
                         // 邮件通知下一阶段审核人
                         $reviewNextStepData = $review->fetchRow("id = " . $review_next_step)->toArray();
                         $mailTo = explode(',', $reviewNextStepData['plan_user']);
                         if ($mailTo) {
                             $mailContent = '<div>新建采购申请,请登录系统查看:</div>
                                         <div>
                                         <p><b>申请单号:</b>' . $reqData['number'] . '</p>
                                         <p><b>申请部门:</b>' . $reqData['dept'] . '</p>
                                         <p><b>申请人:</b>' . $reqData['apply_user_name'] . '</p>
                                         <p><b>制单人:</b>' . $reqData['creater'] . '</p>
                                         <p><b>类别:</b>' . $reqData['type'] . '</p>
                                         <p><b>事由:</b>' . $reqData['reason'] . '</p>
                                         <p><b>金额:</b><a style="color: #467500;font-weight: bold;">¥' . round($reqData['total'], 2) . '</a></p>
                                         <p><b>备注:</b>' . $reqData['remark'] . '</p>
                                         <p><b>制单时间:</b>' . $reqData['create_time'] . '</p>
                                         <p><b>更新时间:</b>' . $reqData['update_time'] . '</p>
                                         <hr>
                                         <p><b>审核日志:</b></p><p>' . $reqUpdateData['review_info'] . '</p>
                                         </div>';
                             $mailData = array('type' => '消息', 'subject' => '采购申请-新申请', 'cc' => $user_session->user_info['user_email'], 'content' => $mailContent, 'add_date' => $now);
                             $resultMail = $help->sendMailToStep($mailTo, $mailData);
                             if (!$resultMail['success']) {
                                 $result = $resultMail;
                             }
                         }
                     } else {
                         $data = array('actual_user' => $actual_user);
                         $review->update($data, "id = " . $review_current_step);
                         // 等待其他审核人批准
                     }
                 }
                 // 更新申请状态
                 $req->update($reqUpdateData, "id = " . $review_id);
             }
         }
     }
     echo Zend_Json::encode($result);
     exit;
 }
Пример #2
0
 public function reviewAction()
 {
     // 返回值数组
     $result = array('success' => true, 'info' => '审核成功');
     $request = $this->getRequest()->getParams();
     /* echo '<pre>';
        print_r($request);
        exit; */
     $review_id = isset($request['review_id']) ? $request['review_id'] : null;
     $review_operate = isset($request['review_operate']) ? $request['review_operate'] : null;
     $review_current_step = isset($request['review_current_step']) ? $request['review_current_step'] : null;
     // 当前阶段(review表ID)
     $review_last_step = isset($request['review_last_step']) ? $request['review_last_step'] : null;
     // 是否当前阶段为最后一阶段
     $review_to_finish = isset($request['review_to_finish']) ? $request['review_to_finish'] : null;
     // 是否批准后当前阶段结束
     $review_next_step = isset($request['review_next_step']) ? $request['review_next_step'] : null;
     // 下一阶段(review表ID)
     $review_remark = isset($request['review_remark']) ? $request['review_remark'] : null;
     if ($review_id && $review_operate) {
         $now = date('Y-m-d H:i:s');
         $user_session = new Zend_Session_Namespace('user');
         $user_id = $user_session->user_info['user_id'];
         // 评审意见
         $review_info = '意见: ' . $review_remark;
         $invoice = new Erp_Model_Purchse_Invoice();
         $invoiceItems = new Erp_Model_Purchse_Invoiceitems();
         $user = new Application_Model_User();
         $review = new Dcc_Model_Review();
         $employee = new Hra_Model_Employee();
         $invoiceData = $invoice->getData(null, $review_id);
         // 更新审核状态及审核意见
         if ($review_operate == 'no') {
             // 更新采购申请状态
             $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-拒绝] [' . $review_info . ']';
             $data = array('state' => 1, 'review_info' => $invoiceData['review_info'] . '<br>' . $review_info);
             // 更新订单状态
             $invoice->update($data, "id = " . $review_id);
             // 删除当前申请的审核配置
             $review->delete("type = 'purchse_invoice_add' and file_id = " . $review_id);
             // 发送邮件通知申请人
             $reviewResult = '<font style="color: #FF0000"><b>拒绝</b></font>';
             $mail = new Application_Model_Log_Mail();
             $applyEmployeeData = $user->fetchRow("id = " . $invoiceData['create_user'])->toArray();
             $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
             $to = $applyEmployee['email'];
             // 获取币种信息
             $currency = new Erp_Model_Setting_Currency();
             $currencyInfo = $currency->getInfoByCode($invoiceData['currency']);
             $total = $invoiceData['total'];
             if ($invoiceData['currency'] != 'CNY') {
                 $total = $invoiceData['forein_total'];
             }
             $mailContent = '<div>采购发票审核:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>发票号:</b>' . $invoiceData['number'] . '</p>
                             <p><b>申请人:</b>' . $invoiceData['creater'] . '</p>
                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">' . $currencyInfo['symbol'] . $total . '</a></p>
                             <p><b>备注:</b>' . $invoiceData['remark'] . '</p>
                             <p><b>申请时间:</b>' . $invoiceData['create_time'] . '</p>
                             <p><b>更新时间:</b>' . $invoiceData['update_time'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $invoiceData['review_info'] . '</p>
                             </div>';
             $mailData = array('type' => '消息', 'subject' => '采购发票-审核', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $invoiceData['create_user'], 'content' => $mailContent, 'add_date' => $now);
             try {
                 // 记录邮件日志并发送邮件
                 $mail->send($mail->insert($mailData));
             } catch (Exception $e) {
                 $result['success'] = false;
                 $result['info'] = $e->getMessage();
             }
         } else {
             $help = new Application_Model_Helpers();
             $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-批准] [' . $review_info . ']';
             $invoiceUpdateData = array('review_info' => $invoiceData['review_info'] . '<br>' . $review_info);
             $reviewData = $review->fetchRow("id = " . $review_current_step)->toArray();
             $actual_user = $reviewData['actual_user'] == '' ? $user_session->user_info['employee_id'] : $reviewData['actual_user'] . ',' . $user_session->user_info['employee_id'];
             $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
             // 当前审核阶段为最后一阶段
             if ($review_last_step == 1) {
                 // 当前阶段已完结
                 if ($review_to_finish == 1) {
                     $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                     $reviewResult = '<font style="color: #006400"><b>发布</b></font>';
                     // 发布
                     // 更新申请状态
                     $invoiceUpdateData['state'] = 2;
                     $invoiceUpdateData['release_time'] = $now;
                     // 更新审核记录表
                     $review->update($data, "id = " . $review_current_step);
                     $mail = new Application_Model_Log_Mail();
                     $applyEmployeeData = $user->fetchRow("id = " . $invoiceData['create_user'])->toArray();
                     $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
                     $to = $applyEmployee['email'];
                     // 获取币种信息
                     $currency = new Erp_Model_Setting_Currency();
                     $currencyInfo = $currency->getInfoByCode($invoiceData['currency']);
                     $total = $invoiceData['total'];
                     if ($invoiceData['currency'] != 'CNY') {
                         $total = $invoiceData['forein_total'];
                     }
                     $mailContent = '<div>采购发票审核批准,请登录系统查看:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>发票号:</b>' . $invoiceData['number'] . '</p>
                             <p><b>申请人:</b>' . $invoiceData['creater'] . '</p>
                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">' . $currencyInfo['symbol'] . $total . '</a></p>
                             <p><b>备注:</b>' . $invoiceData['remark'] . '</p>
                             <p><b>申请时间:</b>' . $invoiceData['create_time'] . '</p>
                             <p><b>更新时间:</b>' . $invoiceData['update_time'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $invoiceUpdateData['review_info'] . '</p>
                             </div>';
                     $mailData = array('type' => '消息', 'subject' => '采购发票-发布', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $invoiceData['create_user'], 'content' => $mailContent, 'add_date' => $now);
                     try {
                         // 记录邮件日志并发送邮件
                         $mail->send($mail->insert($mailData));
                     } catch (Exception $e) {
                         $result['success'] = false;
                         $result['info'] = $e->getMessage();
                     }
                 } else {
                     $data = array('actual_user' => $actual_user);
                     $review->update($data, "id = " . $review_current_step);
                 }
             } else {
                 // 当前阶段已完结
                 if ($review_to_finish == 1) {
                     $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                     $reviewResult = '<font style="color: #006400"><b>批准</b></font>';
                     // 进入下一阶段
                     // 更新审核记录表
                     $review->update($data, "id = " . $review_current_step);
                     // 邮件通知下一阶段审核人
                     if ($review->fetchAll("id = " . $review_next_step)->count() > 0) {
                         $reviewNextStepData = $review->fetchRow("id = " . $review_next_step)->toArray();
                         $mailTo = explode(',', $reviewNextStepData['plan_user']);
                         if ($mailTo) {
                             // 获取币种信息
                             $currency = new Erp_Model_Setting_Currency();
                             $currencyInfo = $currency->getInfoByCode($invoiceData['currency']);
                             $total = $invoiceData['total'];
                             if ($invoiceData['currency'] != 'CNY') {
                                 $total = $invoiceData['forein_total'];
                             }
                             $mailContent = '<div>新建采购发票,请登录系统查看:</div>
                                             <div>
                                             <p><b>订单号:</b>' . $invoiceData['number'] . '</p>
                                             <p><b>申请人:</b>' . $invoiceData['creater'] . '</p>
                                             <p><b>金额:</b><a style="color: #467500;font-weight: bold;">' . $currencyInfo['symbol'] . $total . '</a></p>
                                             <p><b>备注:</b>' . $invoiceData['remark'] . '</p>
                                             <p><b>申请时间:</b>' . $invoiceData['create_time'] . '</p>
                                             <p><b>更新时间:</b>' . $invoiceData['update_time'] . '</p>
                                             <hr>
                                             <p><b>审核日志:</b></p><p>' . $invoiceUpdateData['review_info'] . '</p>
                                             </div>';
                             $mailData = array('type' => '消息', 'subject' => '采购发票-新建', 'cc' => $user_session->user_info['user_email'], 'content' => $mailContent, 'add_date' => $now);
                             $resultMail = $help->sendMailToStep($mailTo, $mailData);
                             if (!$resultMail['success']) {
                                 $result = $resultMail;
                             }
                         }
                     }
                 } else {
                     $data = array('actual_user' => $actual_user);
                     $review->update($data, "id = " . $review_current_step);
                 }
             }
             // 更新申请状态
             $invoice->update($invoiceUpdateData, "id = " . $review_id);
         }
     }
     echo Zend_Json::encode($result);
     exit;
 }
Пример #3
0
 public function reviewAction()
 {
     // 返回值数组
     $result = array('success' => true, 'info' => '审核成功');
     $request = $this->getRequest()->getParams();
     $review_id = isset($request['review_id']) ? $request['review_id'] : null;
     $review_operate = isset($request['review_operate']) ? $request['review_operate'] : null;
     $review_current_step = isset($request['review_current_step']) ? $request['review_current_step'] : null;
     // 当前阶段(review表ID)
     $review_last_step = isset($request['review_last_step']) ? $request['review_last_step'] : null;
     // 是否当前阶段为最后一阶段
     $review_to_finish = isset($request['review_to_finish']) ? $request['review_to_finish'] : null;
     // 是否批准后当前阶段结束
     $review_next_step = isset($request['review_next_step']) ? $request['review_next_step'] : null;
     // 下一阶段(review表ID)
     $review_remark = isset($request['review_remark']) ? $request['review_remark'] : null;
     $review_transfer_user = isset($request['review_transfer_user']) ? $request['review_transfer_user'] : null;
     //转审人
     if ($review_id && $review_operate) {
         $now = date('Y-m-d H:i:s');
         $user_session = new Zend_Session_Namespace('user');
         $user_id = $user_session->user_info['user_id'];
         $employee_id = $user_session->user_info['employee_id'];
         // 评审意见
         $review_info = '意见: ' . $review_remark;
         $price = new Erp_Model_Sale_Price();
         $user = new Application_Model_User();
         $review = new Dcc_Model_Review();
         $employee = new Hra_Model_Employee();
         $priceData = $price->getData(null, $review_id);
         // 更新审核状态及审核意见
         if ($review_operate == 'transfer') {
             // 转审
             $tmp = $priceData['review_info'] != '' ? $priceData['review_info'] . '<br>' : '';
             $review_info = $tmp . $now . ': ' . $user_session->user_info['user_name'] . ' [审核-转审] [' . $review_info . ']';
             $price->update(array('review_info' => $review_info), "id = " . $review_id);
             $reviewState = $review->fetchRow("type = 'sale_price_add' and finish_flg = 0 and file_id = " . $review_id, "id")->toArray();
             // 转审对象
             $transferUserInfo = $user->getEmployeeInfoById($review_transfer_user);
             $reviewUsers = $reviewState['plan_user'];
             $reviewUserArr = explode(',', $reviewUsers);
             $reviewer = array();
             if ($reviewState['method'] == 2) {
                 // 任意: 直接替换审核人为转审对象
                 foreach ($reviewUserArr as $review_user) {
                     if ($review_user == $employee_id) {
                         array_push($reviewer, $transferUserInfo['id']);
                     }
                 }
             } else {
                 // 全部: 替换当前审核人为转审对象,其余审核人保留
                 foreach ($reviewUserArr as $review_user) {
                     if ($review_user == $employee_id) {
                         array_push($reviewer, $transferUserInfo['id']);
                     } else {
                         if (!in_array($review_user, $reviewer)) {
                             array_push($reviewer, $review_user);
                         }
                     }
                 }
             }
             $reviewerstr = implode(',', $reviewer);
             $review->update(array('plan_user' => $reviewerstr), "id = " . $reviewState['id']);
             // 发送邮件通知制单人
             $reviewResult = '<font style="color: #FF0000"><b>转审</b></font>';
             $mail = new Application_Model_Log_Mail();
             $to = $transferUserInfo['email'];
             $mailContent = '<div>销售价格申请审核:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $priceData['number'] . '</p>
                             <p><b>申请人:</b>' . $priceData['creater'] . '</p>
                             <p><b>描述:</b>' . $priceData['description'] . '</p>
                             <p><b>备注:</b>' . $priceData['remark'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $priceData['review_info'] . '</p>
                             </div>';
             $mailData = array('type' => '消息', 'subject' => '销售价格申请-转审', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $user_session->user_info['user_id'], 'content' => $mailContent, 'add_date' => $now);
             try {
                 // 记录邮件日志并发送邮件
                 $mail->send($mail->insert($mailData));
             } catch (Exception $e) {
                 $result['success'] = false;
                 $result['info'] = $e->getMessage();
             }
         } else {
             if ($review_operate == 'no') {
                 // 更新申请状态
                 $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-拒绝] [' . $review_info . ']';
                 $tmp = $priceData['review_info'] != '' ? $priceData['review_info'] . '<br>' : '';
                 $data = array('state' => 1, 'review_info' => $tmp . $review_info);
                 $price->update($data, "id = " . $review_id);
                 // 删除当前申请的审核配置
                 $review->delete("type = 'sale_price_add' and file_id = " . $review_id);
                 // 发送邮件通知制单人
                 $reviewResult = '<font style="color: #FF0000"><b>拒绝</b></font>';
                 $mail = new Application_Model_Log_Mail();
                 $applyEmployeeData = $user->fetchRow("id = " . $priceData['create_user'])->toArray();
                 $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
                 $to = $applyEmployee['email'];
                 $mailContent = '<div>销售价格申请审核:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $priceData['number'] . '</p>
                             <p><b>申请人:</b>' . $priceData['creater'] . '</p>
                             <p><b>描述:</b>' . $priceData['description'] . '</p>
                             <p><b>备注:</b>' . $priceData['remark'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $priceData['review_info'] . '</p>
                             </div>';
                 $mailData = array('type' => '消息', 'subject' => '销售价格申请-审核', 'to' => $to, 'cc' => $user_session->user_info['user_email'], 'user_id' => $priceData['create_user'], 'content' => $mailContent, 'add_date' => $now);
                 try {
                     // 记录邮件日志并发送邮件
                     $mail->send($mail->insert($mailData));
                 } catch (Exception $e) {
                     $result['success'] = false;
                     $result['info'] = $e->getMessage();
                 }
             } else {
                 $help = new Application_Model_Helpers();
                 $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [审核-批准] [' . $review_info . ']';
                 $tmp = $priceData['review_info'] != '' ? $priceData['review_info'] . '<br>' : '';
                 $reqUpdateData = array('review_info' => $tmp . $review_info);
                 $reviewData = $review->fetchRow("id = " . $review_current_step)->toArray();
                 $actual_user = $reviewData['actual_user'] == '' ? $user_session->user_info['employee_id'] : $reviewData['actual_user'] . ',' . $user_session->user_info['employee_id'];
                 $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                 // 当前审核阶段为最后一阶段
                 if ($review_last_step == 1) {
                     // 当前阶段已完结
                     if ($review_to_finish == 1) {
                         $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                         $reviewResult = '<font style="color: #006400"><b>发布</b></font>';
                         // 发布:检查客户的当前产品(包括类别)是否存在生效价格(如存在则更新历史价格为作废)
                         $price->updatePriceByPriceId($review_id);
                         // 更新申请状态
                         $reqUpdateData['state'] = 2;
                         $reqUpdateData['release_time'] = $now;
                         // 更新审核记录表
                         $review->update($data, "id = " . $review_current_step);
                         $mail = new Application_Model_Log_Mail();
                         $applyEmployeeData = $user->fetchRow("id = " . $priceData['create_user'])->toArray();
                         $applyEmployee = $employee->fetchRow("id = " . $applyEmployeeData['employee_id'])->toArray();
                         $to = $applyEmployee['email'];
                         $cc = $user_session->user_info['user_email'];
                         $mailContent = '<div>销售价格审核批准,请登录系统查看:</div>
                             <div>
                             <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                             <p><b>审核结果:</b>' . $reviewResult . '</p>
                             <p><b>审核意见:</b>' . $review_remark . '</p>
                             <p><b>申请单号:</b>' . $priceData['number'] . '</p>
                             <p><b>申请人:</b>' . $priceData['creater'] . '</p>
                             <p><b>描述:</b>' . $priceData['description'] . '</p>
                             <p><b>备注:</b>' . $priceData['remark'] . '</p>
                             <hr>
                             <p><b>审核日志:</b></p><p>' . $reqUpdateData['review_info'] . '</p>
                             </div>';
                         $mailData = array('type' => '消息', 'subject' => '销售价格申请-发布', 'to' => $to, 'cc' => $cc, 'user_id' => $priceData['create_user'], 'content' => $mailContent, 'add_date' => $now);
                         try {
                             // 记录邮件日志并发送邮件
                             $mail->send($mail->insert($mailData));
                         } catch (Exception $e) {
                             $result['success'] = false;
                             $result['info'] = $e->getMessage();
                         }
                     } else {
                         $data = array('actual_user' => $actual_user);
                         $review->update($data, "id = " . $review_current_step);
                     }
                 } else {
                     // 当前阶段已完结
                     if ($review_to_finish == 1) {
                         $data = array('actual_user' => $actual_user, 'finish_time' => $now, 'finish_flg' => 1);
                         $reviewResult = '<font style="color: #006400"><b>批准</b></font>';
                         // 进入下一阶段
                         // 更新审核记录表
                         $review->update($data, "id = " . $review_current_step);
                         // 邮件通知下一阶段审核人
                         $reviewNextStepData = $review->fetchRow("id = " . $review_next_step)->toArray();
                         $mailTo = explode(',', $reviewNextStepData['plan_user']);
                         if ($mailTo) {
                             $mailContent = '<div>销售价格申请,请登录系统查看:</div>
                                         <div>
                                         <p><b>审核人:</b>' . $user_session->user_info['user_name'] . '</p>
                                         <p><b>审核结果:</b>' . $reviewResult . '</p>
                                         <p><b>审核意见:</b>' . $review_remark . '</p>
                                         <p><b>申请单号:</b>' . $priceData['number'] . '</p>
                                         <p><b>申请人:</b>' . $priceData['creater'] . '</p>
                                         <p><b>描述:</b>' . $priceData['description'] . '</p>
                                         <p><b>备注:</b>' . $priceData['remark'] . '</p>
                                         <hr>
                                         <p><b>审核日志:</b></p><p>' . $reqUpdateData['review_info'] . '</p>
                                         </div>';
                             $mailData = array('type' => '消息', 'subject' => '销售价格申请-新申请', 'cc' => $user_session->user_info['user_email'], 'content' => $mailContent, 'add_date' => $now);
                             $resultMail = $help->sendMailToStep($mailTo, $mailData);
                             if (!$resultMail['success']) {
                                 $result = $resultMail;
                             }
                         }
                     } else {
                         $data = array('actual_user' => $actual_user);
                         $review->update($data, "id = " . $review_current_step);
                         // 等待其他审核人批准
                     }
                 }
                 // 更新申请状态
                 $price->update($reqUpdateData, "id = " . $review_id);
             }
         }
     }
     echo Zend_Json::encode($result);
     exit;
 }