调整物料编码
This commit is contained in:
@@ -29,10 +29,14 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "目标箱号不能为空")]
|
||||
public string DestBoxBillNo { get; set; }
|
||||
///// <summary>
|
||||
///// 目标箱仓位或重新上架选择仓位
|
||||
/////</summary>
|
||||
//public int SubStockId { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 目标箱仓位或重新上架选择仓位
|
||||
///</summary>
|
||||
public int SubStockId { get; set; } = 0;
|
||||
public string SubStockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
@@ -44,23 +48,23 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
||||
public class SaveChangeBoxRecordDetailsRequest
|
||||
{
|
||||
public SaveChangeBoxRecordDetailsRequest() { }
|
||||
public SaveChangeBoxRecordDetailsRequest(int materialId, decimal qty, List<string> serialNumbers)
|
||||
public SaveChangeBoxRecordDetailsRequest(string materialNumber, decimal qty, List<string> serialNumbers)
|
||||
{
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.Qty = qty;
|
||||
this.SerialNumbers = serialNumbers;
|
||||
}
|
||||
public SaveChangeBoxRecordDetailsRequest(int materialId, decimal qty, string serialNumber)
|
||||
public SaveChangeBoxRecordDetailsRequest(string materialNumber, decimal qty, string serialNumber)
|
||||
{
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.Qty = qty;
|
||||
this.SerialNumbers.Add(serialNumber);
|
||||
}
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "物料不能为空")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//[Required(ErrorMessage = "物料不能为空")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -13,10 +13,14 @@ namespace WMS.Web.Core.Dto.Inventory
|
||||
/// 序列号
|
||||
/// </summary>
|
||||
public string SerialNumber { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
public string MaterialNumber { get; set; }
|
||||
/// <summary>
|
||||
/// wms箱ID
|
||||
/// </summary>
|
||||
|
||||
@@ -15,11 +15,16 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "箱号不能为空")]
|
||||
public int BoxId { get; set; }
|
||||
///// <summary>
|
||||
///// 仓位ID
|
||||
///// </summary>
|
||||
//[Required(ErrorMessage = "仓位不能为空")]
|
||||
//public int SubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓位ID
|
||||
/// 仓位
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "仓位不能为空")]
|
||||
public int SubStockId { get; set; }
|
||||
public string SubStockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
@@ -36,11 +41,11 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
|
||||
/// </summary>
|
||||
public class SaveMoveBoxRecordDetailsRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Required(ErrorMessage = "物料不能为空")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料Id
|
||||
/////</summary>
|
||||
//[Required(ErrorMessage = "物料不能为空")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -25,10 +25,10 @@ namespace WMS.Web.Core.Dto.OutStock
|
||||
}
|
||||
public class SaveOutStockDetailsRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料Id
|
||||
/////</summary>
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
@@ -43,10 +43,10 @@ namespace WMS.Web.Core.Dto.OutStock
|
||||
///</summary>
|
||||
[Required(ErrorMessage = "箱不能为空")]
|
||||
public int BoxId { get; set; }
|
||||
/// <summary>
|
||||
/// 箱对应仓位不能为空
|
||||
/// </summary>
|
||||
public int SubStockId { get; set; }
|
||||
///// <summary>
|
||||
///// 箱对应仓位不能为空
|
||||
///// </summary>
|
||||
//public int SubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓位
|
||||
/// </summary>
|
||||
|
||||
@@ -15,21 +15,26 @@ namespace WMS.Web.Core.Dto.TakeStock
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "箱不能为空")]
|
||||
public int BoxId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "物料不能为空")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//[Required(ErrorMessage = "物料不能为空")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "物料不能为空")]
|
||||
public string MaterialNumber { get; set; }
|
||||
///// <summary>
|
||||
///// 仓位ID
|
||||
///// </summary>
|
||||
//[Required(ErrorMessage = "仓位不能为空")]
|
||||
//public int SubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓位ID
|
||||
/// 仓位
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "仓位不能为空")]
|
||||
public int SubStockId { get; set; }
|
||||
public string SubStockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 子仓库(跟金蝶交互字段)
|
||||
/// </summary>
|
||||
|
||||
@@ -62,11 +62,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
public List<BoxDetails> Details { get; set; } = new List<BoxDetails>();
|
||||
|
||||
//移出
|
||||
public Result Out(List<(int MaterialId, decimal Qty, List<string> SerialNumbers)> list)
|
||||
public Result Out(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list)
|
||||
{
|
||||
foreach (var l in list)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == l.MaterialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == l.MaterialNumber);
|
||||
if (d == null) return Result.ReFailure(ResultCodes.BoxMateriaNoData);
|
||||
d.Qty = d.Qty - l.Qty;
|
||||
if (d.Qty <= 0) this.Details.Remove(d);
|
||||
@@ -76,16 +76,16 @@ namespace WMS.Web.Domain.Entitys
|
||||
}
|
||||
|
||||
//移入
|
||||
public Result In(List<(int MaterialId, decimal Qty, List<string> SerialNumbers)> list)
|
||||
public Result In(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list)
|
||||
{
|
||||
foreach (var l in list)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == l.MaterialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == l.MaterialNumber);
|
||||
if (d == null)
|
||||
{
|
||||
this.Details.Add(new BoxDetails()
|
||||
{
|
||||
MaterialId = l.MaterialId,
|
||||
MaterialNumber = l.MaterialNumber,
|
||||
Qty = l.Qty,
|
||||
//SerialNumbers=l.SerialNumbers
|
||||
});
|
||||
@@ -98,14 +98,14 @@ namespace WMS.Web.Domain.Entitys
|
||||
}
|
||||
|
||||
//移入
|
||||
public Result TakeStock(int materialId, decimal qty)
|
||||
public Result TakeStock(string materialNumber, decimal qty)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
if (d == null)
|
||||
{
|
||||
this.Details.Add(new BoxDetails()
|
||||
{
|
||||
MaterialId = materialId,
|
||||
MaterialNumber = materialNumber,
|
||||
Qty = qty
|
||||
});
|
||||
}
|
||||
@@ -114,17 +114,17 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 出入库回退上架
|
||||
/// </summary>
|
||||
/// <param name="materialId"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <param name="qty"></param>
|
||||
/// <returns></returns>
|
||||
public Result BackRecordUp(int materialId, decimal qty)
|
||||
public Result BackRecordUp(string materialNumber, decimal qty)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
if (d == null)
|
||||
{
|
||||
this.Details.Add(new BoxDetails()
|
||||
{
|
||||
MaterialId = materialId,
|
||||
MaterialNumber = materialNumber,
|
||||
Qty = qty
|
||||
});
|
||||
}
|
||||
@@ -136,12 +136,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 出入库回退下架
|
||||
/// </summary>
|
||||
/// <param name="materialId"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <param name="qty"></param>
|
||||
/// <returns></returns>
|
||||
public Result BackRecordDown(int materialId, decimal qty)
|
||||
public Result BackRecordDown(string materialNumber, decimal qty)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
if (d != null)
|
||||
d.Qty = (d.Qty - qty) > 0 ? (d.Qty - qty) : 0;
|
||||
|
||||
@@ -150,12 +150,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 出库
|
||||
/// </summary>
|
||||
/// <param name="materialId"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <param name="qty"></param>
|
||||
/// <returns></returns>
|
||||
public Result OutStock(int materialId, decimal qty)
|
||||
public Result OutStock(string materialNumber, decimal qty)
|
||||
{
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
if (d != null)
|
||||
d.Qty = (d.Qty - qty) > 0 ? (d.Qty - qty) : 0;
|
||||
|
||||
|
||||
@@ -23,10 +23,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 单据头ID
|
||||
/// </summary>
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -24,11 +24,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("BillNo")]
|
||||
public string BillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
@@ -99,14 +99,14 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
/// <param name="creatorId"></param>
|
||||
/// <param name="qty"></param>
|
||||
/// <param name="materialId"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <param name="serialNumbers"></param>
|
||||
public void Create(int creatorId,decimal qty,int materialId, List<string> serialNumbers,int srcBoxId,int destBoxId)
|
||||
public void Create(int creatorId,decimal qty,string materialNumber, List<string> serialNumbers,int srcBoxId,int destBoxId)
|
||||
{
|
||||
this.SrcBoxId = srcBoxId;
|
||||
this.DestBoxId = destBoxId;
|
||||
this.SerialNumbers = serialNumbers;
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.Qty = qty;
|
||||
this.CreatorId = creatorId;
|
||||
this.CreateTime = DateTime.Now;
|
||||
|
||||
@@ -24,11 +24,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料Id
|
||||
/////</summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -25,11 +25,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料Id
|
||||
/////</summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -27,11 +27,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料Id
|
||||
/////</summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -15,12 +15,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
public class SerialNumberOperate : EntityBase
|
||||
{
|
||||
public SerialNumberOperate() { }
|
||||
public SerialNumberOperate(string serialNumber, SerialNumberOperateType operateType, int materialId, string operateUser, string remark,
|
||||
public SerialNumberOperate(string serialNumber, SerialNumberOperateType operateType, string materialNumber, string operateUser, string remark,
|
||||
int? supplierId = null, int? orgId = null, int? stockId = null,
|
||||
DateTime? operateTime = null)
|
||||
{
|
||||
this.SerialNumber = serialNumber;
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.OperateType = operateType;
|
||||
this.OperateUser = operateUser;
|
||||
this.Remark = remark;
|
||||
@@ -41,10 +41,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 序列号操作类型
|
||||
/// </summary>
|
||||
public SerialNumberOperateType OperateType { get; set; } = SerialNumberOperateType.Generate;
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
@@ -77,13 +77,13 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 装箱(记录)
|
||||
/// </summary>
|
||||
/// <param name="SerialNumber"></param>
|
||||
/// <param name="MaterialId"></param>
|
||||
/// <param name="serialNumber"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <param name="box"></param>
|
||||
public void CompleteCartonBox(string serialNumber, int materialId, Box box)
|
||||
public void CompleteCartonBox(string serialNumber, string materialNumber, Box box)
|
||||
{
|
||||
this.SerialNumber = serialNumber;
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.OperateType = SerialNumberOperateType.CompleteCartonBox;
|
||||
this.OperateTime = box.CompleteCartonTime;
|
||||
this.OperateUser = box.CreateUser;
|
||||
|
||||
@@ -17,10 +17,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
public class SerialNumbers : EntityBase
|
||||
{
|
||||
public SerialNumbers() { }
|
||||
public SerialNumbers(string serialNumber, int materialId, int boxId, int opsBoxId, string creator, DateTime? createTime, DateTime? completeCartonTime)
|
||||
public SerialNumbers(string serialNumber, string materialNumber, int boxId, int opsBoxId, string creator, DateTime? createTime, DateTime? completeCartonTime)
|
||||
{
|
||||
this.SerialNumber = serialNumber;
|
||||
this.MaterialId = materialId;
|
||||
this.MaterialNumber = materialNumber;
|
||||
this.BoxId = boxId;
|
||||
this.OpsBoxId = opsBoxId;
|
||||
this.Creator = creator;
|
||||
@@ -37,11 +37,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("SerialNumber")]
|
||||
public string SerialNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
@@ -118,9 +118,9 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 出库
|
||||
/// </summary>
|
||||
/// <param name="outStock">出库单</param>
|
||||
public void OutStock(OutStock outStock, int materialId)
|
||||
public void OutStock(OutStock outStock, string materialNumber)
|
||||
{
|
||||
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
if (outstockDetail == null) return;
|
||||
//按产品出才解绑 按箱子出不解绑
|
||||
if (outStock.Method == InventoryInOutMethod.Product)
|
||||
|
||||
@@ -30,11 +30,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("BoxId")]
|
||||
public int BoxId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
///// <summary>
|
||||
///// 物料ID
|
||||
///// </summary>
|
||||
//[Column("MaterialId")]
|
||||
//public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -36,6 +36,21 @@ namespace WMS.Web.Domain.IService.Public
|
||||
/// <returns></returns>
|
||||
string GetMaterialSpecifications(List<ErpMaterialDto> erpMaterials, int materialId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料名称
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
string GetMaterialName(List<ErpMaterialDto> erpMaterials, string materialNumber);
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料规格型号
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <returns></returns>
|
||||
string GetMaterialSpecifications(List<ErpMaterialDto> erpMaterials, string materialNumber);
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料基本单位名称
|
||||
/// </summary>
|
||||
|
||||
@@ -121,6 +121,12 @@ namespace WMS.Web.Domain.IService.Public
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result<ErpMaterialDto>> BillQueryForMaterial(int id);
|
||||
/// <summary>
|
||||
/// erp:基础数据-物料信息
|
||||
/// </summary>
|
||||
/// <param name="number"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result<ErpMaterialDto>> BillQueryForMaterial(string number);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
|
||||
@@ -102,14 +102,14 @@ namespace WMS.Web.Domain.Services
|
||||
.SelectMany(s => s.SerialNumbers)
|
||||
.FirstOrDefault(s => s.SerialNumber.Equals(sn.SerialNumber));
|
||||
//序列号
|
||||
SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialId, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime, b.CompleteCartonTime);
|
||||
SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialNumber, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime, b.CompleteCartonTime);
|
||||
sList.Add(s);
|
||||
//序列号记录(序列号生成)
|
||||
SerialNumberOperate so = new SerialNumberOperate(sn.SerialNumber, SerialNumberOperateType.Generate, detail.MaterialId, opsSerial.BarCereateUser, "", b.SupplierId, b.OrgId, null, opsSerial.BarCreateTime);
|
||||
SerialNumberOperate so = new SerialNumberOperate(sn.SerialNumber, SerialNumberOperateType.Generate, detail.MaterialNumber, opsSerial.BarCereateUser, "", b.SupplierId, b.OrgId, null, opsSerial.BarCreateTime);
|
||||
soList.Add(so);
|
||||
//序列号记录(装箱)
|
||||
SerialNumberOperate so_g = new SerialNumberOperate();
|
||||
so_g.CompleteCartonBox(sn.SerialNumber, detail.MaterialId, b);
|
||||
so_g.CompleteCartonBox(sn.SerialNumber, detail.MaterialNumber, b);
|
||||
soList.Add(so_g);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace WMS.Web.Domain.Services
|
||||
if (destBoxs.Count() != destIds.Count()) return Result.ReFailure(ResultCodes.BoxNoData);
|
||||
foreach (var d in dto)
|
||||
{
|
||||
var l = d.Details.Select(s => (s.MaterialId, s.Qty, s.SerialNumbers)).ToList();
|
||||
var l = d.Details.Select(s => (s.MaterialNumber, s.Qty, s.SerialNumbers)).ToList();
|
||||
var srcBox = srcBoxs.FirstOrDefault(f => f.Id == d.SrcBoxId);
|
||||
var destBox = destBoxs.FirstOrDefault(f => f.Id == d.DestBoxId);
|
||||
//原箱移出
|
||||
@@ -167,7 +167,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var d in dt.Details)
|
||||
{
|
||||
ChangeBoxRecord entity = new ChangeBoxRecord();
|
||||
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dt.SrcBoxId, dt.DestBoxId);
|
||||
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialNumber, d.SerialNumbers, dt.SrcBoxId, dt.DestBoxId);
|
||||
entity.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
|
||||
entity.SrcSubStockCode = subStock_s?.Code ?? "";
|
||||
if (subStock != null)
|
||||
@@ -236,7 +236,7 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
OpsBoxDetailsResponse dr = new OpsBoxDetailsResponse()
|
||||
{
|
||||
MaterialId = d.MaterialId,
|
||||
MaterialNumber = d.MaterialNumber,
|
||||
Qty = d.Qty,
|
||||
SerialNumbers = s
|
||||
};
|
||||
@@ -283,7 +283,7 @@ namespace WMS.Web.Domain.Services
|
||||
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.Qty, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId, subStock?.Code);
|
||||
entity.Details = d.Details.Select(s => new MoveBoxRecordDetails()
|
||||
{
|
||||
MaterialId = s.MaterialId,
|
||||
MaterialNumber = s.MaterialNumber,
|
||||
Qty = s.Qty,
|
||||
SerialNumbers = s.SerialNumbers
|
||||
}).ToList();
|
||||
|
||||
@@ -92,15 +92,15 @@ namespace WMS.Web.Domain.Services
|
||||
if (outStockTask.Status == OutStockStatus.Repeal)
|
||||
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
|
||||
|
||||
var mIds = dto.Details.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
|
||||
var mIds = dto.Details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
|
||||
foreach (var m in mIds)
|
||||
{
|
||||
var d_boxIds = dto.Details.Where(w => w.MaterialId == m).Select(s => s.BoxId);
|
||||
var d_boxIds = dto.Details.Where(w => w.MaterialNumber == m).Select(s => s.BoxId);
|
||||
if (d_boxIds.Distinct().Count() != d_boxIds.Count())
|
||||
return Result.ReFailure(ResultCodes.BoxOutStockTaskBoxError);
|
||||
}
|
||||
//上传的物料在任务单里没有找到不能出库
|
||||
var ex = dto.Details.Select(s => s.MaterialId).Except(outStockTask.Details.Select(s => s.MaterialId)).ToList();
|
||||
var ex = dto.Details.Select(s => s.MaterialNumber).Except(outStockTask.Details.Select(s => s.MaterialNumber)).ToList();
|
||||
if (ex.Count() > 0 && dto.Method == 2)
|
||||
return Result.ReFailure(ResultCodes.OutStockMaterialError);
|
||||
var boxIds = dto.Details.Select(s => s.BoxId).ToList();
|
||||
@@ -134,7 +134,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var b in boxInventoryDetails)
|
||||
{
|
||||
var num = boxInventoryDetails.Where(w => w.MaterialId == b.MaterialId).Sum(s => s.Qty);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == b.MaterialId);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialId);
|
||||
if (taskDetail == null) return Result.ReFailure(ResultCodes.BoxOutStockTaskMaterialError);
|
||||
//箱子里该物料的总数量大于出库单(应出库数量-已出库数量) 不能出库
|
||||
if (num > (taskDetail.AccruedQty - taskDetail.RealityQty))
|
||||
@@ -154,8 +154,8 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var mid in mIds)
|
||||
{
|
||||
//任务单明细
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == mid);
|
||||
var dtoDetails = dto.Details.Where(w => w.MaterialId == mid);
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == mid);
|
||||
var dtoDetails = dto.Details.Where(w => w.MaterialNumber == mid);
|
||||
var qty = dtoDetails.Sum(s => s.Qty);
|
||||
|
||||
if (tDetail == null) continue;
|
||||
@@ -173,7 +173,7 @@ namespace WMS.Web.Domain.Services
|
||||
oErpDetail.Qty = c.qty;
|
||||
outd.ErpDetails.Add(oErpDetail);
|
||||
}
|
||||
var boxs = dto.Details.Where(w => w.MaterialId == mid).ToList();
|
||||
var boxs = dto.Details.Where(w => w.MaterialNumber == mid).ToList();
|
||||
outd.BoxsDetails = _mapper.Map<List<OutStockBoxsDetails>>(boxs);
|
||||
|
||||
outd.Qty = qty;
|
||||
|
||||
@@ -97,6 +97,50 @@ namespace WMS.Web.Domain.Services.Public
|
||||
return mat.Specifications;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料名称
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public string GetMaterialName(List<ErpMaterialDto> erpMaterials, string materialNumber)
|
||||
{
|
||||
if (erpMaterials == null || erpMaterials.Count == 0)
|
||||
return "";
|
||||
|
||||
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
|
||||
if (mat == null)
|
||||
{
|
||||
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
|
||||
|
||||
if (!result.IsSuccess)
|
||||
return "";
|
||||
return result.Data == null ? "" : result.Data.MaterialName;
|
||||
}
|
||||
return mat.MaterialName;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取物料编码
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public string GetMaterialSpecifications(List<ErpMaterialDto> erpMaterials, string materialNumber)
|
||||
{
|
||||
if (erpMaterials == null || erpMaterials.Count == 0)
|
||||
return "";
|
||||
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
|
||||
if (mat == null)
|
||||
{
|
||||
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
|
||||
if (!result.IsSuccess)
|
||||
return "";
|
||||
return result.Data == null ? "" : result.Data.Specifications;
|
||||
}
|
||||
return mat.Specifications;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料基本单位名称
|
||||
/// </summary>
|
||||
@@ -303,5 +347,6 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault();
|
||||
return stock == null ? "" : stock.Name;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -890,7 +890,36 @@ namespace WMS.Web.Domain.Services.Public
|
||||
return Result<ErpMaterialDto>.ReSuccess(mater);
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// erp:基础数据-物料信息
|
||||
/// </summary>
|
||||
/// <param name="number"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result<ErpMaterialDto>> BillQueryForMaterial(string number)
|
||||
{
|
||||
//1.获取缓存中的物料数据
|
||||
var materials = _memoryCache.Get<List<ErpMaterialDto>>(_erpOptions.cache_materail_key);
|
||||
if (materials == null || materials.Count == 0)
|
||||
return Result<ErpMaterialDto>.ReSuccess(null);
|
||||
//2.通过ID取当前物料列表中的
|
||||
var mater = materials.Where(x => x.MaterialNumber == number).FirstOrDefault();
|
||||
if (mater == null)
|
||||
{
|
||||
//2.1没有的话:去金蝶取
|
||||
mater = await this.BillQueryForMaterialByNumber(number);
|
||||
if (mater != null)
|
||||
{
|
||||
//把取到的数据放集合中并重新给缓存
|
||||
materials.Add(mater);
|
||||
_memoryCache.Set(_erpOptions.cache_materail_key, materials, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
return Result<ErpMaterialDto>.ReSuccess(mater);
|
||||
|
||||
}
|
||||
else
|
||||
return Result<ErpMaterialDto>.ReSuccess(null);
|
||||
}
|
||||
return Result<ErpMaterialDto>.ReSuccess(mater);
|
||||
}
|
||||
/// <summary>
|
||||
/// erp:基础数据-物料-分页查询
|
||||
/// </summary>
|
||||
@@ -1042,6 +1071,74 @@ namespace WMS.Web.Domain.Services.Public
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// erp:基础数据-物料-number查询
|
||||
/// </summary>
|
||||
/// <param name="number"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<ErpMaterialDto> BillQueryForMaterialByNumber(string number)
|
||||
{
|
||||
//2.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return null;
|
||||
|
||||
//3.获取金蝶物料:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString());
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE";
|
||||
param.Limit = 10000;
|
||||
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.审核状态:已审核
|
||||
//2.禁用状态:A否,B是
|
||||
//3.使用组织:只查询“深圳市元创时代科技有限公司”这个组织;组织ID=100008--固定值查询(测试端和正式是一样的)---按ID查询就不需要固定组织条件了
|
||||
param.FilterString = "FDocumentStatus='C' and FForbidStatus='A'";
|
||||
param.OrderString = "FCreateDate ASC";
|
||||
|
||||
//根据物料ID查询
|
||||
param.FilterString = param.FilterString + $" and FNumber={number}";
|
||||
|
||||
//4.循环拿金蝶数据
|
||||
var erp_materials_list = new List<ErpMaterialDto>();
|
||||
|
||||
//4.2.参数json化
|
||||
query.Data = JsonConvert.SerializeObject(param);
|
||||
var json = JsonConvert.SerializeObject(query);
|
||||
|
||||
var error_josn = "";
|
||||
try
|
||||
{
|
||||
//4.3.请求查询接口并返回数据
|
||||
var result_json = await _client.ExecuteBillQueryAsync(json);
|
||||
error_josn = result_json;
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
//4.5.拼装
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpMaterialDto();
|
||||
lis.MaterialId = Convert.ToInt32(item[0]);
|
||||
lis.MaterialName = item[1];
|
||||
lis.MaterialNumber = item[2];
|
||||
lis.Specifications = item[3];
|
||||
lis.BaseUnitId = Convert.ToInt32(item[4]);
|
||||
lis.BaseUnitName = item[5];
|
||||
lis.BaseUnitNumber = item[6];
|
||||
lis.BarCode = item[7];
|
||||
erp_materials_list.Add(lis);
|
||||
}
|
||||
if (erp_materials_list.Count == 0)
|
||||
return null;
|
||||
else
|
||||
return erp_materials_list.FirstOrDefault();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_logger.LogInformation("物料拉取按Number->错误的Json:" + error_josn);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -2394,6 +2491,8 @@ namespace WMS.Web.Domain.Services.Public
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,7 +222,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var d in details)
|
||||
{
|
||||
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
||||
requestInventory.Add((_erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId), d.OrgCode, d.StockCode, subStockId));
|
||||
requestInventory.Add((d.MaterialNumber, d.OrgCode, d.StockCode, subStockId));
|
||||
};
|
||||
var res_s = await sc_erpService.BillQueryForInventory(requestInventory);
|
||||
if (!res_s.IsSuccess)
|
||||
@@ -239,7 +239,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var d in details)
|
||||
{
|
||||
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
||||
var number = _erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId);
|
||||
var number = d.MaterialNumber;
|
||||
var erpInventory = res_s.Data.FirstOrDefault(f => f.MaterialNumber == number && f.StockCode == d.StockCode
|
||||
&& f.OrgCode == d.OrgCode && f.Erp_SubStockId == subStockId);
|
||||
decimal qty = erpInventory?.Qty ?? 0;
|
||||
@@ -248,7 +248,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
FOwnerid = new ErpNumberDto(d.OrgCode),
|
||||
FKeeperId = new ErpNumberDto(d.OrgCode),
|
||||
MaterialId = new ErpNumberDto(_erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId)),
|
||||
MaterialId = new ErpNumberDto(d.MaterialNumber),
|
||||
UnitId = new ErpNumberDto(unitNumber), //物料带出来
|
||||
StockId = new ErpNumberDto(d.StockCode),
|
||||
SubStockId = new ErpSubStockDto(d.StockCode, d.Erp_SubStockCode),
|
||||
@@ -358,7 +358,7 @@ namespace WMS.Web.Domain.Services
|
||||
list.Add(new SerialNumbersBoxInventoryDto()
|
||||
{
|
||||
BoxId = entity.BoxId,
|
||||
MaterialId = d.MaterialId,
|
||||
MaterialNumber = d.MaterialNumber,
|
||||
SerialNumber = s
|
||||
});
|
||||
}
|
||||
|
||||
@@ -163,9 +163,9 @@ namespace WMS.Web.Repositories
|
||||
{
|
||||
#region dto组装
|
||||
BillNo = s.changeBox.BillNo,
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.changeBox.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.changeBox.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.changeBox.MaterialId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.changeBox.MaterialNumber),
|
||||
MaterialNumber = s.changeBox.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.changeBox.MaterialNumber),
|
||||
//Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.changeBox.StockId),
|
||||
SerialNumbers = string.Join(",", s.changeBox.SerialNumbers),
|
||||
SrcBox = s.srcBox.BoxBillNo,
|
||||
|
||||
@@ -127,11 +127,11 @@ namespace WMS.Web.Repositories
|
||||
foreach (var d in res.First().Details)
|
||||
{
|
||||
BoxDetailResponse detail = new BoxDetailResponse();
|
||||
detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, d.MaterialId);
|
||||
detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId);
|
||||
detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, d.MaterialId);
|
||||
detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, d.MaterialNumber);
|
||||
detail.MaterialNumber = d.MaterialNumber;
|
||||
detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, d.MaterialNumber);
|
||||
detail.SerialNumbers = d.SerialNumbers;
|
||||
detail.MaterialId = d.MaterialId;
|
||||
detail.MaterialId = 0;
|
||||
detail.Qty = d.Qty;
|
||||
details.Add(detail);
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace WMS.Web.Repositories
|
||||
ids = staffList.Where(w => w.Name.Contains(dto.Creator)).Select(s => s.Id).ToList();
|
||||
}
|
||||
#region erp基础资料
|
||||
List<int> mIds = new List<int>();
|
||||
List<string> mNumber = new List<string>();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
|
||||
if (materials_result.IsSuccess)
|
||||
@@ -109,10 +109,10 @@ namespace WMS.Web.Repositories
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
{
|
||||
if (materials != null)
|
||||
mIds = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
mNumber = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
|| w.MaterialName.Contains(dto.MaterialNumber)
|
||||
|| w.Specifications.Contains(dto.MaterialNumber)
|
||||
).Select(s => s.MaterialId).ToList();
|
||||
).Select(s => s.MaterialNumber).ToList();
|
||||
}
|
||||
|
||||
//取组织
|
||||
@@ -146,7 +146,7 @@ namespace WMS.Web.Repositories
|
||||
query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type != OutStockType.Sal);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
query = query.Where(w => mIds.Contains(w.detail.MaterialId));
|
||||
query = query.Where(w => mNumber.Contains(w.detail.MaterialNumber));
|
||||
if (!string.IsNullOrEmpty(dto.Creator))
|
||||
query = query.Where(w => ids.Contains(w.order.CreatorId));
|
||||
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
||||
@@ -194,9 +194,9 @@ namespace WMS.Web.Repositories
|
||||
ReceiptCustomer = s.order.Type == OutStockType.Sal
|
||||
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)
|
||||
: _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber),
|
||||
MaterialNumber = s.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber),
|
||||
Qty = s.detail.Qty,
|
||||
Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.detail.MaterialId),
|
||||
Remark = s.order.Remark
|
||||
@@ -361,11 +361,11 @@ namespace WMS.Web.Repositories
|
||||
var boxDetail = d.BoxsDetails.FirstOrDefault(f => f.BoxId == boxId);
|
||||
if (boxDetail == null) continue;
|
||||
BoxDetailResponse detail = new BoxDetailResponse();
|
||||
detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, d.MaterialId);
|
||||
detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId);
|
||||
detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, d.MaterialId);
|
||||
detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, d.MaterialNumber);
|
||||
detail.MaterialNumber = d.MaterialNumber;
|
||||
detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, d.MaterialNumber);
|
||||
detail.SerialNumbers = boxDetail.SerialNumbers;
|
||||
detail.MaterialId = d.MaterialId;
|
||||
detail.MaterialId = 0;
|
||||
detail.Qty = boxDetail.Qty;
|
||||
details.Add(detail);
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ namespace WMS.Web.Repositories
|
||||
if (companyId == 0)
|
||||
companyId = _loginRepositories.CompanyId;
|
||||
#region erp基础资料
|
||||
List<int> mIds = new List<int>();
|
||||
List<string> mNumber = new List<string>();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
|
||||
if (materials_result.IsSuccess)
|
||||
@@ -241,10 +241,10 @@ namespace WMS.Web.Repositories
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
{
|
||||
if (materials != null)
|
||||
mIds = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
mNumber = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
|| w.MaterialName.Contains(dto.MaterialNumber)
|
||||
|| w.Specifications.Contains(dto.MaterialNumber)
|
||||
).Select(s => s.MaterialId).ToList();
|
||||
).Select(s => s.MaterialNumber).ToList();
|
||||
}
|
||||
|
||||
//取组织
|
||||
@@ -278,7 +278,7 @@ namespace WMS.Web.Repositories
|
||||
query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type != OutStockType.Sal);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
query = query.Where(w => mIds.Contains(w.detail.MaterialId));
|
||||
query = query.Where(w => mNumber.Contains(w.detail.MaterialNumber));
|
||||
if (dto.Ids.Count() > 0)
|
||||
query = query.Where(w => dto.Ids.Contains(w.detail.Id));
|
||||
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
||||
@@ -324,9 +324,9 @@ namespace WMS.Web.Repositories
|
||||
ReceiptCustomer = s.order.Type == OutStockType.Sal
|
||||
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)
|
||||
: _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber),
|
||||
MaterialNumber = s.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber),
|
||||
Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.detail.MaterialId),
|
||||
Remark = s.detail.Remark
|
||||
#endregion
|
||||
|
||||
@@ -117,9 +117,9 @@ namespace WMS.Web.Repositories
|
||||
if (s == null) return null;
|
||||
SerialNumbersResponse respone = new SerialNumbersResponse()
|
||||
{
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber),
|
||||
MaterialNumber = s.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber),
|
||||
CompleteCartonTime = s.CompleteCartonTime.DateToStringSeconds(),
|
||||
InStockTime = s.InStockTime.DateToStringSeconds(),
|
||||
OutStockTime = s.OutStockTime.DateToStringSeconds(),
|
||||
@@ -209,10 +209,10 @@ namespace WMS.Web.Repositories
|
||||
response.BoxBillNo = entity?.box?.BoxBillNo ?? "";
|
||||
response.SubStockId = entity?.boxInventory?.SubStockId ?? 0;
|
||||
response.SerialNumber = entity.serial.SerialNumber;
|
||||
response.MaterialId = entity.serial.MaterialId;
|
||||
response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.serial.MaterialId);
|
||||
response.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, entity.serial.MaterialId);
|
||||
response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.serial.MaterialId);
|
||||
response.MaterialId = 0;
|
||||
response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.serial.MaterialNumber);
|
||||
response.MaterialNumber = entity.serial.MaterialNumber;
|
||||
response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.serial.MaterialNumber);
|
||||
if (entity.boxInventory != null)
|
||||
response.IsBoxInventory = entity.boxInventory.Details.SelectMany(s => s.SerialNumbers).Where(w => serialNumber.Equals(w)).Count() >= 1 ? true : false;
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@ namespace WMS.Web.Repositories
|
||||
if (companyId == 0)
|
||||
companyId = _loginRepositories.CompanyId;
|
||||
//1.获取物料集合
|
||||
List<int> mIds = new List<int>();
|
||||
List<string> mNumber = new List<string>();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
|
||||
if (materials_result.IsSuccess)
|
||||
@@ -205,10 +205,10 @@ namespace WMS.Web.Repositories
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
{
|
||||
if (materials != null)
|
||||
mIds = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
mNumber = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)
|
||||
|| w.MaterialName.Contains(dto.MaterialNumber)
|
||||
|| w.Specifications.Contains(dto.MaterialNumber)
|
||||
).Select(s => s.MaterialId).ToList();
|
||||
).Select(s => s.MaterialNumber).ToList();
|
||||
}
|
||||
//金蝶子仓库
|
||||
var subStock_result = await _erpService.BillQueryForSubStock();
|
||||
@@ -225,7 +225,7 @@ namespace WMS.Web.Repositories
|
||||
.Where(adv => 1 == 1 && adv.detail.FinalQty > 0);
|
||||
|
||||
if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
query = query.Where(w => mIds.Contains(w.detail.MaterialId));
|
||||
query = query.Where(w => mNumber.Contains(w.detail.MaterialNumber));
|
||||
if (dto.ResultType != null)
|
||||
query = query.Where(w => w.order.ResultType == (TakeStockType)dto.ResultType);
|
||||
if (!string.IsNullOrEmpty(dto.BillNo))
|
||||
@@ -261,9 +261,9 @@ namespace WMS.Web.Repositories
|
||||
Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.detail.StockCode + s.detail.OrgCode),
|
||||
SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.detail.SubStockId),
|
||||
Erp_SubStock = _erpBasicDataExtendService.GetSubStockName(subStocks, s.detail.Erp_SubStockCode),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber),
|
||||
MaterialNumber = s.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber),
|
||||
BeforeQty = s.detail.BeforeQty,
|
||||
AfterQty = s.detail.AfterQty,
|
||||
FinalQty = s.detail.FinalQty,
|
||||
|
||||
Reference in New Issue
Block a user