public TraOrderInfoModel GetTraOrderByOrderId(int orderId) { TraOrderEntity traOrderEntity = _traOrderDal.Find <TraOrderEntity>(orderId); if (traOrderEntity == null) { return(null); } TraOrderModel traOrderModel = Mapper.Map <TraOrderEntity, TraOrderModel>(traOrderEntity); TraOrderStatusEntity traOrderStatusEntity = _traOrderStatusDal.Query <TraOrderStatusEntity>(n => n.OrderId == orderId, true).FirstOrDefault(); TraOrderStatusModel traOrderStatusModel = Mapper.Map <TraOrderStatusEntity, TraOrderStatusModel>(traOrderStatusEntity); List <TraOrderDetailEntity> traOrderDetailEntities = _traOrderDetailDal.Query <TraOrderDetailEntity>(n => n.OrderId == orderId, true).ToList(); List <TraOrderDetailModel> traOrderDetailModels = Mapper.Map <List <TraOrderDetailEntity>, List <TraOrderDetailModel> >(traOrderDetailEntities); List <int> odIdList = new List <int>(); traOrderDetailModels.ForEach(n => odIdList.Add(n.OdId)); List <TraPassengerEntity> traPassengerEntities = _traPassengerDal.Query <TraPassengerEntity>(n => odIdList.Contains(n.OdId), true).ToList(); List <TraPassengerModel> traPassengerModels = Mapper.Map <List <TraPassengerEntity>, List <TraPassengerModel> >(traPassengerEntities); foreach (var detail in traOrderDetailModels) { detail.PassengerList = new List <TraPassengerModel>(); var passengerModel = traPassengerModels.FindAll(n => n.OdId == detail.OdId); detail.PassengerList.AddRange(passengerModel); } TraOrderInfoModel orderInfoModel = new TraOrderInfoModel(); orderInfoModel.Order = traOrderModel; orderInfoModel.OrderStatus = traOrderStatusModel; orderInfoModel.OrderDetailList = traOrderDetailModels; return(orderInfoModel); }
public ConfirmTraHoldSeatResponseViewModel ConfirmTraHoldSeat(ConfirmTraHoldSeatRequestViewModel request) { if (request.IsAgree)//同意占位结果 { TraOrderInfoModel traOrderInfoModel = _getTraOrderServiceBll.GetTraOrderByOrderId(request.OrderId); #region 送审 SubmitCorpAduitOrderModel submitCorpAduitOrder = new SubmitCorpAduitOrderModel() { OrderInfoList = new List <SubmitCorpAduitOrderDetailModel>() { new SubmitCorpAduitOrderDetailModel() { OrderId = request.OrderId, OrderType = OrderSourceTypeEnum.Tra } }, PolicyId = traOrderInfoModel?.Order?.CorpPolicyId, AduitConfigId = traOrderInfoModel?.Order?.CorpAduitId, Source = request.OrderSource, SubmitCid = request.Cid, SubmitOid = request.Oid, IsViolatePolicy = traOrderInfoModel?.IsViolatePolicy, OrderType = OrderSourceTypeEnum.Tra }; _submitCorpAduitOrderServiceBll.Submit(submitCorpAduitOrder); #endregion if (!_submitCorpAduitOrderServiceBll.IsSendAduit)//没有送审的,直接发起出票请求 { TraOrderConfirmResponseModel traOrderConfirmResponseModel = _requestPrintTicketServiceBll.RequestPrintTicket(request.OrderId); return(new ConfirmTraHoldSeatResponseViewModel() { IsSuccessed = traOrderConfirmResponseModel.success, Message = traOrderConfirmResponseModel.msg }); } return(new ConfirmTraHoldSeatResponseViewModel() { IsSuccessed = true }); } else { #region 意 //取消订单 _cancelTraOrderServiceBll.CancelTraOrder(new CancelTraOrderModel() { OrderId = request.OrderId, CancelReason = "取消占位,取消订单" }); //取消接口订单 TraOrderCancelResponseModel traOrderCancelResponseModel = _requestCancelOrderServiceBll.RequestCancelOrder(request.OrderId); return(new ConfirmTraHoldSeatResponseViewModel() { IsSuccessed = traOrderCancelResponseModel.success, Message = traOrderCancelResponseModel.msg }); #endregion } }
public GetAuditOrderListResponseViewModel GetAuditOrderList(GetAuditOrderListRequestViewModel request) { //1.根据Cid查询客户信息 CustomerModel customerModel = _getCustomerServiceBll.GetCustomerByCid(request.Cid); if (string.IsNullOrEmpty(customerModel.IsCheckPerson) || customerModel.IsCheckPerson.ToUpper() != "T") { throw new Exception("当前用户无权审批"); } AuditOrderListModel list = null; if (request.AuditType == 1)//待审批信息 { #region 待审批信息 list = _getCorpAduitOrderListServiceBll.GetWaitCorpAduitOrderList(new AuditOrderListQueryModel() { AuditCid = request.Cid, PageSize = request.PageSize, PageIndex = request.PageIndex, Customer = customerModel }); #endregion } else if (request.AuditType == 2)//审批通过 { #region 审批通过 list = _getCorpAduitOrderListServiceBll.GetPassCorpAduitOrderList(new AuditOrderListQueryModel() { AuditCid = request.Cid, PageSize = request.PageSize, PageIndex = request.PageIndex, Customer = customerModel }); #endregion } else if (request.AuditType == 3)//审批不通过 { #region 审批不通过 list = _getCorpAduitOrderListServiceBll.GetNoPassCorpAduitOrderList(new AuditOrderListQueryModel() { AuditCid = request.Cid, PageSize = request.PageSize, PageIndex = request.PageIndex, Customer = customerModel }); #endregion } #region 组装审批内容 if (list != null && list.DataList != null && list.DataList.Count > 0) { //查询机场信息 _getFltOrderBll.AportInfo = _getCityForFlightServiceBll.SearchAirport(new List <string>() { "N" }); _getFlightRetModApplyBll.AportInfo = _getCityForFlightServiceBll.SearchAirport(new List <string>() { "N" }); //调用查询该客户的差旅政策服务 List <ChoiceReasonModel> reasonModels = _getCustomerCorpPolicyServiceBll.GetCorpReasonByCorpId(customerModel.CorpID); _getFlightRetModApplyBll.PolicyReasonList = reasonModels; foreach (var data in list.DataList) { foreach (var detail in data.DetailList) { if (detail.OrderType == OrderSourceTypeEnum.Flt) { FltOrderInfoModel fltOrderInfoModel = _getFltOrderBll.GetFltOrderById(detail.OrderId); if (fltOrderInfoModel == null) { continue; } detail.ChoiceReason = fltOrderInfoModel.ChoiceReason; detail.CorpPolicy = fltOrderInfoModel.CorpPolicy; detail.OrderAmount = fltOrderInfoModel.Payamount; detail.PassengerNameList = fltOrderInfoModel.PassengerNameList; detail.TackOffTimeList = fltOrderInfoModel.TackOffTimeList; detail.TravelList = fltOrderInfoModel.TravelList; detail.OrderIdDes = fltOrderInfoModel.OrderId.ToString(); } else if (detail.OrderType == OrderSourceTypeEnum.FltModApply || detail.OrderType == OrderSourceTypeEnum.FltRetApply) { FltRetModApplyModel fltRetModApplyModel = _getFlightRetModApplyBll.GetRetModApply(detail.OrderId); if (fltRetModApplyModel == null) { continue; } detail.ChoiceReason = fltRetModApplyModel.ChoiceReason; detail.CorpPolicy = fltRetModApplyModel.CorpPolicy; detail.OrderAmount = fltRetModApplyModel.TotalAuditPrice; detail.PassengerNameList = fltRetModApplyModel.PassengerNameList; detail.TackOffTimeList = fltRetModApplyModel.TackOffTimeList; detail.TravelList = fltRetModApplyModel.TravelList; detail.OrderIdDes = fltRetModApplyModel.OrderId.ToString(); } else if (detail.OrderType == OrderSourceTypeEnum.Tra) { TraOrderInfoModel traOrderInfoModel = _getTraOrderServiceBll.GetTraOrderByOrderId(detail.OrderId); if (traOrderInfoModel == null) { continue; } detail.ChoiceReason = traOrderInfoModel.ChoiceReason; detail.CorpPolicy = traOrderInfoModel.CorpPolicy; detail.OrderAmount = traOrderInfoModel.Order.TotalMoney; detail.PassengerNameList = traOrderInfoModel.PassengerNameList; detail.TackOffTimeList = traOrderInfoModel.TackOffTimeList; detail.TravelList = traOrderInfoModel.TravelList; detail.OrderIdDes = traOrderInfoModel.Order.OrderId.ToString(); } } } } #endregion GetAuditOrderListResponseViewModel responseViewModel = Mapper.Map <AuditOrderListModel, GetAuditOrderListResponseViewModel>(list); return(responseViewModel); }