From 89051aef8a2c1a85d457914cf6317fe70e0e321c Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期日, 29 十二月 2024 04:33:10 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 84 +++++++++++------------------------------- 1 files changed, 22 insertions(+), 62 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" index 6f1f954..319ec37 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" @@ -73,21 +73,21 @@ try { //鑾峰彇浠撳簱淇℃伅 - Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x=>x.WarehouseCode==erpInOrder.WaId); - if (warehouse==null) + Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseCode == erpInOrder.WaId); + if (warehouse == null) { return content.Error("鏈壘鍒颁粨搴撲俊鎭�"); } //鑾峰彇鏄惁瀛樺湪璁㈠崟 - Dt_InboundOrder inboundOrder = BaseDal.QueryFirst(x=>x.InboundOrderNo== erpInOrder.OrderNo); - if (erpInOrder.Way==1) + Dt_InboundOrder inboundOrder = BaseDal.QueryFirst(x => x.InboundOrderNo == erpInOrder.OrderNo); + if (erpInOrder.Way == 1) { - if (inboundOrder!=null) + if (inboundOrder != null) { } } - else if(erpInOrder.Way==2) + else if (erpInOrder.Way == 2) { } @@ -145,7 +145,7 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); } - if (inboundOrder.OrderStatus>=InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt()) + if (inboundOrder.OrderStatus >= InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt()) { return WebResponseContent.Instance.Error($"鍏ュ簱鍗曞凡缁撴潫"); } @@ -187,11 +187,11 @@ { return WebResponseContent.Instance.Error($"鏈湪鍏ュ簱鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�"); } - if (inboundOrderDetail.OrderDetailStatus>OrderDetailStatusEnum.GroupAndInbound.ObjToInt()) + if (inboundOrderDetail.OrderDetailStatus > OrderDetailStatusEnum.GroupAndInbound.ObjToInt()) { return WebResponseContent.Instance.Error($"瀵瑰簲鍏ュ簱鍗曟槑缁嗗凡缁撴潫"); } - float inboundDetailSum = inboundOrderDetail.OverInQuantity + inboundOrderDetail.ReceiptQuantity ; + float inboundDetailSum = inboundOrderDetail.OverInQuantity + inboundOrderDetail.ReceiptQuantity; if (inboundDetailSum == inboundOrderDetail.OrderQuantity) { return WebResponseContent.Instance.Error($"璇ョ墿鏂欏叆搴撳崟鏄庣粏宸插叏閮ㄧ粍鐩樺畬鎴�"); @@ -201,7 +201,7 @@ return WebResponseContent.Instance.Error($"涓庤鏀惰揣鍗曟槑缁嗘敹璐ф暟閲忎笉涓�鑷�"); } Dt_StockInfo oldStockinfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode); - if(oldStockinfo!=null) + if (oldStockinfo != null) { return WebResponseContent.Instance.Error($"鎵樼洏閲嶅"); } @@ -225,11 +225,11 @@ PalletCode = palletCode, StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), WarehouseId = inboundOrder.WarehouseId, - Details=new List<Dt_StockInfoDetail> { stockInfoDetail } + Details = new List<Dt_StockInfoDetail> { stockInfoDetail } }; inboundOrderDetail.ReceiptQuantity += model.Quantity; _unitOfWorkManage.BeginTran(); - if (inboundOrderDetail.OrderDetailStatus==OrderDetailStatusEnum.New.ObjToInt()) + if (inboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt()) { inboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt(); } @@ -562,9 +562,9 @@ /// 鍏ュ簱瀹屾垚涓婃姤ERP /// </summary> /// <returns></returns> - public WebResponseContent FeedbackInboundOrder(Dt_StockInfo stockInfo,Dt_InboundOrder inboundOrder) + public WebResponseContent FeedbackInboundOrder(Dt_StockInfo stockInfo, Dt_InboundOrder inboundOrder, List<ERPInboundDetailModel> detailModels) { - WebResponseContent content=new WebResponseContent(); + WebResponseContent content = new WebResponseContent(); try { if (inboundOrder.Details.Count == 0) @@ -575,44 +575,17 @@ { return WebResponseContent.Instance.Error($"鍏ュ簱鍗曟嵁宸插畬鎴�"); } - List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); + Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId); if (warehouse == null) { return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�"); } - List<Dt_InboundOrderDetail> inboundOrderDetails = new List<Dt_InboundOrderDetail>(); - foreach (var item in stockInfo.Details) - { - Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x=>x.RowNo==item.InboundOrderRowNo); - if (inboundOrderDetail == null) - { - continue; - } - ERPInboundDetailModel detailModel = new ERPInboundDetailModel() - { - ExpiryDate = item.EffectiveDate ?? "", - LocationCode = warehouse.WarehouseCode, - MaterialsCode = item.MaterielCode, - MfgDate = item.ProductionDate ?? "", - QtyCustoms = "0", - Quantity = item.StockQuantity.ToString(), - Rack = stockInfo.LocationCode, - ReceiptCode = inboundOrder.UpperOrderNo, - ReceiptSerNo = item.InboundOrderRowNo.ToString() - }; - inboundOrderDetail.OverInQuantity += detailModel.Quantity.ObjToInt(); - if (inboundOrderDetail.OverInQuantity== inboundOrderDetail.OrderQuantity) - { - inboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); - } - inboundOrderDetails.Add(inboundOrderDetail); - detailModels.Add(detailModel); - } + ERPInboundModel model = new ERPInboundModel() { Code = inboundOrder.InboundOrderNo, - CreatorCode = "TC20082",//娴嬭瘯 + CreatorCode = inboundOrder.Creater,//娴嬭瘯 EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), SuppliersId = inboundOrder.SupplierId, @@ -622,40 +595,27 @@ Way = 1, Details = detailModels }; - //鍏ュ簱鏄庣粏鏂板瀹屾垚鏁伴噺 - int newCount = inboundOrderDetails.Select(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).ToList().Count; - //鍏ュ簱鏄庣粏鍘熷畬鎴愭暟閲� - int oldCount = inboundOrder.Details.Select(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).ToList().Count; string response = _invokeERPService.InvokeInboundOrderApi(model); - ErpRequestContent requestContent = JsonConvert.DeserializeObject<ErpRequestContent>(response); - if (requestContent==null) + ErpRequestContent? requestContent = JsonConvert.DeserializeObject<ErpRequestContent>(response); + if (requestContent == null) { return WebResponseContent.Instance.Error(); } - if (requestContent.res==0) + if (requestContent.res == 0) { return WebResponseContent.Instance.Error(requestContent.Data); } - _unitOfWorkManage.BeginTran(); - _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetails); - if (inboundOrder.Details.Count == (newCount + oldCount)) - { - inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt(); - _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder); - } - _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); } catch (Exception ex) { - _unitOfWorkManage.RollbackTran(); content.Error(ex.Message); } return content; } /// <summary> - /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP 娴嬭瘯 + /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP /// </summary> /// <param name="id"></param> /// <returns></returns> @@ -717,7 +677,7 @@ ERPInboundModel model = new ERPInboundModel() { Code = inboundOrder.InboundOrderNo, - CreatorCode = "TC20082",//娴嬭瘯 + CreatorCode = inboundOrder.Creater,//娴嬭瘯 EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), SuppliersId = inboundOrder.SupplierId, -- Gitblit v1.9.3