From d3ae2e67d8237e8474c7b88f526619550608b933 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 13 三月 2025 21:51:20 +0800
Subject: [PATCH] 通信

---
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/NjTaskServer.cs |  253 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 153 insertions(+), 100 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/NjTaskServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
index a2750a5..ef3f16e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
@@ -5,6 +5,7 @@
 using System.Net.NetworkInformation;
 using System.Text;
 using System.Threading.Tasks;
+using StackExchange.Profiling.Internal;
 using WIDESEA_ISerialPortRepository;
 using WIDESEA_SerialPortRepository;
 using WIDESEAWCS_Core;
@@ -22,7 +23,6 @@
         private readonly ITemplateRepository _templateRepository;
         private readonly INJtakeHistoryRepository _nJtakeHistoryRepository;
         private readonly IPutakeRepository _putakeRepository;
-
         private IUnitOfWorkManage _unitOfWorkManage;
 
 
@@ -37,71 +37,21 @@
             
         }
 
-        public WebResponseContent Fuzzyquery(string trainkind, string trainnum, string track, string coachnum, string bogie, string processdept)
+        public override PageGridData<Dt_NjTask> GetPageData(PageDataOptions options)
         {
-            try
-            {
-                var query = BaseDal.Db.Queryable<Dt_NjTask>();
-                // 鐢熸垚 OR 鏌ヨ鏉′欢 鍗充换鎰忓瓧娈甸兘鍙互鏌ョ湅
-                if (!string.IsNullOrEmpty(trainkind) || !string.IsNullOrEmpty(trainnum) ||
-                    !string.IsNullOrEmpty(track) || !string.IsNullOrEmpty(coachnum) ||
-                    !string.IsNullOrEmpty(bogie) || !string.IsNullOrEmpty(processdept))
+            OrderByParameters = new Dictionary<string, SqlSugar.OrderByType> {
                 {
-                    query = query.Where(x =>
-                        (!string.IsNullOrEmpty(trainkind) && x.trainKind.Contains(trainkind)) ||
-                        (!string.IsNullOrEmpty(trainnum) && x.trainNum.Contains(trainnum)) ||
-                        (!string.IsNullOrEmpty(track) && x.track.Contains(track)) ||
-                        (!string.IsNullOrEmpty(coachnum) && x.coachNum.Contains(coachnum)) ||
-                        (!string.IsNullOrEmpty(bogie) && x.bogie.Contains(bogie)) ||
-                        (!string.IsNullOrEmpty(processdept) && x.processDept.Contains(processdept))
-                    );
-                }
-
-                var result = query.ToList(); // 鎵ц鏌ヨ .ToList()鏌ヨ鍒楄〃锛� .InSingle(1); // 鏍规嵁鏌ヨ鍗曚釜瀹炰綋
-                return new WebResponseContent { Status = true, Data = result };
-            }
-            catch (Exception ex)
-            {
-
-                return new WebResponseContent { Status = false, Message = "鏌ョ湅澶辫触锛�" + ex.Message };
-            }
-
+                    nameof(Dt_NjTask.trainKind),SqlSugar.OrderByType.Asc
+                } };
+            return base.GetPageData(options);
         }
 
