using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using AutoMapper;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.BaseRepository;
|
using WIDESEAWCS_Core.BaseServices;
|
using WIDESEAWCS_ITelescopicService;
|
using WIDESEAWCS_Model.Models;
|
|
namespace WIDESEAWCS_TelescopicService
|
{
|
public class MaintenanceService : ServiceBase<Dt_Maintenance, IRepository<Dt_Maintenance>>, IMaintenanceService
|
{
|
public IRepository<Dt_Maintenance> Repository => BaseDal;
|
private readonly IRepository<Sys_User> _user;
|
|
public MaintenanceService(IRepository<Dt_Maintenance> BaseDal, IRepository<Sys_User> user) : base(BaseDal)
|
{
|
_user = user;
|
}
|
|
public WebResponseContent ShowMaintence()
|
{
|
try
|
{
|
var sys = _user.QueryData();
|
var main = BaseDal.QueryData();
|
|
var result = sys.Join(main,
|
u => u.UserName,
|
m => m.UserAccount,
|
(u, m) => new
|
{
|
u.UserTrueName,
|
u.UserName,
|
u.CardNumber,
|
u.RoleName,
|
u.HeadImageUrl,
|
m.IsPossible,
|
});
|
return new WebResponseContent { Status = true, Data = result };
|
}
|
catch (Exception ex)
|
{
|
|
return new WebResponseContent { Status = false, Data = ex };
|
}
|
}
|
|
public WebResponseContent PersonnelMonitoring(bool ispossible)
|
{
|
try
|
{
|
var sys = _user.QueryData();
|
var main = BaseDal.QueryData();
|
|
var result = sys.Join(main,
|
u => u.UserName,
|
m => m.UserAccount,
|
(u, m) => new
|
{
|
u.UserTrueName,
|
u.RoleName,
|
u.HeadImageUrl,
|
m.MaintenanceStatus,
|
m.MaintenanceDate,
|
m.IsPossible,
|
}).Where(x=>x.IsPossible== ispossible);
|
return new WebResponseContent { Status = true, Data = result };
|
}
|
catch (Exception ex)
|
{
|
|
return new WebResponseContent { Status = false, Data = ex };
|
}
|
}
|
|
public WebResponseContent RunOperation(int id)
|
{
|
try
|
{
|
var mon = BaseDal.QueryFirst(x => x.ID == id);
|
mon.IsPossible = true;
|
BaseDal.UpdateData(mon);
|
return new WebResponseContent { Status = true, Data = mon };
|
}
|
catch (Exception ex)
|
{
|
|
return new WebResponseContent { Status = false, Message = "失败:" + ex };
|
}
|
}
|
|
public WebResponseContent ChangeTasState(int id)
|
{
|
try
|
{
|
var change = BaseDal.QueryFirst(x => x.ID == id);
|
//将数据库中的int 值转为 枚举型
|
if (!Enum.IsDefined(typeof(Maint), change.MaintenanceStatus))
|
{
|
return new WebResponseContent { Status = false, Message = "当前状态不合法,无法更新" };
|
}
|
|
Maint Status = (Maint)change.MaintenanceStatus; //int ->枚举
|
|
switch (Status)
|
{
|
case Maint.待开始:
|
change.MaintenanceStatus = (int)Maint.检修中;
|
change.MaintenancStartTime = DateTime.Now;
|
break;
|
case Maint.检修中:
|
change.MaintenanceStatus = (int)Maint.已完成;
|
break;
|
case Maint.已完成:
|
change.MaintenancEendTime = DateTime.Now;
|
return new WebResponseContent { Status = false, Message = "当前任务已完成" };
|
default:
|
return new WebResponseContent { Status = false, Message = "更新失败" };
|
}
|
return new WebResponseContent { Status = true, Data = change };
|
}
|
catch (Exception ex)
|
{
|
|
return new WebResponseContent { Status = false, Message = "错误:" + ex };
|
}
|
|
|
}
|
|
/// <summary>
|
/// 状态枚举
|
/// </summary>
|
private enum Maint
|
{
|
//待检修=0,
|
待开始=0,
|
检修中=1,
|
已完成=2
|
|
}
|
|
}
|
}
|