From c5238c1b78e8e7a066d6a82e4bbd5118de6b6efb Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期一, 16 十二月 2024 21:23:02 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 99 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 96 insertions(+), 3 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 986adc1..f21b03a 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"
@@ -21,6 +21,8 @@
using WIDESEA_DTO;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.Inbound;
+using WIDESEA_External.ERPService;
+using WIDESEA_External.Model;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
using WIDESEA_IInboundRepository;
@@ -42,10 +44,11 @@
private readonly IBasicRepository _basicRepository;
private readonly IStockRepository _stockRepository;
private readonly IRecordService _recordService;
+ private readonly IInvokeERPService _invokeERPService;
public IInboundOrderRepository Repository => BaseDal;
- public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, IStockRepository stockRepository, IRecordService recordService) : base(BaseDal)
+ public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, IStockRepository stockRepository, IRecordService recordService, IInvokeERPService invokeERPService) : base(BaseDal)
{
_mapper = mapper;
_unitOfWorkManage = unitOfWorkManage;
@@ -53,6 +56,7 @@
_basicRepository = basicRepository;
_stockRepository = stockRepository;
_recordService = recordService;
+ _invokeERPService = invokeERPService;
}
public WebResponseContent GetInboundOrders(SaveModel saveModel)
{
@@ -152,7 +156,10 @@
SerialNumber = model.SerialNumber,
StockQuantity = model.Quantity,
OutboundQuantity = 0,
- Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt()
+ Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+ ProductionDate = model.ProductionDate,
+ EffectiveDate = model.EffectiveDate,
+ InboundOrderRowNo = notGroupDetail.RowNo,
};
_stockRepository.StockInfoRepository.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
@@ -265,7 +272,10 @@
SerialNumber = model.SerialNumber,
StockQuantity = model.Quantity,
OutboundQuantity = 0,
- Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt()
+ Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+ ProductionDate = model.ProductionDate,
+ EffectiveDate = model.EffectiveDate,
+ InboundOrderRowNo = notGroupDetail.RowNo,
};
if (stockInfo.Id > 0)
@@ -306,5 +316,88 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ public WebResponseContent FeedbackInboundOrder(int id)
+ {
+ try
+ {
+ Dt_InboundOrder inboundOrder = Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == id).Includes(x => x.Details).First();
+ if (inboundOrder == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅");
+ }
+ if (inboundOrder.Details == null || inboundOrder.Details.Count == 0)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅");
+ }
+ if (inboundOrder.OrderStatus != InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
+ {
+ return WebResponseContent.Instance.Error($"鍏ュ簱鍗曟嵁鏈畬鎴�");
+ }
+ if (inboundOrder.Details.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()) != null)
+ {
+ return WebResponseContent.Instance.Error($"鍏ュ簱鏄庣粏鏈畬鎴�");
+ }
+
+ List<Dt_StockInfo> stockInfos = Db.Queryable<Dt_StockInfo>().Where(x => x.Details.Any(v => v.OrderNo == inboundOrder.InboundOrderNo)).Includes(x => x.Details).ToList();
+ List<Dt_Warehouse> warehouses = Db.Queryable<Dt_Warehouse>().ToList();
+
+ List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>();
+ foreach (var item in inboundOrder.Details)
+ {
+ Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(v => v.InboundOrderRowNo == item.RowNo && v.MaterielCode == item.MaterielCode));
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板簱瀛樹俊鎭�");
+ }
+
+ Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseId == stockInfo.WarehouseId);
+ if (warehouse == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�");
+ }
+
+ ERPInboundDetailModel detailModel = new ERPInboundDetailModel()
+ {
+ ExpiryDate = stockInfo.Details.FirstOrDefault()?.EffectiveDate ?? "",
+ LocationCode = warehouse.WarehouseCode,
+ MaterialsCode = item.MaterielCode,
+ MfgDate = stockInfo.Details.FirstOrDefault()?.ProductionDate ?? "",
+ QtyCustoms = "0",
+ Quantity = stockInfo.Details.Sum(x => x.StockQuantity).ToString(),
+ Rack = stockInfo.LocationCode,
+ ReceiptCode = inboundOrder.UpperOrderNo,
+ ReceiptSerNo = item.RowNo.ToString()
+ };
+ detailModels.Add(detailModel);
+ }
+ Dt_Warehouse? warehouse2 = warehouses.FirstOrDefault(x => x.WarehouseId == inboundOrder.WarehouseId);
+ if (warehouse2 == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�");
+ }
+ ERPInboundModel model = new ERPInboundModel()
+ {
+ Code = inboundOrder.InboundOrderNo,
+ CreatorCode = inboundOrder.Creater,
+ EndDate = inboundOrder.CreateDate.ToString(),
+ StockDate = inboundOrder.CreateDate.ToString(),
+ SuppliersId = inboundOrder.SupplierId,
+ Type = "S",
+ UniqueTag = inboundOrder.Id.ToString(),
+ WarehouseCode = warehouse2.WarehouseCode,
+ Way = 1,
+ Details = detailModels
+ };
+
+ string response = _invokeERPService.InvokeInboundOrderApi(model);
+
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
--
Gitblit v1.9.3