+++ /dev/null
-using System.Collections.Generic;\r
-using com.andoutomo.kybernetes.data.accessor;\r
-using com.andoutomo.kybernetes.data.DAO;\r
-using com.andoutomo.kybernetes.data;\r
-\r
-namespace com.andoutomo.kybernetes.command.reference\r
-{\r
- internal class EstimateCommand:AbCommand\r
- {\r
- protected override bool execute()\r
- {\r
- EstimateCommandArg param = (EstimateCommandArg)argument;\r
- string targetDate=string.Empty;\r
-\r
- //タスクリストを取得\r
- List<TaskData> taskList;\r
- if (param.targetDate == null)\r
- {\r
- taskList = TaskDataAccessor.getObject.getToDayTaskList();\r
- targetDate="本日";\r
- }\r
- else\r
- {\r
- taskList = TaskDataAccessor.getObject.getDailyTaskList(param.targetDate);\r
- targetDate = param.targetDate.getDateString();\r
-\r
- }\r
- //タイムエリアマスタからマスターリストを取得\r
- List<TimeAreaCalcData> timeAreaList = TimeAreaDataAccessor.getObject.getAllTimeAreaForCalc();\r
-\r
- // タスクごとに、タイムエリアマスタの合致するポイントを見つけて\r
- int minuteRemains = 0;\r
- foreach (TaskData taskData in taskList)\r
- {\r
- foreach (TimeAreaCalcData area in timeAreaList)\r
- {\r
- if (taskData.TimeArea.Equals(area.AreaStr))\r
- {\r
- // そこに値を加算する\r
- // 見積もり時間\r
- area.ForcastMin += taskData.ForecastMin;\r
- // 実績時間\r
- area.ActualMin += taskData.RealMin;\r
- \r
-\r
- // 終了していないタスクの時間\r
- if (taskData.isComplete == false)\r
- {\r
- minuteRemains += taskData.ForecastMin;\r
- // 残り時間\r
- area.RemainMin += taskData.ForecastMin;\r
- }\r
- }\r
- }\r
- }\r
-\r
- List<string> msgList = new List<string>();\r
- msgList.Add(targetDate + "の作業見積もり及び実績");\r
- msgList.Add(string.Empty);\r
- msgList.Add(" @ FROM-TO Span Forecast REAL REMAIN ");\r
- foreach (TimeAreaCalcData area_ in timeAreaList)\r
- {\r
- // image: @ FROM-TO Span Forecast REAL REMAIN \r
- // image: A 09:00-12:00 3:00 2:40 3:20 1:10\r
- string estimateStr = " " + area_.AreaStr;\r
- estimateStr += " ";\r
- estimateStr += getFiveLengthTimeStr(area_.StartTime);\r
- estimateStr += "-";\r
- estimateStr += getFiveLengthTimeStr(area_.EndTime);\r
- estimateStr += " ";\r
- estimateStr += new TimeComponent(area_.Span).ToString();\r
- estimateStr += " ";\r
- estimateStr += new TimeComponent(area_.ForcastMin).ToString();\r
- estimateStr += " ";\r
- estimateStr += new TimeComponent(area_.ActualMin).ToString();\r
- estimateStr += " ";\r
- estimateStr += new TimeComponent(area_.RemainMin).ToString();\r
-\r
- msgList.Add(estimateStr);\r
- }\r
- msgList.Add(string.Empty);\r
- msgList.Add("現在時刻 : " + TimeComponent.justNow().ToString());\r
- msgList.Add("残り作業 : " + new TimeComponent(minuteRemains).ToString());\r
- msgList.Add("予想終了時刻: " + TimeComponent.justNow().add(minuteRemains).ToString());\r
- msgList.Add(string.Empty);\r
-\r
- form.addMultiText(msgList);\r
- return true;\r
- }\r
-\r
- protected string getFiveLengthTimeStr(TimeComponent time)\r
- {\r
- string wkStr = time.ToString();\r
- if (wkStr.Length == 4)\r
- {\r
- wkStr = " " + wkStr;\r
- }\r
- return wkStr;\r
- }\r
-\r
- protected override string turnMessage()\r
- {\r
- return string.Empty;\r
- }\r
-\r
- protected override string turnErrorMessage()\r
- {\r
- return base.DefaultErrorMessage;\r
- }\r
-\r
- protected override string turnSplitErrorMessage()\r
- {\r
- return base.DefaultSplitErrorMessage;\r
- }\r
- }\r
-}\r