From cdd170dd9008d8124d63c76ba186e34cfe61a619 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 11 三月 2025 08:40:56 +0800
Subject: [PATCH] 美新

---
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/PutakeServer.cs |  200 ++++++++++++++++++++++++++++---------------------
 1 files changed, 113 insertions(+), 87 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 714c07d..6969949 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"
@@ -9,18 +9,19 @@
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 
 namespace WIDESEAWCS_TaskInfoService
 {
-    public class Putake : ServiceBase<Dt_Putake, IPutakeRepository>, IPutakeServer
+    public class PutakeServer : ServiceBase<Dt_Putake, IPutakeRepository>, IPutakeServer
     {
         private IUnitOfWorkManage _uniUnitOfWorkManage;
         private INjTaskRepository _iNjTaskRepository;
 
-        public Putake(IPutakeRepository BaseDal, IUnitOfWorkManage uniUnitOfWorkManage, INjTaskRepository iNjTaskRepository) : base(BaseDal)
+        public PutakeServer(IPutakeRepository BaseDal, IUnitOfWorkManage uniUnitOfWorkManage, INjTaskRepository iNjTaskRepository) : base(BaseDal)
         {
             _uniUnitOfWorkManage = uniUnitOfWorkManage;//鏁版嵁搴撲簨鍔�
             _iNjTaskRepository= iNjTaskRepository;
@@ -28,47 +29,105 @@
 
         private enum cond
         {
-            寰呴绛�=1,
-            寰呬綔涓�=2,
-            寰呭綊绛�=3,
-            寰呰川妫�=4,
-            宸插畬鎴�=5
+            寰呴绛�=0,
+            寰呬綔涓�=1,
+            寰呭綊绛�=2,
+            寰呰川妫�=3,
+            宸插畬鎴�=4
         }
 
 
         //淇敼涓嬪彂浠诲姟琛ㄧ殑浠诲姟鐘舵��
-        public WebResponseContent ChangeStatus(int id)
+        public WebResponseContent ChangeStatus(string id,string gruops)
         {
             try
             {
-                var putake = BaseDal.QueryData(i => i.ID == id).FirstOrDefault();
+                var putake = BaseDal.QueryData(i => i.Njtakeid == id&&i.Grouptype==gruops).FirstOrDefault();
+                var nj = _iNjTaskRepository.QueryData(i => i.NJtaskID == id).FirstOrDefault();
                 if (putake == null)
                 {
                     return new WebResponseContent { Status = false, Message = "鏈壘鍒拌浠诲姟" };
                 }
 
-                //putake.Pustatus鏄瓧绗︿覆,闇�瑕佸厛杞崲鎴� cond 鏋氫妇锛�
-                if (!Enum.TryParse(putake.Pustatus, out cond currentStatus))
+                //鎶婃暟鎹簱涓殑 int 鍊艰浆鎹负 `cond` 鏋氫妇锛�
+                if (!Enum.IsDefined(typeof(cond), putake.Pustatus))
                 {
                     return new WebResponseContent { Status = false, Message = "褰撳墠鐘舵�佷笉鍚堟硶锛屾棤娉曟洿鏂�" };
                 }
 
+                cond currentStatus = (cond)putake.Pustatus;  // int -> 鏋氫妇杞崲
+
                 switch (currentStatus)
                 {
-                    case cond.寰呴绛�:
-                        putake.Pustatus = cond.寰呬綔涓�.ToString();
-                        
-                        //_iNjTaskRepository
+                    
+                    case cond.寰呴绛�: //
+                        putake.Pustatus = (int)cond.寰呬綔涓�; // 鏋氫妇杞� int
+                        if (gruops=="鏈烘")
+                        {
+
+                        }
+                        if (gruops == "鐢垫皵")
+                        {
+
+                        }
+                        if (gruops == "鍦版矡")
+                        {
+
+                        }
                         break;
-                    case cond.寰呬綔涓�:
-                        putake.Pustatus = cond.寰呭綊绛�.ToString();
-                      //  _iNjTaskRepository.QueryData(x=>x.)
+                    case cond.寰呬綔涓�://寮�濮嬩綔涓氾紝寮�濮嬫椂闂�
+                        putake.Pustatus = (int)cond.寰呭綊绛�;
+                        if (gruops == "鏈烘")
+                        {
+                            nj.startTime_LC = DateTime.Now;//寮�濮嬫椂闂�
+                        }
+                        if (gruops == "鐢垫皵")
+                        {
+                            nj!.startTime_DQ = DateTime.Now;
+                        }
+                        if (gruops == "鍦版矡")
+                        {
+                            nj!.startTime_DG = DateTime.Now;
+                        }
                         break;
-                    case cond.寰呭綊绛�:
-                        putake.Pustatus = cond.寰呰川妫�.ToString();
+                    case cond.寰呭綊绛�://纭褰掕繕锛屽畬鎴愭椂闂�
+                        putake.Pustatus = (int)cond.寰呰川妫�;
+                        if (gruops == "鏈烘")
+                        {
+                            nj.endTime_LC = DateTime.Now;
+                        }
+                        if (gruops == "鐢垫皵")
+                        {
+                            nj.endTime_DQ = DateTime.Now;
+                        }
+                        if (gruops == "鍦版矡")
+                        {
+                            nj.endTime_DG = DateTime.Now;
+                        }
                         break;
-                    case cond.寰呰川妫�:
-                        putake.Pustatus=cond.宸插畬鎴�.ToString();
+                    case cond.寰呰川妫�: // 瀹屾垚璐ㄦ鏃堕棿
+                        putake.Pustatus = (int)cond.宸插畬鎴�;
+
+                        DateTime latestTime = new DateTime(1900, 1, 1, 0, 0, 0);
+
+                        if (gruops == "鏈烘")
+                        {
+                            nj!.confirmTime_LC = DateTime.Now;
+                        }
+                        if (gruops == "鐢垫皵")
+                        {
+                            nj!.confirmTime_DQ = DateTime.Now;
+                        }
+                        if (gruops == "鍦版矡")
+                        {
+                            nj!.confirmTime_DG = DateTime.Now;
+                        }
+
+                        // 鑾峰彇鏈�鍚庝竴娆″畬鎴愮殑鏃堕棿
+                        latestTime = new[] { nj.confirmTime_LC, nj.confirmTime_DQ, nj.confirmTime_DG }
+                                        .Max(); // 鍙栨渶鏂扮殑鏃堕棿
+
+                        nj.endTime = latestTime; // 璧嬪�兼渶鏂版椂闂�
                         putake.Finishedtime = DateTime.Now;
                         break;
                     case cond.宸插畬鎴�:
@@ -76,20 +135,15 @@
                     default:
                         return new WebResponseContent { Status = false, Message = "鏈煡鐘舵�侊紝鏃犳硶鏇存柊" };
                 }
-                //寮�鍚簨鍔�
-                _uniUnitOfWorkManage.BeginTran();
 
-                // 鏇存柊鏁版嵁搴�
+
+                _iNjTaskRepository.UpdateData(nj);
                 BaseDal.UpdateData(putake);
 
-                //鎻愪氦浜嬪姟
-                _uniUnitOfWorkManage.CommitTran();
-                return new WebResponseContent { Status = true,Data= putake };
+                return new WebResponseContent { Status = true, Data = putake };
             }
             catch (Exception ex)
             {
-                //鍥炴粴浜嬪姟
-                _uniUnitOfWorkManage.RollbackTran();
                 return new WebResponseContent { Status = false, Message = "鏇存柊澶辫触锛�" + ex.Message };
             }
         }
@@ -99,19 +153,15 @@
         {
             try
             {
-                //寮�鍚簨鍔�
-                _uniUnitOfWorkManage.BeginTran();
+                
 
                 var dg = BaseDal.QueryData(i=>i.Grouptype== group);
 
-                //鎻愪氦浜嬪姟
-                _uniUnitOfWorkManage.CommitTran();
                 return new WebResponseContent { Status = true, Data = dg };
             }
             catch (Exception ex)
             {
-                // 鍥炴粴浜嬪姟
-                _uniUnitOfWorkManage.RollbackTran();
+                
                 return new WebResponseContent { Status = false, Message = $"鏌ョ湅澶辫触:{ex}" };
             }
         }
@@ -122,15 +172,13 @@
         {
             try
             {
-                //寮�鍚簨鍔�
-                _uniUnitOfWorkManage.BeginTran();
+               
 
                 var Nj = _iNjTaskRepository.QueryData(i => i.NJtaskID == njid).FirstOrDefault();
 
                 if (Nj != null)
                 {
-                    //鎻愪氦浜嬪姟
-                    _uniUnitOfWorkManage.CommitTran();
+                    
                     return new WebResponseContent { Status = true, Data = Nj };
                 }
                 else {
@@ -143,66 +191,44 @@
             catch (Exception ex)
             {
 
-                //鍥炴粴浜嬪姟
-                _uniUnitOfWorkManage.RollbackTran();
+             
                 return new WebResponseContent { Status = false, Message = "鏇存柊澶辫触锛�" + ex.Message };
             }
         }
 
-        //鏇村叿浠诲姟鐘舵�佹煡璇�
-        public WebResponseContent seletTaskeStatus(string status)
-        {
-            try
-            {
-                //寮�鍚簨鍔�
-                _uniUnitOfWorkManage.BeginTran();
+        ////鏇村叿浠诲姟鐘舵�佹煡璇�
+        //public WebResponseContent seletTaskeStatus(string status)
+        //{
+        //    try
+        //    {
+              
 
-                var Nj = BaseDal.QueryData(i => i.Pustatus == status);
+        //        var Nj = BaseDal.QueryData(i => i.Pustatus == status);
 
-                if (Nj != null)
-                {
-                    //鎻愪氦浜嬪姟
-                    _uniUnitOfWorkManage.CommitTran();
-                    return new WebResponseContent { Status = true, Data = Nj };
-                }
-                else
-                {
-                    return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
-                }
+        //        if (Nj != null)
+        //        {
+                   
+        //            return new WebResponseContent { Status = true, Data = Nj };
+        //        }
+        //        else
+        //        {
+        //            return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
+        //        }
 
-            }
-            catch (Exception ex)
-            {
+        //    }
+        //    catch (Exception ex)
+        //    {
 
-                //鍥炴粴浜嬪姟
-                _uniUnitOfWorkManage.RollbackTran();
-                return new WebResponseContent { Status = false, Message = "鏇存柊澶辫触锛�" + ex.Message };
-            }
-        }
+               
+        //        return new WebResponseContent { Status = false, Message = "鏇存柊澶辫触锛�" + ex.Message };
+        //    }
+        //}
 
         public WebResponseContent GetNJandPu()
         {
             try
             {
-                var nj = _iNjTaskRepository.QueryData();  // 鑾峰彇 NJ 浠诲姟鍒楄〃
-                //var pu = BaseDal.QueryData();  // 鑾峰彇 PU 浠诲姟鍒楄〃
-                //var result = nj.Join(
-                //    pu,
-                //    n => n.NJtaskID,  // 澶栭敭 (涓昏〃)
-                //    p => p.ID.ToString(),  // 鍐呴敭 (浠庤〃)
-                //    (n, p) => new  // 杩炴帴鍚庣殑缁撴灉
-                //    {
-                //        n.NJtaskID,
-                //        n.trainKind,
-                //        n.trainNum,
-                //        n.track,
-                //        n.coachNum,
-                //        n.bogie,
-                //        n.processDept,
-                //        n.createTime,
-                //        p.Pustatus,
-                       
-                //    }).ToList();
+                var nj = _iNjTaskRepository.QueryData();  
                
 
                 return new WebResponseContent { Status = true, Data = nj };

--
Gitblit v1.9.3