Exemple #1
0
 function cancelOrder($id)
 {
     $result = array('success' => true, 'info' => '取消成功');
     $order = new Erp_Model_Purchse_Order();
     $orderData = $order->getData(null, $id);
     // 取消订单:如当前订单状态为被拒绝,则直接取消,否则检查是否存在收货订单项
     if ($orderData['state'] == 1) {
         $order->cancelOrderById($id);
     } else {
         $receiveItems = new Erp_Model_Purchse_Receiveitems();
         $items = $receiveItems->getReceivedOrderItems($orderData['number']);
         if (count($items)) {
             $codeArr = array();
             foreach ($items as $item) {
                 array_push($codeArr, $item['code']);
             }
             $result['success'] = false;
             $result['info'] = '取消失败,[' . implode(',', $codeArr) . '] 已收货!';
         } else {
             $order->cancelOrderById($id);
         }
     }
     return $result;
 }