From 18966e02fb573c7e2bb0c6426ed792b38b910940 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 19 9月 2025 15:37:55 +0800 Subject: [PATCH] 333 --- siemenswmssditcode/wmsService/wcftest/Form1.cs | 169 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 141 insertions(+), 28 deletions(-) diff --git a/siemenswmssditcode/wmsService/wcftest/Form1.cs b/siemenswmssditcode/wmsService/wcftest/Form1.cs index 34b1f6c..fd307a2 100644 --- a/siemenswmssditcode/wmsService/wcftest/Form1.cs +++ b/siemenswmssditcode/wmsService/wcftest/Form1.cs @@ -66,14 +66,20 @@ /// 璁惧杩愯鏃堕棿 /// </summary> public static TimeSpan deviceRunTime; + public static TimeSpan deviceRunTime_Srm1; + public static TimeSpan deviceRunTime_Srm2; /// <summary>璁惧绛夊緟鏃堕棿 /// 璁惧绛夊緟鏃堕棿 /// </summary> public static TimeSpan deviceWaitTime; + public static TimeSpan deviceWaitTime_Srm1; + public static TimeSpan deviceWaitTime_Srm2; /// <summary>璁惧鎶ヨ鏃堕棿 /// 璁惧鎶ヨ鏃堕棿 /// </summary> public static TimeSpan deviceAlarmTime; + public static TimeSpan deviceAlarmTime_Srm1; + public static TimeSpan deviceAlarmTime_Srm2; /// <summary>璁惧浣跨敤鐜� /// 璁惧浣跨敤鐜� /// </summary> @@ -82,10 +88,14 @@ /// 璁惧杩愯璁℃椂鍣� /// </summary> Stopwatch deviceSw = new Stopwatch(); + Stopwatch deviceSw_Srm1 = new Stopwatch(); + Stopwatch deviceSw_Srm2 = new Stopwatch(); /// <summary>涓婁竴娆¤澶囪繍琛岀姸鎬� /// 涓婁竴娆¤澶囪繍琛岀姸鎬� /// </summary> public string lastStatus = "绛夊緟"; + public string lastStatus_Srm1 = "绛夊緟"; + public string lastStatus_Srm2 = "绛夊緟"; /// <summary>涓婁竴娆″皬鏃舵暟--姣忛殧涓�灏忔椂淇濆瓨涓�娆¤澶囩姸鎬佹椂闂� /// 涓婁竴娆″皬鏃舵暟--姣忛殧涓�灏忔椂淇濆瓨涓�娆¤澶囩姸鎬佹椂闂� /// </summary> @@ -3122,6 +3132,8 @@ string[] containers = new string[19]; deviceSw.Start();// 璁惧杩愯璁$畻鍣ㄥ紑濮嬭鏃� + deviceSw_Srm1.Start();// 璁惧杩愯璁$畻鍣ㄥ紑濮嬭鏃� + deviceSw_Srm2.Start();// 璁惧杩愯璁$畻鍣ㄥ紑濮嬭鏃� #region 鑾峰彇璁惧淇℃伅 if (allowGetDeviceInfo == true) @@ -3195,24 +3207,11 @@ totalInfo.list11[1] = outTaskCount.Count; } - //鏇存敼鏁伴噺 銆怑ditby shaocx,2024-11-22銆� - /* - if (stockUsingCount != null) - { - decimal cout = stockUsingCount.Count / 1140M * 100; - totalInfo.list11[2] = Convert.ToInt32(cout); - } - if (outTimeStockCount != null) - { - totalInfo.list11[3] = outTimeStockCount.Count; - } - //*/ + totalInfo.list11[2] = 1152; totalInfo.list11[3] = 1152 - stockUsingCount.Count(); if (lastHour != today.Hour) - //int aaaa = 1; - //if (aaaa == 2) { //姣忛殧涓�灏忔椂淇濆瓨涓�娆¤澶囩姸鎬佹椂闂� lastHour = today.Hour; @@ -3232,20 +3231,28 @@ } else { - //todayDeviceInfo.deviceWaitTime = deviceWaitTime.TotalMinutes > 0 ? Convert.ToDecimal(deviceWaitTime.TotalMinutes) : 0M;// deviceWaitTime.Hours * 60M + deviceWaitTime.Minutes; + todayDeviceInfo.deviceRunTime = deviceRunTime.TotalMinutes > 0 ? Convert.ToDecimal(deviceRunTime.TotalMinutes) : 0M; todayDeviceInfo.deviceAlarmTime = deviceAlarmTime.TotalMinutes > 0 ? Convert.ToDecimal(deviceAlarmTime.TotalMinutes) : 0M; //閲嶆柊璁$畻璁惧绛夊緟鏃堕棿 銆怑ditby shaocx,2024-12-30銆� - CommonCalcWaitTime(ref todayDeviceInfo); + DeviceGeneralInfoHelper.CommonCalcWaitTime(ref todayDeviceInfo); todayDeviceInfo.taskEnterCount = enterTaskCount.Count;//鍏ュ簱浠诲姟鏁� todayDeviceInfo.taskOutCount = outTaskCount.Count;//鍑哄簱浠诲姟鏁� //鏇存敼鏁伴噺 銆怑ditby shaocx,2024-11-22銆� - //decimal cout = stockUsingCount.Count / 1140M * 100; decimal cout = stockUsingCount.Count / 1152M * 100; todayDeviceInfo.stockProportion = Convert.ToInt32(cout);//宸蹭娇鐢ㄧ殑搴撲綅 todayDeviceInfo.outDate = outTimeStockCount.Count;//杩囨湡鏃堕棿灏忎簬涓�涓湀鐨勫簱瀛樻暟鎹� } + + DeviceGeneralInfoHelper.HandlerDeviceGeneralInfoForDetail(1, enterTaskCount, outTaskCount, stockUsingCount, outTimeStockCount, + mod, lastHour, todayTime, + deviceSw_Srm1, deviceRunTime_Srm1, deviceAlarmTime_Srm1, deviceWaitTime_Srm1 + ); + DeviceGeneralInfoHelper.HandlerDeviceGeneralInfoForDetail(2, enterTaskCount, outTaskCount, stockUsingCount, outTimeStockCount, + mod, lastHour, todayTime, + deviceSw_Srm2, deviceRunTime_Srm2, deviceAlarmTime_Srm2, deviceWaitTime_Srm2 + ); int chang = mod.SaveChanges(); } @@ -3275,6 +3282,60 @@ if (lastStatus != "杩愯") { setDeviceStatusTime(lastStatus, "杩愯"); + } + } + } + #endregion + + #region 缁熻璁惧杩愯鏁堢巼锛堣缁嗭級 銆怑ditby shaocx,2025-09-19銆� + //1鍙峰爢鍨涙満 + if (deviceListInfo.srm1.isAlarm == true) + { + if (lastStatus_Srm1 != "鎶ヨ") + { + setDeviceStatusTimeForDetail(1, lastStatus_Srm1, "鎶ヨ"); + } + } + else + { + if (deviceListInfo.srm1.status == "绌洪棽") + { + if (lastStatus_Srm1 != "绛夊緟") + { + setDeviceStatusTimeForDetail(1, lastStatus_Srm1, "绛夊緟"); + } + } + else + { + if (lastStatus_Srm1 != "杩愯") + { + setDeviceStatusTimeForDetail(1, lastStatus_Srm1, "杩愯"); + } + } + } + //2鍙峰爢鍨涙満 + if (deviceListInfo.srm2.isAlarm == true) + { + if (lastStatus_Srm2 != "鎶ヨ") + { + setDeviceStatusTimeForDetail(2, lastStatus_Srm2, "鎶ヨ"); + } + + } + else + { + if (deviceListInfo.srm2.status == "绌洪棽") + { + if (lastStatus_Srm2 != "绛夊緟") + { + setDeviceStatusTimeForDetail(2, lastStatus_Srm2, "绛夊緟"); + } + } + else + { + if (lastStatus_Srm2 != "杩愯") + { + setDeviceStatusTimeForDetail(2, lastStatus_Srm2, "杩愯"); } } } @@ -3324,9 +3385,66 @@ { } + } + /// <summary>璁惧鐘舵�佸彉鍖栫殑鏃跺�� 淇濆瓨鐘舵�佹椂闂达紙鏄庣粏锛� + /// 璁惧鐘舵�佸彉鍖栫殑鏃跺�� 淇濆瓨鐘舵�佹椂闂� + /// </summary> + /// <param name="status"></param> + private void setDeviceStatusTimeForDetail(int srmNo, string lastStatuss, string nowStatus) + { + try + { + switch (lastStatuss) + { + case "绛夊緟": + if (srmNo == 1) + { + deviceWaitTime_Srm1 += deviceSw_Srm1.Elapsed; + } + else + { + deviceWaitTime_Srm2 += deviceSw_Srm2.Elapsed; + } + break; + case "杩愯": + if (srmNo == 1) + { + deviceRunTime_Srm1 += deviceSw_Srm1.Elapsed; + } + else + { + deviceRunTime_Srm2 += deviceSw_Srm2.Elapsed; + } + break; + case "鎶ヨ": + if (srmNo == 1) + { + deviceAlarmTime_Srm1 += deviceSw_Srm1.Elapsed; + } + else + { + deviceAlarmTime_Srm2 += deviceSw_Srm2.Elapsed; + } + break; + } + if (srmNo == 1) + { + deviceSw_Srm1.Restart(); + lastStatus_Srm1 = nowStatus; + } + else + { + deviceSw_Srm2.Restart(); + lastStatus_Srm2 = nowStatus; + } + } + catch (Exception) + { + + } } /// <summary>澶у睆淇℃伅鍒濆鍖� /// 澶у睆淇℃伅鍒濆鍖� @@ -3361,7 +3479,7 @@ //璁惧绛夊緟鏃堕棿 //creatTodayDeviceInfo.deviceWaitTime = Convert.ToDecimal(deviceWaitTime.Hours * 60M) + deviceWaitTime.Minutes;//鍗曚綅鍒嗛挓 //閲嶆柊璁$畻璁惧绛夊緟鏃堕棿 銆怑ditby shaocx,2024-12-30銆� - CommonCalcWaitTime(ref todayDeviceInfo); + DeviceGeneralInfoHelper.CommonCalcWaitTime(ref creatTodayDeviceInfo); creatTodayDeviceInfo.createTime = DateTime.Now; mod.deviceGeneralInfo.Add(creatTodayDeviceInfo); @@ -3371,6 +3489,10 @@ } } + + DeviceGeneralInfoHelper.deviceInfoInitForDetails(1, todayTime, lastHour, deviceAlarmTime_Srm1, deviceRunTime_Srm1, deviceWaitTime_Srm1); + DeviceGeneralInfoHelper.deviceInfoInitForDetails(2, todayTime, lastHour, deviceAlarmTime_Srm2, deviceRunTime_Srm2, deviceWaitTime_Srm2); + deviceInfos = new Thread(deviceInfo); deviceInfos.Start(); } @@ -3605,16 +3727,7 @@ return resultDate; } - private void CommonCalcWaitTime(ref deviceGeneralInfo todayDeviceInfo) - { - //閲嶆柊璁$畻璁惧绛夊緟鏃堕棿 銆怑ditby shaocx,2024-12-30銆� - todayDeviceInfo.deviceWaitTime = 1440 - (todayDeviceInfo.deviceRunTime + todayDeviceInfo.deviceAlarmTime); - } - private void CommonCalcWaitTime(ref deviceGeneralInfoForDetail todayDeviceInfo) - { - //閲嶆柊璁$畻璁惧绛夊緟鏃堕棿 銆怑ditby shaocx,2024-12-30銆� - todayDeviceInfo.deviceWaitTime = 1440 - (todayDeviceInfo.deviceRunTime + todayDeviceInfo.deviceAlarmTime); - } + #endregion -- Gitblit v1.9.3