diff --git a/FrontendWebApi/Models/Operation.cs b/FrontendWebApi/Models/Operation.cs new file mode 100644 index 0000000..6832294 --- /dev/null +++ b/FrontendWebApi/Models/Operation.cs @@ -0,0 +1,340 @@ +using Microsoft.AspNetCore.Http; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace FrontendWebApi.Models +{ + public enum OperationRecordStatusEnum : byte + { + NoneComplete = 0, //未完成 + Complete = 1, //完成 + NoneCompleteExpired = 2, //未完成-過期 + CompleteExpired = 3, //完成-過期 + } + + public enum OperationRecordWorkTypeEnum : byte + { + Clearn = 0, //清潔 + Inspection = 1, //巡檢 + Fix = 2, //維修 + } + + public class Operation : Actor + { + 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 id { get; set; } + } + public class OperationCreatePlanModal : Actor + { + 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 int IsDelivery { 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; } } //修改時間 + private string lastCreateTime; + public string LastCreateTime { get { return Convert.ToDateTime(lastCreateTime).ToString("yyyy-MM-dd HH:mm:ss"); } set { lastCreateTime = value; } } + public string PowerStationName { get; set; } + } + public class OperationPlanTable : OperationCreatePlan + { + public string TypeName { 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 : Actor + { + public int PowerStationId { get; set; } + public int WorkType { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Notice { get; set; } + } + + public class OperationRecord : UserInfo + { + private string startTime, endTime, finishTime, workTime; + 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 FixFirm { get; set; } + public byte Status { get; set; } + public List WorkPersonIds { 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 RecordFiles { get; set; } + } + + public class OperationRecordFile : Actor + { + public int Id { get; set; } + public int RecordId { get; set; } + public string FileName { get; set; } + } + + /// + /// 運維作業記錄的搜尋條件 + /// + public class PostOperationRecordFilter + { + public List CityIds { get; set; } //縣市編號 + public List PowerStationIds { get; set; } //電站編號 + public byte WorkType { get; set; } //工作項目 + public string Range { get; set; } //取得搜尋範圍 + public string StartTime { get; set; } //起始日期 + public string EndTime { get; set; } //結束日期 + public byte Status { get; set; }//狀態 + } + + /// + /// 運維作業記錄的表單 + /// + public class OperationRecordDataTable : OperationRecord + { + public string WorkTypeText + { + get + { + Dictionary pairs = new Dictionary() + { + { 0, "清洗"}, + { 1, "巡檢"}, + { 2, "維修"}, + }; + + return pairs[WorkType]; + } + } //工作項目名稱 + public string StatusText + { + get + { + Dictionary pairs = new Dictionary() + { + { 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 HyperLinks { get; set; } + public string Function { get; set; } + } + + public class PostOperationRecord + { + 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 FixFirm { get; set; } + public byte Status { get; set; } + public List WorkPersonIds { 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[] RecordFiles { get; set; } + public byte Emailcheck { get; set; } + } + + public class UpdateOperationRecord : Actor + { + public string FormId { get; set; } + public string SerialNumber { get; set; } + public string ErrorCode { get; set; } + public string FixDo { get; set; } + public byte FixFirm { 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; } + } + + /// + /// 針對運維作業記錄檔案 + /// + public class PostOperationRecordIdAndSelectedId + { + public int ReocdeId { get; set; } + public int SelectedId { get; set; } + } + + public class OperationPlan + { + private string startTime; + public int Id { get; set; } + public int ScheduleNum { get; set; } + public int ScheduleType { get; set; } + public string StartTime { get { return Convert.ToDateTime(startTime).ToString("yyyy-MM-dd HH:mm:ss"); } set { startTime = value; } } //修改時間 + } + + public class OperationRecordPersonnel : Actor + { + public int Id { get; set; } + public byte Deleted { get; set; } + public int OperationRecordId { get; set; } + public int UserId { get; set; } + } + +}