diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2
index 9bd78356..ec1216c7 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/Controllers/BackRecordController.cs b/src/WMS.Web.Api/Controllers/BackRecordController.cs
index c4723212..7c86e880 100644
--- a/src/WMS.Web.Api/Controllers/BackRecordController.cs
+++ b/src/WMS.Web.Api/Controllers/BackRecordController.cs
@@ -110,6 +110,19 @@ namespace WMS.Web.Api.Controllers
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _backRecordService.BackShelf(dto, BackRecordType.InstockOff, loginInfo);
}
-
+ ///
+ /// 修改备注
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("UpdateRemark")]
+ public async Task UpdateRemark([FromBody] UpdateRemarkRequest dto)
+ {
+ var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ if (loginInfo == null || loginInfo.UserInfo == null)
+ return Result.ReFailure(ResultCodes.Token_Invalid_Error);
+ return await _backRecordService.UpdateRemark(dto, loginInfo);
+ }
}
}
diff --git a/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs
index 71b1ee31..ba03b4ee 100644
--- a/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs
+++ b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs
@@ -90,7 +90,11 @@ namespace WMS.Web.Core.Dto
///
[Ignore]
public string Stock { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
-
}
}
diff --git a/src/WMS.Web.Core/Dto/BackRecord/SaveBackRecordDetailsRequest.cs b/src/WMS.Web.Core/Dto/BackRecord/SaveBackRecordDetailsRequest.cs
index 1175ad42..c4d0648b 100644
--- a/src/WMS.Web.Core/Dto/BackRecord/SaveBackRecordDetailsRequest.cs
+++ b/src/WMS.Web.Core/Dto/BackRecord/SaveBackRecordDetailsRequest.cs
@@ -39,5 +39,9 @@ namespace WMS.Web.Core.Dto.BackRecord
///
[Required(ErrorMessage = "序列号不能为空")]
public List SerialNumbers { get; set; } = new List();
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
}
}
diff --git a/src/WMS.Web.Core/Dto/BackRecord/UpdateRemarkRequest.cs b/src/WMS.Web.Core/Dto/BackRecord/UpdateRemarkRequest.cs
new file mode 100644
index 00000000..5690329c
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/BackRecord/UpdateRemarkRequest.cs
@@ -0,0 +1,27 @@
+using Npoi.Mapper.Attributes;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.BackRecord
+{
+ ///
+ /// 修改备注
+ ///
+ public class UpdateRemarkRequest
+ {
+ ///
+ /// ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 明细ID
+ ///
+ public int DetailsId { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Entitys/BackRecord.cs b/src/WMS.Web.Domain/Entitys/BackRecord.cs
index bd0e7cdb..8153bf4d 100644
--- a/src/WMS.Web.Domain/Entitys/BackRecord.cs
+++ b/src/WMS.Web.Domain/Entitys/BackRecord.cs
@@ -1,7 +1,10 @@
-using System;
+
+using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
using System.Text;
+using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.Entitys
@@ -10,7 +13,7 @@ namespace WMS.Web.Domain.Entitys
/// wms出入库回退记录表
///
[Serializable]
- [Table("t_wms_back_record")]
+ [Table("t_wms_back_record")]
public class BackRecord
{
///
@@ -89,5 +92,18 @@ namespace WMS.Web.Domain.Entitys
}
this.BillNo = "CR" + idStr;
}
+ ///
+ /// 修改备注
+ ///
+ ///
+ ///
+ ///
+ public Result UpdateRemark(int detailId, string remark)
+ {
+ var detail = this.Details.Where(w => w.Id == detailId).FirstOrDefault();
+ if (detail == null) return Result.ReFailure(ResultCodes.NoDateError);
+ detail.Remark = remark;
+ return Result.ReSuccess();
+ }
}
}
diff --git a/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs b/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs
index e21a2678..129cd0d8 100644
--- a/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
+using WMS.Web.Core;
namespace WMS.Web.Domain.Entitys
{
@@ -10,12 +11,12 @@ namespace WMS.Web.Domain.Entitys
///
[Serializable]
[Table("t_wms_back_record_details")]
- public class BackRecordDetails
+ public class BackRecordDetails : EntityBase
{
///
- /// ID
+ /// 编号
///
- public int Id { get; set; }
+ public override int Id { get; set; }
///
/// 回退记录表ID
///
@@ -39,5 +40,9 @@ namespace WMS.Web.Domain.Entitys
/// 序列号集
///
public List SerialNumbers { get; set; } = new List();
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
}
}
diff --git a/src/WMS.Web.Domain/IService/IBackRecordService.cs b/src/WMS.Web.Domain/IService/IBackRecordService.cs
index 08a7cbcc..2b441ff7 100644
--- a/src/WMS.Web.Domain/IService/IBackRecordService.cs
+++ b/src/WMS.Web.Domain/IService/IBackRecordService.cs
@@ -22,5 +22,13 @@ namespace WMS.Web.Domain.IService
///
///
Task BackShelf(BackRecordOnOffRequest dto, BackRecordType type, LoginInDto loginInfo);
+
+ ///
+ /// 修改备注
+ ///
+ ///
+ ///
+ ///
+ Task UpdateRemark(UpdateRemarkRequest dto, LoginInDto loginInfo);
}
}
diff --git a/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs
index 5da5a962..8c1baace 100644
--- a/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs
@@ -28,5 +28,9 @@ namespace WMS.Web.Domain.Infrastructure
///
///
Task Add(BackRecord entity, bool isTransaction = true);
+ //修改
+ Task Edit(BackRecord entity, bool isTransaction = true);
+ //获取
+ Task GetEntity(int id);
}
}
diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs
index 2b9a0ed8..48da40b3 100644
--- a/src/WMS.Web.Domain/Services/BackRecordService.cs
+++ b/src/WMS.Web.Domain/Services/BackRecordService.cs
@@ -71,7 +71,7 @@ namespace WMS.Web.Domain.Services
else
_logger.LogInformation($"回退上架:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId + loginInfo.UserInfo.Nickname}");
//回退上下架:不能扫同样的箱,按箱入库时候
- if (dto.Details != null && dto.Details.Count != 0 && dto.Method== (int)InventoryInOutMethod.Box)
+ if (dto.Details != null && dto.Details.Count != 0 && dto.Method == (int)InventoryInOutMethod.Box)
{
var mIds = dto.Details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
foreach (var m in mIds)
@@ -113,11 +113,11 @@ namespace WMS.Web.Domain.Services
return boxInventoryResult;
//下架:需要解绑收货过的箱子
- if (entity.Type == BackRecordType.InstockOff)
+ if (entity.Type == BackRecordType.InstockOff)
{
_logger.LogInformation("入库回退下架:" + entity.BillNo);
- var boxIds= entity.Details.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
- var unBindResult= await _inStockTaskBoxService.UnBind(boxIds, isTransaction);
+ var boxIds = entity.Details.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
+ var unBindResult = await _inStockTaskBoxService.UnBind(boxIds, isTransaction);
_logger.LogInformation("入库回退下架-BOXID:" + JsonConvert.SerializeObject(boxIds));
if (!unBindResult.IsSuccess)
return unBindResult;
@@ -132,5 +132,24 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess();
}
+ ///
+ /// 修改备注
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task UpdateRemark(UpdateRemarkRequest dto, LoginInDto loginInfo)
+ {
+ var entity = await _backRecordRepositories.GetEntity(dto.Id);
+ if (entity == null) return Result.ReFailure(ResultCodes.NoDateError);
+
+ var res = entity.UpdateRemark(dto.DetailsId, dto.Remark);
+ if (!res.IsSuccess) return res;
+
+ entity = await _backRecordRepositories.Edit(entity, true);
+ if (entity == null) return Result.ReFailure(ResultCodes.DateWriteError);
+ return Result.ReSuccess();
+ }
}
}
diff --git a/src/WMS.Web.Repositories/BackRecordRepositories.cs b/src/WMS.Web.Repositories/BackRecordRepositories.cs
index 5735b98f..ba670c78 100644
--- a/src/WMS.Web.Repositories/BackRecordRepositories.cs
+++ b/src/WMS.Web.Repositories/BackRecordRepositories.cs
@@ -15,6 +15,7 @@ using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Mappers;
using WMS.Web.Domain.Values.Single;
using WMS.Web.Repositories.Configuration;
@@ -122,6 +123,7 @@ namespace WMS.Web.Repositories
Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.order.StockCode + s.order.OrgCode),
SubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, companyId, s.order.SubStockCode + s.order.StockCode + s.order.OrgCode),
SerialNumbers = (string.Join(",", s.detail.SerialNumbers)).TrimEnd(','),
+ Remark=s.detail.Remark
}).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
return (list,total);
@@ -171,5 +173,42 @@ namespace WMS.Web.Repositories
{
return await GetPagedList(dto,companyId);
}
+
+ public async Task Edit(BackRecord entity, bool isTransaction = true)
+ {
+ IDbContextTransaction _transaction = null;
+ if (isTransaction)
+ _transaction = _context.Database.BeginTransaction();
+
+ try
+ {
+ var res = await _context.BackRecord
+ .Include(s => s.Details)
+ .FirstOrDefaultAsync(f => f.Id == entity.Id);
+ if (res == null) return null;
+
+ _mapper.Map(entity, res);
+ _mapper.ToMapList(entity.Details, res.Details);
+ await _context.SaveChangesAsync();
+
+ if (_transaction != null)
+ _transaction.Commit();
+
+ return res;
+ }
+ catch (Exception ex)
+ {
+ if (_transaction != null)
+ _transaction.Rollback();
+ return null;
+ }
+ }
+
+ public async Task GetEntity(int id)
+ {
+ return await _context.BackRecord.AsNoTracking()
+ .Include(s => s.Details)
+ .Where(f => id == f.Id).FirstOrDefaultAsync();
+ }
}
}