/// <summary> /// 获取关账日信息 /// </summary> /// <param name="filter"></param> /// <param name="responseEntity"></param> /// <returns></returns> public void GetCloseBillTime(TimeLineInitFilter filter, ResponseEntity responseEntity) { List <string> companyKeys = new List <string>(); if (!string.IsNullOrEmpty(filter.CompanyKeys)) { companyKeys = filter.CompanyKeys.Split(WebServiceConst.Separater_Comma.ToArray()).ToList(); } // 获取关账日信息 List <CloseBillTimeViewData> listTime = GetCloseBillTime(filter, companyKeys); // 获取序列(21/28/12) for (int i = 2; i > -10; i--) { listTime.AddRange(GetTimeLine(DateTime.Now.AddMonths(i), filter.UserId, companyKeys)); } var responseResult = new ResponseListResult <CloseBillTimeViewData>(); responseResult.LstResult = listTime; ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; }
/// <summary> /// 获取返回的扣款序列 /// </summary> /// <param name="setDate"></param> /// <param name="userId"></param> /// <param name="companyKeys"></param> /// <returns></returns> private List <CloseBillTimeViewData> GetTimeLine(DateTime setDate, int userId, List <string> companyKeys) { string nowMonth = setDate.ToBillMonthString(); TimeLineInitFilter filter = new TimeLineInitFilter(); filter.UserId = userId; filter.DeductMonth = nowMonth; List <DeductSequence> lstDeductSequence = GetTimeLine(filter, companyKeys); List <CloseBillTimeViewData> listTime = new List <CloseBillTimeViewData>(); if (lstDeductSequence != null && lstDeductSequence.Count > 2) { for (int i = 0; i < 3; i++) { listTime.Add(new CloseBillTimeViewData { DeductYear = setDate.Year, DeductMonth = setDate.Month, DeductTime = lstDeductSequence[i].DeductTime.ToDateString(), Order = i + 1, DataType = WebServiceConst.TimeLineType_Sequence }); } } else { listTime.Add(new CloseBillTimeViewData { DeductYear = setDate.Year, DeductMonth = setDate.Month, DeductTime = setDate.Year.ToString() + "-" + setDate.ToString("MM") + "-21", Order = 1, DataType = WebServiceConst.TimeLineType_Sequence }); listTime.Add(new CloseBillTimeViewData { DeductYear = setDate.Year, DeductMonth = setDate.Month, DeductTime = setDate.Year.ToString() + "-" + setDate.ToString("MM") + "-28", Order = 2, DataType = WebServiceConst.TimeLineType_Sequence }); listTime.Add(new CloseBillTimeViewData { DeductYear = setDate.Year, DeductMonth = setDate.Month, DeductTime = setDate.AddMonths(1).Year.ToString() + "-" + setDate.AddMonths(1).ToString("MM") + "-12", Order = 3, DataType = WebServiceConst.TimeLineType_Sequence }); } return(listTime); }
/// <summary> /// 程序执行主入口 /// </summary> /// <param name="requestEntity"></param> /// <param name="responseEntity"></param> protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity) { // 定义接收客户端参数的变量 TimeLineInitFilter filter = ServiceUtility.ConvertToFilterFromDict <TimeLineInitFilter>(requestEntity.Parameters); filter.UserId = responseEntity.UserId; // 获取关账日信息 Singleton <TimeLineCloseDayInitBLL> .Instance.SearchData(filter, responseEntity); }
/// <summary> /// 获取关账日信息 /// </summary> /// <param name="filter"></param> /// <param name="companyKeys"></param> /// <returns></returns> private List <CloseBillTimeViewData> GetCloseBillTime(TimeLineInitFilter filter, List <string> companyKeys) { var lstCloseDays = Singleton <TimeLineCloseDayInitDAL> .Instance.SearchData(filter); List <CloseBillTimeViewData> listTime = new List <CloseBillTimeViewData>(); if (lstCloseDays == null || lstCloseDays.Count > 0) { //List<int> CompanyIds = Singleton<CompanyCache>.Instance.CompanyIds(filter.UserId); //List<MongoUserPermission> userPermissionDataList = Singleton<CompanyCache>.Instance.GetPermission(filter.UserId); //foreach (var permission in userPermissionDataList) //{ // CompanyKeys.Add(permission.FullKey); //} int order = 0; //判断是否有权修改 foreach (var item in lstCloseDays) { BankAccount company = Singleton <BankAccountsCache> .Instance.BankAccounts.FirstOrDefault(x => x.CompanyKey == item.CompanyKey); if (company == null) { continue; } if (!companyKeys.Contains(company.CompanyKey)) { continue; } listTime.Add(new CloseBillTimeViewData { CloseBillDayID = item.CloseBillDayID, CompanyName = company.AccountNumber, LatestTime = item.LatestTime.ToDateString(), OriginalTime = item.OriginalTime.ToDateString(), OperatorID = filter.UserId, Order = ++order, DataType = WebServiceConst.TimeLineType_CloseDay }); } } return(listTime); }
/// <summary> /// 根据月份查询 /// </summary> /// <param name="filter"></param> /// <param name="companyKeys"></param> /// <returns></returns> private List <DeductSequence> GetTimeLine(TimeLineInitFilter filter, List <string> companyKeys) { //List<string> companyKeys = Singleton<CompanyCache>.Instance.CompanyIds(filter.UserId); if (companyKeys == null) { return(null); } string key = companyKeys[0]; filter.CompanyKey = key; filter.Kind = (byte)EnumDeductSeqKind.DS21_28_12; return(Singleton <TimeLineInitDAL> .Instance.SearchData(filter)); }
/// <summary> /// 获取检索数据的存储过程名 /// </summary> /// <param name="baseFilter"></param> /// <returns></returns> protected override string GetSearchSql(BaseFilter baseFilter) { TimeLineInitFilter filter = baseFilter as TimeLineInitFilter; if (filter == null) { return(""); } string sql = "SELECT * FROM [dbo].[DeductSequence] with(nolock) WHERE DeductMonth = '{0}' " + "AND DSeqType = {1} AND CompanyKey = '{2}' ORDER BY DeductSeqID ASC" .StringFormat(filter.DeductMonth, (byte)filter.Kind, filter.CompanyKey); return(sql); }
/// <summary> /// 检索数据 /// </summary> /// <param name="baseFilter"></param> /// <param name="responseEntity"></param> public void SearchData(BaseFilter baseFilter, ResponseEntity responseEntity) { if (baseFilter == null) { return; } TimeLineInitFilter filter = baseFilter as TimeLineInitFilter; if (filter == null) { return; } var lstCloseDays = Singleton <TimeLineCloseDayInitDAL> .Instance.SearchData(baseFilter); List <CloseBillTimeViewData> listTime = new List <CloseBillTimeViewData>(); if (lstCloseDays != null && lstCloseDays.Count > 0) { //var userPermissionDataList = Singleton<CompanyCache>.Instance.GetPermission(baseFilter.UserId); //List<int> CompanyIds = Singleton<CompanyCache>.Instance.CompanyIds(baseFilter.UserId); //foreach (var permission in userPermissionDataList) //{ // CompanyKeys.Add(permission.FullKey); //} List <string> companyKeys = filter.CompanyKeys.Split(WebServiceConst.Separater_Comma.ToArray()).ToList(); int order = 0; //判断是否有权修改 foreach (var item in lstCloseDays) { BankAccount company = Singleton <BankAccountsCache> .Instance.BankAccounts.FirstOrDefault(x => x.CompanyKey == item.CompanyKey); if (company == null) { continue; } if (!companyKeys.Contains(company.CompanyKey)) { continue; } listTime.Add(new CloseBillTimeViewData { CloseBillDayID = item.CloseBillDayID, CompanyName = company.AccountNumber, LatestTime = item.LatestTime.ToDateString(), OriginalTime = item.OriginalTime.ToDateString(), OperatorID = baseFilter.UserId, Order = ++order, DataType = WebServiceConst.TimeLineType_CloseDay }); } } if (listTime == null || listTime.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult); m_Logger.Info("未查询到数据。"); } else { var responseResult = new ResponseListResult <CloseBillTimeViewData>(); responseResult.LstResult = listTime; ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; } }