using Khd.Core.Application.Interface; using Khd.Core.Domain.Dto.webapi; using Khd.Core.Domain.Models; using Khd.Core.EntityFramework; using Microsoft.Extensions.DependencyInjection; using System; using System.Linq; using Z.EntityFramework.Plus; namespace Khd.Core.Application { public class WcsTaskApplication : IWcsTaskApplication { private readonly DefaultDbContext _dbContext; public WcsTaskApplication(IServiceProvider serviceProvider) { _dbContext = serviceProvider.GetService(); } public WcsTask Get(int id) { var entity = _dbContext.WcsTask .Where(c => 1 == 1) .FirstOrDefault(); return entity; } public WcsTask Add(WcsTask model) { var entity = _dbContext.Add(model); _dbContext.SaveChanges(); return entity.Entity; } public WcsTask Update(WcsTask model) { var list = _dbContext.WcsTask.Where(t => t.objid == model.objid).Update(a => model); return model; } /// /// 接收agv接收任务通知接口 /// /// /// public ReponseagvCallbackDto AgvCallback(agvCallbackDto agvCallbackDto) { ReponseagvCallbackDto reponseagvCallbackDto = new ReponseagvCallbackDto(); try { //处理逻辑 var wcscmd = _dbContext.WcsCmd .Where(t=>t.taskCode==agvCallbackDto.taskCode) .Where(t => t.taskId == Convert.ToInt64(agvCallbackDto.reqCode)).FirstOrDefault(); if (wcscmd != null) { //start 开始 end结束 continue继续 //待取货 if (agvCallbackDto.method.ToLower() == "start") { wcscmd.cmdStatus = 2; wcscmd.sendFlag = 1; _dbContext.WcsCmd.Update(wcscmd); _dbContext.SaveChanges(); } //已取货待放货 if (agvCallbackDto.method.ToLower() == "continue") { wcscmd.cmdStatus = 3; wcscmd.sendFlag = 1; _dbContext.WcsCmd.Update(wcscmd); _dbContext.SaveChanges(); var list = _dbContext.WcsTask.Where(t => t.objid == wcscmd.taskId).Update(a => new WcsTask() { currPointNo = wcscmd.equipmentNo }); } //放货完成 if (agvCallbackDto.method.ToLower() == "end") { wcscmd.cmdStatus = 5; wcscmd.sendFlag = 1; _dbContext.WcsCmd.Update(wcscmd); _dbContext.SaveChanges(); } } reponseagvCallbackDto.code = "S"; reponseagvCallbackDto.message = "成功"; } catch (Exception ex) { reponseagvCallbackDto.code = "E"; reponseagvCallbackDto.message = ex.Message; } //返回请求 reponseagvCallbackDto.reqCode = reponseagvCallbackDto.reqCode; return reponseagvCallbackDto; } /// /// 入库完成 /// /// public string InWare(long taskId) { return ""; } /// /// 出库完成 /// /// public string OutWare(long taskId) { return ""; } } }