OSDN Git Service

version 1.1.7.0 master
authorAndouTomo <tomando.clar02@gmail.com>
Tue, 5 May 2015 04:06:43 +0000 (13:06 +0900)
committerAndouTomo <tomando.clar02@gmail.com>
Tue, 5 May 2015 04:06:43 +0000 (13:06 +0900)
DBのソート順改善(user.db)
日付をまたぐときに空白行を入れて間を空けるように処理変更
pause処理を番号指定に変更
ヘルプ検索時に、アライアスで検索してもヘルプが表示されるように処理改善

13 files changed:
main/Properties/AssemblyInfo.cs
main/bin/Debug/setting.db
main/bin/Debug/user.db
main/command/Control/PauseCommand.cs
main/command/SYSTEM/DateCommandArg.cs
main/command/SYSTEM/DmpCommand.cs
main/command/SYSTEM/HelpCommand.cs
main/command/change/AddCommand.cs
main/command/change/UpdateCommand.cs
main/control/KybernetesLogger.cs
main/data/connection/CommandSqlDictionary.Designer.cs
main/data/connection/CommandSqlDictionary.resx
main/view/BaseForm.cs

index 49183a9..166d74d 100644 (file)
@@ -11,7 +11,7 @@ using System.Resources;
 [assembly: AssemblyConfiguration("")]\r
 [assembly: AssemblyCompany("")]\r
 [assembly: AssemblyProduct("Kybernetes")]\r
-[assembly: AssemblyCopyright("Copyright © AndouTomo 2014")]\r
+[assembly: AssemblyCopyright("Copyright © AndouTomo 2015")]\r
 [assembly: AssemblyTrademark("")]\r
 [assembly: AssemblyCulture("")]\r
 \r
@@ -33,6 +33,6 @@ using System.Resources;
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
 // 既定値にすることができます:\r
 // [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.1.6.8")]\r
-[assembly: AssemblyFileVersion("1.1.6.8")]\r
+[assembly: AssemblyVersion("1.1.7.0")]\r
+[assembly: AssemblyFileVersion("1.1.7.0")]\r
 [assembly: NeutralResourcesLanguageAttribute("ja")]\r
