From 4d83bc8431bb1fda7b3cef959e2505b2402285d2 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期四, 26 十二月 2024 21:53:14 +0800 Subject: [PATCH] · --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 122 +++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 21 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 86ee62b..c02a048 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" @@ -11,6 +11,7 @@ using WIDESEA_Common.CommonEnum; using WIDESEA_Common.OrderEnum; using WIDESEA_Common.StockEnum; +using WIDESEA_Common.WareHouseEnum; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; @@ -20,6 +21,7 @@ using WIDESEA_Core.Utilities; using WIDESEA_DTO; using WIDESEA_DTO.Basic; +using WIDESEA_DTO.ERP; using WIDESEA_DTO.Inbound; using WIDESEA_External.ERPService; using WIDESEA_External.Model; @@ -45,10 +47,11 @@ private readonly IStockRepository _stockRepository; private readonly IRecordService _recordService; private readonly IInvokeERPService _invokeERPService; + private readonly IWarehouseService _warehouseService; public IInboundOrderRepository Repository => BaseDal; - public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, IStockRepository stockRepository, IRecordService recordService, IInvokeERPService invokeERPService) : base(BaseDal) + public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, IStockRepository stockRepository, IRecordService recordService, IInvokeERPService invokeERPService, IWarehouseService warehouseService) : base(BaseDal) { _mapper = mapper; _unitOfWorkManage = unitOfWorkManage; @@ -57,6 +60,47 @@ _stockRepository = stockRepository; _recordService = recordService; _invokeERPService = invokeERPService; + _warehouseService = warehouseService; + } + /// <summary> + /// 鍏朵粬鍏ュ簱鍗曞垱寤� + /// </summary> + /// <returns></returns> + public WebResponseContent ReceiveWarehousingOrder(ErpInOrderDTO erpInOrder) + { + WebResponseContent content = new WebResponseContent(); + try + { + //鑾峰彇浠撳簱淇℃伅 + 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) + { + if (inboundOrder!=null) + { + + } + } + else if(erpInOrder.Way==2) + { + + } + else + { + + } + return content.OK(); + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; } public WebResponseContent GetInboundOrders(SaveModel saveModel) { @@ -84,7 +128,13 @@ } return content; } - + /// <summary> + /// 鍗曚釜鐗╂枡鐮佺粍鐩� + /// </summary> + /// <param name="inboundOrderId"></param> + /// <param name="palletCode"></param> + /// <param name="serNum"></param> + /// <returns></returns> public WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum) { try @@ -111,7 +161,25 @@ List<string> purchaseOrderNos = receiveOrder.Details.Select(x => x.PurchaseOrderNo).ToList(); - MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum); + MatSerNumAnalysisModel model = new MatSerNumAnalysisModel() + { + MaterielCode= "307000309", + LotNo= "20241216001", + ProductionDate= "2024-12-16", + EffectiveDate= "2025-12-16", + PurchaseOrderNo= "POHA02241216275", + Quantity=1, + SerialNumber= "M:307000309,BS:20241216001,DM:2024-12-16,DE:2025-12-16,Q:4,PO:POHA02241216275" + };//娴嬭瘯 + + //CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum); + + + Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterielCode); + if (materielInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�"); + } List<Dt_InboundOrderDetail> inboundOrderDetails = inboundOrder.Details.Where(x => x.MaterielCode == model.MaterielCode).ToList(); @@ -135,19 +203,6 @@ return WebResponseContent.Instance.Error($"璇ョ墿鏂欏湪璇ュ叆搴撳崟涓凡鍏ㄩ儴缁勭洏瀹屾垚"); } - Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterielCode); - if (materielInfo == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�"); - } - - Dt_StockInfo stockInfo = new Dt_StockInfo() - { - PalletCode = palletCode, - StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), - WarehouseId = inboundOrder.WarehouseId - }; - Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() { BatchNo = model.LotNo, @@ -161,6 +216,14 @@ ProductionDate = model.ProductionDate, EffectiveDate = model.EffectiveDate, InboundOrderRowNo = notGroupDetail.RowNo, + }; + + Dt_StockInfo stockInfo = new Dt_StockInfo() + { + PalletCode = palletCode, + StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), + WarehouseId = inboundOrder.WarehouseId, + Details=new List<Dt_StockInfoDetail> { stockInfoDetail } }; _stockRepository.StockInfoRepository.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand(); @@ -186,8 +249,15 @@ var orderNo = saveModel.MainData["orderNo"].ToString(); var palletCode = saveModel.MainData["palletCode"].ToString(); var warehouseId = saveModel.MainData["warehouseId"].ObjToInt(); + var Initiallife = saveModel.MainData["initiallife"].ObjToInt(); var serNums = saveModel.DelKeys.Select(x => x.ToString()).ToList(); - Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.InboundOrderNo == orderNo && x.WarehouseId == warehouseId).Includes(x => x.Details).First(); + Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == warehouseId); + if (warehouse == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒拌浠撳簱淇℃伅"); + } + + Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.InboundOrderNo == orderNo && x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).First(); if (inboundOrder == null) { return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); @@ -255,6 +325,11 @@ return WebResponseContent.Instance.Error($"鎵樼洏鍙烽噸澶�"); } beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity); + } + + if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString()) + { + stockInfo.Remark = Initiallife.ToString(); } List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>(); @@ -326,6 +401,7 @@ } return content; } + public WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, List<string> serNums) { try @@ -469,7 +545,11 @@ return WebResponseContent.Instance.Error(ex.Message); } } - + /// <summary> + /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP + /// </summary> + /// <param name="id"></param> + /// <returns></returns> public WebResponseContent FeedbackInboundOrder(int id) { try @@ -532,9 +612,9 @@ ERPInboundModel model = new ERPInboundModel() { Code = inboundOrder.InboundOrderNo, - CreatorCode = inboundOrder.Creater, - EndDate = inboundOrder.CreateDate.ToString(), - StockDate = inboundOrder.CreateDate.ToString(), + CreatorCode = "TC20082",//娴嬭瘯 + EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), + StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), SuppliersId = inboundOrder.SupplierId, Type = "S", UniqueTag = inboundOrder.Id.ToString(), -- Gitblit v1.9.3