From 2f0c81709876d76b6b120cf6ac43f05cda6dfe4c Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期六, 22 三月 2025 09:36:13 +0800 Subject: [PATCH] 修改websocket; --- 项目代码/WIDESEAWCS_Server 正式/SerialPortService/ProcessServer.cs | 220 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 189 insertions(+), 31 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/ProcessServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs" index 4a723d7..a22ef55 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs" @@ -39,21 +39,23 @@ return base.GetPageData(options); } - + //鑾峰彇濂楃瓛鏁伴噺 - public WebResponseContent GetSleeveandStep(string gruops) + public WebResponseContent GetSleeveandStep() { try { - var result = BaseDal.QueryData(x => x.CraftType == gruops) // 鍏堢瓫閫� CraftType + var result = BaseDal.QueryData() // 鍏堟煡鍑哄叏閮� .GroupBy(x => x.CraftType) // 鎸� CraftType 鍒嗙粍 .Select(g => new { - maxNodal = g.Max(a => a.Nodal), - sumTorqueSum = g.Sum(a => a.TorqueSum) + //灏介噺鍚庣鏁版嵁缁欏墠绔殑鏁版嵁锛岃皟涓�娆℃帴鍙e氨鍙互鎷垮埌锛屼笉瑕佽鍓嶇澶氭璋冪敤 + CraftType = g.Key, // 娣诲姞 CraftType + maxNodal = g.Max(a => a.Nodal),//鏈�澶ф楠� + sumTorqueSum = g.Sum(a => a.TorqueSum),//濂楃瓛鏁伴噺 }).ToList(); - + return new WebResponseContent { Status = true, Data = result }; } catch (Exception ex) @@ -63,25 +65,115 @@ } + #region + //public WebResponseContent AddOrUpdateProcess(AddProcessDTO addProcessDTO) + //{ + // try + // { + // var allProcesses = BaseDal.QueryData(); // 浠呮煡璇竴娆℃墍鏈夋暟鎹� + // if (addProcessDTO.id == 0) // 娣诲姞 + // { + // // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑 setnum + // if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype)) + // { + // return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setnum} 宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�" }; + // } + + // // 鍒涘缓鏂板伐鑹烘楠� + // var proces = new Dt_Process + // { + // SetpNum = addProcessDTO.setnum, + // CraftType = addProcessDTO.craftstype, + // CraftsStep = addProcessDTO.craftsstep, + // CraftContent = addProcessDTO.craftcontent, + // Tools = addProcessDTO.tools, + // Material = addProcessDTO.material, + // ArticleOneid = addProcessDTO.aritcleoneid, + // ArticleOne = addProcessDTO.articleone, + // ArticleTowid = addProcessDTO.aritcletowid, + // ArticleTwo = addProcessDTO.articletwo, + // CreateDate = DateTime.Now + // }; + + // BaseDal.AddData(proces); + // return new WebResponseContent { Status = true, Data = proces }; + // } + // else // 鏇存柊 + // { + // var existingProcess = allProcesses.FirstOrDefault(x => x.CraftID == addProcessDTO.id); + // if (existingProcess == null) + // { + // return new WebResponseContent { Status = false, Message = "鏈壘鍒拌宸ヨ壓姝ラ锛屾棤娉曟洿鏂帮紒" }; + // } + + // // 鍙湁褰� setnum 鍙戠敓鍙樺寲鏃讹紝鎵嶈繘琛岄噸澶嶆�ф鏌� + // if (existingProcess.SetpNum != addProcessDTO.setnum && allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id)) + // { + // return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setnum} 宸插瓨鍦紝涓嶈兘閲嶅锛�" }; + // } + + // // 鏇存柊鏁版嵁 + // existingProcess.Nodal = addProcessDTO.Nodal; + // existingProcess.SetpNum = addProcessDTO.setnum; + // existingProcess.CraftType = addProcessDTO.craftstype; + // existingProcess.CraftsStep = addProcessDTO.craftsstep; + // existingProcess.CraftContent = addProcessDTO.craftcontent; + // existingProcess.Tools = addProcessDTO.tools; + // existingProcess.Material = addProcessDTO.material; + // existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; + // existingProcess.ArticleOne = addProcessDTO.articleone; + // existingProcess.ArticleTowid = addProcessDTO.aritcletowid; + // existingProcess.ArticleTwo = addProcessDTO.articletwo; + // existingProcess.CreateDate = DateTime.Now; + + // BaseDal.UpdateData(existingProcess); + // return new WebResponseContent { Status = true, Data = existingProcess }; + // } + // } + // catch (Exception ex) + // { + // return new WebResponseContent { Status = false, Message = "鎿嶄綔澶辫触锛�" + ex.Message }; + // } + //} + + + + + //鑾峰彇褰撳墠浠诲姟宸ヤ綔姝ラ + #endregion + + /// <summary> + /// 鏍规嵁id鏉ュ垽鏂紝鏈塱d灏辨洿鏂版病鏈夊氨娣诲姞 + /// </summary> + /// <param name="addProcessDTO"></param> + /// <returns></returns> public WebResponseContent AddOrUpdateProcess(AddProcessDTO addProcessDTO) { try { - var allProcesses = BaseDal.QueryData(); // 浠呮煡璇竴娆℃墍鏈夋暟鎹� + var allProcesses = BaseDal.QueryData().OrderBy(x => x.SetpNum).ToList(); // 鎸� setnum 鎺掑簭 if (addProcessDTO.id == 0) // 娣诲姞 { // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑 setnum - if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype)) + if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setpNum && x.CraftType == addProcessDTO.craftstype)) { - return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setnum} 宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�" }; + return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setpNum} 宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�" }; } + // 闇�瑕佽皟鏁村悗缁楠ょ殑搴忓彿 + foreach (var process in allProcesses.Where(x => x.SetpNum >= addProcessDTO.setpNum)) + { + process.SetpNum++; // 鍚庣Щ涓�浣� + BaseDal.UpdateData(process); + } + // 鍒涘缓鏂板伐鑹烘楠� var proces = new Dt_Process { - SetpNum = addProcessDTO.setnum, + Nodal=addProcessDTO.Nodal, + SetpNum = addProcessDTO.setpNum, CraftType = addProcessDTO.craftstype, CraftsStep = addProcessDTO.craftsstep, CraftContent = addProcessDTO.craftcontent, @@ -91,8 +183,11 @@ ArticleOne = addProcessDTO.articleone, ArticleTowid = addProcessDTO.aritcletowid, ArticleTwo = addProcessDTO.articletwo, - CreateDate = DateTime.Now + CreateDate = DateTime.Now, + //涓虹┖灏辨槸0锛屼笉涓虹┖灏辨槸1 + TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1) }; + BaseDal.AddData(proces); return new WebResponseContent { Status = true, Data = proces }; @@ -105,16 +200,53 @@ return new WebResponseContent { Status = false, Message = "鏈壘鍒拌宸ヨ壓姝ラ锛屾棤娉曟洿鏂帮紒" }; } - // 鍙湁褰� setnum 鍙戠敓鍙樺寲鏃讹紝鎵嶈繘琛岄噸澶嶆�ф鏌� - if (existingProcess.SetpNum != addProcessDTO.setnum && - allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id)) + int oldSetNum = existingProcess.SetpNum; + int newSetNum = addProcessDTO.setpNum; + + if (oldSetNum == newSetNum) // 濡傛灉娌℃敼椤哄簭锛岀洿鎺ユ洿鏂板叾浠栧唴瀹� { - return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setnum} 宸插瓨鍦紝涓嶈兘閲嶅锛�" }; + existingProcess.Nodal = addProcessDTO.Nodal; + existingProcess.CraftType = addProcessDTO.craftstype; + existingProcess.CraftsStep = addProcessDTO.craftsstep; + existingProcess.CraftContent = addProcessDTO.craftcontent; + existingProcess.Tools = addProcessDTO.tools; + existingProcess.Material = addProcessDTO.material; + existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; + existingProcess.ArticleOne = addProcessDTO.articleone; + existingProcess.ArticleTowid = addProcessDTO.aritcletowid; + existingProcess.ArticleTwo = addProcessDTO.articletwo; + existingProcess.CreateDate = DateTime.Now; + existingProcess.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1); + + BaseDal.UpdateData(existingProcess); + return new WebResponseContent { Status = true, Data = existingProcess }; + } + // 鏇存柊 TorqueSum + + + + + // 璋冩暣椤哄簭 + if (newSetNum < oldSetNum) // 鍚戝墠绉诲姩锛屽悗缁暟鎹線鍚庣Щ + { + foreach (var process in allProcesses.Where(x => x.SetpNum >= newSetNum && x.SetpNum < oldSetNum)) + { + process.SetpNum++; // 鍚庣Щ涓�浣� + BaseDal.UpdateData(process); + } + } + else if (newSetNum > oldSetNum) // 鍚戝悗绉诲姩锛屽墠闈㈡暟鎹線鍓嶇Щ + { + foreach (var process in allProcesses.Where(x => x.SetpNum > oldSetNum && x.SetpNum <= newSetNum)) + { + process.SetpNum--; // 鍓嶇Щ涓�浣� + BaseDal.UpdateData(process); + } } - // 鏇存柊鏁版嵁 + // 鏇存柊褰撳墠姝ラ鐨勬柊搴忓彿 + existingProcess.SetpNum = newSetNum; existingProcess.Nodal = addProcessDTO.Nodal; - existingProcess.SetpNum = addProcessDTO.setnum; existingProcess.CraftType = addProcessDTO.craftstype; existingProcess.CraftsStep = addProcessDTO.craftsstep; existingProcess.CraftContent = addProcessDTO.craftcontent; @@ -137,9 +269,6 @@ } - - - //鑾峰彇褰撳墠浠诲姟宸ヤ綔姝ラ public WebResponseContent Getcircuit(string group, string takeid) { try @@ -156,13 +285,13 @@ //杩斿洖褰撳墠宸ヨ壓鐨勬渶澶ф楠� var maxproce = process.Max(x => x.SetpNum); - + //鎷垮埌宸ヨ壓琛ㄤ腑姝ラ涓�1鐨� var proNoe = process.Where(x => x.SetpNum == 1);//鑾峰緱宸ヨ壓琛ㄤ腑鐨勭涓�姝� if (torp.Count == 0) { - return new WebResponseContent { Status = true, Message = "杩斿洖宸ヨ壓琛ㄤ腑鐨勭涓�鏉�", Data =new { proNoe, maxproce } }; + return new WebResponseContent { Status = true, Message = "杩斿洖宸ヨ壓琛ㄤ腑鐨勭涓�鏉�", Data = new { proNoe, maxproce } }; } var nowNum = torp.Max(x => x.ProcessSte);//鑾峰緱褰撳墠鏈�澶ф楠� @@ -170,7 +299,7 @@ //op.Modifier="true" 琛ㄧず鏄己鍒舵墽琛岋紝灏变笉闇�瑕佸垽鏂簲鎵殑娆℃暟锛岀洿鎺ヨ繑鍥� op.ProcessSte+1 if (Mod == "true") { - var now= maxproce + 1; + var now = maxproce + 1; return new WebResponseContent { Status = true, Data = new { proNoe, maxproce, now } }; } @@ -180,7 +309,7 @@ //鍒ゆ柇褰撳墠姝ラ鐨勬壄鍔涙鏁版槸鍚﹀畬鎴愶紝娌″畬鎴愯繑鍥炲綋鍓嶆楠わ紝瀹屾垚杩斿洖op.ProcessSte+1锛岀姸鎬佸�肩粰false - return new WebResponseContent { Status = true, Message = "杩斿洖褰撳墠浠诲姟鍋氬埌鐨勫ぇ姝ラ", Data =new { maxpro, maxproce } }; + return new WebResponseContent { Status = true, Message = "杩斿洖褰撳墠浠诲姟鍋氬埌鐨勫ぇ姝ラ", Data = new { maxpro, maxproce } }; } catch (Exception ex) @@ -189,7 +318,7 @@ } } - public WebResponseContent Nextprocess(SetpDTO setpDTO,bool flag)//寮哄埗鎵ц缁欐垜true + public WebResponseContent Nextprocess(SetpDTO setpDTO, bool flag)//寮哄埗鎵ц缁欐垜true { try { @@ -205,17 +334,18 @@ //杩斿洖褰撳墠宸ヨ壓鐨勬渶澶ф楠� var maxproce = process.Max(x => x.SetpNum); + var TorqueOneQuantity = nowdate.Select(x => x.TorqueOneQuantity).FirstOrDefault(); - var TorqueTwoQuantity= nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault(); + var TorqueTwoQuantity = nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault(); //鍒ゆ柇瀛樺�艰〃鐨勬暟鎹槸鍚︽弧瓒宠姝ラ闇�瑕佸嚑鏉℃暟鎹殑鏉℃暟 int TargetCount = TorqueOneQuantity + TorqueTwoQuantity;//涓�鍏辫鏈夊灏戞潯鏁版嵁锛堢洰鏍囨暟閲忥級 if (practiceCount < TargetCount && !flag) { - return new WebResponseContent { Status = true, Message = "娌℃湁瀹屾垚褰撳墠姝ラ", Data =new { nowdate, maxproce } }; + return new WebResponseContent { Status = true, Message = "娌℃湁瀹屾垚褰撳墠姝ラ", Data = new { nowdate, maxproce } }; } - else if(practiceCount == TargetCount || (practiceCount != TargetCount && flag))//寮哄埗鎵ц 鍓嶇缁欐垜涓�涓猣lag=ture鏃� + else if (practiceCount == TargetCount || (practiceCount != TargetCount && flag))//寮哄埗鎵ц 鍓嶇缁欐垜涓�涓猣lag=ture鏃� { //寮哄埗璺宠浆涓嬩竴姝ワ紝鎻掑叆op琛ㄥ綋鍓嶆楠� op.TakeId = setpDTO.takeid; @@ -237,7 +367,7 @@ _torqueOpRepository.AddData(op); - return new WebResponseContent { Status = true,Message= $"浣犲凡瀹屾垚褰撳墠绗瑊setpDTO.setnum}锛屽噯澶囩{num}姝ヤ换鍔�", Data = new { nex, maxproce } }; + return new WebResponseContent { Status = true, Message = $"浣犲凡瀹屾垚褰撳墠绗瑊setpDTO.setnum}锛屽噯澶囩{num}姝ヤ换鍔�", Data = new { nex, maxproce } }; } catch (Exception ex) { @@ -268,8 +398,36 @@ return new WebResponseContent { Status = false, Message = "鏌ヨ澶辫触锛�" + ex.Message }; } } - } - + /// <summary> + /// 璇诲彇褰撳墠宸ヨ壓姝ラ鐨勬壄鍔涘�间笌娆℃暟 + /// </summary> + /// <param name="grop"></param> + /// <param name="setnum"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + public WebResponseContent GetValueandNumber(string grop, int setnum) + { + try + { + var result = BaseDal.QueryData(x => x.CraftType == grop && x.SetpNum == setnum) + .Select(g => new + { + g.TorqueOne, + g.TorqueOneQuantity, + g.TorqueTwo, + g.TorqueTwoQuantity + }); + return new WebResponseContent { Status = true, Data = result }; + + } + catch (Exception ex) + { + return new WebResponseContent { Status = false,Message="閿欒锛�"+ex }; throw; + } + } } + +} + -- Gitblit v1.9.3