-       
+
         //淇濆瓨妯℃澘
         public WebResponseContent Submtandsave(NjtakeDTO njtakeDTO)
         {
             try
-            {
-
-                #region 鑷畾涔夊懡鍚嶇粰Njtaskid
-                // 鑾峰彇浠婂ぉ鐨勬棩鏈熼儴鍒嗭紝濡� "KH0306"
-                string todayPrefix = $"KH{DateTime.Now:MMdd}";
-
-                // 鏌ヨ鏁版嵁搴擄紝鎵惧嚭褰撳ぉ鏈�澶х殑 NJtaskID
-                var lastTask = BaseDal.QueryData(i => i.NJtaskID.StartsWith(todayPrefix))
-                                      .OrderByDescending(i => i.NJtaskID)
-                                      .FirstOrDefault();
-
-                int nextNumber = 1; // 榛樿缂栧彿
-
-                if (lastTask != null)
-                {
-                    // 鑾峰彇鍚庝袱浣嶅垎閽熺紪鍙�
-                    string lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
-                    if (int.TryParse(lastNumberPart, out int lastNumber))
-                    {
-                        nextNumber = lastNumber + 1;
-                    }
-                }
-
-                // 鐢熸垚 NJtaskID锛屼緥濡� KH030601, KH030602...
-                string CustomizeID = $"{todayPrefix}{nextNumber:D2}";
-                #endregion
-
-
-
+            {   
                 //鏇村叿妯℃澘id鏉ユ煡璇㈡槸鍚﹀瓨鍦ㄨ鏉℃暟鎹�
                 var existtepm = _templateRepository.QueryFirst(i => i.TemplateID == njtakeDTO.Tpid);
                 var Temp = new Dt_Template(); //濡傛灉浣犺鏇存柊閭d箞瑕佸厛鎵惧埌锛屽惁鍒欎綘杩欐牱鏄垱寤轰竴涓柊鐨勫璞�      
@@ -116,15 +66,13 @@
                         Temp.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq;
                         Temp.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc;
                         Temp.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg;
-                        Temp.liJu_Dg = njtakeDTO.liju_dq;
+                        Temp.liJu_Dg = njtakeDTO.liju_dg;
                         Temp.liJu_Dq = njtakeDTO.liju_dq;
                         Temp.liJu_Lc = njtakeDTO.liju_lc;
                         Temp.fuZhu_Dg = njtakeDTO.fuzhu_dg;
                         Temp.fuZhu_Dq = njtakeDTO.fuzhu_dq;
                         Temp.fuZhu_Lc = njtakeDTO.fuzhu_lc;
-                           
-                 
-
+                                                  
                 }
                 //濡傛灉鏈夊氨鍦ㄦā鏉夸笂杩涜鏇存敼
                 else
@@ -132,7 +80,7 @@
                     existtepm.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq;
                     existtepm.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc;
                     existtepm.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg;
-                    existtepm.liJu_Dg = njtakeDTO.liju_dq;
+                    existtepm.liJu_Dg = njtakeDTO.liju_dg;
                     existtepm.liJu_Dq = njtakeDTO.liju_dq;
                     existtepm.liJu_Lc = njtakeDTO.liju_lc;
                     existtepm.fuZhu_Dg = njtakeDTO.fuzhu_dg;
@@ -147,11 +95,11 @@
                     return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
                 }
 
-                task.Taskstatus = "宸叉淳宸�";
+                task.Taskstatus = 1;//宸叉淳宸�
 
                 if (existtepm == null)
                 {
-                    task.NJtaskID = CustomizeID;
+                   
                     task.TakeName = njtakeDTO.takename;
                     task.jiShuYuan = njtakeDTO.jishuyuan;
                     task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg;
@@ -165,6 +113,7 @@
                     task.fuZhu_DQ = njtakeDTO.fuzhu_dq;
                     task.fuZhu_LC = njtakeDTO.fuzhu_lc;
                     task.dispatchTime = DateTime.Now;
+                    task.startTime = DateTime.Now;
                 }
                 else
                 {
@@ -181,6 +130,7 @@
                     task.fuZhu_DQ = njtakeDTO.fuzhu_dq;
                     task.fuZhu_LC = njtakeDTO.fuzhu_lc;
                     task.dispatchTime = DateTime.Now;
+                    task.startTime = DateTime.Now;
                 }
 
 
@@ -231,9 +181,9 @@
                 // 瀹氫箟浠诲姟鎷嗚В鐨勭粍淇℃伅
                 var groups = new[]
                 {
-                    new { Grouptype= "鐢垫皵",Pustatus="寰呴绛�",Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
-                    new { Grouptype = "鏈烘",Pustatus="寰呴绛�", Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
-                    new { Grouptype = "鍦版矡",Pustatus="寰呴绛�", Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
+                    new { Grouptype= "鐢垫皵",Pustatus=0,Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
+                    new { Grouptype = "鏈烘",Pustatus=0, Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
+                    new { Grouptype = "鍦版矡",Pustatus=0, Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                  };
 
 
@@ -313,30 +263,7 @@
         {
             try
             {
-                #region 鑷畾涔夊懡鍚嶇粰Njtaskid
-                // 鑾峰彇浠婂ぉ鐨勬棩鏈熼儴鍒嗭紝濡� "KH0306"
-                string todayPrefix = $"KH{DateTime.Now:MMdd}";
-
-                // 鏌ヨ鏁版嵁搴擄紝鎵惧嚭褰撳ぉ鏈�澶х殑 NJtaskID
-                var lastTask = BaseDal.QueryData(i => i.NJtaskID.StartsWith(todayPrefix))
-                                      .OrderByDescending(i => i.NJtaskID)
-                                      .FirstOrDefault();
-
-                int nextNumber = 1; // 榛樿缂栧彿
-
-                if (lastTask != null)
-                {
-                    // 鑾峰彇鍚庝袱浣嶅垎閽熺紪鍙�
-                    string lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
-                    if (int.TryParse(lastNumberPart, out int lastNumber))
-                    {
-                        nextNumber = lastNumber + 1;
-                    }
-                }
-
-                // 鐢熸垚 NJtaskID锛屼緥濡� KH030601, KH030602...
-                string CustomizeID = $"{todayPrefix}{nextNumber:D2}";
-                #endregion
+              
 
 
                 //鍏堟牴鎹甶d鍒ゆ柇鏄惁鏈夎浠诲姟
@@ -346,10 +273,10 @@
                     return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
                 }
 
-                task.Taskstatus = "宸叉淳宸�";
+                task.Taskstatus = 1;//宸叉淳宸�
 
-                     task.NJtaskID = CustomizeID;
-                    task.TakeName = notempDTO.takename;
+
+                task.TakeName = notempDTO.takename;
                     task.jiShuYuan = notempDTO.jishuyuan;
                     task.zhiJianYuan_DG = notempDTO.zhijianyuan_dg;
                     task.zhiJianYuan_DQ = notempDTO.zhijianyuan_dq;
@@ -362,8 +289,7 @@
                     task.fuZhu_DQ = notempDTO.fuzhu_dq;
                     task.fuZhu_LC = notempDTO.fuzhu_lc;
                     task.dispatchTime=DateTime.Now;
-                    //task.NJtaskID=
-                   // task.startTime =DateTime.Now;
+                    task.startTime = DateTime.Now;
                
 
 
@@ -414,9 +340,9 @@
                 // 瀹氫箟浠诲姟鎷嗚В鐨勭粍淇℃伅
                 var groups = new[]
                 {
-                    new { Grouptype= "鐢垫皵",Pustatus="寰呴绛�",Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
-                    new { Grouptype = "鏈烘",Pustatus="寰呴绛�", Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
-                    new { Grouptype = "鍦版矡",Pustatus="寰呴绛�", Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
+                    new { Grouptype= "鐢垫皵",Pustatus=0,Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
+                    new { Grouptype = "鏈烘",Pustatus=0, Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
+                    new { Grouptype = "鍦版矡",Pustatus=0, Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                  };
 
                 // 閫氳繃寰幆鍒涘缓瀵硅薄
@@ -461,6 +387,133 @@
             }
         }
 
+        //娣诲姞淇℃伅
+        public WebResponseContent AddNjtake(AddNjtDTO addNjtDTO)
+        {
+            try
+            {
+                #region 鑷畾涔夊懡鍚嶇粰Njtaskid
+                string CustomizeID = "";
+                if (addNjtDTO.NJtaskID == 0)
+                {
+                    // 鑾峰彇浠婂ぉ鐨勬棩鏈熼儴鍒嗭紝濡� "K20250306"
+                    string todayPrefix = $"K{DateTime.Now:yyyyMMdd}";
 
+                    // 鏌ヨ鏁版嵁搴擄紝鎵惧嚭褰撳ぉ鏈�澶х殑 NJtaskID
+                    var lastTask = BaseDal.QueryData(i => i.NJtaskID.StartsWith(todayPrefix))
+                                          .OrderByDescending(i => i.NJtaskID)
+                                          .FirstOrDefault();
+
+                    int nextNumber = 1; // 榛樿缂栧彿
+
+                    if (lastTask != null)
+                    {
+                        // 鑾峰彇鍚庝袱浣嶅垎閽熺紪鍙�
+                        string lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
+                        if (int.TryParse(lastNumberPart, out int lastNumber))
+                        {
+                            nextNumber = lastNumber + 1;
+                        }
+                    }
+
+                    // 鐢熸垚 NJtaskID锛屼緥濡� KH0306001, KH0306002...
+                    CustomizeID = $"{todayPrefix}{nextNumber:D3}";//D3琛ㄧず 3浣嶆暟锛屼笉瓒宠ˉ0
+                }
+                else
+                {
+                    CustomizeID = addNjtDTO.NJtaskID.ToString();
+                }
+                if (addNjtDTO.Creater=="")
+                {
+                    addNjtDTO.Creater = "admin";
+                }
+                #endregion
+
+                var addnj = new Dt_NjTask()
+                {
+                    NJtaskID = CustomizeID,
+                    trainKind = addNjtDTO.trainKind,
+                    trainNum = addNjtDTO.trainNum,
+                    track = addNjtDTO.track,
+                    coachNum = addNjtDTO.coachNum,
+                    bogie = addNjtDTO.bogie,
+                    processDept = addNjtDTO.processDept,
+                    jiShuYuan=addNjtDTO.jiShuYuan,
+                    zhiJianYuan_LC=addNjtDTO.zhiJianYuan_LC,
+                    zhiJianYuan_DG=addNjtDTO.zhiJianYuan_DG,
+                    zhiJianYuan_DQ=addNjtDTO.zhiJianYuan_DQ,
+                    gongZhang=addNjtDTO.gongZhang,
+                    liJu_LC=addNjtDTO.liJu_LC,
+                    liJu_DG=addNjtDTO.liJu_DG,
+                    liJu_DQ=addNjtDTO.liJu_DQ,
+                    fuZhu_LC=addNjtDTO.fuZhu_LC,
+                    fuZhu_DG=addNjtDTO.fuZhu_DG,
+                    fuZhu_DQ=addNjtDTO.fuZhu_DQ,
+                    Taskstatus = 0,
+                    createTime = DateTime.Now,
+                };
+
+                BaseDal.AddData(addnj);
+
+                return new WebResponseContent { Status = true, Message = "鎴愬姛", Code = 200, Data = addnj };
+
+            }
+            catch (Exception ex)
+            {
+
+                return new WebResponseContent { Status = false, Message = "澶辫触" + ex.Message,Code= 400 };
+            }
+        }
+
+        //鏌ョ湅璇︽儏 杩斿洖鏁翠釜琛ㄧ殑鏁版嵁锛堟洿鍏穒d锛�
+        public WebResponseContent GetNjdetail(string  njtaskID)
+        {
+            try
+            {
+                _unitOfWorkManage.BeginTran();
+                var datatail = BaseDal.QueryData(x => x.NJtaskID == njtaskID).FirstOrDefault();
+                if (datatail == null)
+                {
+                    return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
+
+                }
+                _unitOfWorkManage.CommitTran();
+                return new WebResponseContent { Status = true,Data = datatail };
+            }
+            catch (Exception ex)
+            {
+
+                _unitOfWorkManage.RollbackTran();
+                return new WebResponseContent() { Status = false, Message ="澶辫触"+ ex.Message };
+            }
+        }
+
+        //鏇村叿id鏇存柊
+        public WebResponseContent PuNjtake(PutNjtDTO putNjtDTO)
+        {
+            try
+            {
+                var putake = BaseDal.QueryData(x => x.id==putNjtDTO.id).FirstOrDefault();
+                if (putake == null)
+                {
+                    return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" };
+                }
+                putake.trainKind= putNjtDTO.trainkind;
+                putake.trainNum= putNjtDTO.trainNum;
+                putake.track=putNjtDTO.track;
+                putake.coachNum=putake.coachNum;
+                putake.bogie=putNjtDTO.bogie;
+                putake.processDept=putake.processDept;
+                _unitOfWorkManage.BeginTran();
+                BaseDal.UpdateData(putake);
+                _unitOfWorkManage.CommitTran();
+                return new WebResponseContent { Status = true, Data = putake };
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                return new WebResponseContent { Status = false, Message = "鏌ヨ澶辫触锛�" + ex.Message };
+            }
+        }
     }
 }

--
Gitblit v1.9.3