Browse Source

修改 质检

dev_DY_CC
郑勃旭 9 months ago
parent
commit
d80ef89b14
  1. 10
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/AQLs/AQLAppService.cs
  2. 10
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Transactions/ITransactionAppService.cs
  3. 169
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs
  4. 17
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
  5. 52
      build/src/docker/publish/conf/settings/appsettings.Development.json

10
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/AQLs/AQLAppService.cs

@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -59,11 +60,18 @@ public class AQLAppService : SfsBaseDataAppServiceBase<AQL, AQLDTO, SfsBaseDataR
}
else
{
entity = await _repository.FindAsync(c =>
var list= await _repository.GetListAsync(c =>
c.ItemCode == itemCode
&& c.SupplierCode == supplierCode
&& c.FloorQty <= qty
&& c.CeilingQty >= qty).ConfigureAwait(false);
if (list.Count > 1)
{
throw new UserFriendlyException("物品质检标准信息配置的数量有重叠");
}
entity = list.First();
}
if (entity == null)

10
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Transactions/ITransactionAppService.cs

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Win_in.Sfs.Wms.Inventory.Balances;
namespace Win_in.Sfs.Wms.Inventory.Application.Contracts;
@ -18,4 +20,12 @@ public interface ITransactionAppService
Task<List<TransactionDTO>> GetListByItemAsync(string itemCode);
Task<List<TransactionDTO>> GetListByLocationAsync(string locationCode);
/// <summary>
/// ±¨±íʹÓÃ
/// </summary>
/// <param name="itemCodes"></param>
/// <param name="startDateTime"></param>
/// <param name="endDateTime"></param>
/// <returns></returns>
Task<List<ReportItemSerialDto>> GetItemSerialListNew(List<string> itemCodes, string erpLocationCode, DateTime startDateTime, DateTime endDateTime);
}

169
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs

