From a0a0df2e824b6fe7e5a3c0afce78127fecf84fc9 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 03 十一月 2025 08:23:05 +0800
Subject: [PATCH] ERP接口代码更新,WCS代码优化,出入库分配优化
---
项目代码/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs | 170 ++++++--------------------------------------------------
1 files changed, 18 insertions(+), 152 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs"
index a36a18b..9255975 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs"
@@ -17,7 +17,6 @@
using Magicodes.ExporterAndImporter.Core;
using WIDESEA_Core.HostedService;
using WIDESEA_Core.DB.Models;
-using WIDESEA_IOutboundRepository;
using WIDESEA_IStockRepository;
using WIDESEA_Common.StockEnum;
using WIDESEA_IBasicRepository;
@@ -29,15 +28,13 @@
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
private readonly SqlSugarClient _dbBase;
- private readonly IOutboundRepository _outboundRepository;
private readonly IStockRepository _stockRepository;
private readonly IBasicRepository _basicRepository;
- public ProStockViewService(IUnitOfWorkManage unitOfWorkManage, IOutboundRepository outboundRepository, IStockRepository stockRepository,IBasicRepository basicRepository)
+ public ProStockViewService(IUnitOfWorkManage unitOfWorkManage,IStockRepository stockRepository,IBasicRepository basicRepository)
{
_unitOfWorkManage = unitOfWorkManage;
_dbBase = unitOfWorkManage.GetDbClient();
- _outboundRepository = outboundRepository;
_stockRepository = stockRepository;
_basicRepository = basicRepository;
}
@@ -57,29 +54,11 @@
List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
if (searchParametersList.Count > 0)
{
+ SearchParameters? searchParameters1 = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductCode).FirstLetterToLower());
+ if (searchParameters1 != null)
{
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductCode).FirstLetterToLower());
- if (searchParameters != null)
- {
- sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductCode.Contains(searchParameters.Value)));
- }
+ sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductCode.Contains(searchParameters1.Value)));
}
-
- {
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductVersion).FirstLetterToLower());
- if (searchParameters != null)
- {
- sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(searchParameters.Value)));
- }
- }
- {
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.SpecifyVer).FirstLetterToLower());
- if (searchParameters != null)
- {
- sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.SpecifyVer.Contains(searchParameters.Value)));
- }
- }
-
}
}
@@ -94,12 +73,12 @@
EntityProperties.ValidatePageOptions(options, ref sugarQueryable);
- ISugarQueryable<ProStockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a)
+ ISugarQueryable<ProStockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).OrderByDescending(b=>b.CreateDate).Select((b, a)
=> new ProStockViewDTO
{
ProStockAttribute=b.ProStockAttribute,
LocationCode = b.LocationCode,
- Column = a.Column,
+ Column = a.Columns,
WarehouseId = b.WarehouseId,
CreateDate = b.CreateDate,
Creater = b.Creater,
@@ -115,46 +94,23 @@
ProStockId = b.Id,
StockStatus = b.StockStatus,
Details = b.proStockInfoDetails,
- SumStocks=b.proStockInfoDetails.Sum(x=>x.StockPcsQty)
+ SumStocks=b.proStockInfoDetails.Sum(x=>x.StockQty)
});
-
- var pklist = sugarQueryable1.Where(b => b.LocationCode == "鎴愬搧寰呭彂璐у尯" || b.LocationCode == "鎴愬搧鍖呰鎷h揣鍖�").Select(b => new ProStockViewDTO
- {
- ProStockAttribute = b.ProStockAttribute,
- LocationCode = b.LocationCode,
- WarehouseId = b.WarehouseId,
- CreateDate = b.CreateDate,
- Creater = b.Creater,
- LocationName = b.LocationCode,
- Modifier = b.Modifier,
- ModifyDate = b.ModifyDate,
- PalletCode = b.PalletCode,
- StockRemark = b.Remark,
- ProStockId = b.Id,
- StockStatus = b.StockStatus,
- Details = b.proStockInfoDetails,
- SumStocks = b.proStockInfoDetails.Sum(x => x.StockPcsQty)
- });
int totalCount = 0;
int pktotalCount = 0;
stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount);
- stockViewDTOs.AddRange(pklist.ToPageList(options.Page, options.Rows, ref pktotalCount));
stockViewDTOs.ForEach(x =>
{
x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct());
- x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct());
- x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct());
- x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? "";
- x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? "";
- x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? "";
- x.SaleOrder= x.Details.FirstOrDefault()?.SaleOrder ?? "";
- x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? "";
+ x.ProductName = x.Details.FirstOrDefault()?.ProductName ?? "";
+ x.ProductSpec = x.Details.FirstOrDefault()?.ProductSpec ?? "";
+ x.ProductUnit = x.Details.FirstOrDefault()?.ProductUnit ?? "";
}
);
- return new PageGridData<ProStockViewDTO>(totalCount + pktotalCount, stockViewDTOs.OrderByDescending(x=>x.CreateDate).ToList());
+ return new PageGridData<ProStockViewDTO>(totalCount + pktotalCount, stockViewDTOs.ToList());
}
catch (Exception ex)
{
@@ -199,7 +155,7 @@
options.Order = "desc";
options.Sort = "proStockId";
List<ProStockViewDTO> stockViewDTOs = new List<ProStockViewDTO>();
- List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(x => x.WarehouseType == WarehouseTypEnum.鎴愬搧.ToString());
+ List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(x => x.WarehouseId == WarehouseEnum.LLDCP.ObjToInt());
string where = string.Empty;
ISugarQueryable<Dt_ProStockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_ProStockInfo>().Includes(x => x.proStockInfoDetails);
if (!string.IsNullOrEmpty(options.Wheres))
@@ -214,14 +170,6 @@
if (searchParameters != null)
{
sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductCode.Contains(searchParameters.Value)));
- }
- }
-
- {
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductVersion).FirstLetterToLower());
- if (searchParameters != null)
- {
- sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(searchParameters.Value)));
}
}
@@ -244,7 +192,7 @@
{
ProStockAttribute = b.ProStockAttribute,
LocationCode = b.LocationCode,
- Column = a.Column,
+ Column = a.Columns,
WarehouseId = b.WarehouseId,
CreateDate = b.CreateDate,
Creater = b.Creater,
@@ -260,7 +208,7 @@
ProStockId = b.Id,
StockStatus = b.StockStatus,
Details = b.proStockInfoDetails,
- SumStocks = b.proStockInfoDetails.Sum(x => x.StockPcsQty),
+ SumStocks = b.proStockInfoDetails.Sum(x => x.StockQty),
});
@@ -292,14 +240,9 @@
stockViewDTOs.ForEach(x =>
{
x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct());
- x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct());
- x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct());
- x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? "";
- x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? "";
- x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? "";
- x.SaleOrder = x.Details.FirstOrDefault()?.SaleOrder ?? "";
- x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? "";
- x.StockRemark = warehouses.FirstOrDefault(v => v.WarehouseId == x.WarehouseId).WarehouseName;
+ x.ProductName = x.Details.FirstOrDefault()?.ProductName ?? "";
+ x.ProductSpec = x.Details.FirstOrDefault()?.ProductSpec ?? "";
+ x.ProductUnit = x.Details.FirstOrDefault()?.ProductUnit ?? "";
}
);
@@ -329,7 +272,7 @@
{
if (userRole.WarehouseIds.Count > 0)
{
- return $"{nameof(BaseWarehouseEntity.WarehouseId)} in ({userRole.WarehouseIds.Serialize().Replace("[", "").Replace("]", "")})";
+ return $"{nameof(BaseWarehouseEntity.WarehouseId)} in ({userRole.WarehouseIds.OrderBy(x=>x).Serialize().Replace("[", "").Replace("]", "")})";
}
else
@@ -362,83 +305,6 @@
catch (Exception ex)
{
throw new Exception($"鏃犳潈闄愶紝{ex.Message}");
- }
- }
- public List<ProStockViewDTO> GetProPKSelectStocks(int orderId)
- {
- try
- {
- Dt_ProOutOrderDetail outOrderDetail = _outboundRepository.ProOutOrderDetailRepository.QueryFirst(x => x.Id == orderId);
- if (outOrderDetail == null)
- {
- throw new Exception($"鏈壘鍒板嚭搴撳崟鏄庣粏");
- }
- List<ProStockViewDTO> stockViewDTOs = new List<ProStockViewDTO>();
- ISugarQueryable<Dt_ProStockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_ProStockInfo>().Includes(x => x.proStockInfoDetails);
- var pklist = sugarQueryable1.Where(b => b.LocationCode == "鎴愬搧寰呭彂璐у尯" && b.StockStatus==StockStatusEmun.骞冲簱鍏ュ簱瀹屾垚.ObjToInt() && (b.ShipmentOrder==null|| b.ShipmentOrder =="")).Where(x=>x.proStockInfoDetails.Any(v=>v.ProductCode== outOrderDetail.PCode)).Select(b => new ProStockViewDTO
- {
- ProStockAttribute = b.ProStockAttribute,
- LocationCode = b.LocationCode,
- WarehouseId = b.WarehouseId,
- CreateDate = b.CreateDate,
- Creater = b.Creater,
- LocationName = b.LocationCode,
- Modifier = b.Modifier,
- ModifyDate = b.ModifyDate,
- PalletCode = b.PalletCode,
- StockRemark = b.Remark,
- ProStockId = b.Id,
- StockStatus = b.StockStatus,
- Details = b.proStockInfoDetails,
- });
- stockViewDTOs.AddRange(pklist.ToList());
- stockViewDTOs.ForEach(x =>
- {
- x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct());
- x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct());
- x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct());
- x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? "";
- x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? "";
- x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? "";
- x.SaleOrder = x.Details.FirstOrDefault()?.SaleOrder ?? "";
- x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? "";
- x.SumStocks = x.Details.Sum(x => x.StockPcsQty);
- }
- );
- return stockViewDTOs.OrderBy(x => x.DateCode).ThenBy(x => x.CreateDate).ToList();
- //return _stockRepository.ProStockInfoRepository.QueryTabs<Dt_ProStockInfo, Dt_ProStockInfoDetail, ProStockViewDTO>((a, b) => a.Id == b.ProStockId, (a, b) => new ProStockViewDTO
- //{
- // LocationCode = a.LocationCode,
- // ProductCode = b.ProductCode,
- // ProStockAttribute = a.ProStockAttribute,
- // ProductVersion=b.ProductVersion,
- // DateCode=b.DateCode,
- // ProStockId=a.Id,
- // SumStocks=b.StockPcsQty,
- // SaleOrder=b.SaleOrder,
- // PalletCode = a.PalletCode,
- // CreateDate=a.CreateDate,
- // ERPOrder=b.ERPOrder,
- // MoNumber=b.MoNumber
- //}, a => a.LocationCode == "鎴愬搧寰呭彂璐у尯", b => b.ProductCode == outOrderDetail.PCode, x => true).GroupBy(x => x.PalletCode).Select(x => new ProStockViewDTO
- //{
- // LocationCode = x.FirstOrDefault()?.LocationCode ?? "",
- // ProductCode = x.FirstOrDefault()?.ProductCode ?? "",
- // ProductVersion = x.FirstOrDefault()?.ProductVersion ?? "",
- // DateCode = x.FirstOrDefault()?.DateCode ?? "",
- // ProStockId = x.FirstOrDefault().ProStockId,
- // SumStocks=x.FirstOrDefault().SumStocks,
- // SaleOrder = x.FirstOrDefault()?.SaleOrder ?? "",
- // ProStockAttribute=x.FirstOrDefault()?.ProStockAttribute ?? 0,
- // PalletCode = x.Key,
- // ERPOrder=x.FirstOrDefault()?.ERPOrder ?? "",
- // MoNumber=x.FirstOrDefault()?.MoNumber ?? "",
- // CreateDate=x.FirstOrDefault()?.CreateDate ?? new DateTime()
- //}).ToList();
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
}
}
}
--
Gitblit v1.9.3