diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index df6a847b..ebbc33b0 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index bdec7396..073a9d53 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2778,6 +2778,26 @@ 备注 + + + 老ops箱信息头 + + + + + Id + + + + + 编码 + + + + + 名称 + + 列表字段导出接口 @@ -3044,6 +3064,9 @@ 查询实体集合 + + 查询实体集合 + 定时任务最新一次时间管理 diff --git a/src/WMS.Web.Core/Dto/Erp/Stock/ErpOrgDto.cs b/src/WMS.Web.Core/Dto/Erp/Stock/ErpOrgDto.cs new file mode 100644 index 00000000..d1ab7e0d --- /dev/null +++ b/src/WMS.Web.Core/Dto/Erp/Stock/ErpOrgDto.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Erp.Org +{ + /// + /// 金蝶组织-基本信息 + /// + public class uc_warehouse_position + { + /// + /// Id + /// + public int Id { get; set; } + + /// + /// 编码 + /// + public string position_code { get; set; } + + + /// + /// 名称 + /// + public string position { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs b/src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs index 43e6312f..d94d19bb 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs @@ -76,6 +76,7 @@ namespace WMS.Web.Core.Dto.InStockTask /// 入库数量 /// public decimal RealityQty { get; set; } + public string shelfSpaceCode { get; set; } /// /// 入库仓位 /// diff --git a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs index e94fed8c..f433e0f4 100644 --- a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs +++ b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs @@ -87,7 +87,7 @@ namespace WMS.Web.Core.Dto.OutStockTask public int OutStockBoxDetailsId { get; set; } = 0; public int MaterialCount { get; set; } = 0; - + public string position_code { get; set; } public string position { get; set; } } diff --git a/src/WMS.Web.Core/WMS.Web.Core.csproj b/src/WMS.Web.Core/WMS.Web.Core.csproj index 7ed5131a..8d3543d6 100644 --- a/src/WMS.Web.Core/WMS.Web.Core.csproj +++ b/src/WMS.Web.Core/WMS.Web.Core.csproj @@ -10,6 +10,10 @@ ../WMS.Web.Api/wwwroot/WMS.Web.Core.xml + + + + diff --git a/src/WMS.Web.Domain/Entitys/uc_warehouse_position.cs b/src/WMS.Web.Domain/Entitys/uc_warehouse_position.cs new file mode 100644 index 00000000..0e81fdd5 --- /dev/null +++ b/src/WMS.Web.Domain/Entitys/uc_warehouse_position.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using WMS.Web.Core; +using WMS.Web.Core.Help; +using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Values; + +namespace WMS.Web.Domain.Entitys +{ + /// + /// 老ops箱信息头 + /// + + [Serializable] + [Table("uc_warehouse_position")] + public class uc_warehouse_position : EntityBase + { + /// + /// Id + /// + public int Id { get; set; } + + /// + /// 编码 + /// + public string position_code { get; set; } + + + /// + /// 名称 + /// + public string position { get; set; } + + + } +} diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs index b51b75e5..dbdeb0dc 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs @@ -155,6 +155,15 @@ namespace WMS.Web.Domain.IService.Public /// string GetOrgName(List erpOrgs, string orgCode); + + /// + /// 获取仓位编码 + /// + /// + /// + /// + // string GetPositionName(List positons, string postionCode); + /// /// 获取组织ID /// diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index cd69d631..b5895ab7 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -176,6 +176,7 @@ namespace WMS.Web.Domain.IService.Public /// Task> BillQueryForOrg(); + //Task> BillQueryForPosi(); /// /// 供应商 /// diff --git a/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs index 2b1575e5..4f8fcd94 100644 --- a/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Domain.Entitys; namespace WMS.Web.Domain.Infrastructure @@ -32,6 +33,9 @@ namespace WMS.Web.Domain.Infrastructure /// 查询实体集合 Task> GetEntityList(List ids); + /// 查询实体集合 + Task> Getuc_warehouse_position(); + Task> GetEntityListByNos(List billNos); } } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index b7ab41be..deb232c5 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -990,6 +990,11 @@ namespace WMS.Web.Domain.Services currentDet = details.Where(x => x.DetailId == det.ErpInStockDetailId.Value.ToString()).FirstOrDefault(); if (currentDet != null) { + //加了这里yzh20260730 + if(currentDet.DocumentStatus=="Z") + { + currentDet.Qty = det.Qty; + } var res = await this.QueryFirst(currentDet, erpDto.TargetFormId, entity.BillNo, det, sc_erpService); if (res.result.IsSuccess) entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); @@ -1328,8 +1333,10 @@ namespace WMS.Web.Domain.Services ErpOperateDto o_dto = new ErpOperateDto(formId, currentDet.OrderBillNo);//res_s.Data if (currentDet.DocumentStatus == ErpOrderStatus.Z.ToString()) { + //保存 _logger.LogInformation($"入库单->查询到已有暂存的入库单 开始保存 单号:{billNo} erp明细Id:{erpDetail.ErpDetailId} 数据: {JsonConvert.SerializeObject(purchaseInstock)}"); + var res_s = await sc_erpService.Save(purchaseInstock, formId); if (!res_s.IsSuccess) { diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 226185ea..152183e0 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -612,6 +612,15 @@ namespace WMS.Web.Domain.Services if (org_result.IsSuccess) orgs = org_result.Data.ToList(); + + + //取仓位 + var postionList = await _boxRepositories.Getuc_warehouse_position(); + //List posi = new List(); + //if (postionList.Count>0) + // posi = postionList.ToList(); + + //取客户 var customer_result = await _erpService.BillQueryForCustomer(); List customers = new List(); @@ -640,11 +649,15 @@ namespace WMS.Web.Domain.Services var details = outStockList.SelectMany(s => s.Details).ToList(); var boxDetails = outStockList.SelectMany(s => s.Details).SelectMany(s => s.BoxsDetails).ToList(); var boxList = await _boxRepositories.GetEntityList(boxDetails.Select(s => s.BoxId).ToList()); + foreach (var b in boxDetails) { var detail = details.FirstOrDefault(f => f.Id == b.DetailId); var outStock = outStockList.FirstOrDefault(f => f.Id == detail.Fid); var m = materials.FirstOrDefault(f => f.MaterialNumber.Equals(detail.MaterialNumber)); + //var postionList = await _boxRepositories.Getuc_warehouse_position(boxDetails.Select(s => s.SubStockCode).ToList()); + + OutStockTaskInfoDetailsResponse infoDetail = new OutStockTaskInfoDetailsResponse() { BoxBillNo = boxList.FirstOrDefault(f => f.Id == b.BoxId)?.BoxBillNo ?? "", @@ -655,7 +668,8 @@ namespace WMS.Web.Domain.Services BoxHigh = b.BoxHigh, BoxWeight = b.BoxWeight, Qty = b.Qty, - position=b.SubStockCode, + position_code = b.SubStockCode, + position = postionList.FirstOrDefault(f=>f.position_code==b.SubStockCode)?.position??"", SerialNumbers = string.Join(",", b.SerialNumbers), SerialNumberList = b.SerialNumbers, Method = outStock.Method.GetRemark(), diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs index 23369459..84c74d25 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs @@ -407,6 +407,20 @@ namespace WMS.Web.Domain.Services.Public return org == null ? "" : org.Name; } + ///// + ///// 获取仓位名称 + ///// + ///// + ///// + ///// + //public string GetPositionName(List positons, string postionCode) + //{ + // if (positons == null || positons.Count == 0) + // return ""; + // var posi = positons.Where(x => x.position_code == postionCode).FirstOrDefault(); + // return posi == null ? "" : posi.position; + //} + /// /// 获取组织id /// diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs index ec3206a2..7bf2249c 100644 --- a/src/WMS.Web.Repositories/BoxRepositories.cs +++ b/src/WMS.Web.Repositories/BoxRepositories.cs @@ -8,6 +8,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Help; using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; @@ -208,6 +209,23 @@ namespace WMS.Web.Repositories return res.Clone(); } - + + + /// + /// 获取对应仓位 + /// + /// + /// + public async Task> Getuc_warehouse_position() + { + var res = await _context.uc_warehouse_position + //.Where(f => postion_codes.Contains(f.position_code)) + .ToListAsync(); + + return res.Clone(); + } + + + } } diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs index ae30d442..63df497f 100644 --- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs +++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs @@ -8,6 +8,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; +using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Domain.Entitys; using WMS.Web.Repositories.Configuration.Log; @@ -470,6 +471,7 @@ namespace WMS.Web.Repositories.Configuration public DbSet InventoryInOutDetails { get; set; } public DbSet Box { get; set; } + public DbSet uc_warehouse_position { get; set; } public DbSet BoxDetails { get; set; } public DbSet SubscribeNotification { get; set; } } diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index b781b8d1..9c6d6321 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -38,7 +38,7 @@ namespace WMS.Web.Repositories private readonly ILoginRepositories _loginRepositories; private readonly IErpService _erpService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; - + private IBoxRepositories _boxRepositories; public InStockTaskRepositories(RepositoryDbContext context, IMapper mapper, @@ -47,6 +47,7 @@ namespace WMS.Web.Repositories IServiceProvider serviceProvider, ISingleDataService singleDataService, ILoginRepositories loginRepositories, + IBoxRepositories boxRepositories, IErpBasicDataExtendService erpBasicDataExtendService) { _context = context; @@ -56,7 +57,9 @@ namespace WMS.Web.Repositories _serviceProvider = serviceProvider; _singleDataService = singleDataService; _loginRepositories = loginRepositories; + _boxRepositories = boxRepositories; _erpBasicDataExtendService = erpBasicDataExtendService; + } /// @@ -137,6 +140,10 @@ namespace WMS.Web.Repositories public async Task GetInfo(int id, int companyId) { + + //取仓位 + var postionList = await _boxRepositories.Getuc_warehouse_position(); + //1.获取物料集合和组织集合和供应商的集合 var materials = new List(); var materials_result = await _erpService.BillQueryForMaterial(); @@ -197,7 +204,8 @@ namespace WMS.Web.Repositories RealityQty = x.detail.Qty, ReceiveQty = x.detail.Qty, ShelfTime = x.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), - shelfSpace=x.order.SubStockCode, + shelfSpaceCode=x.order.SubStockCode, + shelfSpace = x.order.SubStockCode, Shelfer = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.order.CreatorId), Receiver = "", ReceiveTime = "",