93 lines
3.0 KiB
C#
93 lines
3.0 KiB
C#
using DataCheck;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using WcsMain.ApiServe.Dto;
|
|
using WcsMain.ApiServe.Dto.WcsDto.WcsTask;
|
|
using WcsMain.ApiServe.Factory;
|
|
using WcsMain.DataBase.Dao;
|
|
using WcsMain.DataBase.TableEntity;
|
|
using WcsMain.Constant.WcsAttribute.AutoFacAttribute;
|
|
|
|
namespace WcsMain.ApiServe.Service.WcsService;
|
|
|
|
|
|
[Service]
|
|
public class WcsTaskService(AppWcsTaskDao wcsTaskDao)
|
|
{
|
|
/// <summary>
|
|
/// 查询所有的Wcs任务列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public WcsApiResponse<List<AppWcsTask>> GetWcsTask()
|
|
{
|
|
List<AppWcsTask>? wcsTasks = wcsTaskDao.Select();
|
|
if(wcsTasks == default)
|
|
{
|
|
return WcsApiResponseFactory.DataBaseErr<List<AppWcsTask>>();
|
|
}
|
|
return WcsApiResponseFactory.Success(wcsTasks, "查询成功");
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据任务号获取任务信息,包括运行表和备份表
|
|
/// </summary>
|
|
/// <param name="taskId"></param>
|
|
/// <returns></returns>
|
|
public WcsApiResponse<List<AppWcsTask>> GetWcsTaskWithTaskId(string taskId)
|
|
{
|
|
List<AppWcsTask>? wcsTasks = wcsTaskDao.GetAllTasksWithBakData(taskId);
|
|
if (wcsTasks == default)
|
|
{
|
|
return WcsApiResponseFactory.DataBaseErr<List<AppWcsTask>>();
|
|
}
|
|
return WcsApiResponseFactory.Success(wcsTasks, "查询成功");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页查询正在运行的任务
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public WcsApiResponse<List<AppWcsTask>> GetWcsTaskWithPage([FromBody] GetWcsTaskWithPageRequest request)
|
|
{
|
|
(List<AppWcsTask>? wcsTasks, int totalRows) = wcsTaskDao.SelectPage(request);
|
|
if (wcsTasks == default)
|
|
{
|
|
return WcsApiResponseFactory.DataBaseErr<List<AppWcsTask>>();
|
|
}
|
|
return WcsApiResponseFactory.Success(wcsTasks, totalRows.ToString());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新任务信息
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
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();
|
|
}
|
|
|
|
}
|