コード例 #1
0
        public ResponseBaseViewModel <QueryFlightRetApplyResponseViewModel> QueryRetApply(QueryFltRetModApplyRequestViewModel request)
        {
            request.Cid = this.GetCid();
            QueryFlightRetApplyResponseViewModel responseViewModel =
                _queryFlightRetApplyApplication.QueryFlightRetApply(request);
            ResponseBaseViewModel <QueryFlightRetApplyResponseViewModel> v =
                new ResponseBaseViewModel <QueryFlightRetApplyResponseViewModel>
            {
                Flag = new ResponseCodeViewModel()
                {
                    Code = 0, MojoryToken = this.GetToken()
                },
                Data = responseViewModel
            };


            return(v);
        }
コード例 #2
0
        public QueryFlightRetApplyResponseViewModel QueryFlightRetApply(QueryFltRetModApplyRequestViewModel request)
        {
            if (!request.Rmid.HasValue)
            {
                throw new Exception("请传入Rmid参数");
            }


            //1.查询机场信息
            SearchCityAportModel aportModel = _getCityForFlightServiceBll.SearchAirport(new List <string>()
            {
                "N"
            });
            //2.根据Cid查询客户信息
            CustomerModel customerModel = _getCustomerServiceBll.GetCustomerByCid(request.Cid);
            //调用查询该客户的差旅政策服务
            List <ChoiceReasonModel> reasonModels =
                _getCustomerCorpPolicyServiceBll.GetCorpReasonByCorpId(customerModel.CorpID)?
                .FindAll(n => n.PolicyType == "N");

            QueryFlightRetApplyQueryModel query =
                Mapper.Map <QueryFltRetModApplyRequestViewModel, QueryFlightRetApplyQueryModel>(request);

            query.AportInfo = aportModel;
            query.CorpId    = customerModel.CorpID;
            query.Customer  = customerModel;
            if (!string.IsNullOrEmpty(query.CorpId))
            {
                query.CorpCustomerList = _getCustomerServiceBll.GetCustomerByCorpId(query.CorpId);
            }
            query.PolicyReasonList = reasonModels;

            //判断当前客户是该订单的审批人
            query.IsFromAduitQuery = _checkAduitOrderServiceBll.CheckAduitCidHasOrderId(request.Cid,
                                                                                        request.Rmid ?? 0);

            QueryFlightRetApplyModel queryFlightRetApplyModel = _queryFlightRetApplyServiceBll.QueryRetApply(query);

            if (queryFlightRetApplyModel != null && customerModel.Corporation != null && customerModel.Corporation.AllowShowDataBeginTime.HasValue)
            {
                if (customerModel.Corporation.AllowShowDataBeginTime > queryFlightRetApplyModel.CreateTime)
                {
                    throw new Exception("查无此退票申请");
                }
            }

            List <CorpAduitOrderInfoModel> corpAduitOrderInfoModels =
                _getCorpAduitOrderServiceBll.GetAduitOrderInfoByOrderId(queryFlightRetApplyModel.Rmid);

            if (corpAduitOrderInfoModels != null && corpAduitOrderInfoModels.Count > 0)
            {
                queryFlightRetApplyModel.AduitOrderId     = corpAduitOrderInfoModels[0].AduitOrderId;
                queryFlightRetApplyModel.AduitOrderStatus = corpAduitOrderInfoModels[0].Status;
                if (!string.IsNullOrEmpty(corpAduitOrderInfoModels[0].NextAduitName))
                {
                    queryFlightRetApplyModel.AuditStatus = string.Format("待{0}审批", corpAduitOrderInfoModels[0].NextAduitName);
                    if (corpAduitOrderInfoModels[0].NextAduitCidList.Contains(request.Cid))
                    {
                        queryFlightRetApplyModel.IsCurrentCustomerAduitOrder = true;
                    }
                }
            }
            QueryFlightRetApplyResponseViewModel responseViewModel = Mapper.Map <QueryFlightRetApplyModel, QueryFlightRetApplyResponseViewModel>(
                queryFlightRetApplyModel);


            responseViewModel.PolicyReason = (from n in reasonModels
                                              select new SortedListViewModel()
            {
                Key = n.Id,
                Value = n.Reason
            }).ToList();

            return(responseViewModel);
        }