using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;

namespace Api.SignToken
{
    public interface IEquipmentService
    {

        /// <summary>
        /// 添加保养计划
        /// </summary>
        /// <param name="proname"></param>
        /// <param name="sysname"></param>
        /// <param name="equipname"></param>
        /// <param name="maintainplan"></param>
        /// <returns></returns>
        Task<string> AddWoMaintainBaseAsync(string proname, string sysname, string equipname, string maintainplan, string expirytime, int advancelong,string content,string maintype);
        Task<string> AddWoMaintainBaseAsync(string planid);

        /// <summary>
        /// 添加设备运营计划
        /// </summary>
        /// <param name="proname"></param>
        /// <param name="sysname"></param>
        /// <param name="equipname"></param>
        /// <param name="maintainplan"></param>
        /// <returns></returns>
        Task<string> AddWoEquipmentRunningAsync(string projectid, string sysnameid, string equipmentid, string planid, string expirytime, int advancelong);
        Task<string> AddWoEquipmentRunningAsync(string planid);

        /// <summary>
        /// 添加超时工单计划
        /// </summary>
        /// <param name="id"></param>
        /// <param name="woid"></param>
        /// <param name="wotype"></param>
        /// <returns></returns>
        Task<string> SaveTimeOutAsync(int wotype);

        /// <summary>
        /// 超时系统评价工单
        /// </summary>
        /// <param name="score"></param>
        /// <param name="createusername"></param>
        /// <param name="channel"></param>
        /// <returns></returns>
        Task<string> TimeOutEvaluateAsync(int score, string createusername, int channel);

        /// <summary>
        /// 获取基本信息
        /// </summary>
        /// <returns></returns>
        string GetInfo();
    }
}
