301 lines
9.5 KiB
C#
301 lines
9.5 KiB
C#
using Microsoft.AspNetCore.Http;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace SolarPower.Models
|
||
{
|
||
public enum OperationRecodeStatusEnum : byte
|
||
{
|
||
NoneComplete = 0, //未完成
|
||
Complete = 1, //完成
|
||
NoneCompleteExpired = 2, //未完成-過期
|
||
CompleteExpired = 3, //完成-過期
|
||
}
|
||
|
||
public enum OperationRecodeWorkTypeEnum : byte
|
||
{
|
||
Clearn = 0, //清潔
|
||
Inspection = 1, //巡檢
|
||
Fix = 2, //維修
|
||
}
|
||
|
||
public class Operation : Created
|
||
{
|
||
public int Id { get; set; }//流水號
|
||
public byte Delete { get; set; }//刪除
|
||
public string PlanId { get; set; }//計畫單號
|
||
public int PowerStationId { get; set; }//電站編號
|
||
public string SerialNumber { get; set; }//計畫單號用流水號
|
||
public int ScheduleNum { get; set; }//排程數字
|
||
public byte ScheduleType { get; set; }//排程屬性,0:天 1:周 2:月 3:季 4:年
|
||
public int WorkDay { get; set; }//預期工作天數
|
||
public DateTime StartTime { get; set; }//開始時間
|
||
public byte Type { get; set; }//項目, 0:清洗 1:巡檢
|
||
public byte EmailType { get; set; }//email提醒種類,0:當天 1:前一天 2:前兩天 3:前三天
|
||
public string Description { get; set; }//描述
|
||
|
||
}
|
||
public class PowerStationIdList
|
||
{
|
||
public string Text { get; set; }
|
||
public string Value { get; set; }
|
||
}
|
||
public class SendData
|
||
{
|
||
public List<int> id { get; set; }
|
||
}
|
||
public class OperationCreatePlanModal : Created
|
||
{
|
||
private string startTime = "", endTime = "";
|
||
public int Id { get; set; }
|
||
public int PowerStationId { get; set; }
|
||
public int Type { get; set; }
|
||
public int ScheduleNum { get; set; }
|
||
public int ScheduleType { get; set; }
|
||
public int WorkDay { get; set; }
|
||
public string StartTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(startTime))
|
||
{
|
||
return Convert.ToDateTime(startTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { startTime = value; }
|
||
}
|
||
public string EndTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(endTime))
|
||
{
|
||
return Convert.ToDateTime(endTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { endTime = value; }
|
||
}
|
||
public string Description { get; set; }
|
||
public int EmailType { get; set; }
|
||
}
|
||
public class OperationCreatePlan : OperationCreatePlanModal
|
||
{
|
||
public string PlanId { get; set; }
|
||
public string SerialNumber { get; set; }
|
||
|
||
private string updatedAt;
|
||
public int UpdatedBy { get; set; } //修改者
|
||
public string UpdatedAt { get { return Convert.ToDateTime(updatedAt).ToString("yyyy-MM-dd HH:mm:ss"); } set { updatedAt = value; } } //修改時間
|
||
}
|
||
public class OperationPlanTable : OperationCreatePlan
|
||
{
|
||
public string TypeName { get; set; }
|
||
public string PowerStationName { get; set; }
|
||
public string Schedule { get; set; }
|
||
public string EmailTypeName { get; set; }
|
||
public string CreatedPerson { get; set; }
|
||
public string Function { get; set; }//功能
|
||
public string ScheduleDay { get; set; }
|
||
public string StartTimeString { get; set; }
|
||
public string CreateTimeString { get; set; }
|
||
}
|
||
|
||
public class PlanToRecord : Created
|
||
{
|
||
public int PowerStationId { get; set; }
|
||
public int WorkType { get; set; }
|
||
public string StartTime { get; set; }
|
||
public string EndTime { get; set; }
|
||
}
|
||
|
||
public class OperationRecode : Created
|
||
{
|
||
private string startTime, endTime, finishTime, workTime;
|
||
public int Id { get; set; }
|
||
public string FormId { get; set; }
|
||
public string SerialNumber { get; set; }
|
||
public int PowerStationId { get; set; }
|
||
public string PowerStationName { get; set; }
|
||
public byte WorkType { get; set; }
|
||
public string ErrorCode { get; set; }
|
||
public string FixDo { get; set; }
|
||
public byte Status { get; set; }
|
||
public int WorkPersonId { get; set; }
|
||
public string StartTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(startTime))
|
||
{
|
||
return Convert.ToDateTime(startTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { startTime = value; }
|
||
} //開始時間
|
||
public string EndTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(endTime))
|
||
{
|
||
return Convert.ToDateTime(endTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { endTime = value; }
|
||
} // 結束時間
|
||
public string FinishTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(finishTime))
|
||
{
|
||
return Convert.ToDateTime(finishTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { finishTime = value; }
|
||
} // 完成時間
|
||
public string WorkTime
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(workTime))
|
||
{
|
||
return Convert.ToDateTime(workTime).ToString("yyyy-MM-dd");
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
set { workTime = value; }
|
||
} // 工作時間
|
||
public string Notice { get; set; }
|
||
public string Description { get; set; }
|
||
public List<OperationRecodeFile> RecodeFiles { get; set; }
|
||
}
|
||
|
||
public class OperationRecodeFile : Created
|
||
{
|
||
public int Id { get; set; }
|
||
public int RecordId { get; set; }
|
||
public string FileName { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 運維作業記錄的搜尋條件
|
||
/// </summary>
|
||
public class PostOperationRecodeFilter
|
||
{
|
||
public List<int> CityIds { get; set; } //縣市編號
|
||
public List<int> PowerStationIds { get; set; } //電站編號
|
||
public byte WorkType { get; set; } //工作項目
|
||
public string Range { get; set; } //取得搜尋範圍
|
||
}
|
||
|
||
/// <summary>
|
||
/// 運維作業記錄的表單
|
||
/// </summary>
|
||
public class OperationRecodeDataTable : OperationRecode
|
||
{
|
||
public string WorkTypeText
|
||
{
|
||
get
|
||
{
|
||
Dictionary<int, string> pairs = new Dictionary<int, string>()
|
||
{
|
||
{ 0, "清洗"},
|
||
{ 1, "巡檢"},
|
||
{ 2, "維修"},
|
||
};
|
||
|
||
return pairs[WorkType];
|
||
}
|
||
} //工作項目名稱
|
||
public string StatusText
|
||
{
|
||
get
|
||
{
|
||
Dictionary<int, string> pairs = new Dictionary<int, string>()
|
||
{
|
||
{ 0, "未完成"},
|
||
{ 1, "完成"},
|
||
{ 2, "未完成-過期"},
|
||
{ 3, "完成-過期"},
|
||
};
|
||
|
||
return pairs[Status];
|
||
}
|
||
} //狀態名稱
|
||
public string WorkPersonName { get; set; } //處理人員
|
||
public string OperationPredict
|
||
{
|
||
get
|
||
{
|
||
if (!string.IsNullOrEmpty(StartTime) || !string.IsNullOrEmpty(EndTime))
|
||
{
|
||
return StartTime + " ~ " + EndTime;
|
||
}
|
||
else
|
||
{
|
||
return string.Empty;
|
||
}
|
||
}
|
||
} //本次作業預計
|
||
public List<string> HyperLinks { get; set; }
|
||
}
|
||
|
||
public class PostOperationRecode
|
||
{
|
||
public int Id { get; set; }
|
||
public int PowerStationId { get; set; }
|
||
public byte WorkType { get; set; }
|
||
public string ErrorCode { get; set; }
|
||
public string FixDo { get; set; }
|
||
public byte Status { get; set; }
|
||
public int WorkPersonId { get; set; }
|
||
public string StartTime { get; set; }//開始時間
|
||
public string EndTime { get; set; } // 結束時間
|
||
public string FinishTime { get; set; } // 完成時間
|
||
public string WorkTime { get; set; } // 工作時間
|
||
public string Notice { get; set; }
|
||
public string Description { get; set; }
|
||
public IFormFile[] RecodeFiles { get; set; }
|
||
}
|
||
|
||
public class UpdateOperationRecode : Updated
|
||
{
|
||
public string FormId { get; set; }
|
||
public string SerialNumber { get; set; }
|
||
public string ErrorCode { get; set; }
|
||
public string FixDo { get; set; }
|
||
public byte Status { get; set; }
|
||
public int WorkPersonId { get; set; }
|
||
public string FinishTime { get; set; } // 完成時間
|
||
public string WorkTime { get; set; } // 工作時間
|
||
public string Notice { get; set; }
|
||
public string Description { get; set; }
|
||
}
|
||
}
|