/**
  * 保存申请单
  *
  * @param $data
  */
 public function orderSave($data)
 {
     import("@.Action.AutoNo.AutoNoAction");
     $orderno = '';
     $orderno = '';
     $orderhead = new PurchaseOrderHeadDao();
     $orderdetail = new PurchaseOrderDetailDao();
     $head = $data["head"];
     $detail = $data["detail"];
     try {
         $orderhead->startTrans();
         $orderdetail->startTrans();
         //head
         if ($head["id"] == null) {
             $orderno = AutoNoAction::getAutoNo('orderno');
             $head["orderNo"] = $orderno;
             $reuslt = $orderhead->add($head);
             if (!$reuslt) {
                 throw new Exception("新增申请单头出错!");
                 $orderhead->rollback();
             }
         } else {
             $orderno = $head["orderNo"];
             $reuslt = $orderhead->save($head);
             if (!$reuslt) {
                 throw new Exception("保存申请单头出错!");
                 $orderhead->rollback();
             }
         }
         //detail
         $orderdetail->startTrans();
         $result = $orderdetail->deleteAll("orderNo = '" . $head["orderNo"] . "'");
         if (!$result) {
             throw new Exception("删除申请单明细出错!");
             $orderhead->rollback();
             $orderdetail->rollback();
         }
         foreach ($detail as $item) {
             $item["orderNo"] = $head["orderNo"];
             if (trim($item["goodsNo"]) == '' || $item["goodsNo"] == null) {
                 continue;
             }
             $vo = $orderdetail->createVo('add', '', 'id', 0, $item);
             $result = $orderdetail->add($vo);
             if (!$result) {
                 throw new Exception("保存申请单明细出错!");
                 $orderhead->rollback();
                 $orderdetail->rollback();
             }
         }
     } catch (Exception $e) {
         throw new ExcelDateUtil($e);
         $orderdetail->rollback();
         $orderhead->rollback();
     }
     //commit;
     $orderhead->commit();
     $orderdetail->commit();
     return $orderno;
 }