分支自 SuZhouGuanHong/TaiYuanTaiZhong

huanghongfeng
2024-06-21 00e346af99d35244ee22d4e7cf268c0d1cfa18ea
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs
@@ -1,19 +1,24 @@
using Microsoft.AspNetCore.Mvc;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;
using System;
using System.Collections.Generic;
using System.Linq;
using System;
using System.Security.Cryptography;
using System.Xml.Linq;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
namespace WIDESEA_WebApi.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class LargescreenController : Controller     //大屏幕数据
    {
        #region  ç¬¬ä¸€æ¿å—统计图
        #region  ç¬¬ä¸€æ¿å—统计图,未使用
        /// <summary>
        /// æœˆï¼Œæ—¥å‡ºå…¥åº“数量统计
        /// </summary>
@@ -93,6 +98,8 @@
            var data2 = db.Find(x => x.agv_createtime >= startDate && x.agv_createtime <= endDate);
            var data3 = db.Find(x => x.agv_createtime >= today && x.agv_createtime < today.AddDays(1)).ToList();
            // ç»Ÿè®¡è¿™æœˆçš„入库数量
            var monthlyInventory = data2.Where(x => x.agv_tasktype == "TaskType_Inbound").Sum(x => x.agv_qty);
@@ -100,10 +107,10 @@
            var monthlyOutbound = data2.Where(x => x.agv_tasktype == "TaskType_Outbound").Sum(x => x.agv_qty);
            // ç»Ÿè®¡ä»Šæ—¥å…¥åº“数量
            var dayInventory = data2.Where(x => x.agv_tasktype == "TaskType_Inbound").Sum(x => x.agv_qty);
            var dayInventory = data3.Where(x => x.agv_tasktype == "TaskType_Inbound").Sum(x => x.agv_qty);
            // ç»Ÿè®¡ä»Šæ—¥å‡ºåº“数量
            var dayOutbound = data2.Where(x => x.agv_tasktype == "TaskType_Outbound").Sum(x => x.agv_qty);
            var dayOutbound = data3.Where(x => x.agv_tasktype == "TaskType_Outbound").Sum(x => x.agv_qty);
            var data = new
            {
@@ -125,8 +132,7 @@
        [HttpPost("Outbound_inventory")]
        public object Outbound_inventory()
        {
            #region ä½¿ç”¨ä¸­çš„内容
            VOLContext volContext = new VOLContext();
            Idt_agvtask_htyRepository db = new dt_agvtask_htyRepository(volContext);
            Idt_stationinfoRepository db2 = new dt_stationinfoRepository(volContext);
@@ -147,8 +153,22 @@
            //空托数量
            var dayTaskType_EmptyPallet = data2.Where(x => x.agv_tasktype == "TaskType_EmptyPallet").Sum(x => x.agv_qty);
            //统计月入库总量
            var startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            var endDate = startDate.AddMonths(1).AddDays(-1);
            var data4 = db.Find(x => x.agv_createtime >= startDate && x.agv_createtime <= endDate);
            // ç»Ÿè®¡è¿™æœˆçš„入库数量
            var monthlyInventory = data4.Where(x => x.agv_tasktype == "TaskType_Inbound").Sum(x => x.agv_qty);
            // ç»Ÿè®¡è¿™æœˆçš„出库数量
            var monthlyOutbound = data4.Where(x => x.agv_tasktype == "TaskType_Outbound").Sum(x => x.agv_qty);
            // ç»Ÿè®¡ä»Šæ—¥å…¥åº“数量
            var dayInventory = data2.Where(x => x.agv_tasktype == "TaskType_Inbound").Sum(x => x.agv_qty);
            var data3 = db2.Find(_ => true).ToList();
            // ç»Ÿè®¡ä»Šæ—¥å‡ºåº“数量
            var dayOutbound = data2.Where(x => x.agv_tasktype == "TaskType_Outbound").Sum(x => x.agv_qty);
            var data3 = db2.Find(_ => true).Where(x => x.stationCode.Contains("A") || x.stationCode.Contains("B") || x.stationCode.Contains("C") || x.stationCode.Contains("D01")).ToList();
            //库区图号数量,外加空托数量
            var Number_wheels = data3.Where(_ => true)
@@ -163,6 +183,10 @@
                 tray_type = g.Key.tray_type
             }).ToList();
            #endregion
            #region æœªä½¿ç”¨çš„内容
            //统计下料口合格率与不合格率1单元
            var dayTaskType_Inbound2 = data2.Where(x => x.agv_tasktype == "TaskType_Inbound" && (x.agv_fromaddress == "X01001001" || x.agv_fromaddress == "X01001002") && x.agv_createtime >= today && x.agv_createtime < today.AddDays(1)).Sum(x => x.agv_qty);
            //外协库入库1单元
@@ -184,6 +208,10 @@
            var sumkw = data3.Where(a => a.stationCode.Contains("B") || a.stationCode.Contains("C") || a.stationCode.Contains("D01")).Count(); //获取库区库位
            var sumzy = data3.Where(a => (a.stationCode.Contains("B") || a.stationCode.Contains("C") || a.stationCode.Contains("D01")) && a.location_state == "Stroge").Count(); //获取被占用的
            var areaper = ((double)sumzy / sumkw).ToString("P0");
            #endregion
            var data = new
@@ -198,6 +226,10 @@
                qualified2,
                areaper,
                Number_wheels,
                monthlyInventory,
                monthlyOutbound,
                dayInventory,
                dayOutbound,
            };
            return Ok(data);
        }
