| | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using AutoMapper; |
| | | using Microsoft.AspNetCore.Mvc.ApiExplorer; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using System.Reflection.Emit; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common.CommonEnum; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.OrderEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Common.WareHouseEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO; |
| | | using WIDESEA_DTO.ERP; |
| | | using WIDESEA_DTO.Inbound; |
| | | using WIDESEA_DTO.Stock; |
| | | using WIDESEA_DTO.Task; |
| | | using WIDESEA_External.ERPService; |
| | | using WIDESEA_External.MESService; |
| | | using WIDESEA_External.Model; |
| | | using WIDESEA_IBasicRepository; |
| | | using WIDESEA_IBasicService; |
| | | using WIDESEA_IInboundRepository; |
| | | using WIDESEA_IInboundService; |
| | | using WIDESEA_InboundRepository; |
| | | using WIDESEA_IOutboundRepository; |
| | | using WIDESEA_IOutboundService; |
| | | using WIDESEA_IRecordService; |
| | | using WIDESEA_IStockRepository; |
| | | using WIDESEA_IStockService; |
| | | using WIDESEA_ITaskInfoRepository; |
| | | using WIDESEA_ITaskInfoService; |
| | | using WIDESEA_Model.Models; |
| | | using WIDESEA_TaskInfoRepository; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | |
| | | { |
| | | private readonly IMapper _mapper; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IRecordService _recordService; |
| | | private readonly IStockRepository _stockRepository; |
| | | private readonly IStockService _stockService; |
| | | private readonly IBasicRepository _basicRepository; |
| | | private readonly IBasicService _basicService; |
| | | private readonly IInvokeERPService _invokeERPService; |
| | | private readonly IInvokeMESService _invokeMESService; |
| | | private readonly IOutboundRepository _outboundRepository; |
| | | private readonly IOutboundService _outboundService; |
| | | private readonly IInboundRepository _inboundRepository; |
| | | private readonly IInboundService _inboundService; |
| | | private readonly IRepository<Dt_BlankStockInfo> _blankStockInfoRepository; |
| | | private readonly IRepository<Dt_PalletCodeInfo> _palletCodeInfoRepository; |
| | | private readonly IApiInfoRepository _apiInfoRepository; |
| | | public ITaskRepository Repository => BaseDal; |
| | | |
| | |
| | | |
| | | public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 100 && x < 500).ToList(); |
| | | |
| | | public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IStockService stockService, IBasicRepository basicRepository, IInvokeERPService invokeERPService, IOutboundRepository outboundRepository, IOutboundService outboundService, IInboundRepository inboundRepository,IInboundService inboundService,IInvokeMESService invokeMESService, IRepository<Dt_BlankStockInfo> blankStockInfoRepository, IRepository<Dt_PalletCodeInfo> palletCodeInfoRepository,IApiInfoRepository _apiInfoRepository) : base(BaseDal) |
| | | public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IBasicRepository basicRepository, IInvokeERPService invokeERPService, IInvokeMESService invokeMESService, IRepository<Dt_BlankStockInfo> blankStockInfoRepository, IApiInfoRepository _apiInfoRepository) : base(BaseDal) |
| | | { |
| | | _mapper = mapper; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _stockRepository = stockRepository; |
| | | _basicService = basicService; |
| | | _recordService = recordService; |
| | | _stockService = stockService; |
| | | _basicRepository = basicRepository; |
| | | _invokeERPService = invokeERPService; |
| | | _invokeMESService = invokeMESService; |
| | | _outboundRepository = outboundRepository; |
| | | _outboundService = outboundService; |
| | | _inboundRepository = inboundRepository; |
| | | _inboundService = inboundService; |
| | | _blankStockInfoRepository = blankStockInfoRepository; |
| | | _palletCodeInfoRepository = palletCodeInfoRepository; |
| | | this._apiInfoRepository = _apiInfoRepository; |
| | | } |
| | | |
| | |
| | | { |
| | | try |
| | | { |
| | | if (tasks==null || tasks.Count == 0) |
| | | if (tasks == null || tasks.Count == 0) |
| | | { |
| | | return WebResponseContent.Instance.Error($"ä¼ å
¥ä»»å¡ä¸ºç©º"); |
| | | } |
| | |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// æ¾è´§å®æ |
| | | /// </summary> |
| | | /// <param name="code"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent PutFinish(string code, string barCode = "", string taskNum = "") |
| | | { |
| | | try |
| | | { |
| | | string url = AppSettings.Get("WCS"); |
| | | if (string.IsNullOrEmpty(url)) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°WCSAApiå°å,è¯·æ£æ¥é
ç½®æä»¶"); |
| | | } |
| | | string response = HttpHelper.Post($"{url}/api/CTU_AGV/PutFinish?code={code}&barCode={barCode}&taskNum={taskNum}" ); |
| | | |
| | | return JsonConvert.DeserializeObject<WebResponseContent>(response) ?? WebResponseContent.Instance.Error("è¿åé误"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | private readonly static object lockerAddSG = new object(); |
| | | public WebResponseContent AddOutSGOrder(List<SGOutOrderDTO> outOrderDTOs) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | lock (lockerAddSG) |
| | | { |
| | | int outDetailId = _outboundRepository.OutSGOrderDetailRepository.QueryData().OrderByDescending(x=>x.Id).FirstOrDefault()?.Id ?? 0; |
| | | content = _outboundService.OutSGOrderService.AddOutSGOrder(outOrderDTOs); |
| | | if (!content.Status) |
| | | { |
| | | return content; |
| | | } |
| | | List<int> ints = _outboundRepository.OutSGOrderDetailRepository.QueryData(x=>x.Id>outDetailId).Select(x=>x.Id).ToList(); |
| | | int[] reseponse= new int[ints.Count]; |
| | | for (int i = 0; i < ints.Count; i++) |
| | | { |
| | | reseponse[i] = ints[i]; |
| | | } |
| | | content.Message = CreateSGOutboundTasks(reseponse).Message; |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | } |
| | | } |