From 192c527f98d80315315d1e231b3ab812fa9a0065 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期二, 31 三月 2026 10:26:48 +0800
Subject: [PATCH] 1
---
项目代码/WIDESEA_WMSClient/src/views/stock/stockView.vue | 2
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs | 89 ++++++++++++++++++++++++++++++++++++--------
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs | 7 +++
3 files changed, 81 insertions(+), 17 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockView.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockView.vue"
index fe81dcc..ab15ab5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockView.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockView.vue"
@@ -51,7 +51,7 @@
{ title: "渚涘簲鍟嗙紪鍙�", field: "supplyCode",type: "like"},
{ title: "鎵�鍚崟鎹紪鍙�", field: "orderNo",type: "like"},
{ title: "搴撳瓨鍒涘缓鏃堕棿", field: "createDate",type: "datetime"},
-
+ { title: "鍘傚尯", field: "factoryArea",type: "like"},
],
]);
const columns = ref([
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
index 894adab..8748a4e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
@@ -70,6 +70,7 @@
public readonly IRepository<Dt_InboundOrder> _inboundOrderRepository;
public readonly IRepository<Dt_WarehouseArea> _warehouseAreaRepository;
public readonly IRepository<Dt_LocationType> _locationTypeRepository;
+ public readonly IRepository<Dt_OutboundOrderDetail> _outboundOrderDetailRepository;
private Dictionary<string, string> stations = new Dictionary<string, string>
{
@@ -83,7 +84,7 @@
{"3-1","3-5" },
};
- public OutboundService(IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> detailRepository, IRepository<Dt_OutboundOrder> outboundRepository, IRepository<Dt_OutStockLockInfo> outboundLockInfoRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_StockQuantityChangeRecord> stockChangeRepository, IRepository<Dt_StockInfoDetail_Hty> stockDetailHistoryRepository, IBasicService basicService, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IFeedbackMesService feedbackMesService, IRepository<Dt_Task> taskRepository, ILocationInfoService locationInfoService, IESSApiService eSSApiService, IRepository<Dt_AllocateOrder> allocateOrderRepository, IRepository<Dt_AllocateMaterialInfo> allocateMaterialInfoRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_LocationType> locationTypeRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository)
+ public OutboundService(IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> detailRepository, IRepository<Dt_OutboundOrder> outboundRepository, IRepository<Dt_OutStockLockInfo> outboundLockInfoRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_StockQuantityChangeRecord> stockChangeRepository, IRepository<Dt_StockInfoDetail_Hty> stockDetailHistoryRepository, IBasicService basicService, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IFeedbackMesService feedbackMesService, IRepository<Dt_Task> taskRepository, ILocationInfoService locationInfoService, IESSApiService eSSApiService, IRepository<Dt_AllocateOrder> allocateOrderRepository, IRepository<Dt_AllocateMaterialInfo> allocateMaterialInfoRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_LocationType> locationTypeRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_OutboundOrderDetail> outboundOrderDetailRepository)
{
_mapper = mapper;
_unitOfWorkManage = unitOfWorkManage;
@@ -110,6 +111,7 @@
_inboundOrderRepository = inboundOrderRepository;
_locationTypeRepository = locationTypeRepository;
_warehouseAreaRepository = warehouseAreaRepository;
+ _outboundOrderDetailRepository = outboundOrderDetailRepository;
}
public WebResponseContent PrintFromData (string barcode)
@@ -2514,10 +2516,9 @@
Dt_StockInfoDetail_Hty historyDetail = _stockDetailHistoryRepository.QueryFirst(x =>
x.Barcode == request.Barcode &&
-
(x.OperateType == "鍑哄簱瀹屾垚" || x.OperateType == "鎷嗗寘-鍘熷璁板綍"));
- if(historyDetail != null)
+ if (historyDetail != null)
{
double minutesDiff = (DateTime.Now - historyDetail.InsertTime).TotalMinutes;
if (minutesDiff >= 30)
@@ -2540,6 +2541,41 @@
{
return WebResponseContent.Instance.Error("璇ユ墭鐩樺凡鍏ㄩ儴鎷i�夊畬,涓嶅厑璁告挙閿�");
}
+
+ var details = _outboundOrderDetailRepository.QueryData(x => x.OrderId == outboundOrder.Id);
+
+ var outboundDetails = details
+ .Where(x =>
+ x.MaterielCode == historyDetail.MaterielCode
+ &&
+ !string.IsNullOrEmpty(lockInfo.OrderDetailIds)
+ &&
+ lockInfo.OrderDetailIds.Split(",")
+ .Any(idStr => idStr.Trim() == x.Id.ToString())
+ ).ToList();
+
+ var detail = outboundDetails.FirstOrDefault();
+ if (detail != null && !string.IsNullOrEmpty(detail.ReturnJsonData))
+ {
+ try
+ {
+ string deleteBarcode = request.Barcode;
+
+ var list = JsonConvert.DeserializeObject<List<BarcodeItem>>(detail.ReturnJsonData);
+ if (list != null)
+ {
+ var filteredList = list.Where(x => x.barcode != deleteBarcode).ToList();
+
+ detail.ReturnJsonData = JsonConvert.SerializeObject(filteredList);
+ _outboundOrderDetailRepository.UpdateData(detail);
+ }
+ }
+ catch
+ {
+
+ }
+ }
+
_unitOfWorkManage.BeginTran();
try
{
@@ -2552,21 +2588,11 @@
{
ReverseFullOutboundOperation(historyDetail, stockInfo, request);
}
+
RollbackOutboundOrderDetails(historyDetail.MaterielCode, request.OrderNo, historyDetail.StockQuantity, stockInfo.Id);
- if (lockInfo != null)
- {
- lockInfo.SortedQuantity = Math.Max(0, (decimal)(lockInfo.SortedQuantity - historyDetail.StockQuantity));
-
- if (lockInfo.SortedQuantity == 0)
- {
- _outboundLockInfoRepository.UpdateData(lockInfo);
- }
- else
- {
- _outboundLockInfoRepository.UpdateData(lockInfo);
- }
- }
+ lockInfo.SortedQuantity = Math.Max(0, (decimal)(lockInfo.SortedQuantity - historyDetail.StockQuantity));
+ _outboundLockInfoRepository.UpdateData(lockInfo);
_stockDetailHistoryRepository.DeleteData(historyDetail);
@@ -2779,4 +2805,35 @@
}
+
+ /// <summary>
+ /// 鏉$爜鏄庣粏瀹炰綋
+ /// </summary>
+ public class BarcodeItem
+ {
+ /// <summary>
+ /// 鏉$爜
+ /// </summary>
+ public string barcode { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ public decimal qty { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ /// </summary>
+ public string supplyCode { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string batchNo { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ public string unit { get; set; }
+ }
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
index c2eac42..bee5945 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
@@ -57,6 +57,13 @@
.Where(x => x.Details.Any(v => v.BatchNo.Contains(param.Value.ToString())));
}
break;
+ case var name when name == nameof(Dt_StockInfoDetail.FactoryArea).FirstLetterToLower():
+ if (!string.IsNullOrEmpty(param.Value?.ToString()))
+ {
+ sugarQueryable1 = sugarQueryable1
+ .Where(x => x.Details.Any(v => v.FactoryArea.Contains(param.Value.ToString())));
+ }
+ break;
case var name when name == nameof(Dt_StockInfoDetail.SupplyCode).FirstLetterToLower():
if (!string.IsNullOrEmpty(param.Value?.ToString()))
{
--
Gitblit v1.9.3