Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        /// <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));
        }
Exemplo n.º 6
0
        /// <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;
            }
        }