diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 73fdfcc5..b1dc2bd5 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.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index a5153e18..32a5d3b2 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1342,6 +1342,11 @@ 用来自动构建单据类型 跟OutStockType 一致 + + + 调入仓库编码 + + 出库单同步金蝶 @@ -5239,6 +5244,11 @@ 已出库数量 + + + 调入仓库 + + 出库开始时间 @@ -5359,6 +5369,11 @@ 序列号 + + + 调入仓库 + + 修改出库箱信息 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index eec3c560..54678804 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2126,6 +2126,11 @@ 已出库数量 + + + 调入仓库编码 + + 短信和邮箱发送日志表 diff --git a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs index e6c0cfe6..b954fce4 100644 --- a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs @@ -61,5 +61,9 @@ namespace WMS.Web.Core.Dto.Erp.OutStock /// 用来自动构建单据类型 跟OutStockType 一致 /// public int Type { get; set; } + /// + /// 调入仓库编码 + /// + public string InStockCode { get; set; } = null; } } diff --git a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryInfoResponse.cs b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryInfoResponse.cs index 2f10f337..d3207290 100644 --- a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryInfoResponse.cs +++ b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryInfoResponse.cs @@ -91,6 +91,11 @@ namespace WMS.Web.Core.Dto.OutStockTask [Column("已出库数量")] public decimal RealityQty { get; set; } /// + /// 调入仓库 + /// + [Column("调入仓库")] + public string InStock { get; set; } + /// /// 出库开始时间 /// [Column("出库开始时间")] @@ -131,7 +136,7 @@ namespace WMS.Web.Core.Dto.OutStockTask /// [Ignore] public List SaleBillNoList { get; set; } = new List(); - + /// /// 订单明细备注 /// diff --git a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryRequest.cs b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryRequest.cs index c795f330..f793e9d1 100644 --- a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryRequest.cs +++ b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskQueryRequest.cs @@ -57,5 +57,9 @@ namespace WMS.Web.Core.Dto.OutStockTask /// 序列号 /// public List SerialNumbers { get; set; } = new List(); + /// + /// 调入仓库 + /// + public string InStock { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs index 88f425cf..54cb6d09 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs @@ -49,5 +49,10 @@ namespace WMS.Web.Domain.Entitys /// [Column("RealityQty")] public decimal RealityQty { get; set; } + /// + /// 调入仓库编码 + /// + [Column("InStockCode")] + public string InStockCode { get; set; } = null; } } diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 77383ad9..c4c05930 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -219,6 +219,11 @@ namespace WMS.Web.Domain.Services isUpdate = true; erpDetail.AccruedQty = erp.AccruedQty; } + if (erpDetail.InStockCode != erp.InStockCode) + { + isUpdate = true; + erpDetail.InStockCode = erp.InStockCode; + } } detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty); diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index e0c5f6f3..ebcfb7b8 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -1911,7 +1911,7 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶采购订单:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.STK_TransferDirect.ToString()); - param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID.FNumber,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID,FStockOutOrgId.FNumber"; + param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID.FNumber,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID,FStockOutOrgId.FNumber,FDestStockId.FNumber"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间 @@ -1973,6 +1973,7 @@ namespace WMS.Web.Domain.Services.Public lis.Type = (int)OutStockType.Stkdirecttransfers; lis.Erp_DetailId = Convert.ToInt32(item[10]); lis.OrgCode = item[11]; + lis.InStockCode = item[12]; erp_list.Add(lis); } return ResultList.ReSuccess(erp_list); @@ -2011,7 +2012,7 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶采购订单:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.STK_TRANSFEROUT.ToString()); - param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID.FNumber,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID,FStockOrgID.FNumber"; + param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID.FNumber,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID,FStockOrgID.FNumber,FDestStockID.FNumber"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间 @@ -2073,6 +2074,7 @@ namespace WMS.Web.Domain.Services.Public lis.Type = (int)OutStockType.StktransferInst; lis.Erp_DetailId = Convert.ToInt32(item[10]); lis.OrgCode = item[11]; + lis.InStockCode = item[12];//v1.0.8 分步式调出单和直接调拨出库单 拉取调入仓库 erp_list.Add(lis); } return ResultList.ReSuccess(erp_list); diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index 65dbfc33..21da6a82 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -6,6 +6,7 @@ using Newtonsoft.Json; using Org.BouncyCastle.Crypto; using System; using System.Collections.Generic; +using System.ComponentModel.Design; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -13,6 +14,7 @@ using WMS.Web.Core; using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp.Customer; using WMS.Web.Core.Dto.Erp.Org; +using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Dto.OutStockTask; using WMS.Web.Core.Help; using WMS.Web.Domain.Entitys; @@ -36,10 +38,11 @@ namespace WMS.Web.Repositories private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly ILogger _logger; private readonly IOutStockRepositories _outStockRepositories; + private readonly IBasicsRepositories _basicsRepositories; public OutStockTaskRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider, ISingleDataService singleDataService, ILoginRepositories loginRepositories, IErpService erpService, IErpBasicDataExtendService erpBasicDataExtendService, ILogger logger, - IOutStockRepositories outStockRepositories) + IOutStockRepositories outStockRepositories, IBasicsRepositories basicsRepositories) { _context = context; _mapper = mapper; @@ -50,7 +53,7 @@ namespace WMS.Web.Repositories _erpBasicDataExtendService = erpBasicDataExtendService; _logger = logger; _outStockRepositories = outStockRepositories; - + _basicsRepositories = basicsRepositories; } /// /// 新增 @@ -278,6 +281,13 @@ namespace WMS.Web.Repositories if (customer_result.IsSuccess) customers = customer_result.Data.ToList(); + List stocks = new List(); + if (!string.IsNullOrEmpty(dto.InStock)) + { + var r = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), dto.InStock, companyId); + stocks = r.Select(s => s.Code).ToList(); + } + List taskIds = null; List taskIds_s = new List(); List taskIds_b = new List(); @@ -347,6 +357,10 @@ namespace WMS.Web.Repositories { query = query.Where(w => taskIds.Contains(w.order.Id)); } + if (!string.IsNullOrEmpty(dto.InStock)) + { + query = query.Where(w => w.detail.ErpDetails.Where(w => stocks.Contains(w.InStockCode)).Any()); + } //组装 int total = await query.CountAsync(); var list = await query.Select(s => new OutStockTaskQueryInfoResponse() @@ -378,7 +392,8 @@ namespace WMS.Web.Repositories MaterialNumber = s.detail.MaterialNumber, Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.detail.MaterialNumber), - Remark = s.detail.Remark + Remark = s.detail.Remark, + InStock = GetInStock(s.detail.ErpDetails.Select(s => s.InStockCode).ToList(), companyId, s.order.OrgCode) #endregion }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); @@ -578,5 +593,19 @@ namespace WMS.Web.Repositories return res.Clone(); } + + public string GetInStock(List codes, int companyId, string orgCode) + { + var list = codes.Where(w => w != null).ToList(); + if (list.Count() == 0) return ""; + List names = new List(); + foreach (var c in list) + { + var name = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, c + orgCode); + names.Add(name); + } + if (names.Count() == 0) return ""; + return string.Join(",", names); + } } }