index 6331e30..703db15 100644 (file)
Binary files a/main/bin/Debug/setting.db and b/main/bin/Debug/setting.db differ
index 3d0c7cd..150d8d0 100644 (file)
Binary files a/main/bin/Debug/user.db and b/main/bin/Debug/user.db differ
index 91b41b4..114d36f 100644 (file)
@@ -9,70 +9,71 @@ using System.Windows.Forms;
 \r
 namespace com.andoutomo.kybernetes.command.control\r
 {\r
-    class PauseCommand:AbCommand\r
+    class PauseCommand : AbCommand\r
     {\r
         protected string message;\r
-        \r
+\r
 \r
         protected override bool execute()\r
         {\r
+            EndCommandArg param = (EndCommandArg)argument;\r
+\r
+\r
             //アクセッサ\r
             TaskDataAccessor accessor = TaskDataAccessor.getObject;\r
 \r
-            //現在実行中のタスクをターゲットとするので\r
-            //実行中のタスクを取得する(pwdのSQLを使用する)\r
-            List<TaskData> dataList = accessor.getPwdTaskList();\r
-            \r
-            //停止すべきものがない場合はメッセージを出して処理終了\r
-            if(dataList.Count == 0)\r
+            TaskData newData = accessor.getTask(param.sortID);\r
+            if (newData.StartTime == null || newData.StartTime.IsValid == false)\r
             {\r
-                message = "停止すべきタスクはありません。";\r
+                message = "このタスクは開始されていません。startコマンドで開始してから終了してください。";\r
                 return true;\r
+\r
             }\r
-            //ループに入る前に終了時間を決めておく\r
-            data.TimeComponent endTime = data.TimeComponent.justNow();\r
-            foreach (TaskData _newData in dataList)\r
+            //タスクを終了する(終了時間を記載)\r
+            if (accessor.endTask(newData.SortID, param.EndTime))\r
             {\r
-                TaskData newData = accessor.getTask(_newData.SortID);\r
-                //タスクを終了する(終了時間を記載)\r
-                if (accessor.endTask(newData.SortID, data.TimeComponent.justNow()))\r
+                TaskData _oldData = accessor.getTask(newData.SortID);\r
+                //実績時間\r
+                int wkRealMinutes = param.EndTime.getSubtractionMinute(newData.StartTime);\r
+                //予測時間寄り実績時間が小さい場合で、中断の場合は\r
+                if (_oldData.ForecastMin > wkRealMinutes)\r
                 {\r
-                    TaskData _oldData = accessor.getTask(newData.SortID);\r
-                    //実績時間\r
-                    int wkRealMinutes = endTime.getSubtractionMinute(newData.StartTime);\r
-                    //予測時間寄り実績時間が小さい場合で、中断の場合は\r
-                    if (_oldData.ForecastMin > wkRealMinutes)\r
-                    {\r
-                        //予測時間を実績時間分差し引く(そうしないと、予測時間が重複してしまう。既にオーバーしてたら知らん。)\r
-                        _oldData.ForecastMin = endTime.getSubtractionMinute(newData.StartTime);\r
-                        TaskDataAccessor.getObject.updateTask(_oldData);\r
-                    }\r
-\r
-                    //複製するときに、実績時間分を予測時間から差し引く\r
-                    //元の見積もり時間 - 実績時間(終了時間-開始時間)\r
-                    int nextMinute = newData.ForecastMin - endTime.getSubtractionMinute(newData.StartTime);\r
-                    if (nextMinute > 0)\r
-                    {\r
-                        newData.ForecastMin = nextMinute;\r
-                    }\r
-                    else\r
-                    {\r
-                        newData.ForecastMin = 0;\r
-                    }\r
-\r
-                    //タスクを複製する\r
-                    newData.TaskID = accessor.getMaxTaskID();\r
-                    newData.SortID = accessor.getMaxSortID();\r
-                    accessor.insertTask(newData);\r
-\r
-                    //リピート対象のタスクは複製後もリピート対象とする。(逆に、最初のタスク終了時にリピート処理をしない。)\r
-                    accessor.setRepeatTask(newData.SortID, newData.IsRepeat);\r
-\r
-                    message += "タスク " + _oldData.SortID + " を中断します。" + System.Environment.NewLine;\r
-                    \r
+                    //予測時間を実績時間分差し引く(そうしないと、予測時間が重複してしまう。既にオーバーしてたら知らん。)\r
+                    _oldData.ForecastMin = wkRealMinutes;\r
+                    TaskDataAccessor.getObject.updateTask(_oldData);\r
                 }\r
+\r
+                //複製するときに、実績時間分を予測時間から差し引く\r
+                //元の見積もり時間 - 実績時間(終了時間-開始時間)\r
+                int nextMinute = newData.ForecastMin - wkRealMinutes;\r
+                if (nextMinute > 0)\r
+                {\r
+                    newData.ForecastMin = nextMinute;\r
+                }\r
+                else\r
+                {\r
+                    newData.ForecastMin = 0;\r
+                }\r
+\r
+                //タスクを複製する\r
+                newData.TaskID = accessor.getMaxTaskID();\r
+                newData.SortID = accessor.getMaxSortID();\r
+                accessor.insertTask(newData);\r
+                \r
+                CommentData data = new CommentData();\r
+                data.TaskID = newData.TaskID;\r
+                data.Comment = param.EndTime + " <" + newData.Contents + ">を中断 ";\r
+\r
+                CommentDataAccessor.getObject.insertComment(data);\r
+\r
+                //リピート対象のタスクは複製後もリピート対象とする。(逆に、最初のタスク終了時にリピート処理をしない。)\r
+                accessor.setRepeatTask(newData.SortID, newData.IsRepeat);\r
+\r
+                message += "タスク " + _oldData.SortID + " を中断します。" + System.Environment.NewLine;\r
+\r
             }\r
 \r
+\r
             return true;\r
         }\r
 \r
index edb2b4c..7aa9c18 100644 (file)
@@ -1,5 +1,6 @@
 using System;\r
 using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.control;\r
 \r
 namespace com.andoutomo.kybernetes.command.system\r
 {\r
@@ -29,6 +30,7 @@ namespace com.andoutomo.kybernetes.command.system
                 catch (Exception e)\r
                 {\r
                     splitResult = false;\r
+                    KybernetesLogger.Log.debug(e.Message);\r
                 }\r
             }\r
         }\r
index cf118c3..0bae634 100644 (file)
@@ -24,10 +24,12 @@ namespace com.andoutomo.kybernetes.command.system
             catch (DirectoryNotFoundException dnfe)\r
             {\r
                 message = "保存対象ディレクトリがありません。ディレクトリ作成後に出力してください。";\r
+                KybernetesLogger.Log.debug(dnfe.StackTrace);\r
             }\r
             catch (UnauthorizedAccessException uaae)\r
             {\r
                 message = "書き込みに失敗しました。保存先の権限、現在使用中でないかどうか等を確認して下さい。";\r
+                KybernetesLogger.Log.debug(uaae.StackTrace);\r
             }\r
             return false;\r
         }\r
