н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary1/IMessageInfoHtyService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.BaseServices; using WIDESEA_Model.Models; namespace WIDESEA_IWMsInfoServices { public interface IMessageInfoHtyService : IService<Dt_MessageInfo_Hty> { } } н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary1/IMessageInfoService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Model.Models; namespace WIDESEA_IWMsInfoServices { public interface IMessageInfoService : IService<Dt_MessageInfo> { IRepository<Dt_MessageInfo> Repository { get; } /// <summary> /// æ·»å éç¥ä¿¡æ¯ /// </summary> /// <param name="groupByEnum"></param> /// <param name="messageName"></param> /// <param name="messageInfo"></param> /// <param name="statusEnum"></param> /// <param name="messageRemark"></param> /// <returns></returns> WebResponseContent AddMessageInfo(MessageGroupByEnum groupByEnum, string messageName, string messageInfo, MessageStatusEnum statusEnum = MessageStatusEnum.Undisposed, string messageRemark = ""); } } н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary2/MessageInfoHtyService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; namespace WIDESEA_WMsInfoServices { public class MessageInfoHtyService : ServiceBase<Dt_MessageInfo_Hty, IRepository<Dt_MessageInfo_Hty>>, IMessageInfoHtyService { public MessageInfoHtyService(IRepository<Dt_MessageInfo_Hty> BaseDal) : base(BaseDal) { } } } н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; namespace WIDESEA_WMsInfoServices { public class MessageInfoService : ServiceBase<Dt_MessageInfo, IRepository<Dt_MessageInfo>>, IMessageInfoService { public MessageInfoService(IRepository<Dt_MessageInfo> BaseDal) : base(BaseDal) { } public IRepository<Dt_MessageInfo> Repository => BaseDal; /// <summary> /// æ·»å éç¥ä¿¡æ¯ /// </summary> /// <param name="groupByEnum"></param> /// <param name="messageName"></param> /// <param name="messageInfo"></param> /// <param name="statusEnum"></param> /// <param name="messageRemark"></param> /// <returns></returns> public WebResponseContent AddMessageInfo(MessageGroupByEnum groupByEnum, string messageName, string messageInfo, MessageStatusEnum statusEnum = MessageStatusEnum.Undisposed, string messageRemark = "") { WebResponseContent content = new WebResponseContent(); try { Dt_MessageInfo dt_MessageInfo = null; if (groupByEnum == MessageGroupByEnum.InventoryExceedAlarm) dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageRemark == messageRemark); else dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageInfo == messageInfo); if (dt_MessageInfo == null) { dt_MessageInfo = new Dt_MessageInfo(); dt_MessageInfo.MessageGroupBy = groupByEnum.ObjToInt(); dt_MessageInfo.MessageStatus = statusEnum.ObjToInt(); dt_MessageInfo.MessageName = messageName; dt_MessageInfo.MessageInfo = messageInfo; dt_MessageInfo.MessageRemark = messageRemark; BaseDal.AddData(dt_MessageInfo); } else { if (dt_MessageInfo.MessageGroupBy == MessageGroupByEnum.InventoryExceedAlarm.ObjToInt()) { dt_MessageInfo.MessageStatus = statusEnum.ObjToInt(); dt_MessageInfo.MessageName = messageName; dt_MessageInfo.MessageInfo = messageInfo; dt_MessageInfo.MessageRemark = messageRemark; BaseDal.UpdateData(dt_MessageInfo); } } } catch (Exception ex) { content.Error(ex.Message); } return content; } } } н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_Common/MessageEnum.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_Common { /// <summary> /// å¼å¸¸ä¿¡æ¯åç» /// </summary> public enum MessageGroupByEnum { /// <summary> /// è®¾å¤æ¥è¦ /// </summary> [Description("è®¾å¤æ¥è¦")] EquipmentAlarm, /// <summary> /// åºåè¿æé¢è¦ /// </summary> [Description("åºåè¿æé¢è¦")] InventoryExceedAlarm, /// <summary> /// ä½åºåé¢è¦ /// </summary> [Description("ä½åºåé¢è¦")] InventoryLowAlarm, /// <summary> /// ç©æå¾ ç»´æ¤æ¥è¦ /// </summary> [Description("ç©æå¾ ç»´æ¤æ¥è¦")] MaterielAlarm, /// <summary> /// å ¥åºåæ¥è¦ /// </summary> [Description("å ¥åºåæ¥è¦")] InOrderAlarm, /// <summary> /// åºåºåæ¥è¦ /// </summary> [Description("åºåºåæ¥è¦")] OutOrderAlarm, } public enum MessageStatusEnum { /// <summary> /// å¾ å¤ç /// </summary> [Description("å¾ å¤ç")] Undisposed, /// <summary> /// æ¥å¤ç /// </summary> [Description("æ¥å¤ç")] Emergency, /// <summary> /// å·²å¤ç /// </summary> [Description("å·²å¤ç")] Processed, } } н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_Model/Models/WMSInfo/Dt_MessageInfo.cs
@@ -21,7 +21,19 @@ public int Id { get; set; } /// <summary> /// å¼å¸¸ä¿¡æ¯åç§° /// å¼å¸¸ä¿¡æ¯åç»(è®¾å¤æ¥è¦ï¼åºåè¿ææ¥è¦ï¼ç©æç»´æ¤æ¥è¦ï¼ä½åºåæ¥è¦ï¼å建åºå ¥åºåæ¥è¦) /// </summary> [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "å¼å¸¸ä¿¡æ¯åç»")] public int MessageGroupBy { get; set; } /// <summary> /// ç¶æ /// </summary> [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "ç¶æ")] public int MessageStatus { get; set; } /// <summary> /// å¼å¸¸ä¿¡æ¯åç§°(è·å䏿¸¸å ¥åºåå¼å¸¸ããã) /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "å¼å¸¸ä¿¡æ¯åç§°")] public string MessageName { get; set; } @@ -33,9 +45,9 @@ public string MessageInfo { get; set; } /// <summary> /// ç¶æ /// 夿³¨(åºåè¿æé¢è¦æ¶ä¼ å ¥ç©æç¼å·åæ¹æ¬¡å·) /// </summary> [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "ç¶æ")] public int MessageStatus { get; set; } [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "夿³¨")] public string MessageRemark { get; set; } } } н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs
@@ -13,6 +13,8 @@ using static WIDESEA_DTO.SquareCabin.TowcsDto; using WIDESEA_Common.WareHouseEnum; using WIDESEA_DTO.SquareCabin; using WIDESEA_Common; using System.Xml.Linq; namespace WIDESEA_WMSServer { @@ -22,24 +24,16 @@ private readonly ICabinOrderDetailServices _cabinDetailServices; private readonly IDeliveryOrderServices _deliveryOrderServices; private readonly IDeliveryOrderDetailServices _deliveryOrderDetailServices; private readonly IBasicService _basicService; private readonly IMessageInfoService _messageInfoService; private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly IInventory_BatchServices _inventory_BatchServices; private readonly IInventoryInfoService _inventoryInfoService; private readonly ISupplyTaskService _supplyTaskService; private readonly ITacticsService _tacticsService; public Business(IDeliveryOrderServices deliveryOrderServices, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices, ITacticsService tacticsService, ICabinOrderDetailServices cabinDetailServices) public Business(IDeliveryOrderServices deliveryOrderServices, IUnitOfWorkManage unitOfWorkManage, IDeliveryOrderDetailServices deliveryOrderDetailServices, ICabinOrderServices cabinOrderServices, ICabinOrderDetailServices cabinDetailServices, IMessageInfoService messageInfoService) { _deliveryOrderServices = deliveryOrderServices; _basicService = basicService; _unitOfWorkManage = unitOfWorkManage; _inventory_BatchServices = inventory_BatchServices; _inventoryInfoService = inventoryInfoService; _deliveryOrderDetailServices = deliveryOrderDetailServices; _supplyTaskService = supplyTaskService; _cabinOrderServices = cabinOrderServices; _tacticsService = tacticsService; _cabinDetailServices = cabinDetailServices; _messageInfoService = messageInfoService; } #region è·åERPå ¥åºå static string SearchInDate = "2025-09-10 00:00:00"; @@ -99,7 +93,9 @@ //åå¨å ¥åºåå· List<string> orderNos = new List<string>(); string name = string.Empty; MessageGroupByEnum messageGroupBy = MessageGroupByEnum.InOrderAlarm; MessageStatusEnum messageStatus = MessageStatusEnum.Emergency; foreach (var order in newOrders) { try @@ -107,6 +103,7 @@ _unitOfWorkManage.BeginTran(); if (order.order_type == "1") //æ£å¸¸å ¥åº { name = "å建æ£å¸¸å ¥åºå"; responseContent = _cabinOrderServices.CreateInboundOrder(order); if (!responseContent.Status) throw new Exception(responseContent.Message); List<Dt_CabinOrder>? dt_CabinOrders = responseContent.Data as List<Dt_CabinOrder>; @@ -115,6 +112,8 @@ } else if (order.order_type == "3")//å ¥åºéæ { messageGroupBy = MessageGroupByEnum.OutOrderAlarm; name = "åå»ºå ¥åºéè´§å"; //å建åºåºå #region 转æ¢ä¸ºåºåºå UpstramOutOrderInfo upstramOutOrderInfo = new UpstramOutOrderInfo() @@ -141,6 +140,8 @@ } else if (order.order_type == "5")//æ¥æº¢å ¥åº { name = "å建ççå ¥åºå"; messageStatus = MessageStatusEnum.Undisposed; var content = _cabinOrderServices.CreateCheckInOrder(order); if (!content.Status) throw new Exception(content.Message); } @@ -149,14 +150,11 @@ catch (Exception ex) { _unitOfWorkManage.RollbackTran(); _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus); SendErrorToUpstream(1, "", ex.Message, ""); return responseContent.Error("åæ¥å¤±è´¥: " + ex.Message); } }; //å¨ä¸åç»wcs //EdiIn(); //åç»ä¸æ¸¸ //妿è¿ä¸ªæ¹æ³æåäºï¼é£ä¹å°±è°ç¨CompleteOrderæ¥å£ï¼ç¶åæ¹å return responseContent.OK("åæ¥å ¥åºåæå"); } @@ -218,21 +216,26 @@ return responseContent.OK("ææåºåºåå·²åå¨ï¼æ éæ°å¢"); } _unitOfWorkManage.BeginTran(); try { List<Dt_DeliveryOrder> _DeliveryOrders = new List<Dt_DeliveryOrder>(); List<string> orderNos = new List<string>(); string name = string.Empty; MessageGroupByEnum messageGroupBy = MessageGroupByEnum.OutOrderAlarm; MessageStatusEnum messageStatus = MessageStatusEnum.Emergency; foreach (var outorder in newOutOrders) { try { _unitOfWorkManage.BeginTran(); if (outorder.order_type == "1") // æ£å¸¸åºåºå { name = "å建æ£å¸¸åºåºå"; var content = _deliveryOrderServices.CreateOutboundOrder(outorder); if (!content.Status) throw new Exception(content.Message); } else if (outorder.order_type == "2")//åºåºéè´§ { name = "å建åºåºéè´§å"; messageGroupBy = MessageGroupByEnum.InOrderAlarm; // å建åºåºéè´§å - è¿ééè¦æ ¹æ®ä¸å¡é»è¾å®ç° // ææ¶è·³è¿æå®ç°éè´§é»è¾ //continue; @@ -264,34 +267,23 @@ } else if (outorder.order_type == "6")//æ¥æåºåº { name = "å建çæåºåºå"; messageStatus = MessageStatusEnum.Undisposed; var content = _deliveryOrderServices.CreateCheckOutOrder(outorder); if (!content.Status) throw new Exception(content.Message); } } // æ¹éæå ¥åºåºååæç» //if (_DeliveryOrders.Any()) //{ // BaseDal.Db.InsertNav(_DeliveryOrders).Include(x => x.Details).ExecuteCommand(); //} //ä¸ååºåºåä»»å¡ç»wcs _unitOfWorkManage.CommitTran(); //var tex = CreateSupplyTask(order_no); //if (!tex) //{ // return responseContent.Error("å建ä¾åºä»»å¡å¤±è´¥"); //} return responseContent.OK($"忥åºåºåæåï¼å ±{_DeliveryOrders.Count}æ¡"); } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus); SendErrorToUpstream(3, "", ex.Message, ""); return responseContent.Error("åæ¥å¤±è´¥: " + ex.Message); } } return responseContent.OK($"忥åºåºåæåï¼å ±{_DeliveryOrders.Count}æ¡"); } catch (Exception ex) { SendErrorToUpstream(3, "", ex.Message, ""); н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs
@@ -43,9 +43,10 @@ private readonly ICabinOrderDetailServices _cabinOrderDetailServices; private readonly ISupplyTaskService _supplyTaskService; private readonly ISupplyTaskHtyService _supplyTaskHtyService; private readonly IMessageInfoService _messageInfoService; public IRepository<Dt_CabinOrder> Repository => BaseDal; public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService) : base(BaseDal) public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService, IMessageInfoService messageInfoService) : base(BaseDal) { _basicService = basicService; _medicineGoodsServices = medicineGoodsServices; @@ -55,6 +56,7 @@ _cabinOrderDetailServices = cabinOrderDetailServices; _supplyTaskService = supplyTaskService; _supplyTaskHtyService = supplyTaskHtyService; _messageInfoService = messageInfoService; } @@ -724,6 +726,7 @@ } catch (Exception ex) { //_messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "å建ççå ¥åºå", ex.Message); content.Error(ex.Message); } return content; н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs
@@ -43,8 +43,9 @@ private readonly ISupplyTaskService _supplyTaskService; private readonly ISupplyTaskHtyService _supplyTaskHtyService; private readonly ITacticsService _tacticsService; private readonly IMessageInfoService _messageInfoService; public IRepository<Dt_DeliveryOrder> Repository => BaseDal; public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices, ITacticsService tacticsService, ISupplyTaskHtyService supplyTaskHtyService) : base(BaseDal) public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices, ITacticsService tacticsService, ISupplyTaskHtyService supplyTaskHtyService, IMessageInfoService messageInfoService) : base(BaseDal) { _basicService = basicService; _unitOfWorkManage = unitOfWorkManage; @@ -55,6 +56,7 @@ _cabinOrderServices = cabinOrderServices; _tacticsService = tacticsService; _supplyTaskHtyService = supplyTaskHtyService; _messageInfoService = messageInfoService; } #region å建åºåºå /// <summary> @@ -720,9 +722,9 @@ } } } catch (Exception e) catch (Exception ex) { content.Error(e.Message); content.Error(ex.Message); } return content; } н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/WMSInfo/MessageInfoController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEA_Core.BaseController; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.WMSInfo { [Route("api/[controller]")] [ApiController] public class MessageInfoController : ApiBaseController<IMessageInfoService, Dt_MessageInfo> { public MessageInfoController(IMessageInfoService service) : base(service) { } } } н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/WMSInfo/MessageInfoHtyController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEA_Core.BaseController; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.WMSInfo { [Route("api/[controller]")] [ApiController] public class MessageInfoHtyController : ApiBaseController<IMessageInfoHtyService, Dt_MessageInfo_Hty> { public MessageInfoHtyController(IMessageInfoHtyService service) : base(service) { } } }