From da2e87c2a05debbcc7dac5efb5d13c92d533782f Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 26 三月 2025 08:54:10 +0800
Subject: [PATCH] 111

---
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/PutakeServer.cs |   91 ++++++++++++++++++---------------------------
 1 files changed, 37 insertions(+), 54 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
index 6969949..82cd6af 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
@@ -10,6 +10,7 @@
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
@@ -20,11 +21,23 @@
     {
         private IUnitOfWorkManage _uniUnitOfWorkManage;
         private INjTaskRepository _iNjTaskRepository;
+        
 
-        public PutakeServer(IPutakeRepository BaseDal, IUnitOfWorkManage uniUnitOfWorkManage, INjTaskRepository iNjTaskRepository) : base(BaseDal)
+        public PutakeServer(IPutakeRepository BaseDal, IUnitOfWorkManage uniUnitOfWorkManage, INjTaskRepository iNjTaskRepository ) : base(BaseDal)
         {
             _uniUnitOfWorkManage = uniUnitOfWorkManage;//鏁版嵁搴撲簨鍔�
             _iNjTaskRepository= iNjTaskRepository;
+          
+            
+        }
+        public override PageGridData<Dt_Putake> GetPageData(PageDataOptions options)
+        {
+            OrderByParameters = new Dictionary<string, SqlSugar.OrderByType>
+            {
+                   { nameof(Dt_Putake.Pustatus),SqlSugar.OrderByType.Asc },
+                  // { nameof(Dt_Putake.CreateDate),SqlSugar.OrderByType.Asc }//鎸夌姸鎬佸拰鍒涘缓鏃堕棿鍗囧簭鎺掑簭
+            };
+            return base.GetPageData(options);
         }
 
         private enum cond
@@ -42,7 +55,8 @@
         {
             try
             {
-                var putake = BaseDal.QueryData(i => i.Njtakeid == id&&i.Grouptype==gruops).FirstOrDefault();
+                var putakeList = BaseDal.QueryData(i => i.Grouptype == gruops && i.Pustatus != (int)cond.宸插畬鎴�).ToList();
+                var putake = putakeList.Where(i => i.Njtakeid == id).FirstOrDefault();
                 var nj = _iNjTaskRepository.QueryData(i => i.NJtaskID == id).FirstOrDefault();
                 if (putake == null)
                 {
@@ -61,6 +75,10 @@
                 {
                     
                     case cond.寰呴绛�: //
+                        if(putakeList.Where(a=>a.Pustatus== (int)cond.寰呬綔涓�).Count() > 0)
+                        {
+                            return new WebResponseContent { Status = false, Message = "褰撳墠鏈変綔涓氭湭瀹屾垚锛岃鍏堝畬鎴愭鍦ㄦ墽琛岀殑浣滀笟" };
+                        }
                         putake.Pustatus = (int)cond.寰呬綔涓�; // 鏋氫妇杞� int
                         if (gruops=="鏈烘")
                         {
@@ -80,14 +98,17 @@
                         if (gruops == "鏈烘")
                         {
                             nj.startTime_LC = DateTime.Now;//寮�濮嬫椂闂�
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鐢垫皵")
                         {
                             nj!.startTime_DQ = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鍦版矡")
                         {
                             nj!.startTime_DG = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         break;
                     case cond.寰呭綊绛�://纭褰掕繕锛屽畬鎴愭椂闂�
@@ -95,38 +116,48 @@
                         if (gruops == "鏈烘")
                         {
                             nj.endTime_LC = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鐢垫皵")
                         {
                             nj.endTime_DQ = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鍦版矡")
                         {
                             nj.endTime_DG = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         break;
                     case cond.寰呰川妫�: // 瀹屾垚璐ㄦ鏃堕棿
                         putake.Pustatus = (int)cond.宸插畬鎴�;
 
-                        DateTime latestTime = new DateTime(1900, 1, 1, 0, 0, 0);
+                        //DateTime latestTime = new DateTime(1900, 1, 1, 0, 0, 0);
 
                         if (gruops == "鏈烘")
                         {
                             nj!.confirmTime_LC = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鐢垫皵")
                         {
                             nj!.confirmTime_DQ = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
                         if (gruops == "鍦版矡")
                         {
                             nj!.confirmTime_DG = DateTime.Now;
+                            nj.createTime = DateTime.Now;
                         }
 
                         // 鑾峰彇鏈�鍚庝竴娆″畬鎴愮殑鏃堕棿
-                        latestTime = new[] { nj.confirmTime_LC, nj.confirmTime_DQ, nj.confirmTime_DG }
-                                        .Max(); // 鍙栨渶鏂扮殑鏃堕棿
+                        // latestTime = (DateTime)new[] { nj.confirmTime_LC, nj.confirmTime_DQ, nj.confirmTime_DG }.Max(); // 鍙栨渶鏂扮殑鏃堕棿
 
+                        DateTime? latestTime = new[] { nj.confirmTime_LC, nj.confirmTime_DQ, nj.confirmTime_DG }
+                                .Where(t => t.HasValue)  // 杩囨护鎺� null
+                                .Select(t => t.Value)    // 鍙栧嚭闈炵┖鐨勫��
+                                .DefaultIfEmpty(DateTime.Now) // 鑻ユ暟缁勪负绌猴紝浣跨敤褰撳墠鏃堕棿
+                                .Max();  // 鍙栨渶澶ф椂闂�
                         nj.endTime = latestTime; // 璧嬪�兼渶鏂版椂闂�
                         putake.Finishedtime = DateTime.Now;
                         break;
@@ -153,27 +184,21 @@
         {
             try
             {
-                
-
                 var dg = BaseDal.QueryData(i=>i.Grouptype== group);
 
                 return new WebResponseContent { Status = true, Data = dg };
             }
             catch (Exception ex)
             {
-                
                 return new WebResponseContent { Status = false, Message = $"鏌ョ湅澶辫触:{ex}" };
             }
         }
-
 
         //鏌ョ湅杩欎釜涓嬪彂浠诲姟鐨勪腑浠诲姟琛ㄤ腑鐨勮鎯呮暟鎹紙鍜宯jtaskServe涓竴鏍凤級
         public WebResponseContent GetNjtake(string njid)
         {
             try
             {
-               
-
                 var Nj = _iNjTaskRepository.QueryData(i => i.NJtaskID == njid).FirstOrDefault();
 
                 if (Nj != null)
@@ -196,50 +221,8 @@
             }
         }
 
-        ////鏇村叿浠诲姟鐘舵�佹煡璇�
-        //public WebResponseContent seletTaskeStatus(string status)
-        //{
-        //    try
-        //    {
-              
 
-        //        var Nj = BaseDal.QueryData(i => i.Pustatus == status);
+      
 
-        //        if (Nj != null)
-        //        {
-                   
-        //            return new WebResponseContent { Status = true, Data = Nj };
-        //        }
-        //        else
-        //        {
-        //            return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
-        //        }
-
-        //    }
-        //    catch (Exception ex)
-        //    {
-
-               
-        //        return new WebResponseContent { Status = false, Message = "鏇存柊澶辫触锛�" + ex.Message };
-        //    }
-        //}
-
-        public WebResponseContent GetNJandPu()
-        {
-            try
-            {
-                var nj = _iNjTaskRepository.QueryData();  
-               
-
-                return new WebResponseContent { Status = true, Data = nj };
-           
-            }
-            
-            catch (Exception)
-            {
-
-                throw;
-            }
-        }
     }
 }

--
Gitblit v1.9.3