public AuditOrderListModel GetAuditFltOrderList(AuditFltOrderListQueryModel query) { AuditOrderListModel result = new AuditOrderListModel { DataList = new List <AuditOrderListDataModel>() }; if (!query.IsAudit)//待审核信息 { List <AuditOrderListDataModel> fltList = _getAuditFltOrderListBll.GetAuditFltOrderList(query); List <AuditOrderListDataModel> modList = _getAuditFltModApplyListBll.GetAuditFltOrderList(query); List <AuditOrderListDataModel> retList = _getAuditFltRetApplyListBll.GetAuditFltOrderList(query); if (fltList != null && fltList.Count > 0) { result.DataList.AddRange(fltList); } if (modList != null && modList.Count > 0) { result.DataList.AddRange(modList); } if (retList != null && retList.Count > 0) { result.DataList.AddRange(retList); } } else//已审核信息 { List <AuditOrderListDataModel> fltList = _getAuditFltOrderListBll.GetAlreadyAuditFltOrderList(query); List <AuditOrderListDataModel> modList = _getAuditFltModApplyListBll.GetAlreadyAuditFltOrderList(query); List <AuditOrderListDataModel> retList = _getAuditFltRetApplyListBll.GetAlreadyAuditFltOrderList(query); if (fltList != null && fltList.Count > 0) { result.DataList.AddRange(fltList); } if (modList != null && modList.Count > 0) { result.DataList.AddRange(modList); } if (retList != null && retList.Count > 0) { result.DataList.AddRange(retList); } //result.DataList = result.DataList.OrderByDescending(n => n.AuditTime).ToList(); } return(result); }
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); }
/// <summary> /// 获取待审批信息 /// </summary> /// <param name="query"></param> /// <returns></returns> public AuditOrderListModel GetWaitCorpAduitOrderList(AuditOrderListQueryModel query) { AuditOrderListModel resultModel = new AuditOrderListModel(); #region 分页查询 var select = from aduitOrder in Context.Set <CorpAduitOrderEntity>().AsNoTracking() join flow in Context.Set <CorpAduitOrderFlowEntity>().AsNoTracking() on new { AduitOrderId = aduitOrder.AduitOrderId, CurrentFlow = aduitOrder.CurrentFlow } equals new { AduitOrderId = flow.AduitOrderId, CurrentFlow = flow.Flow } into a from flow in a.DefaultIfEmpty() where aduitOrder.CurrentFlow > 0 && flow.FlowCid == query.AuditCid && !flow.DealResult.HasValue && aduitOrder.Status != 7 && aduitOrder.Status != 6 && (aduitOrder.IsDel ?? 0) == 0 select new AuditOrderListDataModel() { Id = aduitOrder.AduitOrderId, AuditStatusInt = aduitOrder.Status, CurrentAuditCid = flow.FlowCid, CreateTime = aduitOrder.CreateTime, CurrentFlow = aduitOrder.CurrentFlow }; if (query.AllowShowDataBeginTime.HasValue) { select = select.Where(n => n.CreateTime > query.AllowShowDataBeginTime.Value); } resultModel.TotalCount = select.Count();//查询所有结果的数量 select = select.OrderByDescending(n => n.CreateTime).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize); resultModel.DataList = select.ToList();//分页结果 if (resultModel.DataList == null || resultModel.DataList.Count == 0) { return(resultModel); } #endregion List <int> aduitOrderIdList = new List <int>(); resultModel.DataList.ForEach(n => { aduitOrderIdList.Add(n.Id); }); List <CorpAduitOrderDetailEntity> corpAduitOrderDetailEntities = _corpAduitOrderDetailDal.Query <CorpAduitOrderDetailEntity>( n => aduitOrderIdList.Contains(n.AduitOrderId), true).ToList(); List <AuditOrderDetailModel> auditOrderDetailModels = new List <AuditOrderDetailModel>(); foreach (var detail in corpAduitOrderDetailEntities) { AuditOrderDetailModel model = new AuditOrderDetailModel() { OrderId = detail.OrderId, Id = detail.AduitOrderId, OrderType = detail.OrderType.ValueToEnum <OrderSourceTypeEnum>() }; auditOrderDetailModels.Add(model); } foreach (var aduitOrder in resultModel.DataList) { aduitOrder.DetailList = auditOrderDetailModels.FindAll(n => n.Id == aduitOrder.Id); } return(resultModel); }