@@ -243,7 +275,7 @@
        #region  ç¬¬å››æ¿å—
        /// <summary>
        /// 15日内的出入库
        /// 5日内的出入库
        /// </summary>
        /// <returns></returns>
        [HttpPost("fifteenTotal_quantityndex")]
@@ -251,9 +283,9 @@
        {
            VOLContext volContext = new VOLContext();
            Idt_agvtask_htyRepository db = new dt_agvtask_htyRepository(volContext);
            var startDate = DateTime.Today.AddDays(-15); // èŽ·å–å½“å‰æ—¥æœŸä¹‹å‰15天的日期
            var startDate = DateTime.Today.AddDays(-5); // èŽ·å–å½“å‰æ—¥æœŸä¹‹å‰15天的日期
            var today = DateTime.Today;
            var dateRange = Enumerable.Range(0, 15).Select(offset => today.AddDays(-offset)); // èŽ·å–æœ€è¿‘15天的日期范围
            var dateRange = Enumerable.Range(0, 5).Select(offset => today.AddDays(-offset)); // èŽ·å–æœ€è¿‘15天的日期范围
            var data2 = db.Find(x => x.agv_createtime >= startDate && x.agv_createtime < today.AddDays(1)).ToList();
@@ -281,7 +313,7 @@
        }
        #endregion
        #region  ç¬¬äº”板块
        #region  ç¬¬å…­æ¿å—
        /// <summary>
        /// å½“前agv任务
        /// </summary>
@@ -293,14 +325,10 @@
            Idt_agvtaskRepository db = new dt_agvtaskRepository(volContext);
            var dataList = db.Find(_ => true).OrderByDescending(x => x.agv_createtime).ToList();
            var data = dataList.Where(x => x.agv_taskstate != "队列" && x.agv_taskstate != "Queue" && x.agv_taskstate != "任务暂停" && x.agv_taskstate != "Pause").ToList();
            if (data.Count < 10)
            var data = dataList.Where(x => x.agv_tasktype != "Queue").Take(15).ToList();
            if (data.Count <= 15)
            {
                var additionalData = dataList.Where(x => x.agv_taskstate == "队列" || x.agv_taskstate == "Queue")
                                              .Take(10 - data.Count)
                                              .ToList();
                data.AddRange(additionalData);
                data = dataList.Take(15).ToList();
            }
            foreach (var item in data)
            {
@@ -363,5 +391,17 @@
        }
        #endregion
        #region  ç¬¬ä¸ƒæ¿å—(新增内容)
        /// <summary>
        /// å·¥å•信息VV_Workinfo
        /// </summary>
        /// <returns></returns>
        /*[HttpPost("Workinfo_information")]
        public object Workinfo_information()
        {
        }*/
        #endregion
    }
}