using DataCheck; using Microsoft.AspNetCore.Mvc; using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto.WcsDto.WcsTask; using WcsMain.ApiServe.Factory; using WcsMain.DataBase.Dao; using WcsMain.DataBase.TableEntity; using WcsMain.WcsAttribute.AutoFacAttribute; namespace WcsMain.ApiServe.Service.WcsService; [Service] public class WcsTaskService(AppWcsTaskDao wcsTaskDao) { /// /// 查询所有的Wcs任务列表 /// /// public WcsApiResponse> GetWcsTask() { List? wcsTasks = wcsTaskDao.Select(); if(wcsTasks == default) { return WcsApiResponseFactory.DataBaseErr>(); } return WcsApiResponseFactory.Success(wcsTasks, "查询成功"); } /// /// 根据任务号获取任务信息,包括运行表和备份表 /// /// /// public WcsApiResponse> GetWcsTaskWithTaskId(string taskId) { List? wcsTasks = wcsTaskDao.GetAllTasksWithBakData(taskId); if (wcsTasks == default) { return WcsApiResponseFactory.DataBaseErr>(); } return WcsApiResponseFactory.Success(wcsTasks, "查询成功"); } /// /// 分页查询正在运行的任务 /// /// /// public WcsApiResponse> GetWcsTaskWithPage([FromBody] GetWcsTaskWithPageRequest request) { (List? wcsTasks, int totalRows) = wcsTaskDao.SelectPage(request); if (wcsTasks == default) { return WcsApiResponseFactory.DataBaseErr>(); } return WcsApiResponseFactory.Success(wcsTasks, totalRows.ToString()); } /// /// 更新任务信息 /// /// /// public WcsApiResponse UpdateWcsTaskStatus(UpdateWcsTaskStatusRequest request) { bool checkData = CheckData.CheckDataRules(request); if (!checkData) { return WcsApiResponseFactory.RequestErr(); } var taskData = wcsTaskDao.Select(new AppWcsTask() { PlcId = request.PlcId }); if (taskData == default) { return WcsApiResponseFactory.DataBaseErr(); } if (taskData.Count < 1) { return WcsApiResponseFactory.Fail("找不到该任务,可能该任务不存在或者已经完结"); } int updateRows = wcsTaskDao.Update(new AppWcsTask() { PlcId = request.PlcId, TaskStatus = request.TaskStatus, Priority = request.Priority, Remark = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss},手动修改信息" }); return updateRows > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr(); } }