From 00e346af99d35244ee22d4e7cf268c0d1cfa18ea Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期五, 21 六月 2024 21:10:10 +0800
Subject: [PATCH] 工业大屏

---
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs     |   38 +++++++++++++++++++
 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs |   78 +++++++++++++++++++++++++++++---------
 2 files changed, 97 insertions(+), 19 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs"
new file mode 100644
index 0000000..d49784a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs"
@@ -0,0 +1,38 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System.Linq;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions;
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.Repositories;
+using WIDESEA_WMS.IRepositories;
+using WIDESEA_WMS.Repositories;
+
+namespace WIDESEA_WebApi.Controllers
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class ReadplcController : Controller
+    {
+        #region  绗簲鏉垮潡锛堟柊澧炲唴瀹癸級
+        /// <summary>
+        /// 宸ュ崟淇℃伅VV_Workinfo
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("Workinfo_information")]
+        public object Workinfo_information()
+        {
+            VOLContext volContext = new VOLContext();
+            Idt_mes_headRepository db = new dt_mes_headRepository(volContext);
+            Idt_mes_detailRepository dbs = new dt_mes_detailRepository(volContext);
+            var data = db.Find(_ => true).Where(x => x.processCode == "28").OrderByDescending(x => x.CreateTime).Take(10).ToList();
+            var dataList = data.Select(x => new {
+                jobID = x.jobID,
+                drawingNo = x.drawingNo,
+                quantity = x.quantity,
+                heatID = string.Join(", ", dbs.Find(d => d.jobID == x.jobID).Select(d => d.heatID).Distinct())
+            }).ToList();
+            return Ok(dataList);
+        }
+        #endregion
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs"
index e55686b..06bc158 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/LargescreenController.cs"
@@ -1,19 +1,24 @@
 锘縰sing 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 鏈娇鐢ㄧ殑鍐呭
             //缁熻涓嬫枡鍙e悎鏍肩巼涓庝笉鍚堟牸鐜�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
     }
 }

--
Gitblit v1.9.3