using HslCommunication.WebSocket; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.CodeConfigEnum; using WIDESEA_Core.Enums; using WIDESEA_ICheckService; using WIDESEA_Model.Models; using WIDESEA_Model.Models.Check; namespace WIDESEA_CheckService { public class ReCheckOrderService : ServiceBase>, IReCheckOrderService { private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly WebSocketServer _webSocketServer; private readonly ILogger _logger; public IRepository Repository => BaseDal; public ReCheckOrderService(IRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, WebSocketServer webSocketServer, ILogger logger) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _webSocketServer = webSocketServer; _logger = logger; } public WebResponseContent ReceiveReCheckOrder(Dt_ReCheckOrder models, int operateType) { try { return operateType switch { 1 => AddReCheckOrder(models), 2 => UpdateReCheckOrder(models), 3 => DeleteReCheckOrder(models), _ => WebResponseContent.Instance.OK(), }; } catch (Exception ex) { _logger.LogInformation("ReCheckOrderService ReceiveReCheckOrder: " + ex.Message); return WebResponseContent.Instance.Error(ex.Message); } } public WebResponseContent AddReCheckOrder(Dt_ReCheckOrder model) { try { if (BaseDal.QueryFirst(x => x.OrderNo == model.OrderNo) != null) { return WebResponseContent.Instance.Error($"单号重复"); } model.Creater = "MES"; model.CreateDate = DateTime.Now; BaseDal.AddData(model); return WebResponseContent.Instance.OK(); } catch (Exception ex) { _logger.LogInformation("ReCheckOrderService AddReCheckOrder: " + ex.Message); return WebResponseContent.Instance.Error(ex.Message); } } public WebResponseContent UpdateReCheckOrder(Dt_ReCheckOrder model) { try { var recheckOrder = Db.Queryable().Where(x => x.OrderNo == model.OrderNo).First(); if (recheckOrder == null) { return WebResponseContent.Instance.Error($"未找到单信息"); } recheckOrder.OrderNo = model.OrderNo; recheckOrder.MaterielCode = model.MaterielCode; recheckOrder.BatchNo = model.BatchNo; recheckOrder.Unit = model.Unit; recheckOrder.Result = model.Result; recheckOrder.InspectionNumber = model.InspectionNumber; recheckOrder.SignSeq = model.SignSeq; recheckOrder.Qty = model.Qty; recheckOrder.WarehouseCode= model.WarehouseCode; recheckOrder.FactoryArea = model.FactoryArea; recheckOrder.Modifier = "MES"; recheckOrder.ModifyDate = DateTime.Now; BaseDal.UpdateData(recheckOrder); return WebResponseContent.Instance.OK(); } catch (Exception ex) { _logger.LogInformation("ReCheckOrderService UpdateReCheckOrder: " + ex.Message); return WebResponseContent.Instance.Error(ex.Message); } } public WebResponseContent DeleteReCheckOrder(Dt_ReCheckOrder model) { try { var recheckOrder = Db.Queryable().Where(x => x.OrderNo == model.OrderNo).First(); if (recheckOrder == null) { return WebResponseContent.Instance.Error($"未找到单信息"); } BaseDal.DeleteData(recheckOrder); return WebResponseContent.Instance.OK(); } catch (Exception ex) { _logger.LogInformation("ReCheckOrderService DeleteReCheckOrder: " + ex.Message); return WebResponseContent.Instance.Error(ex.Message); } } } }