@ -304,5 +304,174 @@ public class TransactionAppService
return itemSerialDtos;
}
/// <summary>
/// 报表使用
/// </summary>
/// <param name="itemCodes"></param>
/// <param name="startDateTime"></param>
/// <param name="endDateTime"></param>
/// <returns></returns>
[HttpPost("item-serial-list-new")]
public virtual async Task<List<ReportItemSerialDto>> GetItemSerialListNew(List<string> itemCodes, string erpLocationCode, DateTime startDateTime, DateTime endDateTime)
{
var itemSerialDtos = new List<ReportItemSerialDto>();
var allItemBasicDtos = new List<ItemBasicDTO>();
var allTransactions = new List<Transaction>();
var locationDtos = await _locationAppService.GetAllAsync().ConfigureAwait(false);
var balanceDtos = await _balanceAppService
.GetAllListByFilterAsync(new SfsInventoryRequestInputBase()).ConfigureAwait(false);
var itemBasicDtos_i = await _itemBasicAppService.GetAllListByFilterAsync(new SfsBaseDataRequestInputBase()).ConfigureAwait(false);
allItemBasicDtos = itemBasicDtos_i;
if (!itemCodes.Any())
{
var itemBasicDtos_t = await _repository.GetListAsync(p=>p.LocationErpCode.Contains(erpLocationCode)).ConfigureAwait(false);
allTransactions = itemBasicDtos_t;
itemCodes.AddRange(itemBasicDtos_i.Select(p => p.Code));
itemCodes.AddRange(itemBasicDtos_t.Select(p => p.ItemCode));
itemCodes = itemCodes.Distinct().ToList();
}
else
{
var itemBasicDtos_t = await _repository.GetListAsync(p => itemCodes.Contains(p.ItemCode)&& p.LocationErpCode.Contains(erpLocationCode)).ConfigureAwait(false);
allTransactions = itemBasicDtos_t;
}
foreach (var itemCode in itemCodes)
{
var itemSerialDto = new ReportItemSerialDto();
var itemBasicDto = allItemBasicDtos.FirstOrDefault(p => p.Code == itemCode);
if (itemBasicDto == null)
{
throw new UserFriendlyException($"ERP料号{itemCode}不存在");
}
itemSerialDto.ItemCode = itemBasicDto.Code;
itemSerialDto.ItemDesc1 = itemBasicDto.Desc1;
itemSerialDto.ItemDesc2 = itemBasicDto.Desc2;
itemSerialDto.Configuration = itemBasicDto.Configuration;
itemSerialDto.ItemName = itemBasicDto.Name;
//所有这个物品的事务
var transactions = allTransactions.Where(p => p.ItemCode == itemCode);
if (!string.IsNullOrEmpty(erpLocationCode))
{
transactions = transactions.Where(p => p.LocationErpCode == erpLocationCode).ToList();
}
if (!string.IsNullOrEmpty(erpLocationCode))
{
locationDtos = locationDtos.Where(p => p.ErpLocationCode == erpLocationCode).ToList();
}
var groupKey = locationDtos.GroupBy(p => p.ErpLocationCode);
foreach (var keyGroup in groupKey)
{
var reportErpLocationSerialDto = new ReportErpLocationSerialDto();
reportErpLocationSerialDto.ErpLocatioCode = keyGroup.Key;
foreach (var locationDto in keyGroup)
{
var reportLocationSerialDto = new ReportLocationSerialDto();
//当前库位下 这个物品的所有库存事务
var locationCodeTransactions = transactions.Where(p => p.LocationCode == locationDto.Code && p.CreationTime < endDateTime && p.CreationTime > startDateTime);
if (!locationCodeTransactions.Any())
{
continue;
}
foreach (var locationCodeTransaction in locationCodeTransactions)
{
var reportTransactionSerialDto = new ReportTransactionSerialDto();
#region 赋值库存事务
reportTransactionSerialDto.LocatioCode = locationCodeTransaction.LocationCode;
switch (locationCodeTransaction.TransInOut)
{
case EnumTransInOut.In:
reportTransactionSerialDto.InQty = locationCodeTransaction.Qty;
break;
case EnumTransInOut.Out:
reportTransactionSerialDto.OutQty = locationCodeTransaction.Qty;
break;
}
reportTransactionSerialDto.DocNumber = locationCodeTransaction.DocNumber;
reportTransactionSerialDto.CreateDateTime = locationCodeTransaction.CreationTime;
reportTransactionSerialDto.EnumTransSubType = locationCodeTransaction.TransSubType;
reportTransactionSerialDto.EnumTransType = locationCodeTransaction.TransType;
reportTransactionSerialDto.Number = locationCodeTransaction.TransNumber;
reportTransactionSerialDto.TransactionDto = ObjectMapper.Map<Transaction, TransactionDTO>(locationCodeTransaction);
#endregion
reportLocationSerialDto.ReportTransactionSerialDtos.Add(reportTransactionSerialDto);
}
#region 赋值库位的汇总
//期初库存
var tempFirstSum = transactions.Where(p => p.LocationCode == locationDto.Code && p.CreationTime < startDateTime).Sum(p => p.Qty);
//当前库存
decimal tempNowSum = 0;
try
{
var balanceDtosWithLocation = balanceDtos.Where(p => p.ItemCode == itemCode && p.LocationCode == locationDto.Code);
tempNowSum = balanceDtosWithLocation.Sum(p => p.Qty);
}
catch
{
}
//期末库存
var tempLastSum = transactions.Where(p => p.LocationCode == locationDto.Code && p.CreationTime < endDateTime).Sum(p => p.Qty);
reportLocationSerialDto.SumInQty =
reportLocationSerialDto.ReportTransactionSerialDtos.Sum(p => p.InQty);
reportLocationSerialDto.SumOutQty =
reportLocationSerialDto.ReportTransactionSerialDtos.Sum(p => p.OutQty);
reportLocationSerialDto.FirstQty = tempFirstSum;
reportLocationSerialDto.NowQty = tempNowSum;
reportLocationSerialDto.LastQty = tempLastSum;
reportLocationSerialDto.LocationCode = locationDto.Code;
#endregion
reportErpLocationSerialDto.ReportLocationSerialDtos.Add(reportLocationSerialDto);
}
#region 赋值Erp
reportErpLocationSerialDto.SumOutQty =
reportErpLocationSerialDto.ReportLocationSerialDtos.Sum(p => p.SumOutQty);
reportErpLocationSerialDto.SumInQty =
reportErpLocationSerialDto.ReportLocationSerialDtos.Sum(p => p.SumInQty);
reportErpLocationSerialDto.FirstQty = reportErpLocationSerialDto.ReportLocationSerialDtos.Sum(p => p.FirstQty);
reportErpLocationSerialDto.NowQty = reportErpLocationSerialDto.ReportLocationSerialDtos.Sum(p => p.NowQty);
reportErpLocationSerialDto.LastQty = reportErpLocationSerialDto.ReportLocationSerialDtos.Sum(p => p.LastQty);
#endregion
itemSerialDto.ReportErpLocationSerialDtos.Add(reportErpLocationSerialDto);
}
itemSerialDto.FirstQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.FirstQty);
itemSerialDto.NowQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.NowQty);
itemSerialDto.LastQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.LastQty);
itemSerialDto.SumOutQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumOutQty);
itemSerialDto.SumInQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumInQty);
itemSerialDtos.Add(itemSerialDto);
}
return itemSerialDtos;
}
}

