/// <summary> /// 服务执行 /// </summary> /// <param name="requestEntity">请求数据</param> /// <param name="responseEntity">返回数据</param> protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { IDictionary <string, string> paraDict = requestEntity.Parameters; SearchBusinessListFilter filter = ServiceUtility.ConvertToFilterFromDict <SearchBusinessListFilter>(paraDict); // 检索数据 Singleton <BusinessDetailBLL> .Instance.SearchData(filter, responseEntity); }
/// <summary> /// 服务执行 /// </summary> /// <param name="requestEntity">请求数据</param> /// <param name="responseEntity">返回数据</param> protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { // 定义接收客户端参数的变量 SearchBusinessListFilter filter = ServiceUtility.ConvertToFilterFromDict <SearchBusinessListFilter>(requestEntity.Parameters); filter.UserId = responseEntity.UserId; // 订单更新 Singleton <BusinessRectionBLL> .Instance.RectionData(filter, responseEntity); }
/// <summary> /// 检索数据 /// </summary> /// <param name="baseFilter"></param> /// <param name="responseEntity"></param> public void GetLatestCloseTime(SearchBusinessListFilter baseFilter, ResponseEntity responseEntity) { if (baseFilter == null) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError); return; } var viewData = new LatestCloseTimeViewData(); // 银行账户 var bankAccounts = Singleton <RedisEnumOperatorBLL> .Instance.GetEnumRedisDataEntitys <BankAccountRedisEntity>(); if (bankAccounts == null || bankAccounts.Count == 0) { viewData.LatestTime = DateTime.MinValue; SetResult(viewData, responseEntity); return; } var bankAccount = bankAccounts.FirstOrDefault(p => p.BankAccountID == baseFilter.BankAccountID); if (bankAccount == null) { viewData.LatestTime = DateTime.MinValue; SetResult(viewData, responseEntity); return; } // 关帐日 var closeBillDays = Singleton <RedisEnumOperatorBLL> .Instance.GetEnumRedisDataEntitys <CloseBillDayRedisEntity>(); if (closeBillDays == null || closeBillDays.Count == 0) { viewData.LatestTime = DateTime.MinValue; SetResult(viewData, responseEntity); return; } var closeBillDay = closeBillDays.FirstOrDefault(p => p.CompanyKey == bankAccount.CompanyKey); if (closeBillDay == null) { viewData.LatestTime = DateTime.MinValue; } else { viewData.LatestTime = closeBillDay.LatestTime; } SetResult(viewData, responseEntity); }
protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { IDictionary <string, string> paraDict = requestEntity.Parameters; SearchBusinessListFilter filter = LogicUtility.ConvertToFilterFromDict <SearchBusinessListFilter>(paraDict); List <MongoBusiness> mongoBusinessList = Singleton <BusinessInfo> .Instance.GetBusinessList(filter); ResponseListResult <MongoBusiness> result = new ResponseListResult <MongoBusiness>(); result.TotalCount = (int)filter.RecordCount; result.LstResult = mongoBusinessList; responseEntity.ResponseStatus = (int)EnumResponseState.Success; responseEntity.Results = result; }
/// <summary> /// 服务执行 /// </summary> /// <param name="requestEntity">请求数据</param> /// <param name="responseEntity">返回数据</param> protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { // 定义接收客户端参数的变量 SearchBusinessListFilter filter = ServiceUtility.ConvertToFilterFromDict <SearchBusinessListFilter>(requestEntity.Parameters); filter.UserId = responseEntity.UserId; List <string> companys = Singleton <RedisEnumOperatorBLL> .Instance.GetUserOwnCompanyKeys(responseEntity.UserId); filter.BranchKey = string.Join("','", companys.ToArray()); // 订单更新 Singleton <BaseUpdateBLL <BusinessUpdateInfoDAL> > .Instance.UpdateData(filter, responseEntity); }
/// <summary> /// 获取更新数据库存储过程的参数 /// </summary> /// <param name="baseFilter"></param> /// <returns></returns> protected override IDictionary <string, object> GetUpdateSpInParams(BaseFilter baseFilter) { SearchBusinessListFilter filter = baseFilter as SearchBusinessListFilter; if (filter == null) { return(null); } IDictionary <string, object> inPutParam = new Dictionary <string, object>(); inPutParam.Add("@BusinessNo", filter.BusinessID); inPutParam.Add("@ContractNo", filter.ContractNo); inPutParam.Add("@BranchKey", filter.BranchKey); return(inPutParam); }
/// <summary> /// 检索数据 /// </summary> /// <param name="baseFilter"></param> /// <param name="responseEntity"></param> public void RectionData(SearchBusinessListFilter baseFilter, ResponseEntity responseEntity) { if (baseFilter == null) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError); return; } // 获取订单信息 Business business = BusinessHelper.GetBusinessInfo(baseFilter); if (business == null || business.Bills.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult, "无账单处理!"); m_Logger.Info("无账单处理!"); return; } List <long> lstBillItemIDs = new List <long>(); // 获取实收信息 var lstReceiveds = GetReceivedInfo(business, baseFilter.RecTime, responseEntity.UserId, ref lstBillItemIDs); if (lstReceiveds == null || lstReceiveds.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult, "无实收信息处理!"); m_Logger.Info("无实收信息处理!"); return; } string guid = Guid.NewGuid().ToString(); string billItemIds = string.Join(",", lstBillItemIDs.ToArray()); baseFilter.BillItemIds = billItemIds; baseFilter.Guid = guid; // 保存实收信息到数据库 BusinessHelper.SaveReceivedTempDataBase(guid, lstReceiveds); // 订单更新 Singleton <BaseUpdateBLL <BusinessRectionDAL> > .Instance.UpdateData(baseFilter, responseEntity); ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); }
/// <summary> /// 服务执行 /// </summary> /// <param name="requestEntity">请求数据</param> /// <param name="responseEntity">返回数据</param> protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { IDictionary <string, string> paraDict = requestEntity.Parameters; SearchBusinessListFilter filter = ServiceUtility.ConvertToFilterFromDict <SearchBusinessListFilter>(paraDict); List <BusinessViewData> businessViewDataList = Singleton <BusinessDAL> .Instance.GetViewData(filter); if (filter.RecordCount <= 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult); m_Logger.Info("未查询到数据。"); return; } else { ResponseListResult <BusinessViewData> result = new ResponseListResult <BusinessViewData>(); result.TotalCount = (int)filter.RecordCount; result.LstResult = businessViewDataList; responseEntity.ResponseStatus = (int)EnumResponseState.Success; responseEntity.Results = result; } }
/// <summary> /// 检索数据 /// </summary> /// <param name="baseFilter"></param> /// <param name="responseEntity"></param> public void SearchData(SearchBusinessListFilter baseFilter, ResponseEntity responseEntity) { if (baseFilter == null) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError); return; } List <string> companys = Singleton <RedisEnumOperatorBLL> .Instance.GetUserOwnCompanyKeys(responseEntity.UserId); baseFilter.BranchKey = string.Join("','", companys.ToArray()); var businessDetail = Singleton <BusinessDetailDAL <BusinessDetailViewData> > .Instance.SearchData(baseFilter); if (businessDetail == null || businessDetail.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult); m_Logger.Info("未查询到数据!。"); } else { foreach (var business in businessDetail) { business.LoanKindName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_LoanKind_6, business.LoanKind).Name; business.RegionName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_Region_9, business.Region).Name; } var responseResult = new ResponseListResult <BusinessDetailViewData>(); responseResult.TotalCount = businessDetail.Count; responseResult.LstResult = businessDetail; ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; } }
/// <summary> /// 获取业务信息 /// </summary> /// <param name="baseFilter"></param> /// <returns></returns> public static Business GetBusinessInfo(SearchBusinessListFilter filter) { List <string> companys = Singleton <RedisEnumOperatorBLL> .Instance.GetUserOwnCompanyKeys(filter.UserId); filter.BranchKey = string.Join("','", companys.ToArray()); var lstBusinessDetail = Singleton <BusinessDetailDAL <BusinessDetailViewData> > .Instance.SearchData(filter); var detail = new BusinessDetailViewData(); if (lstBusinessDetail == null || lstBusinessDetail.Count == 0) { return(null); } detail = lstBusinessDetail[0]; filter.BusinessID = detail.BusinessID; var lstBillDetails = Singleton <BillDetailDAL <BillDetailViewData> > .Instance.SearchData(filter); var lstBillItemDetails = Singleton <BillItemDetailDAL <BillItemDetailViewData> > .Instance.SearchData(filter); return(ConvertToBusiness(detail, lstBillDetails, lstBillItemDetails)); }
/// <summary> /// 查询订单信息 /// </summary> /// <param name="searchBusinessListFilter">查询条件包括分页</param> /// <returns>查询数据内容</returns> public List <BusinessViewData> GetViewData(SearchBusinessListFilter searchBusinessListFilter) { return(Singleton <DataAccess.DAL.BusinessDal> .Instance.GetBusinessInfo <BusinessViewData>(searchBusinessListFilter)); }
/// <summary> /// Target:订单明细页[ReliefAndCorrect]、创建帐单页[CreateBillsTask] /// Description:插入新增调整科目 /// </summary> /// <param name="list"></param> /// <param name="guid"></param> /// <returns></returns> public static bool CreateReceivedItem(List <Received> list, string guid) { List <UpdateItem> lstUpdateItem = new List <UpdateItem>(); var ints = list.Select(p => p.BillItemID).ToList(); SearchBusinessListFilter filter = new SearchBusinessListFilter(); filter.BillItemIds = string.Join(",", ints.ToArray()); var billItems = Singleton <BillItemDetailByIdsDAL <BillItemDetailViewData> > .Instance.SearchData(filter); var receiveds = Singleton <ReceiveDetailByIdsDAL <ReceiveDetailViewData> > .Instance.SearchData(filter); UpdateItem updateItem = null; List <ReceiveDetailViewData> lstReceives = null; foreach (var item in billItems) { updateItem = new UpdateItem(); updateItem.Id = item.BillItemID; var thresholds = (byte)EnumAdjustKind.Thresholds; lstReceives = receiveds.Where(x => x.BillItemID == item.BillItemID).ToList(); if (lstReceives == null) { continue; } var receivedDB = lstReceives.Where(p => p.ReceivedType > thresholds).Sum(p => p.Amount); var receivedNow = list.Where(c => c.ReceivedType > thresholds && c.BillItemID == item.BillItemID).Sum(d => d.Amount); // 重新计算该应收科目实收总额 item.ReceivedAmt = receivedDB + receivedNow; var dueDB = lstReceives.Where(p => p.ReceivedType <= thresholds).Sum(p => p.Amount); var dueNow = list.Where(p => p.ReceivedType <= thresholds && p.BillItemID == item.BillItemID).Sum(p => p.Amount); // 重新计算该应收科目应收总额 item.DueAmt = item.Amount + dueDB + dueNow; // 实收大于应收则返回错误 if (item.ReceivedAmt > item.DueAmt || item.ReceivedAmt < 0 || item.DueAmt < 0) { return(false); } // 如果实收大于等于应收,则更新全额支付时间 if (item.ReceivedAmt >= item.DueAmt) { item.FullPaidTime = DateTime.Now; } updateItem.Amount = item.DueAmt; updateItem.ReceivedAmt = item.ReceivedAmt; updateItem.FullPaidTime = item.FullPaidTime; updateItem.Type = 2; lstUpdateItem.Add(updateItem); } BusinessHelper.SaveUpdateItemTempDataBase(guid, lstUpdateItem); return(true); }
/// <summary> /// 检索数据 /// </summary> /// <param name="filter"></param> /// <param name="responseEntity"></param> public void SearchData(SearchBusinessListFilter filter, ResponseEntity responseEntity) { if (filter == null) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError); return; } if (filter.IsFilterServiceSideKey) { List <string> companys = Singleton <RedisEnumOperatorBLL> .Instance.GetUserOwnCompanyKeys(responseEntity.UserId); filter.BranchKey = string.Join("','", companys.ToArray()); } if (filter.IsFilterBranchKeys) { List <string> stores = Singleton <RedisEnumOperatorBLL> .Instance.GetUserOwnStoreKeys(responseEntity.UserId); filter.BranchKeys = string.Join("','", stores.ToArray()); } var businessDetail = Singleton <BusinessDetailDAL <BusinessDetailViewData> > .Instance.SearchData(filter); if (businessDetail == null || businessDetail.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult); m_Logger.Info("未查询到数据!。"); } else { foreach (var business in businessDetail) { business.LoanKindName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_LoanKind_6, business.LoanKind).Name; business.RegionName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_Region_9, business.Region).Name; business.BranchKeyName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_Store_12, business.BranchKey).Name; } filter.BusinessID = businessDetail[0].BusinessID; var lstBills = Singleton <BillDetailDAL <BillDetailViewData> > .Instance.SearchData(filter); var lstBillItems = Singleton <BillItemDetailDAL <BillItemDetailViewData> > .Instance.SearchData(filter); var lstReceives = Singleton <ReceiveDetailDAL <ReceiveDetailViewData> > .Instance.SearchData(filter); var lstReceiveCut = Singleton <ReceiveCutDetailDAL <ReceivedCutViewData> > .Instance.SearchData(filter); var lastCloseDay = Singleton <GetLatestCloseTimeBLL> .Instance.GetLatestCloseTimeViewData(businessDetail[0].ServiceSideID); businessDetail[0].LatestTime = lastCloseDay.LatestTime; List <PenaltyIntViewData> lstPenaltyInt = null; // 罚息 if (filter.IsSearchPenaltyInt) { lstPenaltyInt = Singleton <PenaltyIntDetailDAL <PenaltyIntViewData> > .Instance.SearchData(filter); } // 代偿卡 List <AdaptationCardDetailData> lstACard = null; if (filter.IsSearchAdaptationCard) { lstACard = Singleton <AdaptationCardDAL <AdaptationCardDetailData> > .Instance.SearchData(filter); lstACard.ForEach(p => { p.AdaBankName = Singleton <RedisEnumOperatorBLL> .Instance.GetRedisData( RedisEnumOperatorBLL.HashId_BankList_8, p.AdaBankName).Name; }); } StringBuilder sbHead = new StringBuilder(); int billLength = 0; int billItemLength = 0; int receiveLength = 0; int receiveCutLength = 0; int penaltyIntLength = 0; int aCardLength = 0; if (lstBills != null && lstBills.Count != 0) { billLength = lstBills.Count; } if (lstBillItems != null && lstBillItems.Count != 0) { billItemLength = lstBillItems.Count; } if (lstReceives != null && lstReceives.Count != 0) { receiveLength = lstReceives.Count; } if (lstReceiveCut != null && lstReceiveCut.Count != 0) { receiveCutLength = lstReceiveCut.Count; } if (lstPenaltyInt != null && lstPenaltyInt.Count != 0) { penaltyIntLength = lstPenaltyInt.Count; } if (lstACard != null && lstACard.Count != 0) { aCardLength = lstACard.Count; } sbHead.AppendFormat("{0}{1}{2}{1}{3}{1}{4}{1}{5}{1}{6}{1}{7}" , 1, WebServiceConst.Separater_Semicolon, billLength, billItemLength , receiveLength, receiveCutLength, penaltyIntLength, aCardLength); StringBuilder sbContent = new StringBuilder(); sbContent.AppendLine(sbHead.ToString()); sbContent.AppendLine(businessDetail[0].ToString()); if (lstBills != null && lstBills.Count != 0) { foreach (var bill in lstBills) { sbContent.AppendLine(bill.ToString()); } } if (lstBillItems != null && lstBillItems.Count != 0) { foreach (var billItem in lstBillItems) { sbContent.AppendLine(billItem.ToString()); } } if (lstReceives != null && lstReceives.Count != 0) { foreach (var receive in lstReceives) { sbContent.AppendLine(receive.ToString()); } } if (lstReceiveCut != null && lstReceiveCut.Count != 0) { foreach (var receiveCut in lstReceiveCut) { sbContent.AppendLine(receiveCut.ToString()); } } if (lstPenaltyInt != null && lstPenaltyInt.Count != 0) { foreach (var penaltyInt in lstPenaltyInt) { sbContent.AppendLine(penaltyInt.ToString()); } } if (lstACard != null && lstACard.Count != 0) { foreach (var aCard in lstACard) { sbContent.AppendLine(aCard.ToString()); } } var responseResult = new ResponseFileResult(); responseResult.Result = ConvertUtility.CodingToByte(sbContent.ToString(), 2); ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; } }
/// <summary> /// 得到订单查询列表 /// </summary> /// <param name="filter">过滤条件</param> /// <returns>订单信息</returns> public List <MongoBusiness> GetBusinessList(SearchBusinessListFilter filter) { IMongoQuery mongoQuery = DataAccessUtility.GetMongoQueryFromFilter(filter); return(Singleton <BaseMongo> .Instance.Query <MongoBusiness>(mongoQuery, "Mongo.Suf_Business", filter)); }