From f759dc1e6f49c53733eafda82207c85af18f9931 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 28 五月 2020 15:46:54 +0800
Subject: [PATCH] 2020-05-28-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs |   47 ++++++++++++++++++++++++-----------------------
 1 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index 7b071fd..1d0328b 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -32,11 +32,7 @@
         /// </summary>
         public int timeValue = 0;
         /// <summary>
-        /// 鏍囪鏄剧ず鎵ц鏃ユ湡(鐢ㄧ綉鍏崇殑锛岃繕鏄敤绯荤粺鐨勬椂闂�)
-        /// </summary>
-        public bool _if = false;
-        /// <summary>
-        /// 鏃堕棿鎴�
+        /// 璁板綍鏃堕棿鎴�
         /// </summary>
         public int timeLong = 0;
         public async void Show()
@@ -58,7 +54,7 @@
                     action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
                 }
             };
-
+            
             var middle = new FrameLayout
             {
                 Y = view.topRowLayout.Bottom,
@@ -68,7 +64,7 @@
             this.AddChidren(middle);
             #endregion
             //鏄父寮�妯″紡鍐嶅幓璇诲彇
-
+            Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
             if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
                 //杩涙潵鏇存柊涓�娆�
@@ -82,7 +78,6 @@
                         logicId = logic.LogicId;
                         timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600;
                         timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]);
-
                     }
                     catch { }
                 }
@@ -226,7 +221,8 @@
                 }
                 catch { }
             };
-
+            
+            //UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, _bool) =>
            //{
            //    var key = Send.CurrentDoorLock.DeviceAddr + Send.CurrentDoorLock.DeviceEpoint;
            //    if (DoorlockKey == key)
            //    {
            //        try
            //        {
            //            Application.RunOnMainThread(() =>
            //            {
            //                Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool;
            //                ModeView();
            //            });
            //        }
            //        catch { }
            //    }
            //};
         }
         /// <summary>
         /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
@@ -285,7 +281,6 @@
                                 Send.DelLogic(logicId);
                             }
                             Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
-                            _if = false;
                             ModeView();
                         }
                         else
@@ -304,7 +299,7 @@
                     }
                 };
 
-               
+
                 if (logicId != 0)
                 {
                     ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
@@ -312,7 +307,7 @@
                     {
                         Y = Application.GetRealHeight(127 + 69),
                         X = Application.GetRealWidth(80),//125
-                        Width = Application.GetRealWidth(907+12),//634 + 200
+                        Width = Application.GetRealWidth(907 + 12),//634 + 200
                         Height = Application.GetRealHeight(60),
                         TextSize = 15,
                         TextColor = ZigbeeColor.Current.LogicTextBlackColor,
@@ -331,22 +326,23 @@
                     int hour = 0;
                     int minute = 0;
 
-                    if (_if)
+                    if (timeLong != 0)
                     {
-                        ///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱
+                        ///璇诲彇缃戝叧鏃堕棿锛�
                         var datetime = GetLocalTime(timeLong);
                         ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
                         year = datetime.Year.ToString();//閭d竴骞�
                         month = datetime.Month.ToString();//閭d竴鏈�
-                        days = int.Parse(datetime.ToString("dd"));//閭d竴澶�
-                        hour = int.Parse(datetime.ToString("HH"));//灏忔椂                   
+                        var d = int.Parse(datetime.ToString("dd"));//閭d竴澶�
+                        var h = int.Parse(datetime.ToString("HH"));//灏忔椂
+                        int dayInt = (h + timeValue) / 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂
+                        hour = (h + timeValue) % 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂鍓╀笅澶氬皯灏忔椂
+                        days = d + dayInt;//褰撳墠绯荤粺澶╂暟+鎵ц鍚庡ぉ鏁�
                         minute = datetime.Minute;//鍒嗛挓
                     }
                     else
                     {
-
-
-                        ///鍦ㄥ綋鍓嶇晫闈㈢紪杈戞樉绀虹郴缁熸椂闂�(涓嶈兘姣忎竴娆$紪杈戦兘鍘荤綉鍏虫嬁鏁版嵁)
                        year = DateTime.Now.Year.ToString();//閭d竴骞�
+                        ///璇诲彇绯荤粺鏃堕棿
                        year = DateTime.Now.Year.ToString();//閭d竴骞�
                         month = DateTime.Now.Month.ToString();//閭d竴鏈�
                         var d = DateTime.Now.ToString("dd");//閭d竴澶�
                         var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂
@@ -416,6 +412,7 @@
                     {///鍐嶆纭
                         LogicView.TipView.ShowInputTip(true, async (str) =>
                         {///纭鍙戦�佸懡浠�
+
                             CommonPage.Loading.Start();
                             try
                             {
@@ -429,7 +426,7 @@
                                 else
                                 {
                                     ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
-                                    SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
+                                    SkipView.DelAllLogic(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
                                     var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
                                     if (addResult == 0)
                                     {
@@ -444,7 +441,6 @@
                                         logicId = addResult;
                                         timeValue = int.Parse(str);
                                         Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
-                                        _if = false;
                                         ModeView();
                                         ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
                                         UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
@@ -549,6 +545,7 @@
             {
                 if (!SkipView.ExistLogic(logic, Send.CurrentDoorLock))
                 {
+                    ///涓嶆槸璇ラ棬閿佽嚜鍔ㄥ寲灏变笉鏄剧ず鍑烘潵;
                     continue;
                 }
                 #region  鑷姩鍖栧竷灞�View
@@ -708,8 +705,11 @@
                 };
             }
         }
-
-      
+        /// <summary>
+        /// 鏃堕棿鎴宠浆鎹㈡垚鏃堕棿鏍煎紡
+        /// </summary>
+        /// <param name="unixTimeStamp">鏃堕棿鎴�</param>
+        /// <returns></returns>
         public DateTime GetLocalTime(int unixTimeStamp)
         {
             DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
@@ -717,6 +717,7 @@
             TimeSpan toNow = new TimeSpan(lTime);
             DateTime dtResult = dtStart.Add(toNow);
             return dtResult;
+
         }
     }
 }

--
Gitblit v1.8.0