public AuditResultModel DoSecondAudit(AuditModApplySecond secondAudit) { FltRetModApplyEntity modApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(_modApplyQuery.Id); List <FltRetModFlightApplyEntity> modFlightApplyEntities = _fltRetModFlightApplyDal.Query <FltRetModFlightApplyEntity>(n => n.Rmid == modApplyEntity.Rmid).ToList(); FltRetModApplyLogEntity log = new FltRetModApplyLogEntity() { Rmid = modApplyEntity.Rmid, Oid = "sys", LogType = "审批申请", LogTime = DateTime.Now }; #region 进行审批 List <string> properties = new List <string>(); if (IsAgree) { modApplyEntity.OrderStatus = FltModApplyStatusEnum.P.ToString(); log.Remark = "改签申请审核状态:二级审核通过。二级审核人:" + _modApplyQuery.AuditCustomer?.RealName; } else { modApplyEntity.OrderStatus = FltModApplyStatusEnum.C.ToString(); log.Remark = "改签申请审核状态:二级审核不通过。二级审核人:" + _modApplyQuery.AuditCustomer?.RealName; } #endregion modFlightApplyEntities.ForEach(n => n.OrderStatus = modApplyEntity.OrderStatus); properties.Add("OrderStatus"); _fltRetModApplyDal.Update(modApplyEntity, properties.ToArray()); modFlightApplyEntities.ForEach(n => { _fltRetModFlightApplyDal.Update(n, properties.ToArray()); }); _fltRetModApplyLogDal.Insert(log); return(new AuditResultModel() { Code = 0, AuditResult = log.Remark, OwnCid = modApplyEntity.Cid, Id = modApplyEntity.Rmid, OrderType = OrderSourceTypeEnum.FltModApply }); }
/// <summary> /// 改签申请核价待确认 /// </summary> /// <returns></returns> private void GetFltModApplyConfireAuditPriceMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltModApply && sendAppMessageModel.SendType == SendAppMessageTypeEnum.ConfireAuditPriceNotice) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("您的机票改签申请{0}已经核价成功,请确认核价", fltRetModApplyEntity.OrderId); } }
public ConfirmRetModAuditPriceResultModel ConfirmRetAuditPrice(ConfirmRetModAuditPriceModel query) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(query.Rmid); if (fltRetModApplyEntity == null) { throw new Exception("查无此申请"); } if (fltRetModApplyEntity.OrderStatus != FltRetApplyStatusEnum.A.ToString()) { throw new Exception("该审核已经提交审批"); } fltRetModApplyEntity.EditOid = query.Cid.ToString(); fltRetModApplyEntity.EditTime = DateTime.Now; fltRetModApplyEntity.OrderStatus = FltRetApplyStatusEnum.D.ToString(); _fltRetModApplyDal.Update(fltRetModApplyEntity, new string[] { "EditOid", "EditTime", "OrderStatus" }); bool isViolatePolicy = false; foreach (var detail in query.DetailList) { FltRetModFlightApplyEntity flightApplyEntity = _fltRetModFlightApplyDal.Query <FltRetModFlightApplyEntity>( n => n.Rmid == query.Rmid && n.Sequence == detail.Sequence && n.Pid == detail.Pid) .FirstOrDefault(); if (flightApplyEntity == null) { continue; } if (!string.IsNullOrEmpty(flightApplyEntity.PolicyDesc)) { isViolatePolicy = true; } flightApplyEntity.OrderStatus = fltRetModApplyEntity.OrderStatus; flightApplyEntity.ChoiceReasonId = detail.ChoiceReasonId; _fltRetModFlightApplyDal.Update(flightApplyEntity, new string[] { "ChoiceReasonId", "OrderStatus" }); } FltRetModApplyLogEntity log = new FltRetModApplyLogEntity() { Rmid = fltRetModApplyEntity.Rmid, LogTime = DateTime.Now, LogType = "修改退票申请", Oid = "sys", Remark = "进行核价" }; _fltRetModApplyLogDal.Insert(log); return(new ConfirmRetModAuditPriceResultModel() { IsSuccess = true, Rmid = fltRetModApplyEntity.Rmid, CorpAduitId = fltRetModApplyEntity.CorpAduitId, CorpPolicyId = fltRetModApplyEntity.CorpPolicyId, OwnCid = fltRetModApplyEntity.Cid, IsViolatePolicy = isViolatePolicy }); }
/// <summary> /// 核价确认阶段取消申请 /// </summary> /// <param name="query"></param> /// <returns></returns> public int CancelFltModApplyByWaitAuditStep(CancelFltRetModApplyModel query) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(query.Rmid); string orderType = fltRetModApplyEntity.OrderType == "M" ? "改签" : "退票"; if (!string.IsNullOrEmpty(query.Customer?.UserID) && query.Customer.UserID.ToLower() != "administrator" && query.Customer.Cid != fltRetModApplyEntity.Cid) { throw new Exception($"查无此{orderType}申请"); } if (!string.IsNullOrEmpty(query.Customer?.UserID) && query.Customer.UserID.ToLower() == "administrator") { throw new Exception($"管理员帐号不能取消{orderType}申请"); } string orderStatus = FltModApplyStatusEnum.C.ToString(); string wOrderStatus = FltModApplyStatusEnum.A.ToString(); if (fltRetModApplyEntity.OrderType == "R") { orderStatus = FltRetApplyStatusEnum.C.ToString(); wOrderStatus = FltRetApplyStatusEnum.A.ToString(); } if (fltRetModApplyEntity.OrderStatus == orderStatus) { throw new Exception($"当前{orderType}申请已经取消!"); } if (fltRetModApplyEntity.OrderStatus != wOrderStatus) { throw new Exception($"当前{orderType}申请无法取消!"); } fltRetModApplyEntity.OrderStatus = orderStatus; _fltRetModApplyDal.Update(fltRetModApplyEntity, new string[] { "OrderStatus" }); List <FltRetModFlightApplyEntity> fltRetModFlightApplyEntities = _fltRetModFlightApplyDal.Query <FltRetModFlightApplyEntity>(n => n.Rmid == query.Rmid, true).ToList(); foreach (var fltRetModFlightApplyEntity in fltRetModFlightApplyEntities) { fltRetModFlightApplyEntity.OrderStatus = orderStatus; _fltRetModFlightApplyDal.Update(fltRetModFlightApplyEntity, new string[] { "OrderStatus" }); } FltRetModApplyLogEntity log = new FltRetModApplyLogEntity(); log.LogTime = DateTime.Now; log.LogType = "取消申请"; log.Oid = "Sys"; log.Remark = "核价确认时取消了申请"; log.Rmid = query.Rmid; _fltRetModApplyLogDal.Insert(log); return(0); }
public FltRetModApplyModel GetRetModApply(int rmid) { FltRetModApplyEntity fltRetModApply = _fltRetModApplyDal.Find <FltRetModApplyEntity>(rmid); List <FltRetModFlightApplyEntity> fltRetModFlightApplyEntities = _fltRetModFlightApplyDal.Query <FltRetModFlightApplyEntity>(n => n.Rmid == rmid).ToList(); List <FltRetModApplyLogEntity> fltRetModApplyLogEntities = _fltRetModApplyLogDal.Query <FltRetModApplyLogEntity>(n => n.Rmid == rmid).ToList(); FltRetModApplyModel fltRetModApplyModel = Mapper.Map <FltRetModApplyEntity, FltRetModApplyModel>(fltRetModApply); fltRetModApplyModel.DetailList = Mapper.Map <List <FltRetModFlightApplyEntity>, List <FltRetModFlightApplyModel> >( fltRetModFlightApplyEntities); fltRetModApplyModel.LogList = Mapper.Map <List <FltRetModApplyLogEntity>, List <FltRetModApplyLogModel> >( fltRetModApplyLogEntities); List <SearchCityModel> cityModels = AportInfo?.CountryList.SelectMany(n => n.CityList).ToList(); List <SearchAirportModel> airportModels = cityModels?.SelectMany(n => n.AirportList).ToList(); #region 乘机人信息 List <int> pidList = fltRetModApplyModel.DetailList.Select(n => n.Pid).ToList(); List <FltPassengerEntity> passengerEntities = _fltPassengerDal.Query <FltPassengerEntity>(n => pidList.Any(x => x == n.PId)).ToList(); #endregion //4.获取仓等信息 List <FltClassNameModel> classNameModels = _getClassNameBll.GetFlightClassName(); fltRetModApplyModel.DetailList.ForEach(n => { FltFlightEntity orderFlightEntity = _fltFlightDal.Query <FltFlightEntity>(x => x.OrderId == fltRetModApplyModel.OrderId && x.Sequence == n.Sequence) .FirstOrDefault(); if (orderFlightEntity != null) { if (!n.TackoffTime.HasValue) { n.TackoffTime = orderFlightEntity.TackoffTime; } if (string.IsNullOrEmpty(n.FlightNo)) { n.FlightNo = orderFlightEntity.FlightNo; } } string dport = n.Dport.ToLower(); if (fltRetModApplyModel.OrderType == "R" && orderFlightEntity != null) { dport = orderFlightEntity.Dport.ToLower(); } SearchAirportModel airportModel = airportModels.Find(x => x.AirportCode.ToLower() == dport); if (airportModel != null) { n.DportName = airportModel.AirportName; SearchCityModel cityModel = cityModels.Find(x => x.CityCode.ToLower() == airportModel.CityCode.ToLower()); n.DportCity = cityModel.CityName; } string aport = n.Aport.ToLower(); if (fltRetModApplyModel.OrderType == "R" && orderFlightEntity != null) { aport = orderFlightEntity.Aport.ToLower(); } SearchAirportModel airportModel2 = airportModels.Find(x => x.AirportCode.ToLower() == aport); if (airportModel2 != null) { n.AportName = airportModel2.AirportName; SearchCityModel cityModel2 = cityModels.Find(x => x.CityCode.ToLower() == airportModel2.CityCode.ToLower()); n.AportCity = cityModel2.CityName; } FltPassengerModel passengerModel = Mapper.Map <FltPassengerEntity, FltPassengerModel>(passengerEntities.Find(x => x.PId == n.Pid)); n.PassengerModel = passengerModel; if (fltRetModApplyModel.OrderType == "R") { n.PassengerModel.RefundTicketNo = n.TicketNo; } if (n.ChoiceReasonId.HasValue) { n.ChoiceReason = PolicyReasonList?.Find(x => x.Id == n.ChoiceReasonId.Value)?.Reason; } FltClassNameModel classNameModel = classNameModels.Find( x => !string.IsNullOrEmpty(x.MClass) && !string.IsNullOrEmpty(n.Class) && x.MClass.ToLower() == n.Class.ToLower() && !string.IsNullOrEmpty(x.AirlineCode) && !string.IsNullOrEmpty(n.FlightNo) && x.AirlineCode.ToLower() == n.FlightNo.Substring(0, 2).ToLower()); if (classNameModel != null) { n.ClassName = classNameModel.ClassName; } }); return(fltRetModApplyModel); }