From b8510ca5d1e56ef78cd27c45b6bd65a2c13f6b27 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期一, 17 三月 2025 15:12:34 +0800 Subject: [PATCH] 代码优化 --- 项目代码/WIDESEAWCS_Server 正式/SerialPortService/NjTaskServer.cs | 334 ++++++++++++++++++++++++------------------------------ 1 files changed, 149 insertions(+), 185 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 193a8c4..6c259dc 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,8 @@ using System.Net.NetworkInformation; using System.Text; using System.Threading.Tasks; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; +using SqlSugar; using StackExchange.Profiling.Internal; using WIDESEA_ISerialPortRepository; using WIDESEA_SerialPortRepository; @@ -28,13 +30,13 @@ public NjTaskServer(INjTaskRepository BaseDal, ITemplateRepository templateRepository, INJtakeHistoryRepository nJtakeHistoryRepository, - IPutakeRepository putakeRepository , IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) + IPutakeRepository putakeRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) { _templateRepository = templateRepository; _nJtakeHistoryRepository = nJtakeHistoryRepository; _putakeRepository = putakeRepository; _unitOfWorkManage = unitOfWorkManage;//鏁版嵁搴撲簨鍔� - + } public override PageGridData<Dt_NjTask> GetPageData(PageDataOptions options) @@ -47,34 +49,47 @@ } - //淇濆瓨妯℃澘 + /// <summary> + /// 淇濆瓨妯℃澘骞舵彁浜� + /// 鏈夋ā鏉縤d鐨勬椂鍊欏氨杩斿洖妯℃澘鐨勫�硷紝鏇存柊鎴栭�夋嫨妯℃澘鐨勫�煎苟灏嗕换鍔℃淳鍙戜笅鍘� + /// 娌℃湁妯℃澘id鐨勬椂鍊欙紝灏卞垱寤轰竴涓ā鏉匡紝鍏变笅娆′娇鐢� + /// </summary> + /// <param name="njtakeDTO"></param> + /// <returns></returns> public WebResponseContent Submtandsave(NjtakeDTO njtakeDTO) { try - { - //鏇村叿妯℃澘id鏉ユ煡璇㈡槸鍚﹀瓨鍦ㄨ鏉℃暟鎹� + { + // 1. 鏌ヨ妯℃澘琛� & 浠诲姟琛� var existtepm = _templateRepository.QueryFirst(i => i.TemplateID == njtakeDTO.Tpid); - var Temp = new Dt_Template(); //濡傛灉浣犺鏇存柊閭d箞瑕佸厛鎵惧埌锛屽惁鍒欎綘杩欐牱鏄垱寤轰竴涓柊鐨勫璞� - //濡傛灉娌℃湁妯℃澘id閭d箞灏变箣闂村垱寤烘ā鏉� - if (existtepm == null) + var task = BaseDal.QueryFirst(i => i.NJtaskID == njtakeDTO.Njtakeid); + + if (task == null) { - - Temp.TemplateName = njtakeDTO.takename; - Temp.TakeName = njtakeDTO.takename; - Temp.jiShuYuan = njtakeDTO.jishuyuan; - Temp.gongZhang = njtakeDTO.gongzhang; - Temp.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq; - Temp.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc; - Temp.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg; - 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; - + return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌浠诲姟" }; } - //濡傛灉鏈夊氨鍦ㄦā鏉夸笂杩涜鏇存敼 + + //2.纭畾鏄柊寤烘ā鏉胯繕鏄洿鏂板凡鏈夋ā鏉� + bool isNewTemplate = existtepm == null; + if (isNewTemplate) + { + existtepm = new Dt_Template + { + TemplateName = njtakeDTO.takename, + TakeName = njtakeDTO.takename, + jiShuYuan = njtakeDTO.jishuyuan, + gongZhang = njtakeDTO.gongzhang, + zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq, + zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc, + zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg, + liJu_Dg = njtakeDTO.liju_dg, + liJu_Dq = njtakeDTO.liju_dq, + liJu_Lc = njtakeDTO.liju_lc, + fuZhu_Dg = njtakeDTO.fuzhu_dg, + fuZhu_Dq = njtakeDTO.fuzhu_dq, + fuZhu_Lc = njtakeDTO.fuzhu_lc + }; + } else { existtepm.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq; @@ -86,55 +101,15 @@ existtepm.fuZhu_Dg = njtakeDTO.fuzhu_dg; existtepm.fuZhu_Dq = njtakeDTO.fuzhu_dq; existtepm.fuZhu_Lc = njtakeDTO.fuzhu_lc; - - } - //鍏堟牴鎹甶d鍒ゆ柇鏄惁鏈夎浠诲姟 - var task = BaseDal.QueryFirst(i => i.NJtaskID == njtakeDTO.Njtakeid); - if (task == null) - { - return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" }; } - task.Taskstatus = 1;//宸叉淳宸� + // 3. 鏇存柊浠诲姟琛� + task.Taskstatus = 1; // 宸叉淳宸� + task.dispatchTime = DateTime.Now; + task.startTime = DateTime.Now; + ApplyTemplateToTask(task, existtepm, isNewTemplate, njtakeDTO); - if (existtepm == null) - { - - task.TakeName = njtakeDTO.takename; - task.jiShuYuan = njtakeDTO.jishuyuan; - task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; - task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; - task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; - task.gongZhang = njtakeDTO.gongzhang; - task.liJu_DG = njtakeDTO.liju_dg; - task.liJu_DQ = njtakeDTO.liju_dq; - task.liJu_LC = njtakeDTO.liju_lc; - task.fuZhu_DG = njtakeDTO.fuzhu_dg; - task.fuZhu_DQ = njtakeDTO.fuzhu_dq; - task.fuZhu_LC = njtakeDTO.fuzhu_lc; - task.dispatchTime = DateTime.Now; - task.startTime = DateTime.Now; - } - else - { - task.TakeName = existtepm.TakeName; //浠庢ā鏉夸腑鎷垮�� - task.jiShuYuan = existtepm.jiShuYuan; - task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; - task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; - task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; - task.gongZhang = existtepm.gongZhang; - task.liJu_DG = njtakeDTO.liju_dg; - task.liJu_DQ = njtakeDTO.liju_dq; - task.liJu_LC = njtakeDTO.liju_lc; - task.fuZhu_DG = njtakeDTO.fuzhu_dg; - task.fuZhu_DQ = njtakeDTO.fuzhu_dq; - task.fuZhu_LC = njtakeDTO.fuzhu_lc; - task.dispatchTime = DateTime.Now; - task.startTime = DateTime.Now; - } - - - // 鎻掑叆鍒颁换鍔″巻鍙茶〃 + // 4. 鎻掑叆鍘嗗彶璁板綍 var history = new Dt_NJtakeHistory { taskID = task.id, @@ -155,7 +130,7 @@ liJu_DQ = task.liJu_DQ, fuZhu_LC = task.fuZhu_LC, fuZhu_DQ = task.fuZhu_DQ, - fuZhu_DG=task.fuZhu_DG, + fuZhu_DG = task.fuZhu_DG, createTime = task.createTime, dispatchTime = task.dispatchTime, startTime = task.startTime, @@ -173,89 +148,68 @@ confirmTime_DQ = task.confirmTime_DQ }; + // 5. 鎻掑叆浠诲姟鍒嗚В鏁版嵁 + var listp = new List<Dt_Putake> + { + new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "鐢垫皵", Pustatus = 0, zhijianyuan = task.zhiJianYuan_DQ, lijuzouyeyuan = task.liJu_DQ, fuzyuan = task.fuZhu_DQ, Dispatchtime = task.dispatchTime }, + new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "鏈烘", Pustatus = 0, zhijianyuan = task.zhiJianYuan_LC, lijuzouyeyuan = task.liJu_LC, fuzyuan = task.fuZhu_LC, Dispatchtime = task.dispatchTime }, + new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "鍦版矡", Pustatus = 0, zhijianyuan = task.zhiJianYuan_DG, lijuzouyeyuan = task.liJu_DG, fuzyuan = task.fuZhu_DG, Dispatchtime = task.dispatchTime } + }; + // 6. 浜嬪姟鎻愪氦 + _unitOfWorkManage.BeginTran(); - - List<Dt_Putake> listp = new List<Dt_Putake>(); - - // 瀹氫箟浠诲姟鎷嗚В鐨勭粍淇℃伅 - var groups = new[] + if (isNewTemplate) { - 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 } - }; - - - // 閫氳繃寰幆鍒涘缓瀵硅薄 - foreach (var g in groups) - { - listp.Add(new Dt_Putake - { - Njtakeid = task.NJtaskID, - takename = task.TakeName, - jishuyuan = task.jiShuYuan, - gonzhang = task.gongZhang, - - zhijianyuan = g.Zhijianyuan, - lijuzouyeyuan = g.Lijuzouyeyuan, - fuzyuan = g.Fuzyuan, - Grouptype=g.Grouptype, - Pustatus=g.Pustatus, - Dispatchtime=task.dispatchTime, - }); - } - - - _unitOfWorkManage.BeginTran();//寮�鍚簨鍔★紙鍦ㄥ鍒犳敼鏌ュ墠锛屼笟鍔″悗锛� - - if (existtepm == null)//濡傛灉涓嶅瓨鍦╥d - { - - _templateRepository.AddData(Temp);//娣诲姞妯℃澘 - - //db.Insertable(task).ExecuteCommand(); - BaseDal.UpdateData(task);//灏嗘ā鏉胯〃涓慨鏀圭殑鎻掑叆杩涗换鍔¤〃涓� - - // db.Insertable(history).ExecuteCommand(); - _nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍 - - _putakeRepository.AddData(listp);//涓嬪彂涓夋潯浠诲姟鍒嗚В琛ㄦ暟鎹� - // return new WebResponseContent { Status = true, Message = "涓嬪彂浜嗕换鍔″苟淇濆瓨浜嗘ā鏉�"}; + _templateRepository.AddData(existtepm); } else { - - //鑾峰彇骞惰繑鍥炴彃鍏ヨ褰曠殑鑷涓婚敭鍊硷紝璇ュ�艰瀛樺偍鍦� templatID 鍙橀噺涓� - //int templatID = _templateRepository.Db.Insertable(Temp).ExecuteReturnIdentity(); - //task.tempID = templatID; - - //淇敼妯℃澘琛� _templateRepository.UpdateData(existtepm); - - //灏嗘ā鏉垮彿鎻掑叆杩欐潯浠诲姟琛ㄤ腑 - task.tempID = existtepm.TemplateID; - - BaseDal.UpdateData(task);//灏嗕换鍔¤〃涓殑浜哄憳鎻掑叆杩涗换鍔¤〃涓� - - - _nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍 - - _putakeRepository.AddData(listp);//涓嬪彂涓夋潯浠诲姟鍒嗚В琛ㄦ暟鎹� - } - _unitOfWorkManage.CommitTran();//鎻愪氦浜嬪姟 + + BaseDal.UpdateData(task); + _nJtakeHistoryRepository.AddData(history); + _putakeRepository.AddData(listp); + + _unitOfWorkManage.CommitTran(); + return new WebResponseContent { Status = true, Data = task }; } catch (Exception ex) { - - //db.Ado.RollbackTran(); // 鍥炴粴浜嬪姟 _unitOfWorkManage.RollbackTran(); return new WebResponseContent { Status = false, Message = "娣诲姞澶辫触锛�" + ex.Message }; } } + /// <summary> + /// 浠诲姟琛ㄥ簲鐢ㄦā鏉夸俊鎭� + /// </summary> + private void ApplyTemplateToTask(Dt_NjTask task, Dt_Template template, bool isNewTemplate, NjtakeDTO njtakeDTO) + { + if (isNewTemplate) //妯℃澘id鏄惁鏈夛紝榛樿涓簄ull + { + task.TakeName = njtakeDTO.takename; + task.gongZhang = njtakeDTO.gongzhang; + } + else + { + task.TakeName = template.TakeName; + task.gongZhang = template.gongZhang; + } + + task.jiShuYuan = template.jiShuYuan; + task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; + task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; + task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; + task.liJu_DG = njtakeDTO.liju_dg; + task.liJu_DQ = njtakeDTO.liju_dq; + task.liJu_LC = njtakeDTO.liju_lc; + task.fuZhu_DG = njtakeDTO.fuzhu_dg; + task.fuZhu_DQ = njtakeDTO.fuzhu_dq; + task.fuZhu_LC = njtakeDTO.fuzhu_lc; + } //涓嶄繚瀛樻ā鏉� @@ -263,7 +217,7 @@ { try { - + //鍏堟牴鎹甶d鍒ゆ柇鏄惁鏈夎浠诲姟 @@ -277,20 +231,20 @@ task.TakeName = notempDTO.takename; - task.jiShuYuan = notempDTO.jishuyuan; - task.zhiJianYuan_DG = notempDTO.zhijianyuan_dg; - task.zhiJianYuan_DQ = notempDTO.zhijianyuan_dq; - task.zhiJianYuan_LC = notempDTO.zhijianyuan_lc; - task.gongZhang = notempDTO.gongzhang; - task.liJu_DG = notempDTO.liju_dg; - task.liJu_DQ = notempDTO.liju_dq; - task.liJu_LC = notempDTO.liju_lc; - task.fuZhu_DG = notempDTO.fuzhu_dg; - task.fuZhu_DQ = notempDTO.fuzhu_dq; - task.fuZhu_LC = notempDTO.fuzhu_lc; - task.dispatchTime=DateTime.Now; - task.startTime = DateTime.Now; - + task.jiShuYuan = notempDTO.jishuyuan; + task.zhiJianYuan_DG = notempDTO.zhijianyuan_dg; + task.zhiJianYuan_DQ = notempDTO.zhijianyuan_dq; + task.zhiJianYuan_LC = notempDTO.zhijianyuan_lc; + task.gongZhang = notempDTO.gongzhang; + task.liJu_DG = notempDTO.liju_dg; + task.liJu_DQ = notempDTO.liju_dq; + task.liJu_LC = notempDTO.liju_lc; + task.fuZhu_DG = notempDTO.fuzhu_dg; + task.fuZhu_DQ = notempDTO.fuzhu_dq; + task.fuZhu_LC = notempDTO.fuzhu_lc; + task.dispatchTime = DateTime.Now; + task.startTime = DateTime.Now; + // 鎻掑叆鍒颁换鍔″巻鍙茶〃 @@ -367,14 +321,14 @@ _unitOfWorkManage.BeginTran();//寮�鍚簨鍔★紙鍦ㄥ鍒犳敼鏌ュ墠锛屼笟鍔″悗锛� - BaseDal.UpdateData(task);//灏嗘ā鏉胯〃涓慨鏀圭殑鎻掑叆杩涗换鍔¤〃涓� + BaseDal.UpdateData(task);//灏嗘ā鏉胯〃涓慨鏀圭殑鎻掑叆杩涗换鍔¤〃涓� - // db.Insertable(history).ExecuteCommand(); - _nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍 + // db.Insertable(history).ExecuteCommand(); + _nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍 - _putakeRepository.AddData(listp);//涓嬪彂涓夋潯浠诲姟鍒嗚В琛ㄦ暟鎹� - // return new WebResponseContent { Status = true, Message = "涓嬪彂浜嗕换鍔″苟淇濆瓨浜嗘ā鏉�"}; - + _putakeRepository.AddData(listp);//涓嬪彂涓夋潯浠诲姟鍒嗚В琛ㄦ暟鎹� + // return new WebResponseContent { Status = true, Message = "涓嬪彂浜嗕换鍔″苟淇濆瓨浜嗘ā鏉�"}; + _unitOfWorkManage.CommitTran();//鎻愪氦浜嬪姟(澧炲垹鏀规煡鍚�) return new WebResponseContent { Status = true, Data = task }; } @@ -423,7 +377,7 @@ { CustomizeID = addNjtDTO.NJtaskID.ToString(); } - if (addNjtDTO.Creater=="") + if (addNjtDTO.Creater == "") { addNjtDTO.Creater = "admin"; } @@ -438,17 +392,17 @@ 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, + 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, }; @@ -461,12 +415,12 @@ catch (Exception ex) { - return new WebResponseContent { Status = false, Message = "澶辫触" + ex.Message,Code= 400 }; + return new WebResponseContent { Status = false, Message = "澶辫触" + ex.Message, Code = 400 }; } } //鏌ョ湅璇︽儏 杩斿洖鏁翠釜琛ㄧ殑鏁版嵁锛堟洿鍏穒d锛� - public WebResponseContent GetNjdetail(string njtaskID) + public WebResponseContent GetNjdetail(string njtaskID) { try { @@ -476,40 +430,50 @@ return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌" }; } - return new WebResponseContent { Status = true,Data = datatail }; + return new WebResponseContent { Status = true, Data = datatail }; } catch (Exception ex) { - return new WebResponseContent() { Status = false, Message ="澶辫触"+ ex.Message }; + return new WebResponseContent() { Status = false, Message = "澶辫触" + ex.Message }; } } - //鏇村叿id鏇存柊 + //鏍规嵁id鏇存柊 public WebResponseContent PuNjtake(PutNjtDTO putNjtDTO) { try { - var putake = BaseDal.QueryData(x => x.id==putNjtDTO.id).FirstOrDefault(); + 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; - + putake.trainKind = putNjtDTO.trainkind; + putake.trainNum = putNjtDTO.trainNum; + putake.track = putNjtDTO.track; + putake.coachNum = putake.coachNum; + putake.bogie = putNjtDTO.bogie; + putake.processDept = putake.processDept; + BaseDal.UpdateData(putake); - + return new WebResponseContent { Status = true, Data = putake }; } catch (Exception ex) { - + return new WebResponseContent { Status = false, Message = "鏌ヨ澶辫触锛�" + ex.Message }; } } + + + + + + + + + } } + -- Gitblit v1.9.3