server/aspnetapp/Controllers/WebUI/OrdersController.cs

(开头部分) 50KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

#nullable disable
using aspnetapp.Helper;
using aspnetapp.Models;
using DocumentFormat.OpenXml;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;

namespace aspnetapp.Controllers.WebUI
{
    public class OrdersController : Controller
    {
        private readonly CounterContext _context;

        public OrdersController(CounterContext context)
        {
            _context = context;
        }

        public async Task<IActionResult> ExportExcel(DateTime orderdate, int ordertype, string address, bool isall = false, bool isshow = false)
        {
            SysUserEntity userinfo = HttpContext.Session.GetObjectFromJson<SysUserEntity>("sysu") ?? new SysUserEntity();

            BuyrUserEntity thispayuser = await _context.BuyrUsers.AsNoTracking().FirstOrDefaultAsync(s => s.WeChatOpenid == userinfo.Wxid).ConfigureAwait(false);

            bool ishasorder = _context.Orders.AsNoTracking().Any(s => s.OrderType == ordertype && s.OrderStatus != (int)EnumCode.OrderStatus.已取消 && s.OrderForDate == orderdate && s.Building == address);

            if (userinfo.UserType == (int)EnumCode.UserType.订餐管理员)
            {
                ishasorder = _context.Orders.AsNoTracking().Any(s => s.CompanyId == thispayuser.CompanyId && s.OrderType == ordertype && s.OrderStatus != (int)EnumCode.OrderStatus.已取消 && s.OrderForDate == orderdate && s.Building == address);
            }

            if (!ishasorder && !isall)
            {
                TempData["Message"] = "该餐无订单";
                return RedirectToAction(nameof(Export), new { orderdate, ordertype, address });
            }

            if (!ishasorder && isall)
            {
                if (isshow)
                {
                    TempData["Message"] = "该餐无订单";
                    return RedirectToAction(nameof(Export), new { orderdate, ordertype });
                }
                return Ok(address);
            }

            List<OrderEntity> orders = await _context.Orders.AsNoTracking().Where(s => s.OrderType == ordertype && s.OrderStatus != (int)EnumCode.OrderStatus.已取消 && s.OrderForDate == orderdate && s.Building == address).OrderBy(s => s.CompanyId).ThenBy(s => s.DepartmentId).ThenBy(s => s.CreatedTime).ToListAsync();

            if (userinfo.UserType == (int)EnumCode.UserType.订餐管理员)
            {
                orders = orders.Where(s => s.CompanyId == thispayuser.CompanyId).ToList();
            }

            List<CompanyEntity> allCompanys = await _context.Companys.AsNoTracking().Where(s => s.ShowCode != null).ToListAsync().ConfigureAwait(false);

            List<BuyrUserEntity> allleader = await _context.BuyrUsers.AsNoTracking().Where(s => s.UserType == (int)EnumCode.UserType.订餐管理员 && s.UserStatus == (int)EnumCode.UserStatus.已审核 && s.IsDeleted == (int)EnumCode.yesno.否).ToListAsync().ConfigureAwait(false);

            string now = DateTime.Now.ToString("yyyyMMddHHmmss");
            string bt = "用餐统计表模板" + now;
后面还有 819 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。