ibms-dome/FrontendWebApi/Models/Operation.cs

341 lines
11 KiB
C#
Raw Normal View History

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<int> 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<int> 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<OperationRecordFile> RecordFiles { get; set; }
}
public class OperationRecordFile : Actor
{
public int Id { get; set; }
public int RecordId { get; set; }
public string FileName { get; set; }
}
/// <summary>
/// 運維作業記錄的搜尋條件
/// </summary>
public class PostOperationRecordFilter
{
public List<int> CityIds { get; set; } //縣市編號
public List<int> 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; }//狀態
}
/// <summary>
/// 運維作業記錄的表單
/// </summary>
public class OperationRecordDataTable : OperationRecord
{
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 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<int> 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; }
}
/// <summary>
/// 針對運維作業記錄檔案
/// </summary>
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; }
}
}