17
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs

@ -126,6 +126,23 @@ public class InspectJobManager : SfsJobManagerBase<InspectJob, InspectJobDetail>
entity.SummaryDetails.ForEach(p => p.SetIdAndNumber(GuidGenerator, entity.Id, entity.Number));
foreach (var summaryDetail in entity.SummaryDetails)
{
var itemQuality = await _itemQualityAclService.GetByItemCodeAsync(summaryDetail.ItemCode, entity.SupplierCode).ConfigureAwait(false);
if (itemQuality != null)
{
summaryDetail.InspectType = itemQuality.InspectType;
}
else
{
summaryDetail.InspectType = EnumInspectType.None;
}
foreach (var inspectJobDetail in entity.Details.Where(p=>p.ItemCode==summaryDetail.ItemCode))
{
inspectJobDetail.InspectType = summaryDetail.InspectType;
}
}
await SendNotifyMessageAsync(entity).ConfigureAwait(false);
await PublishCreatedAsync(entity).ConfigureAwait(false);

52
build/src/docker/publish/conf/settings/appsettings.Development.json

@ -61,7 +61,7 @@
},
"AuthServer": {
"Audience": "Auth",
"Authority": "http://10.164.233.5:60083/",
"Authority": "http://dev.ccwin-in.com:60083/",
//"Authority": "http://localhost:59093/",
"ClientId": "Auth_App",
"ClientSecret": "1q2w3E*",
@ -91,28 +91,28 @@
// "Store": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;"
// },
"ConnectionStrings": {
"AbpAuditLogging": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBackgroundJobs": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBlobStoring": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpFeatureManagement": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentity": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentityServer": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpPermissionManagement": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpSettingManagement": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpTenantManagement": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Auth": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Basedata": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"DataExchange": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"FileStorage": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Inventory": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Job": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Label": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Message": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Store": "Server=10.164.233.6;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;"
"AbpAuditLogging": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBackgroundJobs": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBlobStoring": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpFeatureManagement": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentity": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentityServer": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpPermissionManagement": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpSettingManagement": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpTenantManagement": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Auth": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Basedata": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"DataExchange": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"FileStorage": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Inventory": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Job": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Label": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Message": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Store": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Main_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;"
},
"IdentityClients": {
"Default": {
"Authority": "http://10.164.233.5:60083",
"Authority": "http://dev.ccwin-in.com:60083",
//"Authority": "http://localhost:59093",
"ClientId": "Auth_App",
"ClientSecret": "1q2w3E*",
@ -129,19 +129,19 @@
},
"RemoteServices": {
"Auth": {
"BaseUrl": "http://10.164.233.5:60083/"
"BaseUrl": "http://dev.ccwin-in.com:60083/"
//"BaseUrl": "http://localhost:59093/"
},
"BaseData": {
//"BaseUrl": "http://10.164.233.5:60084/"
//"BaseUrl": "http://dev.ccwin-in.com:60084/"
"BaseUrl": "http://localhost:59094/"
},
"Default": {
"BaseUrl": "http://10.164.233.5:60083/"
"BaseUrl": "http://dev.ccwin-in.com:60083/"
//"BaseUrl": "http://localhost:59093/"
},
"FileStorage": {
"BaseUrl": "http://10.164.233.5:60082/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
//"BaseUrl": "http://localhost:59092/"
},
"Inventory": {
@ -151,11 +151,11 @@
"BaseUrl": "http://localhost:59095/"
},
"Label": {
"BaseUrl": "http://10.164.233.5:60082/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
//"BaseUrl": "http://localhost:59092/"
},
"Message": {
"BaseUrl": "http://10.164.233.5:60082/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
//"BaseUrl": "http://localhost:59092/"
},
"Store": {

Loading…
Cancel
Save