diff --git a/src/WMS.Web.Api/Controllers/OutStockTaskController.cs b/src/WMS.Web.Api/Controllers/OutStockTaskController.cs index 7db1622b..07275574 100644 --- a/src/WMS.Web.Api/Controllers/OutStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/OutStockTaskController.cs @@ -204,5 +204,20 @@ namespace WMS.Web.Api.Controllers //再刷新3天内所有的 return await _outStockTaskService.Sync(null, begin); } + /// + /// 出库任务单详情 + /// + /// + /// + [HttpGet] + [Route("GetInfo/{id}")] + public async Task> GetInfo([FromRoute] int id) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + + return await _outStockTaskService.GetInfo(id); + } } } diff --git a/src/WMS.Web.Api/Controllers/SubscribeNotificationController.cs b/src/WMS.Web.Api/Controllers/SubscribeNotificationController.cs index 595067d6..7e7296d5 100644 --- a/src/WMS.Web.Api/Controllers/SubscribeNotificationController.cs +++ b/src/WMS.Web.Api/Controllers/SubscribeNotificationController.cs @@ -128,5 +128,23 @@ namespace WMS.Web.Api.Controllers if (!res) Result.ReFailure(ResultCodes.DateWriteError); return Result.ReSuccess(); } + + /// + /// 获取详情 + /// + /// + /// + [HttpPost] + [Route("GetInfo/{id}")] + public async Task> GetInfo([FromRoute] int id) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + + var entity = await _repositories.Get(id); + if (entity == null) Result.ReFailure(ResultCodes.SubscribeNotificationNoData); + return Result.ReSuccess(_mapper.Map(entity)); + } } } diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index 4077980a..ae821926 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -275,7 +275,7 @@ namespace WMS.Web.Api.Controllers } /// - /// 获取出库单客户下拉列表 + /// 获取客户下拉列表(包含组织信息) /// /// 客户名 /// @@ -310,6 +310,32 @@ namespace WMS.Web.Api.Controllers return Result>.ReSuccess(pullList); } + /// + /// 获取客户下拉列表(纯客户信息 不包含组织信息) + /// + /// 客户名 + /// + [HttpGet] + [Route("GetCustomersNoOrg/{name}")] + public async Task>> GetCustomersNoOrg([FromRoute] string name) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result>.ReFailure(ResultCodes.Token_Invalid_Error); + var customers = await _erpService.BillQueryForCustomer(); + + List pullList = new List(); + foreach (var c in customers.Data.Where(w => w.Name.Contains(name))) + { + pullList.Add(new PullDownStrResponse() + { + Id = c.Id.ToString(), + Name = c.Name, + Code = c.Number + }); + } + return Result>.ReSuccess(pullList); + } /// /// 获取仓位:模糊名称 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 43380d37..49456459 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -499,6 +499,13 @@ + + + 出库任务单详情 + + + + 获取序列号信息 @@ -539,6 +546,13 @@ + + + 获取详情 + + + + 系统配置 @@ -593,7 +607,14 @@ - 获取出库单客户下拉列表 + 获取客户下拉列表(包含组织信息) + + 客户名 + + + + + 获取客户下拉列表(纯客户信息 不包含组织信息) 客户名 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 803c34ca..83cee8ee 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -4563,6 +4563,111 @@ 单号 + + + 出库任务单对应出库明细 + + + + + 物料编码 + + + + + 物料规格型号 + + + + + 箱号 + + + + + 序列号 + + + + + 仓位 + + + + + 出库数量 + + + + + 应出库数量 + + + + + 出库方式 + + + + + 出库人 + + + + + 出库时间 + + + + + 出库任务单详情 + + + + + 主键 + + + + + 单据编号 + + + + + 来源单号 + + + + + 发货组织 + + + + + 客户 + + + + + 单据状态 + + + + + 单据类型 + + + + + 创建时间(erp那边的创建时间) + + + + + 出库箱信息 + + 出库单任务列表 @@ -5298,6 +5403,36 @@ 邮件 + + + 订阅通知详情 + + + + + 主键 + + + + + 客户名称 + + + + + 客户编码 + + + + + 电话 + + + + + 邮件 + + 订阅通知列表 @@ -5368,12 +5503,12 @@ 操作人 - + 操作时间 开始 - + 操作时间 结束 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 06c93d6e..697d7256 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3849,6 +3849,13 @@ + + + 查询出库任务单详情 + + + + 单点数据返回服务接口 @@ -4959,6 +4966,13 @@ + + + 获取出库任务单详情 + + + + 同步erp基础数据 diff --git a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs new file mode 100644 index 00000000..dbedcb58 --- /dev/null +++ b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoDetailsResponse.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.OutStockTask +{ + /// + /// 出库任务单对应出库明细 + /// + public class OutStockTaskInfoDetailsResponse + { + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + /// + /// 物料规格型号 + /// + public string Specifications { get; set; } + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + /// + /// 序列号 + /// + public string SerialNumbers { get; set; } + /// + /// 仓位 + /// + public string SubStockCode { get; set; } + /// + /// 出库数量 + /// + public decimal Qty { get; set; } + /// + /// 应出库数量 + /// + public decimal AccruedQty { get; set; } + /// + /// 出库方式 + /// + public string Method { get; set; } + /// + /// 出库人 + /// + public string Creator { get; set; } + /// + /// 出库时间 + /// + public DateTime CreateTime { get; set; } = DateTime.Now; + } +} diff --git a/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoResponse.cs b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoResponse.cs new file mode 100644 index 00000000..ad0e17f6 --- /dev/null +++ b/src/WMS.Web.Core/Dto/OutStockTask/OutStockTaskInfoResponse.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.OutStockTask +{ + /// + /// 出库任务单详情 + /// + public class OutStockTaskInfoResponse + { + /// + /// 主键 + /// + public int Id { get; set; } + /// + /// 单据编号 + /// + public string BillNo { get; set; } + /// + /// 来源单号 + /// + public string SourceBillNo { get; set; } + /// + /// 发货组织 + /// + public string DeliveryOrg { get; set; } + /// + /// 客户 + /// + public string ReceiptCustomer { get; set; } + /// + /// 单据状态 + /// + public string Status { get; set; } + /// + /// 单据类型 + /// + public string Type { get; set; } + /// + /// 创建时间(erp那边的创建时间) + /// + public string CreateTime { get; set; } + /// + /// 出库箱信息 + /// + public List Details { get; set; } = new List(); + } +} diff --git a/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationInfoResponse.cs b/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationInfoResponse.cs new file mode 100644 index 00000000..43cd82e1 --- /dev/null +++ b/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationInfoResponse.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.SubscribeNotification +{ + /// + /// 订阅通知详情 + /// + public class SubscribeNotificationInfoResponse + { + /// + /// 主键 + /// + public int Id { get; set; } + /// + /// 客户名称 + /// + public string CustomerName { get; set; } + /// + /// 客户编码 + /// + public string CustomerNumber { get; set; } + /// + /// 电话 + /// + public string Telephones { get; set; } + /// + /// 邮件 + /// + public string Emails { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationQueryRequest.cs b/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationQueryRequest.cs index 6725892b..5cc936e2 100644 --- a/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationQueryRequest.cs +++ b/src/WMS.Web.Core/Dto/SubscribeNotification/SubscribeNotificationQueryRequest.cs @@ -24,10 +24,10 @@ namespace WMS.Web.Core.Dto.SubscribeNotification /// /// 操作时间 开始 /// - public DateTime? OperateBeginDate { get; set; } + public DateTime? CreateBeginDate { get; set; } /// /// 操作时间 结束 /// - public DateTime? OperateEndDate { get; set; } + public DateTime? CreateEndDate { get; set; } } } diff --git a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs index 6e492436..ce69f5d1 100644 --- a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs +++ b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Dto.OutStockTask; using WMS.Web.Core.Internal.Results; namespace WMS.Web.Domain.IService.Public @@ -56,5 +57,11 @@ namespace WMS.Web.Domain.IService.Public /// /// Task Sync(List billNos = null,DateTime? begin=null); + /// + /// 查询出库任务单详情 + /// + /// + /// + Task> GetInfo(int id); } } diff --git a/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs index cfdb13b6..308df288 100644 --- a/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs @@ -15,7 +15,7 @@ namespace WMS.Web.Domain.Infrastructure //编辑 Task Edit(OutStock entity, bool isTransaction = true); //根据任务单Id搜索 - Task GetByTaskId(int taskId); + Task> GetByTaskId(int taskId); // 获取列表 Task<(List list, int total)> GetListAsync(OutStockQueryRequest dto, int companyId = 0); /// 查询实体集合 diff --git a/src/WMS.Web.Domain/Mappers/SubscribeNotificationMapper.cs b/src/WMS.Web.Domain/Mappers/SubscribeNotificationMapper.cs index 13bcc485..213128e6 100644 --- a/src/WMS.Web.Domain/Mappers/SubscribeNotificationMapper.cs +++ b/src/WMS.Web.Domain/Mappers/SubscribeNotificationMapper.cs @@ -17,6 +17,11 @@ namespace WMS.Web.Domain.Mappers CreateMap(); CreateMap(); CreateMap(); + CreateMap() + .ForMember(x => x.Emails, ops => ops.MapFrom(x => string.Join(",", x.Emails))) + .ForMember(x => x.Telephones, ops => ops.MapFrom(x => string.Join(",", x.Telephones))); + + } } } diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 9ce7c40e..e6185404 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -5,9 +5,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WMS.Web.Core; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.Customer; +using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Dto.OutStockTask; using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; @@ -32,10 +36,11 @@ namespace WMS.Web.Domain.Services private readonly IOutStockTaskRepositories _outStockTaskRepositories; private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories; private readonly RedisClientService _redisClientService; + private readonly IErpBasicDataExtendService _erpBasicDataExtendService; public OutStockTaskService(IMapper mapper, IErpService erpService, ILoginService loginService, IBasicsRepositories transactionRepositories, IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IErpOpsSyncDateRepositories erpOpsSyncDateRepositories, - RedisClientService redisClientService) + RedisClientService redisClientService, IErpBasicDataExtendService erpBasicDataExtendService) { _mapper = mapper; _erpService = erpService; @@ -45,6 +50,7 @@ namespace WMS.Web.Domain.Services _outStockTaskRepositories = outStockTaskRepositories; _erpOpsSyncDateRepositories = erpOpsSyncDateRepositories; _redisClientService = redisClientService; + _erpBasicDataExtendService = erpBasicDataExtendService; } /// @@ -435,6 +441,46 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } + /// + /// 获取出库任务单详情 + /// + /// + /// + public async Task> GetInfo(int id) + { + var entity = await _outStockTaskRepositories.Get(id); + if (entity == null) + return Result.ReFailure(ResultCodes.OutStockTaskNoData); + //获取任务单对应出库信息 + var outStockList = await _outStockRepositories.GetByTaskId(id); + //取组织 + var org_result = await _erpService.BillQueryForOrg(); + List orgs = new List(); + if (org_result.IsSuccess) + orgs = org_result.Data.ToList(); + + //取客户 + var customer_result = await _erpService.BillQueryForCustomer(); + List customers = new List(); + if (customer_result.IsSuccess) + customers = customer_result.Data.ToList(); + + OutStockTaskInfoResponse response = new OutStockTaskInfoResponse() + { + Id = entity.Id, + BillNo = entity.BillNo, + SourceBillNo = string.Join(",", entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo)), + CreateTime = entity.CreateTime.DateToStringSeconds(), + Status = entity.Status.GetRemark(), + Type = entity.Type.GetRemark(), + DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, entity.DeliveryOrgId), + ReceiptCustomer = entity.Type == OutStockType.Sal + ? _erpBasicDataExtendService.GetCustomerName(customers, entity.ReceiptCustomerId) + : _erpBasicDataExtendService.GetOrgName(orgs, entity.DeliveryOrgId), + }; + + return Result.ReSuccess(response); + } } } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 85d5cbcd..e1a3107f 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -306,12 +306,12 @@ namespace WMS.Web.Repositories /// /// /// - public async Task GetByTaskId(int taskId) + public async Task> GetByTaskId(int taskId) { var res = await _context.OutStock .Include(s => s.Details).ThenInclude(s => s.ErpDetails) .Include(s => s.Details).ThenInclude(s => s.BoxsDetails) - .FirstOrDefaultAsync(f => taskId == f.TaskId); + .Where(f => taskId == f.TaskId).ToListAsync(); return res.Clone(); } diff --git a/src/WMS.Web.Repositories/SubscribeNotificationRepositories.cs b/src/WMS.Web.Repositories/SubscribeNotificationRepositories.cs index 796e34ce..4c43be6c 100644 --- a/src/WMS.Web.Repositories/SubscribeNotificationRepositories.cs +++ b/src/WMS.Web.Repositories/SubscribeNotificationRepositories.cs @@ -184,10 +184,10 @@ namespace WMS.Web.Repositories query = query.Where(w => EF.Functions.Like(w.CustomerName, "%" + dto.CustomerName + "%")); if (!string.IsNullOrEmpty(dto.CustomerNumber)) query = query.Where(w => EF.Functions.Like(w.CustomerNumber, "%" + dto.CustomerNumber + "%")); - if (dto.OperateBeginDate != null) - query = query.Where(w => w.OperateTime >= dto.OperateBeginDate); - if (dto.OperateEndDate != null) - query = query.Where(w => w.OperateTime <= dto.OperateEndDate); + if (dto.CreateBeginDate != null) + query = query.Where(w => w.OperateTime >= dto.CreateBeginDate); + if (dto.CreateEndDate != null) + query = query.Where(w => w.OperateTime <= dto.CreateEndDate); //组装 int total = await query.CountAsync(); var list = await query.Select(s => new SubscribeNotificationQueryInfoResponse() @@ -196,8 +196,8 @@ namespace WMS.Web.Repositories Id = s.Id, CustomerName = s.CustomerName, CustomerNumber = s.CustomerNumber, - Telephones = s.CustomerName, - Emails = s.CustomerName, + Telephones = string.Join(",", s.Telephones), + Emails = string.Join(",", s.Emails), Operate = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.OperateId), OperateTime = s.OperateTime.DateToStringSeconds(), Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.CreatorId),