public void ValuateTransportationOrder(TransportationOrder order, User user)
        {
            order = this.LoadTransportationOrder(order.OrderNo, true);

            if (order.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
            {
                throw new BusinessErrorException("TransportationOrder.Error.StatusErrorWhenValuate", order.Status, order.OrderNo);
            }
            if (order.IsValuated)
            {
                return;
            }

            #region 计费
            transportationActBillMgr.CreateTransportationActBill(order, user);
            #endregion

            #region 更新费用单
            if (order.Expense != null)
            {
                Expense expense = order.Expense;
                expense.IsReferenced   = true;
                expense.LastModifyDate = DateTime.Now;
                expense.LastModifyUser = user;
                expenseMgr.UpdateExpense(expense);
            }
            #endregion


            #region 更新运单
            order.LastModifyDate = DateTime.Now;
            order.LastModifyUser = user;
            order.IsValuated     = true;
            this.UpdateTransportationOrder(order);
            #endregion
        }