wangxinhui
昨天 c6e8b600398de38b6684f5fa1eaaaade8562859b
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_StockService/ProStockViewService.cs
@@ -54,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)));
                                }
                            }
                        }
                    }
@@ -96,7 +78,7 @@
                    {
                        ProStockAttribute=b.ProStockAttribute,
                        LocationCode = b.LocationCode,
                        Column = a.Column,
                        Column = a.Columns,
                        WarehouseId = b.WarehouseId,
                        CreateDate = b.CreateDate,
                        Creater = b.Creater,
@@ -112,43 +94,20 @@
                        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 == "成品包装拣货区").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());
@@ -196,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))
@@ -211,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)));
                                }
                            }
@@ -241,7 +192,7 @@
                    {
                        ProStockAttribute = b.ProStockAttribute,
                        LocationCode = b.LocationCode,
                        Column = a.Column,
                        Column = a.Columns,
                        WarehouseId = b.WarehouseId,
                        CreateDate = b.CreateDate,
                        Creater = b.Creater,
@@ -257,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),
                        
                    });
@@ -289,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 ?? "";
                }
                );
@@ -326,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