WMS:AGV:init

This commit is contained in:
qianhao.xu 2024-03-29 09:13:17 +08:00
parent 121c888a6b
commit 26e32f18fa
4 changed files with 135 additions and 2 deletions

View File

@ -6,6 +6,7 @@ using ZR.Model.MES.wms.Dto;
using ZR.Service.Business.IBusinessService;
using ZR.Service.mes.wms;
using ZR.Service.mes.wms.IService;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace ZR.Admin.WebApi.Controllers
@ -59,7 +60,64 @@ namespace ZR.Admin.WebApi.Controllers
}
/// <summary>
/// 3.新增agv小车任务
/// </summary>
/// <param name="task"></param>
/// <returns></returns>
[HttpPost("add_task")]
public IActionResult AddAGVTask(AgvTask task)
{
string msg = null;
if(task == null)
{
return SUCCESS(null);
}
task.ToCreate();
int result= _WmAGVService.AddAGVTask(task);
if(result == 0)
{
msg = "插入失败";
}else if(result == 1)
{
msg = "新增成功";
}
else if (result == -1)
{
msg = "工单号为空";
}
return ToResponse(new ApiResult(200, msg, result));
}
/// <summary>
/// 4.删除AGV小车任务
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
[HttpGet("deleteTask")]
public IActionResult DeleteTask(string taskId)
{
if(string.IsNullOrEmpty(taskId))
{
return SUCCESS(null);
}
int data = _WmAGVService.DeleteTask(taskId);
return SUCCESS(data);
}
/// <summary>
/// 5. 获取agv位置
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
[HttpGet("get_agv_position")]
public IActionResult GetTask(string taskId)
{
}
}
}

View File

@ -1,4 +1,5 @@
using System;
using MiniExcelLibs.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -6,6 +7,11 @@ using System.Threading.Tasks;
namespace ZR.Model.MES.wms.Dto
{
public class QueryAGVPosition
{
}
public class AGVtaskDto
{
@ -27,10 +33,15 @@ namespace ZR.Model.MES.wms.Dto
public class AGVWorkorderDto
{
/// <summary>
/// 工单id
/// 工单id(内部)
/// </summary>
public string Id { get; set; }
/// <summary>
/// 客户工单号
/// </summary>
public string ClientWorkorder { get; set; }
/// <summary>
/// 毛坯号
/// </summary>
@ -68,5 +79,9 @@ namespace ZR.Model.MES.wms.Dto
}
}

View File

@ -14,5 +14,8 @@ namespace ZR.Service.mes.wms.IService
List<AgvTask> QueryAGVTask(string workorder_id);
int AddAGVTask(AgvTask task);
int DeleteTask(string taskId);
}
}

View File

@ -21,6 +21,8 @@ namespace ZR.Service.Business
[AppService(ServiceType = typeof(IWmAGVService), ServiceLifetime = LifeTime.Transient)]
public class WmAGVService : BaseService<AgvTask>, IWmAGVService
{
/// <summary>
/// 1.获取工单列表
/// </summary>
@ -35,6 +37,7 @@ namespace ZR.Service.Business
.AndIF(param.day > 0, it => it.Date == param.day);
var response = Context.Queryable<ProWorkorder_v2>()
.Where(it=>it.Remark3=="是")
.Where(predicate.ToExpression()).ToList();
foreach (var item in response)
{
@ -42,6 +45,8 @@ namespace ZR.Service.Business
}
return aGVWorkorderDtos;
}
/// <summary>
/// 2.获取当前工单下的所有AGV小车任务
/// </summary>
@ -52,5 +57,57 @@ namespace ZR.Service.Business
{
return Context.Queryable<AgvTask>().Where(it => it.FkWorkorderId == workorder_id).OrderByDescending(it=>it.Sort).ToList();
}
/// <summary>
/// 3.新增AGV小车任务
/// </summary>
/// <param name="task"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public int AddAGVTask(AgvTask task)
{
int result = 0;
//TODO 1 判断agv小车task是否可以新增
if(string.IsNullOrEmpty(task.FkWorkorderId))
{
return -1;
}
ProWorkorder_v2 workorder = Context.Queryable<ProWorkorder_v2>()
.Where(it => it.Id == task.FkWorkorderId)
.First();
int require_num= workorder.PreviousNumber;
int all_require_num=Context.Queryable<AgvTask>().Where(it => it.FkWorkorderId == workorder.Id).Sum(it => it.Number)??0;
if(require_num>all_require_num)
{
task.Id = SnowFlakeSingle.Instance.NextId().ToString();
result= Context.Insertable(task).ExecuteCommand();
}
return result;
}
/// <summary>
/// 4.删除AGV小车任务
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public int DeleteTask(string taskId)
{
return Context.Deleteable<AgvTask>().Where(it=>it.Id==taskId).ExecuteCommand();
}
}
}