using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WebAPIBase.Utils; namespace Sugar.Enties { /// /// 进度计划与进度工作项关联 /// public class pmProgressDTO { /// /// 是否折叠 /// public bool IsCollapse { get; set; } public string ProjectCode { get; set; } /// /// 进度计划ID /// public int ProgressId { get; set; } /// /// 进度计划名 /// public string ProgressName { get; set; } /// /// 节点名 /// public string NodeName { get; set; } /// /// 节点ID /// public int ProgressNodeId { get; set; } /// /// 是否主体进度 1:主体 2:专项 /// public int IsMaster { get; set; } /// /// 是否集团关键节点 /// public int IsCompanyKey { get; set; } /// /// 进度状态(0=未开始;1=进行中;4=已完成) /// public int Status { get; set; } /// /// 阶段状态 /// public int AlertState { get { int state = 1; var finish = Convert.ToDateTime(plannedFinishDate); if (Convert.ToDateTime(plannedFinishDate) < DateTime.Now) //未按期完成 { if (CompletePercent < 100) { state = 3; } else { state = 1; } } else if (finish > DateTime.Now && finish.AddDays(3) > DateTime.Now) //预警 { if (CompletePercent < 100) { state = 2; } else { state = 1; } } return state; } } /// /// 计划工期 /// public int Duration { get; set; } /// /// 完成度 /// public int CompletePercent { get; set; } private string _PlannedStartDate; /// /// 计划开始时间 /// public string PlannedStartDate { get { if (_PlannedStartDate == null) { return null; } var arr = _PlannedStartDate.Split(' '); return arr[0]; } set { _PlannedStartDate = value; } } private string _plannedFinishDate; /// /// 计划结束时间 /// public string plannedFinishDate { get { if (_plannedFinishDate == null) { return null; } var arr = _plannedFinishDate.Split(' '); return arr[0]; } set { _plannedFinishDate = value; } } private string _ActualStartDate; /// /// 实际开始时间 /// public string ActualStartDate { get { return _ActualStartDate?.Substring(0, 10); } set { _ActualStartDate = value; } } private string _ActualFinishDate; /// /// 实际结束时间 /// public string ActualFinishDate { get { return _ActualFinishDate?.Substring(0, 10); } set { _ActualFinishDate = value; } } /// /// 进度报告 /// public List ReportList { get; set; } } public class ProgressDTO { /// /// 是否折叠 /// public bool IsCollapse { get; set; } public int ProgressId { get; set; } public string ProgressName { get; set; } public List ProgressList { get; set; } } }