From 3c7658b4fff5cfba50105357eb3723dcbcea5c6a Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 27 十二月 2024 18:38:24 +0800
Subject: [PATCH] AGV接口逻辑
---
代码管理/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