index 41ddcae..5724682 100644 (file)
@@ -39,10 +39,10 @@ namespace com.andoutomo.kybernetes.command.system
                     HelpData data = accessor.getHelpData(thisArg.HelpCommandStr);\r
                     if (data != null)\r
                     {\r
-                        string aliases = accessor.getAlies(thisArg.HelpCommandStr);\r
+                        string aliases = accessor.getAlies(data.cmdStr);\r
 \r
                         resList2.Add(string.Empty);\r
-                        resList2.Add(" HELP " + thisArg.HelpCommandStr);\r
+                        resList2.Add(" HELP " + data.cmdStr);\r
                         resList2.Add(string.Empty);\r
                         resList2.Add(data.cmdSummary);\r
                         resList2.Add(string.Empty);\r
index 6c88e74..3faebfc 100644 (file)
@@ -4,6 +4,7 @@ using com.andoutomo.kybernetes.data.DAO;
 using System.Collections.Generic;\r
 using System.Windows.Forms;\r
 using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.control;\r
 \r
 namespace com.andoutomo.kybernetes.command.change\r
 {\r
@@ -47,6 +48,7 @@ namespace com.andoutomo.kybernetes.command.change
                 catch (Exception e)\r
                 {\r
                     message = "日付に不備がありました。お手数ですが最初からやり直してください。";\r
+                    KybernetesLogger.Log.debug(e.Message);\r
                     return false;\r
                 }\r
                 \r
index 71513f2..504ebf9 100644 (file)
@@ -4,6 +4,7 @@ using com.andoutomo.kybernetes.data.DAO;
 using com.andoutomo.kybernetes.data.accessor;\r
 using System.Windows.Forms;\r
 using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.control;\r
 \r
 namespace com.andoutomo.kybernetes.command.change\r
 {\r
@@ -51,6 +52,7 @@ namespace com.andoutomo.kybernetes.command.change
                 catch (Exception e)\r
                 {\r
                     message = "日付に不備がありました。お手数ですが最初からやり直してください。";\r
+                    KybernetesLogger.Log.debug(e.Message);\r
                     return false;\r
                 }\r
                 #endregion\r
index 8c304b4..ad3686d 100644 (file)
@@ -113,7 +113,8 @@ namespace com.andoutomo.kybernetes.control
             }\r
             catch (Exception e)\r
             {\r
-                //ここでは何もしない\r
+                Console.Out.WriteLine(e.Message);\r
+                //何もしない。\r
             }\r
             finally\r
             {\r
index 8a3d77d..8b6ceb6 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------\r
 // <auto-generated>\r
 //     このコードはツールによって生成されました。\r
-//     ランタイム バージョン:4.0.30319.18444\r
+//     ランタイム バージョン:4.0.30319.34209\r
 //\r
 //     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
 //     コードが再生成されるときに損失したりします。\r
@@ -86,7 +86,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   select c.CMDSTR,h.SUMMARY,h.DETAIL from TBL_command c,tbl_help h where c.helpid = h.helpid AND cmdSTR=? に類似しているローカライズされた文字列を検索します。\r
+        ///   select c.cmdstr,h.summary,h.detail from tbl_command c,tbl_help h ,(select cmdstr as callcmd,cmdstr as realcmd from tbl_command cw union select link_command as callcmd,base_command  as realcmd from tbl_link lw ) l where c.helpid = h.helpid and c.cmdstr=l.realcmd and l.callcmd=? に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getHelp {\r
             get {\r
index 045105e..dcfd321 100644 (file)
@@ -145,7 +145,7 @@ WHERE L.BASE_COMMAND = M.CMDSTR
     <comment>リンクを削除します。</comment>\r
   </data>\r
   <data name="getHelp" xml:space="preserve">\r
-    <value>select c.CMDSTR,h.SUMMARY,h.DETAIL from TBL_command c,tbl_help h where c.helpid = h.helpid AND cmdSTR=?</value>\r
+    <value>select c.cmdstr,h.summary,h.detail from tbl_command c,tbl_help h ,(select cmdstr as callcmd,cmdstr as realcmd from tbl_command cw union select link_command as callcmd,base_command  as realcmd from tbl_link lw ) l where c.helpid = h.helpid and c.cmdstr=l.realcmd and l.callcmd=?</value>\r
     <comment>個別ヘルプの内容を取得します。</comment>\r
   </data>\r
   <data name="getLink" xml:space="preserve">\r
index a943d6e..865a324 100644 (file)
@@ -743,19 +743,39 @@ namespace com.andoutomo.kybernetes.view
             clearPanel();\r
             string wkAreaForIndex = "";\r
             DateComponent wkIndexDate = new DateComponent("19000101");\r
+            bool wkIsComplete = false;\r
             foreach (TaskData data in taskList)\r
             {\r
                 //data.Today = todayDate;\r
                 if (!data.isComplete)\r
                 {\r
-                    if (wkAreaForIndex != data.TimeArea || wkIndexDate.calculateDateDiff(data.DoDate) != 0)\r
+                    //日付が違う場合\r
+                    if (wkIndexDate.calculateDateDiff(data.DoDate) != 0 || wkIsComplete)\r
                     {\r
-                        string wkIndex = "- " + data.TimeArea + " - on " + data.DoDate.getDateString("yyyy/MM/dd");\r
+                        string wkBranc = " ";\r
+                        addIndexPanel(wkBranc);\r
+                    }\r
+                    if (wkAreaForIndex != data.TimeArea || wkIndexDate.calculateDateDiff(data.DoDate) != 0 || wkIsComplete)\r
+                    {\r
+                        string wkIndex = "-- " + data.TimeArea + " -- on " + data.DoDate.getDateString("yyyy/MM/dd");\r
                         addIndexPanel(wkIndex);\r
                     }\r
 \r
                     wkAreaForIndex = data.TimeArea;\r
                     wkIndexDate = data.DoDate;\r
+                    wkIsComplete = false;\r
+                }\r
+                else\r
+                {\r
+                    //直前の日付が未来のときのみ\r
+                    if (wkIndexDate.calculateDateDiff(data.DoDate) > 0)\r
+                    {\r
+                        string wkBranc = " ";\r
+                        addIndexPanel(wkBranc);\r
+                    }\r
+                    wkAreaForIndex = data.TimeArea;\r
+                    wkIndexDate = data.DoDate;\r
+                    wkIsComplete = true;\r
                 }\r
                 addPanel(data);\r
 \r