Himall商城BillingApplication获取店铺财务总览、根据日期获取该日期的结算周期

news/2024/12/2 20:04:30/

  /// <summary>
        /// 获取店铺财务总览
        /// </summary>
        /// <param name="shopId"></param>
        /// <returns></returns>
        public static ShopBillingIndex GetShopBillingIndex(long shopId)
        {
            var shopaccount = GetShopAccount(shopId);
            ShopBillingIndex model = new ShopBillingIndex();
            model.YesterDayOrders = OrderApplication.GetYesterDayOrdersNum(shopId);
            model.YesterDayPayOrders = OrderApplication.GetYesterDayPayOrdersNum(shopId);
            model.YesterDaySaleAmount = OrderApplication.GetYesterDaySaleAmount(shopId);
            model.ShopAccout = shopaccount;
            return model;
        }


        /// <summary>
        /// 获取平台财务总览
        /// </summary>
        /// <param name="shopId"></param>
        /// <returns></returns>
        public static PlatBillingIndex GetPlatBillingIndex()
        {
            var platAccount = GetPlatAccount();
            PlatBillingIndex model = new PlatBillingIndex();
            model.YesterDayOrders = OrderApplication.GetYesterDayOrdersNum();
            model.YesterDayPayOrders = OrderApplication.GetYesterDayPayOrdersNum();
            model.YesterDaySaleAmount = OrderApplication.GetYesterDaySaleAmount();
            model.PlatAccout = platAccount;
            return model;
        }

        /// <summary>
        /// 根据日期获取当前结算周期
        /// </summary>
        /// <returns></returns>
        public static SettlementCycle GetCurrentBilingTime()
        {
            var settlementCycle = SiteSettingApplication.GetSiteSettings().WeekSettlement;
            var end = _iBillingService.GetLastSettlementTime();
            return GetDateBilingTime(settlementCycle, end, DateTime.Now);
        }


        /// <summary>
        /// 根据日期获取该日期的结算周期
        /// </summary>
        /// <returns></returns>
        public static SettlementCycle GetDateBilingTime(int settlementCycle, DateTime? endDate, DateTime dt)
        {
            SettlementCycle model = new SettlementCycle();
            var end = endDate;
            if (!end.HasValue)
            {
                model.StartTime = DateTime.Now.Date;
                model.EndTime = model.StartTime.AddDays(settlementCycle);
            }
            else
            {
                var now = dt.Date;

                var days = (now - end.Value.Date).Days; //和最后结算时间相差的天数

                var d = days % settlementCycle;

                var newend = now.AddDays(settlementCycle - d);

                var newStart = newend.AddDays(-settlementCycle);

                model.StartTime = newStart;
                model.EndTime = newend;
            }
            return model;
        }


http://www.ppmy.cn/news/38904.html

相关文章

【Java面试八股文宝典之MySQL篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day19

大家好&#xff0c;我是陶然同学&#xff0c;软件工程大三即将实习。认识我的朋友们知道&#xff0c;我是科班出身&#xff0c;学的还行&#xff0c;但是对面试掌握不够&#xff0c;所以我将用这100多天更新Java面试题&#x1f643;&#x1f643;。 不敢苟同&#xff0c;相信大…

含光热电站的冷、热、电综合能源系统优化调度【节点网络】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

C/C++ 变量详解

文章目录前言一、静态变量与动态变量1. 概念2. 区别3. 使用方法和注意事项3.1 静态变量3.2 动态变量4. 结论二、全局变量与局部变量1. 区别2. 全局变量的使用方法和注意事项3. 局部变量的使用方法和注意事项4. 总结前言 对C学习感兴趣的可以看看这篇文章哦&#xff1a;C/C教程…

【从零开始学习 UVM】9.3、UVM Config DB —— uvm_config_db 示例【文章最后的表格对于理解路径索引很重要】

文章目录 Methods规则如何调试 uvm_config_db?示例1. Test and EnvCase #1Case #22. Test, Env, and two Agents推荐实战方式set 与 get 结果由类uvm_config_db访问的UVM配置数据库是在多个TestBench组件之间传递不同对象的好方法。 Methods 有两个主要的函数用于将数据放入…

数据库中,索引详解

数据库索引是一种数据结构&#xff0c;可以提高数据库查询操作的效率。它通过在表中的某一列或多列上创建索引&#xff0c;使得数据库能够更快速地定位到需要查询的数据&#xff0c;从而减少查询的时间和资源消耗。 举一个例子&#xff0c;假设有一个学生信息表&#xff0c;其…

九.microchip MCU D51(QFN 64PIN) 与LAN9252的PIN配置

七.microchip MCU D51(QFN 64PIN) 与LAN9252的PIN配置 7.0 参考工程 D:\HarmonyProjects\ethercat\apps\ethercat_counter_foe_app\firmware\sam_d51_lan9252_evb.X 7.1.MCU D51(QFN 64PIN) QSPI相关硬件PIN PIN17 PA08–QSPI_DATA0&#xff08;MOSI&#xff09; PIN18 PA09…

chatGPT对话R语言

文章目录R语言介绍R语言基本语法R语言常用函数有哪些R语言数据结构向量矩阵数组和列表数组列表数据框因子R如何导入数据如何在R语言中导出数据&#xff1f;R语言图形绘制描述性统计描述统计也可以这样来计算统计推断配对设计t检验样本均数和总体均数t检验两&#xff08;独立&am…

读书笔记-纳瓦尔宝典-2023.04.01

重点 财富 如何构造高价值信息 判断力 何为幸福 启发 最近看了这本书的大部分内容&#xff0c;感悟颇多&#xff0c;及时记录下来。 因为是快速阅读&#xff0c;还未做深入思考和实践&#xff0c;但对总体的内容有一个大致把握&#xff0c;未来会结合行动反复阅读和思考&…