From be438dd071400936c44a1425ec8d886f63c83329 Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期五, 11 七月 2025 14:33:08 +0800 Subject: [PATCH] 1 --- WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs | 130 ++++++++++++++++++++++++++++-------------- 1 files changed, 86 insertions(+), 44 deletions(-) diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs index 8a90b45..9de318b 100644 --- a/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs +++ b/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs @@ -31,16 +31,22 @@ private readonly IMaterielInfoService _materielInfoService; private readonly IStockInfoService _stockService; private readonly IStockInfoDetailService _stockDetailService; + private readonly IOutboundOrder_HtyService _outboundOrder_HtyService; + private readonly IOutboundOrderDetail_HtyService _outboundOrderDetail_HtyService; + private readonly IOutboundOrderDetailService _outboundOrderDetailService; //private readonly ITaskService _taskService; public IOutboundOrderRepository Repository => BaseDal; - public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IMaterielInfoService materielInfoService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService) : base(BaseDal) + public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IMaterielInfoService materielInfoService, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrder_HtyService outboundOrder_HtyService, IOutboundOrderDetail_HtyService outboundOrderDetail_HtyService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService) : base(BaseDal) { _mapper = mapper; _materielInfoService = materielInfoService; _stockDetailService = stockDetailService; _stockService = stockInfoService; + _outboundOrder_HtyService = outboundOrder_HtyService; + _outboundOrderDetail_HtyService = outboundOrderDetail_HtyService; + _outboundOrderDetailService = outboundOrderDetailService; //_taskService = taskService; } @@ -107,42 +113,43 @@ return content; } - public WebResponseContent AddOutboundOrders(Houseounbound orderAddDTO) - { - WebResponseContent content = new(); - try - { - OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO(); - orderAddDTO1.OrderNo = orderAddDTO.No; - orderAddDTO1.UpperOrderNo = orderAddDTO.No; - orderAddDTO1.OutWareHouse = orderAddDTO.OutWareHouse; - orderAddDTO1.TransactionCode = orderAddDTO.TransactionCode; - orderAddDTO1.OrderType = orderAddDTO.InoutType.ObjToInt(); - orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>(); - #region 楠岃瘉鏁版嵁 - (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1); - if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); - #endregion + //public WebResponseContent AddOutboundOrders(Houseounbound orderAddDTO) + //{ + // WebResponseContent content = new(); + // try + // { + // OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO(); + // orderAddDTO1.OrderNo = orderAddDTO.No; + // orderAddDTO1.UpperOrderNo = orderAddDTO.No; + // orderAddDTO1.OutWareHouse = orderAddDTO.OutWareHouse; + // orderAddDTO1.TransactionCode = orderAddDTO.TransactionCode; + // orderAddDTO1.OrderType = orderAddDTO.InoutType.ObjToInt(); + // orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>(); + // #region 楠岃瘉鏁版嵁 + // (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1); + // if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); + // #endregion - Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1); - inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt(); - inboundOrder.Creater = "WMS"; - inboundOrder.CreateDate = DateTime.Now; - bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand(); - content = WebResponseContent.Instance.OK(); - } - catch (Exception ex) - { - content = WebResponseContent.Instance.Error(ex.Message); - } - finally - { + // Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1); + // inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt(); + // inboundOrder.Creater = "WMS"; + // inboundOrder.CreateDate = DateTime.Now; + // bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand(); + // content = WebResponseContent.Instance.OK(); + // } + // catch (Exception ex) + // { + // content = WebResponseContent.Instance.Error(ex.Message); + // } + // finally + // { - } - return content; - } + // } + // return content; + //} + /// <summary> - /// 鍗曟嵁鍙栨秷 + /// 鍑哄簱鍗曟嵁鍙栨秷 /// </summary> /// <returns></returns> public WebResponseContent CancelOut(HouseCancelOut houseCancelOut) @@ -153,17 +160,52 @@ OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO(); orderAddDTO1.OrderNo = houseCancelOut.No; orderAddDTO1.Details = houseCancelOut.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>(); - #region 楠岃瘉鏁版嵁 - (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1); - if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); - #endregion + Dt_OutboundOrder oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == orderAddDTO1.OrderNo).Includes(x => x.Details).First(); + Dt_OutboundOrderDetail OutboundOrderDetail = BaseDal.Db.Queryable<Dt_OutboundOrderDetail>().Where(x => x.OrderId == oldOutboundOrder.Id).First(); + if (oldOutboundOrder == null) + { + return WebResponseContent.Instance.Error("鏈壘鍒版鍑哄簱鍗曟嵁"); + } + if (oldOutboundOrder.OrderStatus != InboundStatusEnum.鏈紑濮�.ObjToInt()) + { + return WebResponseContent.Instance.Error("璇ュ叆搴撳崟浠诲姟宸插紑濮嬫墽琛�,涓嶅彲鍙栨秷"); + } + oldOutboundOrder.OrderStatus = InboundStatusEnum.鍙栨秷.ObjToInt(); + BaseDal.UpdateData(oldOutboundOrder); - Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1); - inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt(); - inboundOrder.OrderType = OutOrderTypeEnum.OutInventory.ObjToInt(); - inboundOrder.Creater = "WMS"; - inboundOrder.CreateDate = DateTime.Now; - bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand(); + Dt_OutboundOrder_Hty inboundOrder_Hty = new Dt_OutboundOrder_Hty + { + OrderStatus = oldOutboundOrder.OrderStatus, + CreateType = oldOutboundOrder.CreateType, + //SourceId = oldOutboundOrder.SourceId, + UpperOrderNo = oldOutboundOrder.UpperOrderNo, + OrderNo = oldOutboundOrder.OrderNo, + OutWareHouse = oldOutboundOrder.OutWareHouse, + TransactionCode = oldOutboundOrder.TransactionCode, + InoutType = oldOutboundOrder.InoutType, + OrderType = oldOutboundOrder.OrderType, + Creater = "WMS", + CreateDate = DateTime.Now, + }; + _outboundOrder_HtyService.AddData(inboundOrder_Hty); + + foreach (var item in oldOutboundOrder.Details) + { + Dt_OutboundOrderDetail_Hty dt_InboundOrderDetail_Hty = new Dt_OutboundOrderDetail_Hty + { + OrderId = OutboundOrderDetail.OrderId, + MaterielCode = OutboundOrderDetail.MaterielCode, + MaterielName = OutboundOrderDetail.MaterielName, + BatchNo = OutboundOrderDetail.BatchNo, + OrderQuantity = OutboundOrderDetail.OrderQuantity, + OrderDetailStatus = OutboundOrderDetail.OrderDetailStatus, + Creater = "WMS", + CreateDate = DateTime.Now, + }; + _outboundOrderDetail_HtyService.AddData(dt_InboundOrderDetail_Hty); + _outboundOrderDetailService.DeleteData(item); + } + BaseDal.DeleteData(oldOutboundOrder); content = WebResponseContent.Instance.OK(); } catch (Exception ex) -- Gitblit v1.9.3