Commit 8e944f54 by pengjinyang

提交

parent 1bbde191
...@@ -32,6 +32,13 @@ namespace IService.TakeStock ...@@ -32,6 +32,13 @@ namespace IService.TakeStock
Task<bool> Feedback(int id, int afterQuantity, string description); Task<bool> Feedback(int id, int afterQuantity, string description);
/// <summary> /// <summary>
/// 盘点结果反馈
/// </summary>
/// <param name="order"></param>
/// <returns></returns>
Task<bool> SaveDescription(int id, string description);
/// <summary>
/// 取消盘点的订单 /// 取消盘点的订单
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
...@@ -40,6 +47,10 @@ namespace IService.TakeStock ...@@ -40,6 +47,10 @@ namespace IService.TakeStock
(int total, List<TakeStockSchedule> items) SearchScheduleByPage(int pageIndex, int pageSize, Expression<Func<TakeStockSchedule, bool>> expr); (int total, List<TakeStockSchedule> items) SearchScheduleByPage(int pageIndex, int pageSize, Expression<Func<TakeStockSchedule, bool>> expr);
(int total, List<TakeStockOrder> items) SearchOrderByPage(int pageIndex, int pageSize, Expression<Func<TakeStockOrder, bool>> expr);
List<TakeStockOrderLog> SearchOrderLogs(Expression<Func<TakeStockOrderLog, bool>> expr);
///// <summary> ///// <summary>
///// 冻结库存 ///// 冻结库存
///// </summary> ///// </summary>
......
...@@ -351,6 +351,25 @@ namespace Service.TakeStock ...@@ -351,6 +351,25 @@ namespace Service.TakeStock
} }
/// <summary> /// <summary>
/// 盘点反馈
/// </summary>
/// <param name="order"></param>
/// <returns></returns>
public async Task<bool> SaveDescription(int id, string description)
{
var order = orderRepository.Get(id);
order.LastModificationTime = DateTime.Now;
order.Description = description;
var record = await orderRepository.UpdateAsync(order, "LastModificationTime", "Description");
var logTask = await AddOrUpdateLog(id, order.State, "保存盘点描述。");
bool isSuccess = record > 0 && logTask;
if (isSuccess)
BackgroundJob.Enqueue(() => ModifAndEnabledAsync(order.Id));
return isSuccess;
}
/// <summary>
/// 同步和启用库存 /// 同步和启用库存
/// </summary> /// </summary>
/// <param name="warehouseCode"></param> /// <param name="warehouseCode"></param>
...@@ -605,5 +624,17 @@ namespace Service.TakeStock ...@@ -605,5 +624,17 @@ namespace Service.TakeStock
return (totalCount, data); return (totalCount, data);
} }
public (int total, List<TakeStockOrder> items) SearchOrderByPage(int pageIndex, int pageSize, Expression<Func<TakeStockOrder, bool>> expr)
{
int totalCount = 0;
var data = scheduleRepository.PageList(pageIndex, pageSize, expr, out totalCount);
return (totalCount, data);
}
public List<TakeStockOrderLog> SearchOrderLogs(Expression<Func<TakeStockOrderLog, bool>> expr)
{
var data = logRepository.GetAllList(expr);
return data;
}
} }
} }
...@@ -68,6 +68,12 @@ namespace TakeStock.API.Controllers ...@@ -68,6 +68,12 @@ namespace TakeStock.API.Controllers
return await takeStockAppService.Feedback(input); return await takeStockAppService.Feedback(input);
} }
[HttpPost("SaveDescription")]
public async Task<bool> SaveDescription([FromBody] FeedbackInputDto input)
{
return await takeStockAppService.SaveDescription(input);
}
[HttpGet("CancelOrder")] [HttpGet("CancelOrder")]
public async Task<bool> CancelOrder(int id) public async Task<bool> CancelOrder(int id)
{ {
...@@ -85,5 +91,17 @@ namespace TakeStock.API.Controllers ...@@ -85,5 +91,17 @@ namespace TakeStock.API.Controllers
{ {
return await takeStockAppService.SearchScheduleByPage(input); return await takeStockAppService.SearchScheduleByPage(input);
} }
[HttpPost("GetOrderByPage")]
public async Task<SearchOrderByPageOutputDto> GetOrderByPage([FromBody] SearchOrderByPageInputDto input)
{
return await takeStockAppService.SearchOrderByPage(input);
}
[HttpGet("GetOrderLogs")]
public async Task<List<LogOutputDto>> GetOrderLogs(int id)
{
return await takeStockAppService.SearchOrderLogs(id);
}
} }
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
"ConnectionStrings": { "ConnectionStrings": {
"Localhost": "server=gz-cdb-hqmznu0w.sql.tencentcdb.com;port=63523;database=bailun_wms;uid=root;password=#7kfnymAM$Y9-Ntf;Convert Zero Datetime=True;Allow User Variables=true;", "Localhost": "server=gz-cdb-hqmznu0w.sql.tencentcdb.com;port=63523;database=bailun_wms;uid=root;password=#7kfnymAM$Y9-Ntf;Convert Zero Datetime=True;Allow User Variables=true;",
//"Redis": "127.0.0.1" //"Redis": "127.0.0.1"
"Redis": "172.31.0.76" "Redis": "common-redis"
//"Redis": "129.204.97.78" //"Redis": "129.204.97.78"
}, },
"App": { "App": {
......
...@@ -12,6 +12,8 @@ namespace TakeStock.Application.TakeStock.AutoMapper ...@@ -12,6 +12,8 @@ namespace TakeStock.Application.TakeStock.AutoMapper
public TakeStockProfile() public TakeStockProfile()
{ {
CreateMap<TakeStockSchedule, ScheduleOutputDto>(); CreateMap<TakeStockSchedule, ScheduleOutputDto>();
CreateMap<TakeStockOrder, OrderOutputDto>();
CreateMap<TakeStockOrderLog, LogOutputDto>();
} }
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
namespace TakeStock.Application.TakeStock.Dto
{
public class LogOutputDto
{
public int Id { get; set; }
public int OrderId { get; set; }
public string State { get; set; }
public string Content { get; set; }
public string JsonData { get; set; }
public DateTime CreationTime { get; set; }
public long? CreatorUserId { get; set; }
public DateTime? LastModificationTime { get; set; }
public long? LastModifierUserId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using static Domain.Domain.TakeStock.TakeStockEnum;
namespace TakeStock.Application.TakeStock.Dto
{
public class OrderOutputDto
{
public int Id { get; set; }
/// <summary>
/// 盘点单号
/// </summary>
public string Code { get; set; }
public int ScheduleId { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string WarehouseCode { get; set; }
public string State { get; set; }
/// <summary>
/// 产品sku
/// </summary>
public string Sku { get; set; }
/// <summary>
/// 盘点前数量
/// </summary>
public int? BeforeQuantity { get; set; }
/// <summary>
/// 盘点后数量
/// </summary>
public int? AfterQuantity { get; set; }
/// <summary>
/// 等待完结的配货单号
/// </summary>
public string WaitCodes { get; set; }
/// <summary>
/// 取消的配货单号
/// </summary>
public string CancelCodes { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Description { get; set; }
public DateTime CreationTime { get; set; }
public long? CreatorUserId { get; set; }
public DateTime? LastModificationTime { get; set; }
public long? LastModifierUserId { get; set; }
public bool IsDeleted { get; set; }
public long? DeleterUserId { get; set; }
public DateTime? DeletionTime { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using TakeStock.Application.Page;
namespace TakeStock.Application.TakeStock.Dto
{
public class SearchOrderByPageInputDto
{
public SearchOrderInputDto Search{ get; set; }
public PageInputDto Page { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using TakeStock.Application.Page;
namespace TakeStock.Application.TakeStock.Dto
{
public class SearchOrderByPageOutputDto
{
public List<OrderOutputDto> Items { get; set; }
public PageOutputDto PageItem { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using static Domain.Domain.TakeStock.TakeStockEnum;
namespace TakeStock.Application.TakeStock.Dto
{
public class SearchOrderInputDto
{
public int ScheduleId { get; set; }
public string Code { get; set; }
public TSOrderState? State { get; set; }
}
}
...@@ -46,6 +46,11 @@ namespace TakeStock.Application.TakeStock ...@@ -46,6 +46,11 @@ namespace TakeStock.Application.TakeStock
return await takeStockService.Feedback(input.Id, input.AfterQuantity, input.Description); return await takeStockService.Feedback(input.Id, input.AfterQuantity, input.Description);
} }
public async Task<bool> SaveDescription(FeedbackInputDto input)
{
return await takeStockService.SaveDescription(input.Id, input.Description);
}
public async Task<bool> CancelOrder(int id) public async Task<bool> CancelOrder(int id)
{ {
return await takeStockService.CancelOrder(id); return await takeStockService.CancelOrder(id);
...@@ -81,5 +86,46 @@ namespace TakeStock.Application.TakeStock ...@@ -81,5 +86,46 @@ namespace TakeStock.Application.TakeStock
} }
}; };
} }
private Expression<Func<TakeStockOrder, bool>> OrderQuery(SearchOrderInputDto search)
{
Expression<Func<TakeStockOrder, bool>> expr = s => s.ScheduleId == search.ScheduleId;
//if (search.ScheduleId > 0)
// expr.And();
if (!string.IsNullOrWhiteSpace(search.Code))
expr.And(s => s.Code.Equals(search.Code));
if (search.State != null)
expr.And(s => s.State.Equals(search.State));
return expr;
}
public async Task<SearchOrderByPageOutputDto> SearchOrderByPage(SearchOrderByPageInputDto input)
{
int pageIndex = input.Page.Page;
int pageSize = input.Page.Rows;
var expr = OrderQuery(input.Search);
var data = takeStockService.SearchOrderByPage(pageIndex, pageSize, expr);
var total = data.total;
var items = data.items;
return new SearchOrderByPageOutputDto
{
Items = _mapper.Map<List<OrderOutputDto>>(items),
PageItem = new Page.PageOutputDto
{
Total = total,
CurrentPage = pageIndex,
PageSize = pageSize
}
};
}
public async Task<List<LogOutputDto>> SearchOrderLogs(int orderId)
{
Expression<Func<TakeStockOrderLog, bool>> expr = l => l.OrderId == orderId;
var data = takeStockService.SearchOrderLogs(expr);
return _mapper.Map<List<LogOutputDto>>(data);
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment