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; }
}
}